Befehlszyklus
Der Befehlszyklus beschreibt den Ablauf eines Maschinenbefehls innerhalb eines Mikroprozessors. Dieser Ablauf hat grundsätzlich ein festes Schema, dessen Details vom Typ der CPU abhängen. Ein typisches Schema sieht so aus:
- Bereitstellen des Befehls (engl: Fetch instruction)
- Dekodieren des Befehls (Decode instruction)
- Bereitstellen der Operanden (Fetch operands)
- Ausführung des Befehls (execute)
- Befehlszähler erhöhen (increment PC)
Einordnung

Ein Maschinenprogramm besteht aus einer Menge von Maschinenbefehlen. Bei der Ausführung werden diese Befehle nacheinander in jeweils einem Befehlszyklus vom Prozessor abgearbeitet. Je nach Komplexität des Maschinenbefehlssatzes, benötigt jeder Schritt des Befehlszyklus mehrere Taktzyklen.
Um die Anzahl der abgearbeiteten Maschinenbefehle je Zeiteinheit zu erhöhen, können beispielsweise Taktfrequenzen erhöht oder eine Pipeline in den Prozessor integriert werden. Mit dem Pipelining kann die Bearbeitung aufeinander folgender Maschinenbefehle bis zu einem gewissen Grad parallelisiert werden (siehe auch Superskalarität).
Abfolge

Das Schema rechts zeigt den Befehlszyklus eines typischen Microcontrolers.
- Lesen des neuen Befehls aus dem Speicher in das Befehlsregister (engl.: Instruction Register IR) gemäß der aktuellen Adresse des Befehlszählers (engl.: Program Counter PC)
- Dekodierung des Befehls
- Erhöhung des Inhalts vom PC um +1 (bzw. um die Größe des gerade geladenen Befehls, die besonders bei CISC-Architekturen variabel ist)
- Zugriff zu den Operanden, unter Umständen über einen erneuten Speicherlesevorgang und eine zugehörige Adressrechnung (bei indirekter Adressierung)
- Operationsdurchführung (z.B. Addition)
- Ergebnisabspeicherung
Literatur
- Randy H. Katz; Contemporary Logic Design; University of California, Berkeley; ISBN 0-8053-2703-7
- Wolfgang Böge: Vieweg-Handbuch Elektrotechnik, Vieweg 2004. S. 595.