|
Speicherhierarchie
Zum Aufbewahren der Daten und Befehle dienen Speicher. Der
zentrale Speicher ist das Speicherwerk (Hauptspeicher, Arbeitsspeicher). Daneben befinden sich auch in der CPU Speicher, die Sie bereits kennen gelernt haben: - lokale Speicher: Register (teils mit speziellen Funktionen, z.B. Akkumulator, Befehlszähler, Indexregister, usw.; teils frei verwendbar, z.B. Universalregister)
- lokale Pufferspeicher für Befehle: (z.Z. noch nicht häufig) die alle an einer überlappenden Befehlsausführung beteiligten Befehle enthalten (Pipeline-Rechner) oder die eine gewisse Zahl von Befehlen enthalten (Queue, z.B. sehr schnelle Ausführung kurzer Schleifen).
Der Arbeitsspeicher soll einen möglichst schnellen Zugriff der CPU auf Daten und Befehle gestatten relativ teuer. Er besitzt einen eingeschränkten Adressumfang (festgelegt durch die Adressbus-Breite der CPU). Da nicht alle benötigten Informationen ständig direkt für die CPU verfügbar sein müssen (und können) wird der Arbeitsspeicher durch periphere Speicher (Hintergrundspeicher, externe Speicher) ergänzt (z.B. Plattenspeicher, Magnetbandspeicher, etc.). Diese Speicher zeichnen sich aus durch: - sehr hohe Speicherkapazität (gegenüber ASP)
- geringe Kosten pro Bit
- längere Zugriffszeit gegenüber ASP
Die Zugriffsgeschwindigkeit zum Arbeitsspeicher sollte möglichst der Arbeitsgeschwindigkeit der CPU angepasst sein,
sonst muss die CPU beim Speicherzugriff unnötig lange warten.
Sehr schnelle Speicher lassen sich nur mit sehr kleiner
Kapazität realisieren und sind außerdem teuer.
Andererseits wird für den ASP eine bestimmte Kapazität
benötigt. Eine Abhilfe ist das
Zwischenschalten eines schnellen Pufferspeichers (Cache Memory)
geringer Kapazität zwischen ASP und CPU. Er enthält den
"aktuellen" Teil der ASP-Informationen.
Der Cache ist funktionell Teil des Arbeitsspeichers, es gibt
jedoch inzwischen Mikroprozessoren, bei denen er im Chip integriert
ist (z.B. Z8000, i486, 68020). Der Cache wird nicht mit dem gerade
adressierten Wort des ASP, sondern mit einem ganzen Block
von dieser Adresse ab geladen (typische Blockgröße: 4 -
16 Worte).
Auf Grund der Lokalitätseigenschaft von Programmen (die
Mehrheit der ASP-Zugriffe erfolgt in einer gewissen
"Umgebung" der aktuellen Adresse) ist die
Wahrscheinlichkeit, dass die (folgenden) benötigten
Informationen schon im Cache stehen, sehr hoch, sodass sie
entsprechend schnell in die CPU gelangen können (die
"Trefferquote" ist i. a. größer als 90%).
Die Gesamtheit aller Speicher bildet eine Hierarchie:
Die Speicherkapazität nimmt nach unten hin zu, Preis und
Zugriffsgeschwindigkeit nehmen dagegen ab. Der Zugriff auf einen
Speicher tieferer Hierarchiestufe erfolgt nur, wenn die
gewünschte Information sich nicht in der höheren Stufe
befindet. Der Informationstransport erfolgt blockweise. Eine
weitere Verfeinerung der Hierarchiestufen ist möglich, z.B.
Sekundärspeicher (Platte) und Tertiärspeicher
(Magnetband).
|
|
|