[gesichtete Version] | [gesichtete Version] |
Keine Bearbeitungszusammenfassung |
(LOOP2 Upgrade) |
||
Zeile 2: | Zeile 2: | ||
<p> | <p> | ||
<loop_index>Aufbau, Controller|Controller, Aufbau</loop_index> | <loop_index id="5fa9783d2aac2">Aufbau, Controller|Controller, Aufbau</loop_index> | ||
Genau wie die CPU besitzt auch der Controller eines Peripheriegeräts verschiedene Register. Üblich sind: | Genau wie die CPU besitzt auch der Controller eines Peripheriegeräts verschiedene Register. Üblich sind: | ||
* <loop_index>Steuerregister, Controller|Controller, Steuerregister</loop_index>'''Steuerregister'''<br />Hier kann über das Bussystem ein Steuerbefehl an den Controller übergeben werden (ähnlich dem Befehlsregister auf der CPU). | * <loop_index id="5fa9783d2aacb">Steuerregister, Controller|Controller, Steuerregister</loop_index>'''Steuerregister'''<br />Hier kann über das Bussystem ein Steuerbefehl an den Controller übergeben werden (ähnlich dem Befehlsregister auf der CPU). | ||
* <loop_index>Datenregister, Controller|Controller, Datenregister</loop_index>'''Datenregister'''<br />Hier kann ein Datenwort hinterlegt, oder ein vom Peripheriegerät über den Controller bereitgestelltes Datenwort ausgelesen werden. | * <loop_index id="5fa9783d2aad1">Datenregister, Controller|Controller, Datenregister</loop_index>'''Datenregister'''<br />Hier kann ein Datenwort hinterlegt, oder ein vom Peripheriegerät über den Controller bereitgestelltes Datenwort ausgelesen werden. | ||
* <loop_index>Zustandsregister, Controller|Controller, Zustandsregister</loop_index>'''Zustandsregister'''<br />Hier hinterlegt der Controller jeweils Werte, die über den aktuellen Zustand des Controllers (oder Peripheriegeräts) Auskunft geben. | * <loop_index id="5fa9783d2aad5">Zustandsregister, Controller|Controller, Zustandsregister</loop_index>'''Zustandsregister'''<br />Hier hinterlegt der Controller jeweils Werte, die über den aktuellen Zustand des Controllers (oder Peripheriegeräts) Auskunft geben. | ||
</p> | </p> | ||
<br /> | <br /> | ||
<p> | <p> | ||
<loop_index>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|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_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. | ||
Zeile 28: | Zeile 28: | ||
<p> | <p> | ||
<loop_figure title="Allgemeiner Aufbau eines Controllers" description="" copyright="CC-BY" index=true show_copyright=true>[[Datei:Controller1.jpg|700px]]</loop_figure> | <loop_figure title="Allgemeiner Aufbau eines Controllers" description="" copyright="CC-BY" index=true show_copyright=true id="5fa9783d2aae0">[[Datei:Controller1.jpg|700px]]</loop_figure> | ||
</p> | </p> | ||
<br /> | <br /> | ||
<p> | <p> | ||
Die bislang betrachtete Menge an Peripheriegeräten verfügt jeweils über einen eigenen Controller, wobei jeder Controller mit dem entsprechenden <loop_index>Registersatz</loop_index>Registersatz ausgestattet ist: | Die bislang betrachtete Menge an Peripheriegeräten verfügt jeweils über einen eigenen Controller, wobei jeder Controller mit dem entsprechenden <loop_index id="5fa9783d2aae5">Registersatz</loop_index>Registersatz ausgestattet ist: | ||
</p> | </p> | ||
<p> | <p> | ||
<loop_figure title="Verschiedene Controller mit eigenen Registersätzen" description="" copyright="CC-BY" index=true show_copyright=true>[[Datei:Controller3.jpg|700px]]</loop_figure> | <loop_figure title="Verschiedene Controller mit eigenen Registersätzen" description="" copyright="CC-BY" index=true show_copyright=true id="5fa9783d2aaea">[[Datei:Controller3.jpg|700px]]</loop_figure> | ||
</p> | </p> | ||
Zeile 44: | Zeile 44: | ||
<p> | <p> | ||
<loop_area type="task"> | <loop_area type="task"> | ||
<loop_task title="Lesen und/oder schreiben?"> | <loop_task title="Lesen und/oder schreiben?" id="5fa9783d2aaee"> | ||
<p> | <p> | ||
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? | 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? |
Genau wie die CPU besitzt auch der Controller eines Peripheriegeräts verschiedene Register. Üblich sind:
Zustandsregister
Hier hinterlegt der Controller jeweils Werte, die über den aktuellen Zustand des Controllers (oder Peripheriegeräts) Auskunft geben.
In dem (oder den) Zustandsregister(n) können verschiedene Zustände angezeigt werden, beispielsweise
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.
Die bislang betrachtete Menge an Peripheriegeräten verfügt jeweils über einen eigenen Controller, wobei jeder Controller mit dem entsprechenden Registersatz ausgestattet ist:
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?