Naar inhoud springen

Von Neumann-cyclus

Uit Wikipedia, de vrije encyclopedie
Dit is de huidige versie van de pagina Von Neumann-cyclus voor het laatst bewerkt door Bitbotje (overleg | bijdragen) op 31 mrt 2019 20:30. Deze URL is een permanente link naar deze versie van deze pagina.
(wijz) ← Oudere versie | Huidige versie (wijz) | Nieuwere versie → (wijz)

De Von Neumann-cyclus is het centrale mechanisme achter de werking van elke digitale computer die sinds 1946 gebouwd is.

De Von Neumann-cyclus bestaat uit een eeuwige herhaling van drie stappen, waarmee de processor in de computer alle programma's als een reeks instructies kan uitvoeren:

De klassieke Von Neumann-cyclus
De klassieke Von Neumann-cyclus
Instruction Fetch
Een instructie wordt als een rij bits ingelezen uit het werkgeheugen van de computer.
Instruction Decode
De ingelezen instructie wordt gedecodeerd in de werkelijke processor-instructie en de eventuele parameters die aan de instructie meegegeven worden.
Instruction Execution
De gedecodeerde instructie wordt uitgevoerd.

Om te bepalen welke instructie uit het werkgeheugen gelezen moet worden, is iedere processor uitgerust met een speciale teller, de instruction pointer of program counter. Deze teller bevat het geheugenadres van de instructie die dient te worden uitgelezen en wordt bij het uitvoeren van iedere instructie aangepast. Na de aanpassing wijst de teller naar de volgende instructie die uitgevoerd dient te worden.

Normaal gesproken bestaat de aanpassing van de teller uit een simpele ophoging met "de waarde van een enkele instructie". Dat wil zeggen: voor de ophoging wees de teller een instructie I aan in het geheugen van de computer, na de ophoging wijst de teller naar de instructie die direct achter I staat in het geheugen. Een dergelijke standaardophoging kan bijvoorbeeld bestaan uit het optellen bij de oude tellerwaarde van het aantal bits dat gereserveerd is voor een instructie binnen een gegeven computer. Een uitzondering op deze regel vormen de sprong-instructies, waarbij de computer heel ergens anders verdergaat met uitvoeren dan waar hij gebleven was. De uitvoering hiervan bestaat vaak uit het simpelweg overschrijven van de teller met geheugenadres, of het optellen van een aantal keren de ruimte voor een instructie ("spring zoveel instructies vooruit of achteruit").

Historisch perspectief

[bewerken | brontekst bewerken]

De Von Neumann-cyclus werd in 1946 gepresenteerd door wiskundige John von Neumann als praktische oplossing voor het probleem van de interne werking van een digitale computer. Zijn voorstel maakte het ontwerp van de digitale hardware aanzienlijk eenvoudiger (en ook meer lijkend op het model van de turingmachine), doordat instructies volgens de methode-Von Neumann opgeslagen konden worden in hetzelfde werkgeheugen als de te bewerken data in plaats van aparte hardware nodig te hebben voor instructies en voor data.

Von Neumann-cyclus

[bewerken | brontekst bewerken]
  1. Lees een bitrij uit het geheugen, vanaf het adres dat vastgelegd is in de IP (instruction pointer), en verhoog meteen de IP. Deze bitrij is de instructie.
  2. Decodeer de instructie.
  3. Voer de instructie uit.
  4. Begin van voren af aan.