In einem Mikrocomputer besteht die Grundfunktion der Steuerung darin, „die verschiedenen Komponenten der Maschine so zu steuern, dass sie koordiniert arbeiten“. Der Controller ist eine Komponente, die die verschiedenen Komponenten des Computers anweist, gemäß den funktionalen Anforderungen der Anweisungen koordiniert zu arbeiten. Er ist das Nervenzentrum und die Befehlszentrale des Computers und kann die Vorgänge des gesamten Computersystems koordinieren und steuern.
Die Betriebsumgebung dieses Tutorials: Windows 7-System, Dell G3-Computer.
In einem Mikrocomputer besteht die Grundfunktion der Steuerung darin, „die verschiedenen Komponenten der Maschine so zu steuern, dass sie koordiniert arbeiten“.
Controller (Controller) bezieht sich auf ein Master-Gerät, das die Verkabelung des Hauptstromkreises oder Steuerstromkreises in einer vorgegebenen Reihenfolge ändert und den Widerstandswert im Stromkreis ändert, um den Start, die Geschwindigkeitsregelung, das Bremsen und die Umkehrung des Motors zu steuern. Es besteht aus Programmzähler, Befehlsregister, Befehlsdecoder, Zeitgenerator und Betriebssteuerung und ist der „Entscheidungsmechanismus“, der Befehle ausgibt, dh die Koordination und Steuerung des Betriebs des gesamten Computersystems vervollständigt.
Der Controller ist eine Komponente, die die verschiedenen Komponenten des Computers anweist, entsprechend den funktionalen Anforderungen der Anweisungen zu arbeiten. Er ist das Nervenzentrum und die Befehlszentrale des Computers. Er besteht aus dem Befehlsregister IR (InstructionRegister). Der Programmzähler PC (ProgramCounter) und der Operationscontroller OC (OperationController) bestehen aus drei Komponenten, die für die Koordination der ordnungsgemäßen Arbeit des gesamten Computers äußerst wichtig sind.
Anweisungsregister: Ein Register, das zum Speichern der aktuell ausgeführten oder bevorstehenden Anweisungen verwendet wird. Der Befehl enthält einen Opcode, der die Art der Operation bestimmt, und eine Adresse, die die Quelle oder das Ziel des Operanden angibt. Die Befehlslänge variiert von Computer zu Computer, ebenso wie die Länge des Befehlsregisters. Alle Computeroperationen werden durch die Analyse der im Befehlsregister gespeicherten Anweisungen ausgeführt. Das Eingabeende des Befehlsregisters empfängt Anweisungen aus dem Speicher, und das Ausgabeende des Befehlsregisters ist in zwei Teile unterteilt. Der Opcode-Teil wird zur Analyse an die Decodierungsschaltung gesendet, um anzugeben, welche Art von Operation dieser Befehl ausführen soll. Der Adressteil wird an den Adressaddierer gesendet, um eine effektive Adresse zu generieren, und dann als Adresse zum Abrufen oder Speichern von Zahlen an den Speicher gesendet .
Speicher kann sich auf den Hauptspeicher, den Cache oder den Registerstapel usw. beziehen, der zum Speichern einer aktuell ausgeführten Anweisung verwendet wird. Wenn ein Befehl ausgeführt wird, wird er zunächst aus dem Speicher in das Datenregister (DR) geholt und dann an das IR übertragen. Anweisungen sind in Opcode- und Adresscodefelder unterteilt, die aus Binärziffern bestehen. Um eine bestimmte Anweisung auszuführen, muss der Opcode getestet werden, um die erforderliche Operation zu identifizieren. Dies ist, was der Befehlsdecoder tut. Die Ausgabe des Opcode-Felds im Befehlsregister ist die Eingabe für den Befehlsdecoder. Sobald der Operationscode dekodiert ist, kann er spezifische Signale für bestimmte Operationen an die Operationssteuerung senden.
Programmzähler: Ein Zähler, der die Adresse der nächsten im Programm auszuführenden Anweisung angibt, auch Befehlszähler genannt. Es fungiert sowohl als Befehlsadressregister als auch als Zähler. Wenn ein Befehl ausgeführt wird, dient der Programmzähler als Befehlsadressregister und sein Inhalt muss auf die Adresse des nächsten Befehls geändert werden, damit das Programm weiterlaufen kann.
Zu diesem Zweck können die folgenden zwei Methoden angewendet werden:
Die erste Methode besteht darin, die Adresse der nächsten Anweisung in die Anweisung aufzunehmen. Während der Ausführung des Befehls kann durch Senden dieser Adresse an das Befehlsadressregister der Zweck einer kontinuierlichen Ausführung des Programms erreicht werden. Diese Methode eignete sich für frühe Computer, die serielle Geräte wie Trommeln und Verzögerungsleitungen als Hauptspeicher verwendeten. Die richtige Bestimmung der Adresse des nächsten Befehls basierend auf der Ausführungszeit dieses Befehls kann die Wartezeit zum Lesen des nächsten Befehls verkürzen und dadurch die Programmausführungsgeschwindigkeit verbessern.
Die zweite Methode besteht darin, Anweisungen nacheinander auszuführen. Ein Programm besteht aus mehreren Programmsegmenten. Die Anweisungen jedes Programmsegments können so gestaltet werden, dass sie nacheinander im Speicher gespeichert werden. Daher wird das Befehlsadressenregister während der Ausführung des Befehls gezählt und ein Inkrement wird automatisch hinzugefügt, die Adresse des nächsten Befehls kann gebildet werden, wodurch der Zweck der sequentiellen Ausführung von Befehlen erreicht wird. Diese Methode eignet sich für Computer mit Arbeitsspeicher als Hauptspeicher. Wenn das Programm von einem Programmsegment zu einem anderen wechseln muss, können Übertragungsanweisungen verwendet werden, um dies zu erreichen. Der Transferbefehl enthält die Adresse des Einstiegsbefehls des Programmsegments, zu dem transferiert werden soll. Bei der Ausführung des Übertragungsbefehls wird diese Adresse als Adresse des nächsten Befehls an den Programmzähler (der zu diesem Zeitpunkt nur als Befehlsadressregister verwendet wird und nicht zählt) gesendet, wodurch der Zweck der Übertragung des Programmsegments erreicht wird. Ähnliche Methoden werden für den Aufruf von Unterprogrammen, die Behandlung von Interrupts und Traps usw. verwendet. Aufgrund der Popularität des Direktzugriffsspeichers ist der Gesamtbetriebseffekt der zweiten Methode wesentlich besser als der der ersten Methode. Daher ist die sequentielle Ausführung von Anweisungen in Mainstream-Computern zu einer häufig verwendeten Methode geworden, und der Programmzähler ist zu einem unverzichtbaren Bestandteil geworden die zentralen Prozessorteile.
Jede Funktionskomponente innerhalb der CPU führt eine bestimmte spezifische Funktion aus. Die Implementierung der Informationsübertragung zwischen Komponenten und Datenflusskontrollkomponenten. Der Pfad, der Informationen zwischen vielen digitalen Komponenten überträgt, wird üblicherweise als „Datenpfad“ bezeichnet. Wo die Informationen beginnen, welches Register bzw. welchen Multiplexer sie durchlaufen und an welches Register sie schließlich übertragen werden, muss kontrolliert werden. Die Aufgabe, einen Datenpfad zwischen Registern einzurichten, wird von einer Komponente namens „Operation Controller“ übernommen.
Die Funktion des Betriebscontrollers besteht darin, basierend auf dem Befehlsbetriebscode und den Zeitsignalen verschiedene Betriebssteuersignale zu generieren, um den Datenpfad korrekt einzurichten und so die Steuerung des Abrufens und Ausführens von Anweisungen abzuschließen.
Es gibt zwei Controller mit unterschiedlichen Strukturen aufgrund unterschiedlicher Designmethoden. Unter Mikrooperationen versteht man Operationen, die nicht zerlegt werden können (so genannte Mikrooperationssteuersignale oder Mikrooperationsbefehle), um Mikrooperationen auszuführen. Ein digitaler Computer kann grundsätzlich in zwei Teile unterteilt werden – die Steuerungskomponente und die Ausführungskomponente. Der Controller ist die Steuerungskomponente und die Recheneinheit, der Speicher und die Peripheriegeräte sind die Ausführungskomponenten des Controllers. Eine Verbindung zwischen der Steuerkomponente und der Ausführungskomponente erfolgt über die Steuerleitung. Die Steuerkomponente gibt über die Steuerleitung verschiedene Steuerbefehle an die Ausführungskomponente aus. Normalerweise wird dieser Steuerbefehl als Mikrobefehl bezeichnet, und die von der Ausführungskomponente nach Empfang des Mikrobefehls ausgeführte Operation wird als Mikrooperation bezeichnet. Eine weitere Verbindung zwischen Steuerungskomponenten und Ausführungskomponenten sind Rückmeldungsinformationen. Die Ausführungskomponente spiegelt den Betriebsstatus über die Rückmeldungsleitung an die Steuerungskomponente wider, sodass die Steuerungskomponente basierend auf dem Status der Ausführungskomponente neue Mikrobefehle ausgibt. Dies wird auch als „Statustest“ bezeichnet. Mikrooperationen sind Gruppen von Grundoperationen in der Ausführungskomponente. Aufgrund der strukturellen Beziehung des Datenpfads können Mikrooperationen in zwei Typen unterteilt werden: Kompatibilität und gegenseitiger Ausschluss. In einem CPU-Zyklus der Maschine bildet eine Kombination von Mikrobefehlen, die bestimmte Betriebsfunktionen implementieren, einen Mikrobefehl. Das allgemeine Mikrobefehlsformat besteht aus zwei Teilen: Betriebssteuerung und Sequenzsteuerung. Der Betriebssteuerungsteil dient zum Senden von Steuersignalen zur Verwaltung und Steuerung der Arbeit der gesamten Maschine. Sein Sequenzsteuerungsteil wird verwendet, um die Adresse zum Generieren des nächsten Mikrobefehls zu bestimmen. Tatsächlich wird die Funktion eines Maschinenbefehls durch eine Folge vieler Mikrobefehle implementiert. Diese Folge von Mikroanweisungen wird oft als Mikroprogramm bezeichnet. Da Mikroprogramme aus Mikroanweisungen bestehen, wird die aktuelle Mikroanweisung ausgeführt. Die Adresse des nachfolgenden Mikrobefehls muss angegeben werden, damit nach Abschluss der Ausführung des aktuellen Mikrobefehls der nächste Mikrobefehl abgerufen und ausgeführt werden kann.
Weitere Informationen zu diesem Thema finden Sie in der Spalte „FAQ
“!Das obige ist der detaillierte Inhalt vonWas sind die Grundfunktionen eines Controllers in einem Mikrocomputer?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!