Die Rolle von Registern, Zählern und Decodierung im CPU-Zyklus
Eingeordnet in Informatik
Geschrieben am in
Deutsch mit einer Größe von 21,96 KB
Die Rolle des Befehlsregisters
Das Befehlsregister (Instruction Register, IR) enthält den Befehl, der gerade ausgeführt wird. Dieser Befehl enthält den Operationscode (Opcode) und die Operanden oder Speicheradressen, auf die er angewendet wird.
In einfachen Prozessoren wird jeder auszuführende Befehl in das Befehlsregister geladen, dekodiert, vorbereitet und schließlich ausgeführt. Dieser Prozess umfasst mehrere Schritte.
Das Format ist:
Das Befehlsregister und der Befehlsdecoder sind für die Überwachung aller Komponenten des Prozessors ab dem Zeitpunkt der Dekodierung verantwortlich. Sie entscheiden, ob die Sätze an die ALU oder den externen Speicher gesendet werden.
Das Dekodieren des Opcodes im Befehlsregister beinhaltet die Bestimmung des Befehls, die Ermittlung, wo sich seine Operanden im Speicher befinden, das Lesen der Operanden aus dem Speicher und die Bereitstellung von Prozessorressourcen zur Ausführung des Befehls (in superskalaren Prozessoren usw.).
Komplexere Prozessoren verwenden eine Befehlspipeline, in der jede Stufe der Pipeline einen Teil der Arbeit (Dekodierung, Vorbereitung oder Ausführung) übernimmt und das Ergebnis dann an die nächste Stufe zur nächsten Schrittausführung weitergibt, bis die Mitteilung vollständig verarbeitet ist. Dies funktioniert wie ein Fließband, wo jede Stufe einen Teilzeitjob erledigt und dann im nächsten Schritt fortfährt, um die Fertigung des Produkts fortzusetzen. Moderne Prozessoren können sogar einige der Schritte in beliebiger Reihenfolge ausführen, da die Dekodierung mehrerer Befehle parallel erfolgt.
Die Rolle des Programmzählers
Zähler sind sequentielle Schaltungen, deren Ausgang die Anzahl der an den Takteingang angelegten Impulse darstellt. Sie bestehen hauptsächlich aus miteinander verbundenen Flipflops. Sie können aufwärts zählen, wenn der Inhalt mit jedem Impuls steigt, oder abwärts, aber in der Regel können Wirtschaftsprüfer diese Funktion auf zwei Arten ausführen, je nach Zustand eines Eintrags.
Die Steuereinheit verfügt über einen Zähler, den sogenannten Programmzähler (Program Counter, PC). Der Programmzähler ist eine interne Aufzeichnung des Computers, die die Adresse des zu lesenden Befehls speichert. Auf diese Weise kann der Computer wissen, welcher Befehl als nächstes ausgeführt werden soll.
Der PC wird um eine Einheit erhöht (ein Befehl, der die Computerarchitektur, die Häuser, kann von einem Byte, 2 oder mehr als die Wortgröße in das Format der Reihe den Kursen verwendet werden), bestehen.
Der Programmzähler wird automatisch bei jedem Befehlszyklus erhöht, damit die Befehle der Reihe nach aus dem Speicher gelesen werden. Einige Befehle, wie z. B. Verzweigungen und Unterprogrammaufrufe und -rückgaben, unterbrechen die Sequenz, indem sie einen neuen Wert in den Programmzähler schreiben.
In den meisten Prozessoren wird der Instruction Pointer sofort nach dem Lesen (Fetch) eines Programms, Unterricht, erhöht, was bedeutet, dass die Adresse an einen Sprungbefehl darauf hingewiesen wird, indem Sie die Operanden der Zweigniederlassung Anweisung an die nächste Anweisung Adresse (Byte oder Wort, abhängig von der Art der erhaltenen dem Computer) nach dem Sprungbefehl. Die Richtung der nächsten Anweisung, die immer in der Befehlszähler ausgeführt werden.
Fetch-Zyklus (Erfassung)
- Der Programmzähler (PC) enthält die Adresse des nächsten zu erstellenden Befehls.
- Der Prozessor extrahiert die Befehlsspeicheradresse, auf den PC.
- Erhöht PC o Mindestens Sie sind anders lautende Weisung
- Der Unterricht ist in den Unterricht Register (IR geladen).
- Der Prozessor interpretiert die Anweisungen und führt die erforderlichen Maßnahmen.
Dekodierung von Befehlen
Ein Befehl besteht aus einem Opcode und Operanden. Beim Versuch, eine Weisung Zyklen der Mikroprozessor führt die folgende Sequenz ausführen:
- Suche
- Dekodierung
- Ausführung
Bei der Suche Phase der Operation Code ist in der Betriebsanleitung Register gespeichert. Die Operation Code wird dann durch die Befehlsdecoder, die die notwendigen Signale Kontrolle an andere Elemente des Systems erzeugt entschlüsselt.
Innerhalb der CPU ist ein Decoder, genannt Instruction Decoder (Instruction Decoder), die in Verbindung mit dem Instruction Register (Anleitung zur Registrierung) der CPU arbeitet.
Der Decoder ist für das Extrahieren der Operation Code der aktuelle Anweisung verantwortlich (die in der Betriebsanleitung Register), analysiert sie und sendet Signale an andere Elemente, die für ihre Umsetzung durch den Sequenzer.
Ausführungszeit und Wartezyklen
Die UC nicht ausgestellt, alle Bestellungen auf einmal, sondern nach einer bestimmten Reihenfolge. Es verwendet ein Element, das den Moment, wenn man eine bestimmte Phase der Untersuchung führen muss angeben werden. Dieses Element ist als eine Uhr, und synchronisiert die Aktionen des UC, die schneller auf der Stelle, desto schneller die Ausführung des Auftrags. Es gibt jedoch eine Grenze, weil, wenn ich zu schnell zu überprüfen, kann es nicht angemessen Durchführung der Aufträge von verschiedenen Produkten, so dass Fehler auftreten können.
Jeder Mikrobefehl Zeit brauchen, um ausgeführt zu jener Zeit dauern wird, alle die Mikro. Jede Anweisung Zyklus angesehen werden kann, wie aus mehreren kleinen Einheiten zusammen (oben gesehen).
Ein Takt ist die Einheit der Zeit für die Durchführung der Maßnahmen innerhalb des Prozessors. Operationen sind in den Takt oder in Vielfachen von Taktzyklen durchgeführt.
Jeder Takt ist in verschiedenen Zeiten oder Phasen, die zum Zeitpunkt der Angabe teilte die Mikro gemacht in jedem Zyklus.
Ein Mikro auf Maßnahmen wie die Verlagerung Register, Register-Transfer mit dem Bus, um einen Datensatz zu ergänzen, und so weiter.
Die Steuereinheit Befehlen ein Register mit der Adresse der Anweisung ausgeführt werden oder die nächste Anweisung ausgeführt werden, dies hängt über den Stand der Fortschritte in der Ausführung der Anweisung
Die Laufzeit einer Anweisung kann verringert werden, wenn die Reihenfolge der Operationen ist so organisiert, dass Sie eine weitere nützliche Funktion innerhalb der CPU ausführen kann, während des Wartens auf Speicher, um zu reagieren.
Der Takt, auch als Zyklen pro Sekunde oder Frequenz, bezieht sich auf die Geschwindigkeit des Prozessors in die CPU des Rechners gebaut bekannt und wird in Megahertz (MHz) gemessen. Eine höhere Frequenz, desto schneller der Prozessor und somit den Computer neu.
Regeln für die Gruppierung der Taktzyklen
- Sie müssen sich an die richtige Reihenfolge der Ereignisse MAR
- Ärzte sollten zur Vermeidung von Konflikten Nicht lesen und schreiben denselben Datensatz zur gleichen Zeit MBR
- Auch: PC Verwenden Sie die ALU Möglicherweise müssen Sie zusätzliche Mikro
Mikro-Cycle und Leistung des grundlegenden Instruction
Die Mikro-Operationen sind die funktionalen oder atomare Operationen der CPU und die Steuereinheit steuert den Betrieb der CPU.
Die Ausführung eines Programms ist es, eine Folge von Anweisungen Zyklen führenIonen, mit einer Maschine Unterricht pro Zyklus. Jede Anweisung Zyklus angesehen werden kann besteht aus mehreren kleinen Einheiten. Die Praxis ist eine Unterteilung Sammlung, indirekten Zyklus, Durchführung und Beendigung. Wer immer die Gefangennahme und Hinrichtung. Jeder subcycle einer Anweisung umfasst eine Reihe von Schritten, von denen jede erfordert die Verwendung von CPU-Register. Jeder Zyklus umfasst eine Reihe von kleinen Schritten und die Verwendung von CPU-Register (Mikro-).
Der Erwerb Zyklus
Die Anweisungen Form eines Programms sind sequentiell im Speicher abgelegt. Bringt die CPU auf eine Weisung zu einer Zeit auszuführen, und übernimmt die Funktionen angegeben. Dieser Vorgang wird als Übernahme-Zyklus und befindet sich am Anfang jeder Anweisung Zyklus vorgenommen.
Erster Schritt. Bringen Sie die Adresse der Anweisung, die ausgeführt.
Zweiter Schritt. Annäherung der Anweisung, die ausgeführt.
Die CPU wartet auf eine Antwort, dass die Transaktion abgeschlossen ist. Dies wird durch ein anderes Steuersignal Memory-Bus erreicht: MFC (Memory-Funktion Complete).
Dieser Schritt sollte ebenfalls aktualisiert werden Inhalt des PC an die Adresse der nächsten Anweisung enthalten, auszuführen.
Dritter Schritt. Übertragen Sie die gespeicherten Daten im MBR die Anweisung registrieren IR Freigabe der MBR für die Verwendung während eines etwaigen indirekten Zyklus.
Aus Gründen der Praktikabilität werden die verschiedenen Register der Regel wie folgt abgekürzt:
Der Erwerb Zyklus besteht aus drei Schritten (Transfer) und vier Mikro-Operationen. Jeder Mikro-Operation beinhaltet die Übertragung von Daten in oder aus einer Meldung. Die Reihenfolge kann wie folgt dargestellt werden:
t1: MAR
t2: MBR
PC
t3: IR
Der dritte Betrieb ist mit dem zweiten gruppiert, kann aber auch mit dem vierten ohne Probleme zusammengefasst werden. Clustern von Kleinst erfüllen muss:
- Befolgen Sie die richtige Reihenfolge der Ereignisse.
- Konflikte zu vermeiden.
Die indirekten Zyklus
Sobald Sie die microinstrucciIonen, ist der nächste Schritt zur Quelle Operanden zu erfassen. Die Anweisung Format erfordert eine direkte oder indirekte Adressierung. Es ist eine direkte Ansprache, wenn die Quelle Operanden sind in der Erklärung. Wenn die Anweisung gibt eine indirekte Adresse, dann können Sie eine indirekte Zyklus für Zyklus Ausführung machen müssen. Der Umweg ist es, die Adresse zu erhalten gespeichert in einem anderen Speicherort. Die Mikro beteiligt sind:
t1: MAR
t2: MBR
t3: IR
Die Interrupt-Zyklus
Nach Abschluss der Umsetzung Zyklus, wird eine Überprüfung durchgeführt, um festzustellen, ob Interrupt aktiviert ist. Wenn ja, legen Sie ein Zyklus zu unterbrechen. Von einer Maschine zur anderen variiert, sondern eine einfache Abfolge von Ereignissen ist:
t1: MBR
t2: MAR
PC
t3: Memory
Umsetzung Cycle
Bei einer Maschine mit N verschiedenen Opcodes können verschiedene Sequenzen in Mikro auftreten-N.
Speichern Sie ein Wort in Erinnerung .- Der Prozess von der Eingabe eines Wortes ist vergleichbar mit dem Lesen. Der Unterschied ist, dass er das Wort in den MDR ist vor der Ausstellung der Schreib-Befehl geladen.
Beispiel: Betrachten Sie das Wort zu schreiben, ist in Register R2, und dass die Adresse im Register R1. Die Mikro-Sequenz ist:
t1: MAR
t2: MDR
t3: UC sendet das Signal schreiben
t4: Warten Sie, MFC-Signal
Umregistrierung .- Um die Übertragung von Daten zwischen mehreren Registern, die dem gemeinsamen Bus angeschlossen werden können ist für den Umgang mit Input-und Output Gate verwendet.
Beispiel: Den Inhalt des Registers R1 bis R4. Die Reihenfolge der Operationen:
- Aktivieren der Log-Ausgabe Tor R1 setzen R1salida bis 1. Damit ist der Inhalt von R1 auf dem CPU-Bus.
- Aktivieren Sie die Log-Eintrag Tor R4 in R4entrada machen 1. Dies lädt die Daten aus dem Bus in das Register R4.
Ausführung einer arithmetischen Operation .- Wenn eine arithmetische oder logische, muss daran erinnert werden, dass die ALU ein kombinatorischer Schaltkreis selbst hat keinen internen Speicher. Die Y-Register wird verwendet, um einer der Operanden enthalten und die andere ist von Tor mit dem Bus gefahren. Das Ergebnis ist vorübergehend in das Register gespeichert Z.
Beispiel: Fügen Sie den Inhalt des Registers R1 in die Register R2 und speichere das Ergebnis in R3. Die Reihenfolge der Operationen:
t1: R1 Ausreise und Einreise
t2: R2-Ausgang, Add, Z-Eingang
t3: Z-Ausgang, Eingang R3
Flußdiagramm des Unterrichts-Zyklus
Befehlsformat
Sie sind eine Reihe von Daten in einer strukturierten Sequenz eingefügt oder festlegen, dass der Prozessor interpretiert und ausführt.
In Computing, eine Anweisung bezieht sich üblicherweise auf eine einfache Bedienung, die einen Prozessor gegeben ist und dass diese statt. Komplexe Maßnahmen sollten als eine Folge von Anweisungen, in welcher Maschine wird als Programm codiert werden.
Die Größe und Länge des Unterrichts hängt von der Architektur, variierte zwischen 4 und 128 Bit.
Die Ausbildung muss zwischengespeichert werden (in den Unterricht zu registrieren, RI) für die CPU in Ihrem Inhalt und entpacken Sie die darin enthaltenen Daten. Dieser Schritt wird als Decodierung.
Instruction-Typen
Die zulässigen Arten von Unterricht sind definiert und innerhalb der einzelnen Plattform-Architektur Unterricht Repertoire ISA (Instruction Set Architecture), die bestimmt auch die Quell-und Ziel-Register der CPU bestimmt wird, und manchmal eine sofortige gegeben.
Datenübernahme Hinweise:
Bei dieser Art des Unterrichts, die Daten von einem Ort zum anderen übertragen werden. Die Schritte, die Sie folgen, um dies zu tun, sind:
- Identifizierung der Quell-und Zieladressen der Erinnerung.
- macht die Umsetzung des virtuellen Speichers auf reale Speicher.
- Überprüfen Sie den Cache.
- Anfang des Schreib-Lese-Speicher.
Arithmetische Anweisungen:
Kann bedeuten, Übertragung von Daten vor und / oder danach. Führen Sie arithmetische Operationen, die für die ALU.
Logische Anweisungen:
Arithmetik, ist die ALU für die Ausführung dieser Operationen, die in diesem Fall vom Typ logische verantwortlich.
Conversion Anleitung:
Ähnlich wie bei der Arithmetik und Logik. Sie kann bedeuten, spezielle Logik, um die Konvertierung durchführen.
Control Transfer Anleitung:
Aktualisierung der Befehlszähler (PC). Anrufe verwalten / kehrt in Unterprogramme, Parameterübergabe und Linken.
Hinweise für die I / O (Input / Output)-Befehle
gegeben Input / Output. Wenn es einen Memory Map Eingang / Ausgang, bestimmt die Adresse des Speichers anzeigen.
Format
Das Format der Anweisungen ist eine Reihe von Spezifikationen, die angeben, wie sie von der Bit-Muster für eine Maschine Befehl interpretiert werden sollte, um die Ausführung innerhalb des Computers zu vervollständigen.
Das Format der Anweisung gibt an, welche den Betrieb Code und Operanden, die vorsieht, dass die Weisung aus, sowohl explizite und implizite ist.
Im allgemeinen, eine Anweisung, die grundlegenden kodiert ein Betrieb auf einem Computer Daten im Speicher befindet, oder im Maschinen-Register und den Zugriff über eine Adressierung-Modus durchgeführt.
Daher ist die ISA eine Prozessor-Architektur durch die folgenden Faktoren bestimmt:
- Daten-Typen und Formate, die die Anweisungen umgehen: natürlich, Zahlen, Schwimmern, Zeichen, etc..
- Wege zur Bewältigung Daten im Speicher: unmittelbare, direkte, indirekte, und so weiter. Diese beiden Faktoren sind entscheidend für die effiziente Durchführung von komplexen Datenstrukturen einer High-Level-Sprache.
- Basic Bündel von Vorhaben, die auf die Daten durchgeführt werden: Addition, Subtraktion, etc..
Informationen über die drei oben genannten Faktoren sind in jedem der folgenden Anweisungen einem vorgeschriebenen Format codiert. Das Format bestimmt die Länge in Bit der Anweisungen und die Felder, die Kodierung der Wert dieser Faktoren.
Im allgemeinen Unterricht besteht aus den folgenden Bereichen:
- Opcode (CO). Gibt der Operation (Addition, Subtraktion, E / S, etc..), Wird der Vorgang durch einen binären Code angegeben.
- Reference source Operanden (OP1, OP2 ,...): Die Operation kann eine oder mehrere Quelle Operanden beteiligt sind, dh Operanden Input für den Unterricht (In der Regel die Anzahl der Operanden eines Source-Code nicht Pass 2).
- Verweis auf das operative Ergebnis (OPD).Die Operation kann zu einem Ergebnis führen.
- Verweis auf die folgende Erklärung (IS). Es erzählt die CPU, wo die nächste Anweisung nach Abschluss der aktuellen Anweisung Ausführung zu fangen. Die nächste Anweisung, diese Aufnahme im Hauptspeicher. In den meisten Fällen die folgende Erklärung folgt sofort die Anweisung Ausführung. In solchen Fällen gibt es keinen ausdrücklichen Hinweis auf die folgende Erklärung. Gegebenenfalls sollte ein ausdrücklicher Hinweis geliefert werden Speicher zu adressieren.
Funktionen der Steuereinheit während der Ausführung des Befehls
Die Steuereinheit ist die CPU, die für die Dinge geschehen, verantwortlich ist, und die Signale aussendet außerhalb der CPU-Steuerung, um den Datenaustausch mit dem Speicher-Module und I / O Produkte Er gibt auch interne Steuersignale für den Datenaustausch zwischen Registern zu übertragen, so dass die ALU zu einer Funktion und andere interne Vorgänge. Der Eingang der Steuereinheit ist der Unterricht anmelden, Indikatoren zusammensetzt, und Steuersignale.
Die primäre Aufgabe ist es, die Steuerung zu machen, dass eine Folge von elementaren Operationen, Mikro-als-Operationen, bei der Entwicklung einer Anweisung Zyklus.
Die wichtigste Funktion der Steuereinheit der PCU ist es, die Abfolge der Schritte so direkt, dass der Computer führt eine vollständige Zyklus des Unterrichts Ausführung, und dies mit all den Anweisungen unter Angabe des Programms.
Nach der Auslegung der Anweisungen, aus denen sich das Programm dieses Gerät erzeugt die grundlegenden Befehle, die notwendig zur Erfüllung der Aufgaben erforderlich ist.
Um ihre Funktion zu erfüllen, verfügt das Steuergerät die folgenden Elemente:
- Programm entgegenzuwirken. Bietet permanenten Speicher-Adresse des nächsten auszuführenden Anweisung. Beim Starten der Ausführung eines Programms nimmt die Adresse der ersten Anweisung. Erhöht den Wert von einem, automatisch, wenn eine Anweisung abgeschlossen ist, es sei denn, die Anweisung ausgeführt wird bricht direkt oder Sequenz, in diesem Fall das Programm Zähler wird die Anweisung Adresse dann zu laufen, wird diese Adresse in der Instruktion im Gange.
- Kanzlei des Unterrichts. Es enthält die Anweisung, um jederzeit ausgeführt werden. Diese Anweisung wird die Operation Code führen (ein Code für welche Art der Operation durchgeführt werden soll, eine solche Summe) und wenn die Operanden (Daten auf Anweisung handeln, zum Beispiel die Zahlen addieren) oder Speicheradressen dieser Operanden.
- Decoder. Verantwortlich für das Extrahieren der Operation Code der aktuelle Anweisung (die in der Betriebsanleitung Register), analysiert sie und sendet Signale an andere Elemente, die für ihre Umsetzung durch den Sequenzer.
- Uhr. Es bietet eine Reihe von elektrischen Impulsen oder Zyklen bei einer konstanten (Frequenz), die die Momente, wenn er die verschiedenen Schritte in jedem Feststellung, beginnen muss zu markieren.
- Sequencer. Dieses Gerät erzeugt sehr grundlegende Befehle (Mikrocomputer), die durch die Taktimpulse, synchronisiert wird dazu führen, dass allmählich die Anweisung, die in die Anweisung Register geladen wird, umzusetzen.
Das Steuergerät hat zwei grundsätzliche Aufgaben:
- Sequenzierung. Die Steuereinheit führt die CPU durch eine Reihe von Mikro-Operationen in der richtigen Reihenfolge auf dem Programm basierendes Schritt ausgeführt wird.
- Umsetzung. Die Steuerung läuft jedes Mikro.
Der Schlüssel zu, wie die Steuerung erfolgt über Steuersignale.
Steuersignale
Die Einträge sind:
- Uhr. Die Steuereinheit ist ein Mikro-Ausführung (oder set) auf jedem Takt.
- Instruction Registry. Micro Bestimmt, was getan werden muss.
- Indikatoren. Verwendet, um den Zustand der CPU zu ermitteln und das Ergebnis der vorangegangenen Operationen der ALU.
- Steuersignale steuern den Bus. Steuersignale aus dem System-Bus.
Die Ausgänge sind:
- Interne Steuersignale CPU .- Um Daten aus einem Datensatz zum anderen zu übertragen und zu aktivieren ALU spezifische Funktionen.
- Steuersignale an die Control-Bus .- Steuersignale und Speicher Steuersignale modules / O
Die Schritte, um eine Anweisung auszuführen sind:
- ist aus dem Hauptspeicher entfernt, um die Anweisung, die Informationen in den Befehlszähler gespeichert ist, führen Sie die gespeicherte Information wird die nächste Anweisung in der Anweisung ausgeführt werden, registriert sich. Dieser Schritt wird als ein Zyklus zu holen in der Computational Literatur (bedeutet zu holen zu bringen, gehen durch).
- Wenn Sie wissen, den Betrieb Code Steuereinheit weiß, dass UAL Schaltungen hergestellt werden kann elektrische Verbindungen durch den Sequenzer eingreifen müssen.
- Auszug aus dem Hauptspeicher die Daten erforderlich sind, um den Unterricht in Arbeit auszuführen.
- Regelt die AUL, dass Operationen führt die Folge davon ist, in den Speichern der AUL hinterlegt.
- Wenn die Untersuchung hat neue Daten, die sie im Hauptspeicher abgelegt zur Verfügung gestellt.
- durch eine Erhöhung der Inhalt des Zählers der ausgeführten Anweisungen.
Die Steuereinheit mehrmals durchlaufen diesen Zyklus in einer enormen Geschwindigkeit.
Diese Anweisungen nicht im Speicher befinden oder von einem Programmierer geschrieben, aber die Maschine läuft direkt auf elektronischem Wege, machen es während der Arbeit (während) auf einem Computer ist mit einer Rate von Hunderttausenden (oder sogar Millionen ) Mal pro Sekunde.