[gesichtete Version] | [gesichtete Version] |
Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
Zeile 1: | Zeile 1: | ||
Im bisherigen Verlauf dieses Moduls sind bereits viele Beispiele gezeigt worden, bei denen das Steuerwerk der CPU mit Registern oder dem Hauptspeicher kommuniziert. Da ein Computer aber noch weitere Komponenten besitzt, muss auch die Kommunikation der CPU mit | Im bisherigen Verlauf dieses Moduls sind bereits viele Beispiele gezeigt worden, bei denen das Steuerwerk der CPU mit Registern oder dem Hauptspeicher kommuniziert. Da ein Computer aber noch weitere Komponenten besitzt, muss auch die Kommunikation der CPU mit den sogenannten Peripheriegeräten möglich sein. | ||
Peripheriegeräte sind: | |||
* Festplatte | * Festplatte | ||
* Monitor | * Monitor | ||
Zeile 13: | Zeile 13: | ||
<br /> | <br /> | ||
==== Allgemeiner Aufbau eines Controllers ==== | |||
Genau wie die CPU besitzt auch der Controller eines Peripheriegeräts verschiedene Register. Üblich sind: | |||
* Steuerregister<br />Hier kann über das Bussystem ein Steuerbefehl an den Controller übergeben werden (ähnlich dem Befehlsregister auf der CPU). | |||
* Datenregister<br />Hier kann ein Datenwort hinterlegt, oder ein vom Peripheriegerät über den Controller bereitgestelltes Datenwort ausgelesen werden. | |||
* Zustandsregister<br />Hier hinterlegt der Controller jeweils Werte, die über den aktuellen Zustand des Controllers (oder Peripheriegeräts) Auskunft geben. | |||
<loop_area type="annotation">In dem (oder den) Zustandsregister(n) können positive wie negative Zustände angezeigt werden, beispielsweise | |||
* Ready: Controller ist bereit für den nächsten Steuerbefehl. | |||
* Out of paper: Der an diesen Controller angeschlossene Drucker hat kein Papier mehr. | |||
</loop_area> | |||
<p><loop_figure title="Allgemeiner Aufbau eines Controllers" description="" copyright="CC-BY" index=true show_copyright=true>[[Datei:Controller1.jpg|425px]]</loop_figure></p> | |||
==== Zeit und Kosten machen den Unterschied ==== | ==== Zeit und Kosten machen den Unterschied ==== |
Im bisherigen Verlauf dieses Moduls sind bereits viele Beispiele gezeigt worden, bei denen das Steuerwerk der CPU mit Registern oder dem Hauptspeicher kommuniziert. Da ein Computer aber noch weitere Komponenten besitzt, muss auch die Kommunikation der CPU mit den sogenannten Peripheriegeräten möglich sein.
Peripheriegeräte sind:
Genaugenommen kommuniziert die CPU dann nicht direkt mit diesen Komponenten, sondern mit einem Controller, der speziell für die betreffende Komponente zuständig ist.
Genau wie die CPU besitzt auch der Controller eines Peripheriegeräts verschiedene Register. Üblich sind:
In dem (oder den) Zustandsregister(n) können positive wie negative Zustände angezeigt werden, beispielsweise
Zwei entscheidende Unterschiede bei der Kommunikation zwischen dem Steuerwerk und Registern, Hauptspeicher sowie den Controllern der weiteren Komponenten bestehen einerseits in der dafür benötigten Zeit, und andererseits in den Kosten, die eine technische Realisierung der betreffenden Komponenten verursacht.
Die Kommunikation zwischen Steuerwerk und Registern ist mit Abstand am schnellsten möglich. Beides ist auf der CPU angesiedelt, die Wege sind kurz und effizient ausgebaut. Nachteilig ist lediglich, dass alle Register der CPU zusammen nur recht wenig Speicherplatz bieten. Dies liegt an entsprechend hohen Kosten, welche die Integration (vieler) weiterer Register auf der CPU nach sich ziehen würde.
Wunschvorstellung
Wäre es nicht ideal, wenn alle Programme und Daten, die du normalerweise auf deiner Festplatte gespeichert hast, direkt in Registern der CPU abgelegt wären? Du bräuchtest dann weder Festplatte noch Hauptspeicher und dein System würde konkurrenzlos schnell arbeiten!
Du kannst dir ausmalen, dass das technisch nicht möglich ist, oder?
Die Kommunikation zwischen Steuerwerk und Hauptspeicher ist - verglichen mit den Registern - bereits deutlich langsamer, jedoch immer noch recht schnell. Der Hauptspeicher ist speziell für eine schnelle Arbeitsweise konzipiert, er bietet auch deutlich mehr Platz als die Menge der CPU-Register. Nachteilig ist hier, dass der Inhalt des Hauptspeichers verloren geht, sobald der betreffende Computer ausgeschaltet wird.
Abhilfe schafft bei diesem Nachteil beispielsweise die Festplatte. Sie bietet üblicherweise deutlich mehr Speicherplatz als der Hauptspeicher und kann ihre Daten zudem dauerhaft (also auch über ein Ausschalten und einen Neustart des betreffenden Rechners hinaus) speichern. Leider ist die Kommunikation zwischen CPU und Festplatten-Controller erheblich langsamer als zwischen CPU und Hauptspeicher. Dafür liegen die Kosten für eine Festplatte (in Bezug zur Speicherkapazität) deutlich unter den Kosten für Hauptspeicher.
Eine Festplatte kostet pro Gigabyte Speicherkapazität deutlich weniger, als ein Gigabyte Hauptspeicher. Dafür arbeitet der Hauptspeicher deutlich schneller.
Tanenbaum 2009 nennt folgende näherungsweisen Vergleichswerte für die Zugriffe auf Daten:
Auch für die Kommunikation zwischen der CPU und allen weiteren Controllern der sonstigen Komponenten gilt: Es ist langsam.
Das folgende Video erläutert die Bedeutung von Interrupts bei der Kommunikation zwischen CPU und Ein- / Ausgabegeräten.
Wenn Sie dieses Element öffnen, werden Inhalte von externen Dienstleistern geladen und dadurch Ihre IP-Adresse an diese übertragen.
Weiterführende Literatur
erläutert in Kapitel 5 (Ein- und Ausgabe) weitere Hintergründe zum Thema. Die Lektüre dieser Quelle sei ausdrücklich empfohlen.
Studierende sind oftmals berechtigt, eine PDF-Version dieses Buches ohne entstehende Kosten über ihre Hochschulen von Springerlink zu beziehen.
Diese Seite steht unter der Creative Commons Namensnennung 3.0 Unported Lizenz http://i.creativecommons.org/l/by/3.0/80x15.png