Befehlszyklus

Der Befehlszyklus (engl. Instruction cycle) beschreibt den Ablauf der Verarbeitung eines Maschinenbefehls innerhalb eines synchronen Mikroprozessors.

Inhaltsverzeichnis

Schema der Befehlsverarbeitung

Schematischer Aufbau einer einfachen CPU. Die Integer-Einheit ist für den Programmablauf verantwortlich.

Die Verarbeitung eines Maschinenbefehls erfolgt nach einem festen mehrstufigen Schema, das sich aus mehreren Maschinenzyklen zusammensetzt, welche üblicherweise mit dem CPU-Takt gleichlaufen. Je nach Prozessortyp und verwendetem Maschinenbefehlssatz findet man unterschiedliche Ausprägungen des im folgenden vorgestellten Schemas.

1. Befehl laden (engl. Fetch instruction)

Zunächst muss der Befehl aus dem Hauptspeicher in den Prozessor geladen werden. Dazu benutzt der Prozessor den aktuellen Wert des Programmzählers, um die Stelle des Befehls im Hauptspeicher zu bestimmen. Der betreffende Befehl wird über den Adressbus in das Memory Data Register des Prozessors geladen und gelangt von dort aus in das Instruction Register (CIR).

2. Befehl dekodieren (engl. Decode instruction)

In dieser Stufe werden der Befehlscode und die Operanden ermittelt. Außerdem wird ermittelt wie die Operanden adressiert werden müssen.

Befehlsoperanden laden (engl. Fetch operands)

Nach dem Dekodieren des Befehls werden die Operanden in den Prozessor geladen. Die dafür erforderlichen internen Schritte sind abhängig von der jeweils verwendeten Adressierung.

3. Befehl ausführen (engl. Execute)

Nach dem Laden der benötigten Hauptspeicherinhalte in den Prozessor, wird der Befehl gemäß dem Befehlscode ausgeführt. Beispielsweise werden logische Befehle mit Hilfe des Rechenwerks verarbeitet.

4. Ergebnis speichern (engl. Store results)

Das Ergebnis der Befehlsausführung wird im Hauptspeicher abgelegt. Handelte es sich beim letzten Befehl um einen Sprungbefehl, wird der Programmzähler entsprechend gesetzt. Anderenfalls erhält der Programmzähler die Adresse des nächsten Befehls.

Zusammenhang zwischen Befehlszyklus und Taktzyklus

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).

Beispiel

Aufbau eines Befehlszyklus beim Intel 8085

Das Schema rechts zeigt den Befehlszyklus eines typischen Mikrocontrollers.

  1. 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)
  2. Dekodierung des Befehls
  3. Erhöhung des Inhalts vom PC um +1 (bzw. um die Größe des gerade geladenen Befehls, die besonders bei CISC-Architekturen variabel ist)
  4. Zugriff zu den Operanden, unter Umständen über einen erneuten Speicherlesevorgang und eine zugehörige Adressrechnung (bei indirekter Adressierung)
  5. Operationsdurchführung (z.B. Addition)
  6. 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.

Wikimedia Foundation.

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Befehlszyklus — Befehlszyklus,   regelmäßiger, immer wieder gleicher Ablauf (Zyklus) bei der Verarbeitung von Befehlen durch den Prozessor. Ein Zyklus umfasst die folgenden Schritte: 1. Der Befehl wird mithilfe des Befehlsregisters aus dem Speicher geholt, 2. er …   Universal-Lexikon

  • Befehlszyklus — komandos ciklas statusas T sritis automatika atitikmenys: angl. instruction cycle vok. Befehlszyklus, m rus. командный цикл, m pranc. cycle d instruction, m …   Automatikos terminų žodynas

  • Zyklus — Monatsblutung; Menses (fachsprachlich); Tage (umgangssprachlich); Menstruation; Periode; Regelblutung; Regel (umgangssprachlich) * * * Zy|klus [ ts̮y:klʊs], der; , Zy …   Universal-Lexikon

  • Maschinenzyklus — Mit Maschinenzyklus bezeichnet man eine Teiloperation bei der Ausführung eines Maschinenbefehls auf einem Mikroprozessor. Gesamtzahl der Takte einer Grundfunktion (Befehlsende lesen, Speicher lesen/ schreiben. I/0 lesen/ schreiben,… …   Deutsch Wikipedia

  • 8051 — Intel P8051 Mikrokontroller. SAB C515 LN von Infineon stammt aus der MCS 51 Familie MCS 51 ist die Bezeichnung einer 1980 von Intel vorgestellten Familie von 8 Bit …   Deutsch Wikipedia

  • 8052 — Intel P8051 Mikrokontroller. SAB C515 LN von Infineon stammt aus der MCS 51 Familie MCS 51 ist die Bezeichnung einer 1980 von Intel vorgestellten Familie von 8 Bit …   Deutsch Wikipedia

  • 80535 — Intel P8051 Mikrokontroller. SAB C515 LN von Infineon stammt aus der MCS 51 Familie MCS 51 ist die Bezeichnung einer 1980 von Intel vorgestellten Familie von 8 Bit …   Deutsch Wikipedia

  • 8085 — Intel 8085 Der Intel 8085 ist ein 1976 eingeführter 8 Bit Mikroprozessor von Intel. Als Nachfolger des Intel 8080 war er zu diesem binär kompatibel, integrierte jedoch Taktgenerator (8224) und Buscontroller (8228) und besaß eine leistungsfähigere …   Deutsch Wikipedia

  • Intel 8051 — Intel P8051 Mikrokontroller. SAB C515 LN von Infineon stammt aus der MCS 51 Familie MCS 51 ist die Bezeichnung einer 1980 von Intel vorgestellten Familie von 8 Bit …   Deutsch Wikipedia

  • Intel 8052 — Intel P8051 Mikrokontroller. SAB C515 LN von Infineon stammt aus der MCS 51 Familie MCS 51 ist die Bezeichnung einer 1980 von Intel vorgestellten Familie von 8 Bit …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”