Grundlegende Funktionen des Controllers
Feb 06, 2023| 1. Datenpufferung: Da die Rate von E/A-Geräten niedrig und die Rate von CPU und Speicher hoch ist, muss ein Puffer in der Steuerung eingerichtet werden. Verwenden Sie zum Zeitpunkt der Ausgabe diesen Puffer, um die vom Host mit hoher Geschwindigkeit übertragenen Daten vorübergehend zu speichern, und übertragen Sie dann die Daten im Puffer mit der Rate, die das E/A-Gerät hat, an das E/A-Gerät; Zum Zeitpunkt der Eingabe verwendet der Puffer. Er 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.
2. 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 gesetzt und an die CPU gemeldet, sodass die CPU die übertragenen Daten dieses Mal ungültig macht und eine neue Übertragung durchführt. Dadurch wird eine korrekte Dateneingabe gewährleistet.
3. Datenaustausch: Dies bezieht sich auf die Realisierung des Datenaustauschs zwischen der CPU und der Steuerung sowie zwischen der Steuerung und dem Gerät. Bei ersterem schreibt die CPU Daten parallel über den Datenbus in die Steuerung oder liest parallel Daten aus der Steuerung; für letzteres gibt das Gerät Daten an die Steuerung ein oder überträgt Daten von der Steuerung an das Gerät. Dazu müssen in der Steuerung Datenregister gesetzt werden.
4. Statusbeschreibung: Identifizieren und melden Sie den Status des Geräts. Die Steuerung sollte den Status des Geräts aufzeichnen, damit die CPU ihn verstehen kann. Beispielsweise kann die CPU den Controller nur starten, wenn das Gerät sendebereit ist, um Daten von dem Gerät zu lesen. Aus diesem Grund sollte in der Steuerung ein Zustandsregister eingerichtet werden, und jedes davon wird verwendet, um einen bestimmten Zustand des Geräts widerzuspiegeln. Wenn die CPU den Inhalt des Registers liest, kann sie den Zustand des Geräts verstehen.
5. Empfangen und Identifizieren von Befehlen: Die CPU kann eine Vielzahl unterschiedlicher Befehle an den Controller senden, und der Gerätecontroller sollte in der Lage sein, diese Befehle zu empfangen und zu identifizieren. Aus diesem Grund sollten in der Steuerung entsprechende Steuerregister vorhanden sein, in denen die empfangenen Befehle und Parameter gespeichert und die empfangenen Befehle dekodiert werden. Beispielsweise kann der Plattencontroller 15 verschiedene Befehle wie Lesen, Schreiben und Formatieren von der CPU empfangen, und einige Befehle haben auch Parameter; dementsprechend gibt es mehrere Register und Befehlsdecodierer im Plattencontroller.
6. Adresserkennung: So wie jede Einheit im Speicher eine Adresse hat, hat auch jedes Gerät im System eine Adresse, und die Gerätesteuerung muss in der Lage sein, die Adresse jedes von ihr gesteuerten Geräts zu erkennen. Außerdem sollten diese Register eindeutige Adressen haben, damit die CPU Daten in (oder aus) den Registern schreiben (oder lesen) kann.


