Die Funktion des Controllers besteht darin, die Arbeit verschiedener Komponenten des Computers zu steuern und zu koordinieren. Der Controller besteht aus Programmzähler, Befehlsregister, Befehlsdecoder, Timing-Generator und Betriebscontroller.
Die Betriebsumgebung dieses Artikels: Windows 10-System, Thinkpad T480-Computer.
Die Funktion des Controllers besteht darin, die Arbeit verschiedener Komponenten des Computers zu steuern und zu koordinieren.
Was ist ein Controller?
Der 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.
Grundfunktionen:
Datenpufferung: Da die Geschwindigkeit des I/O-Geräts niedrig, die Geschwindigkeit der CPU und des Speichers jedoch hoch ist, muss in der Steuerung ein Puffer eingerichtet werden. Während der Ausgabe wird dieser Puffer verwendet, um vom Host mit hoher Geschwindigkeit übertragene Daten vorübergehend zu speichern, und dann werden die Daten im Puffer mit der Geschwindigkeit des E/A-Geräts während der Eingabe an das E/A-Gerät übertragen Verwendet: Es speichert vorübergehend die vom E/A-Gerät gesendeten Daten und überträgt die Daten im Puffer nach dem Empfang eines Datenstapels mit hoher Geschwindigkeit an den Host.
Fehlerkontrolle: Der Gerätecontroller ist auch für die Fehlererkennung der vom E/A-Gerät übertragenen Daten verantwortlich. Wenn während der Übertragung ein Fehler auftritt, wird normalerweise der Fehlererkennungscode festgelegt und an die CPU gemeldet, sodass die CPU die diesmal übertragenen Daten ungültig macht und sie erneut überträgt. Dadurch wird die Korrektheit der Dateneingabe sichergestellt.
Datenaustausch: Damit ist der Datenaustausch zwischen CPU und Controller sowie zwischen Controller und Gerät gemeint. Bei ersterem schreibt die CPU Daten parallel über den Datenbus in den Controller oder liest Daten parallel vom Controller. Bei letzterem gibt das Gerät Daten in den Controller ein oder überträgt Daten vom Controller an das Gerät. Zu diesem Zweck müssen Datenregister im Controller gesetzt werden.
Statusbeschreibung: Der Controller, der den Status des Geräts identifiziert und meldet, sollte den Status des Geräts aufschreiben, damit die CPU ihn verstehen kann. Beispielsweise kann die CPU den Controller nur dann starten, um Daten vom Gerät zu lesen, wenn sich das Gerät in einem sendebereiten Zustand befindet. Zu diesem Zweck sollte in der Steuerung ein Statusregister eingerichtet werden, und jedes darin enthaltene Bit sollte verwendet werden, um einen bestimmten Status des Geräts widerzuspiegeln. Wenn die CPU den Inhalt dieses Registers liest, kann sie den Status des Geräts verstehen.
Befehle empfangen und erkennen: Die CPU kann verschiedene Befehle an den Controller senden, und der Gerätecontroller sollte in der Lage sein, diese Befehle zu empfangen und zu erkennen. Zu diesem Zweck sollte der Controller über entsprechende Steuerregister verfügen, um empfangene Befehle und Parameter zu speichern und die empfangenen Befehle zu dekodieren. Beispielsweise kann der Festplattencontroller 15 verschiedene Befehle wie Lesen, Schreiben und Formatieren von der CPU empfangen, und einige Befehle verfügen auch über Parameter. Dementsprechend gibt es im Festplattencontroller mehrere Register und Befehlsdecoder.
Adressidentifikation: So wie jede Einheit im Speicher eine Adresse hat, hat auch jedes Gerät im System eine Adresse, und der Gerätecontroller muss in der Lage sein, die Adresse jedes von ihm gesteuerten Geräts zu identifizieren. Damit die CPU Daten in (oder aus) Registern schreiben (oder lesen) kann, müssen diese Register außerdem eindeutige Adressen haben.
Kostenloses Teilen von Lernvideos: Programmiervideos
Das obige ist der detaillierte Inhalt vonWelche Funktion hat der Controller?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!