2.3.4.4.1 Allgemeiner Aufbau eines Controllers

[gesichtete Version][gesichtete Version]
(LOOP2 Upgrade)
(LOOP Upgrade: loop_index and youtubehd)
Zeile 11: Zeile 11:
<br />
<br />
<p>
<p>
<loop_index id="5fa9783d2aada">Ready, Controller|Controller, Ready|Busy, Controller|Controller, Busy|Read Error, Controller|Controller, Read Error|Write Error, Controller|Controller, Write Error|Out of paper, Controller|Controller, Out of paper</loop_index>
<loop_index id="5fa9783d2aada">Ready, Controller</loop_index><loop_index id="5fa9783da9e41">Controller, Ready</loop_index><loop_index id="5fa9783da9e46">Busy, Controller</loop_index><loop_index id="5fa9783da9e4a">Controller, Busy</loop_index><loop_index id="5fa9783da9e4e">Read Error, Controller</loop_index><loop_index id="5fa9783da9e51">Controller, Read Error</loop_index><loop_index id="5fa9783da9e55">Write Error, Controller</loop_index><loop_index id="5fa9783da9e59">Controller, Write Error</loop_index><loop_index id="5fa9783da9e5d">Out of paper, Controller</loop_index><loop_index id="5fa9783da9e60">Controller, Out of paper</loop_index>
<loop_area type="annotation">In dem (oder den) Zustandsregister(n) können verschiedene Zustände angezeigt werden, beispielsweise
<loop_area type="annotation">In dem (oder den) Zustandsregister(n) können verschiedene Zustände angezeigt werden, beispielsweise
* '''Ready''': Controller ist bereit für den nächsten Steuerbefehl.
* '''Ready''': Controller ist bereit für den nächsten Steuerbefehl.

Version vom 9. November 2020, 19:11 Uhr

Allgemeiner Aufbau eines Controllers

Genau wie die CPU besitzt auch der Controller eines Peripheriegeräts verschiedene Register. Üblich sind:

  • Steuerregister
    Hier kann über das Bussystem ein Steuerbefehl an den Controller übergeben werden (ähnlich dem Befehlsregister auf der CPU).
  • Datenregister
    Hier kann ein Datenwort hinterlegt, oder ein vom Peripheriegerät über den Controller bereitgestelltes Datenwort ausgelesen werden.

Zustandsregister
Hier hinterlegt der Controller jeweils Werte, die über den aktuellen Zustand des Controllers (oder Peripheriegeräts) Auskunft geben.


Anmerkung

In dem (oder den) Zustandsregister(n) können verschiedene Zustände angezeigt werden, beispielsweise

  • Ready: Controller ist bereit für den nächsten Steuerbefehl.
  • Busy: Controller ist noch mit der Ausführung des aktuellen Steuerbefehls beschäftigt.
  • Read Error: Das angeforderte Datenwort kann nicht vom Peripheriegerät gelesen werden.
  • Write Error: Das im Datenregister befindliche Datenwort kann nicht auf dem Peripheriegerät gespeichert werden.
  • Out of paper: Der an diesen Controller angeschlossene Drucker hat kein Papier mehr.
  • etc.


Die folgende Abbildung zeigt den allgemeinen Aufbau eines Controllers. Dabei ist von jeder Registerart nur ein einziges eingezeichnet, es ist jedoch auch denkbar, dass der Controller über mehrere Register je Art verfügt.

Controller1.jpg


Die bislang betrachtete Menge an Peripheriegeräten verfügt jeweils über einen eigenen Controller, wobei jeder Controller mit dem entsprechenden Registersatz ausgestattet ist:

Controller3.jpg


Aufgabe 1

Aufgabe

Auf das Datenregister eines Controllers kann die CPU sowohl lesend, als auch schreibend zugreifen. Wie verhält es sich aber beim Steuer- und beim Zustandsregister? Ist der Zugriff hier nur lesend, nur schreibend oder lesend und schreibend möglich?