Einführung Datenverarbeitungssysteme


von Prof. Jürgen Plate

7. Speicherwerk (Arbeitsspeicher)

7.1 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: 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: 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).

7.2 Speicherarten

Für die verschiedenen Einsatzbereiche der Speicher werden unterschiedliche Speicherarten verwendet, die sich unterscheiden hinsichtlich: Die Eigenschaften der in einem DVS eingesetzten Speicher bestimmen entscheidend dessen Leistungsfähigkeit. Die gespeicherte Information ist ausschließlich binär. Die Speicher bestehen aus Grundelementen, die nur zwei verschiedene diskrete Zustände annehmen können. Bei der Behandlung von Registern (aus Flipflops) haben Sie eine Art solcher Grundelemente bereits kennen gelernt. Weitere Formen werden in diesem Kapitel behandelt. Die Speicherung kann aber auch in jeweils begrenzten Bereichen kontinuierlicher Medien erfolgen (z.B. Magnetplatte, Magnetband). Mit Ausnahme der Register enthalten Speicher eine (mehr oder weniger) hohe Anzahl von Informationen Problem der Auswahl der gewünschten Einzelinformation.


Speicherzellen sind meist als Matrix angeordnet

Begriffsdefinitionen:

Die relevanten Informationseinheiten müssen nicht notwendigerweise einzelne Bits sein, sondern auch Bitfolgen (z.B. Worte oder Bytes). Den Speicherbereich für ein Bit nennt man Speicherzelle. Je nachdem, ob die Informationseinheiten, die mit einem einzigen Speicherzugriff erreicht werden können, einzelne Worte oder mehrere Worte sind, unterscheidet man: Die innerhalb der Zentraleinheit eingesetzten Speicher sind in der Regel wortorganisiert, während die externen Speicher i. a. blockorganisiert sind. Ein weiteres Unterscheidungskriterium ist die Zugriffsart, d.h. Die Art der Auswahl der gewünschten Information. Bei wortorganisierten Speichern unterscheidet man: Bei blockorganisierten Speichern unterscheidet man: