Zeit und Kosten machen den Unterschied

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.


Anmerkung
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 so einfach 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.


Anmerkung
Eine Festplatte kostet pro Gigabyte Speicherkapazität deutlich weniger, als ein Gigabyte Hauptspeicher. Dafür arbeitet der Hauptspeicher deutlich schneller.


Anmerkung
Tanenbaum 2009 nennt folgende näherungsweisen Vergleichswerte für die Zugriffe auf Daten:
  • Die CPU kann 10 x schneller auf ein Register zugreifen, als auf den Arbeitsspeicher.
  • Die CPU kann 1 000 x schneller auf den Arbeitsspeicher zugreifen, als auf eine Festplatte.
  • Ein Registerzugriff ist damit 10 000 x schneller, als ein Festplattenzugriff.


Auch für die Kommunikation zwischen der CPU und allen weiteren Controllern der sonstigen Komponenten gilt: Es ist langsam.