Heim  >  Artikel  >  Der Ausführungsprozess einer Anweisung in der CPU

Der Ausführungsprozess einer Anweisung in der CPU

hzc
hzcOriginal
2020-06-12 11:54:1912346Durchsuche

Der Ausführungsprozess einer Anweisung in der CPUDer Ausführungsprozess einer Anweisung in der CPU:

Die Arbeit fast aller Computer-CPUs vom Neumann-Typ kann in 5 Teile unterteilt werden: Phasen: Anweisungen abrufen, dekodieren Anweisungen ausführen, Anweisungen ausführen, auf Daten zugreifen und Ergebnisse zurückschreiben.

1. Befehlsabrufphase

In der Befehlsabrufphase (IF) wird ein Befehl aus dem Hauptspeicher in das Befehlsregister abgerufen.

Der Wert im Programmzähler PC wird verwendet, um die Position der aktuellen Anweisung im Hauptspeicher anzuzeigen. Wenn ein Befehl abgerufen wird, wird der Wert in PC automatisch entsprechend der Befehlswortlänge erhöht: Wenn es sich um einen Befehl mit einer Wortlänge handelt, dann (PC)+1àPC, wenn es sich um einen Befehl mit einer Doppelwortlänge handelt. dann (PC)+2àPC und so weiter.

2. Befehlsdekodierungsphase

Nach dem Abrufen der Anweisung tritt der Computer sofort in die Befehlsdekodierungsphase (ID) ein.

In der Phase der Befehlsdekodierung teilt und interpretiert der Befehlsdecoder die abgerufenen Befehle gemäß dem vorgegebenen Befehlsformat und identifiziert und unterscheidet verschiedene Befehlskategorien und verschiedene Methoden zum Erhalten von Operanden.

In Computern, die durch kombinatorische Logik gesteuert werden, generiert der Befehlsdecoder unterschiedliche Steuerpotentiale für verschiedene Befehls-Opcodes, um unterschiedliche Mikrooperationssequenzen zu bilden; in Computern, die durch Mikroprogramme gesteuert werden, verwendet der Befehlsdecoder den Befehls-Opcode, um die zu finden Einstiegspunkt des Mikroprogramms, das die Anweisung ausführt, und die Ausführung beginnt an diesem Einstiegspunkt.

3. Phase der Befehlsausführung

Nach den Phasen des Befehlsabrufs und der Befehlsdekodierung erfolgt der Eintritt in die Phase der Befehlsausführung (Execute, EX).

Die Aufgabe in dieser Phase besteht darin, verschiedene in der Anweisung angegebene Vorgänge auszuführen und die Funktion der Anweisung gezielt umzusetzen. Zu diesem Zweck werden verschiedene Teile der CPU verbunden, um die erforderlichen Operationen auszuführen.

4. Zugriffs- und Zugriffsphase

Je nach Befehlsanforderungen kann es erforderlich sein, auf den Hauptspeicher zuzugreifen und den Operanden zu lesen, wodurch in die Zugriffs- und Zugriffsphase (Speicher, MEM) eingetreten wird.

Die Aufgabe dieser Stufe besteht darin, die Adresse des Operanden im Hauptspeicher gemäß dem Befehlsadresscode zu erhalten und den Operanden für den Betrieb aus dem Hauptspeicher zu lesen.

5. Phase des Zurückschreibens des Ergebnisses

Als letzte Phase „schreibt“ die Phase des Zurückschreibens des Ergebnisses (Write Back, WB) die laufenden Ergebnisdaten der Phase der Ausführungsanweisung in eine Speicherform zurück:

Die Ergebnisdaten werden häufig in die internen Register der CPU geschrieben, damit nachfolgende Anweisungen schnell darauf zugreifen können.

In einigen Fällen können die Ergebnisdaten auch relativ langsam, aber kostengünstiger und im Hauptspeicher geschrieben werden mit größerer Kapazität. Viele Befehle ändern auch den Status der Flag-Bits im Programmstatuswortregister. Diese Flag-Bits identifizieren die Ergebnisse verschiedener Operationen und können verwendet werden, um die Aktionen des Programms zu beeinflussen.

Nachdem der Befehl ausgeführt und die Ergebnisdaten zurückgeschrieben wurden und keine unerwarteten Ereignisse (z. B. Ergebnisüberlauf usw.) auftreten, erhält der Computer die nächste Befehlsadresse vom Programmzähler-PC und startet Ein neuer Zyklus ruft den nächsten Befehl nacheinander ab.

Das obige ist der detaillierte Inhalt vonDer Ausführungsprozess einer Anweisung in der CPU. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn