Allgemein
Der Prozess der Befehlsverarbeitung bei Von-Neumann-Rechnern wird Von-Neumann-Zyklus genannt und besteht aus folgenden 5 nacheinander ablaufenden Teilschritten.
- FETCH
- DECODE
- FETCH OPERANDS
- EXECUTE
- UPDATE INSTRUCTION POINTER
Ein Teilschritt kann mehrere Takte dauern.
Moderne Zentralprozessoren für PC führen heutzutage in einer Sekunde bis zu 4,8 Mrd. (4.800.000.000) Takte aus (Stand: 1/2005).
Die Teilschritte
FETCH
In das Befehls-
Register, das zusammen mit
Steuerwerk und
Rechenwerk (ALU: Arithmetic Logical Unit) die
CPU darstellt, wird aus
RAM- oder
ROM-Speicher der nächste zu bearbeitende Befehl geholt.
Bei modernen Prozessoren können mehrere Befehle aus dem Speicher in einen Zwischenspeicher (Prefetch-Registerblock) geladen werden,
während der aktuelle Befehl noch decodiert wird. (OpCode Prefetching)
- Vorteil: Deutliche Steigerung der Verarbeitungsgeschwindigkeit.
- Nachteil: Bei Programmverzweigungen muss der Befehl evtl. wieder entfernt werden.
DECODE
Der Befehl wird durch das Steuerwerk in Schaltinstruktionen für das Rechenwerk aufgelöst (übersetzt).
FETCH OPERANDS
Aus RAM oder ROM werden nun die Operanden geholt: die Werte, die durch den Befehl verändert werden sollen bzw. die als Parameter verwendet werden.
EXECUTE
Die Operation wird vom Rechenwerk ausgeführt. An dieser Stelle wird, so vom Programm gewünscht, auch der Befehlszähler verändert (Sprungbefehl).
UPDATE INSTRUCTION POINTER
Der Befehlszähler wird erhöht. Das geschieht parallel zum DECODE und FETCH OPERANDS. Beim EXECUTE kann der Befehlszähler wieder verändert werden (Sprungbefehl).
Jetzt kann der Zyklus von vorn beginnen.
Von-neumann-cpu.png
Weblinks
- μRISCy - RISC-Simulationsrechner für Vertiefungsübungen
Rechnerarchitektur | Von-Neumann-Rechner