Zurück zum Inhaltsverzeichnis

Rechnerspeicher

Speicher sind Komponenten, welche Daten aufbewahren. Daten können i.Allg. in den Speicher geschrieben und wieder ausgelesen werden.

Wir haben schon Register und den Arbeitsspeicher kennen gelernt. Der Speicher kann über die Art des Zugriffs auf ihn klassifiziert werden:
  • Beim wahlfreien Zugriff (random access) kann auf jede Speicherzelle in beliebiger Reihenfolge zugegriffen werden, wie beispielsweise beim Arbeitsspeicher. Diese Form des Speichers wird als RAM (random access memory) bezeichnet.

  • Bei sequentiellen Zugriff erfolgt der Zugriff immer in einer festen Reihenfolge. (Bespiel: Magnetband)

  • Der indexsequentielle Zugriff ist eine Mischform zwischen den oben genannten Zugriffsarten. Bei ihm kann auf größere Speicherblöcke wahlfrei zugegriffen werden. Innerhalb des Blockes erfolgt der Zugriff dann sequentiell ( Beispiel: Festplatte)
Folgenden Merkmale chakterisieren Speicher:
  • Die Zugriffszeit ist die Zeit, die benötigt wird, um eine Speicherzelle zu lokalisieren und aus ihr zu lesen bzw. sie zu beschreiben.

  • Die Speicherkapazität gibt die Anzahl der Speicherzellen an. Diese wird typischerweise in Bit, Byte oder Worten gemessen.

  • Die Speicherzykluszeit setzt sich zusammen aus der Zugriffszeit und einer eventuellen Regenerierungszeit. Eine Regenerierungszeit ist bei manchen Speichern nötig, bei denen der Lesevorgang die Speicherzellen löscht und diese anschließend wieder mit demselben Inhalt beschrieben werden muss, bevor der nächte Zugriff möglich ist.

Cache-Speicher

Die Fech-phase des Von Neumann Operationsprinzips dauert erheblich länger als die Ausführung des Befehls.

Empirische Untersuchungen haben gezeigt, dass die Adressen der Daten und Programme innerhalb kurzer Zeit meist nur in einem geringen Bereich variieren. Dies wird als Lokalitätsprinzip bezeichnet.

Daher ist es sinnvoll, dass der Prozessor häufig verwendete Daten und Befehle nicht immer aus dem Arbeitsspeicher holen muss, sondern er sich diese auf eine Weise merkt, dass ein schnellerer Zugriff möglich ist.

Daher wurden Cache-Speicher eingeführt. In diesen werden die wiederbenutzten Daten und Befehle gespeichert. So wird dieser besser ausgelastet.

Deshalb sitzt beim modernen Prozessor ein extrem schneller, kleiner Cache direkt auf dem Prozessor, der vollassoziativ und doppelt ausgelegt (für Daten und Befehle) ist (Havard-Struktur). Dies ist der sogenannte L1 Cache.

Falls die benötigten Daten oder Befehle nun nicht durch diesen verfügbar sind, wird versucht, diese von der nächsten Ebene, dem L2 Cache, zu erhalten. Dieser L2 Cache hat eine größere Kapazität, ist aber langsamer (nichtassoziativ, teilassoziativ). Er befindet sich entweder ebenfalls auf dem Prozessorchip oder ist extern (off-chip-cache). Hier gibt es meist keine Trennung zwischen Daten und Befehlen.

Falls die Daten hier auch nicht verfügbar sind, wird versucht, diese von der nächsten Ebene zu holen, usw. Dieses Prinzip, Daten bzw. Befehle von der niedrigsten (schnelleren) Ebene verfügbar zu machen, wird Speicherhierarchie genannt.

Der gesamte, von allen Prozessen benutzte Speicher, kann dabei auch größer als der Arbeitsspeicher des Rechners sein. Hierfür wird ein Teil in den sogenannten Hintergrundspeicher ausgelagert. Die Speicherhierarchie endet also nicht mit dem Arbeitsspeicher.

Speicherhierarchie

Wie oben beschrieben, gibt es unterschiedliche Arten von Speichern, die hierarchisch organisiert sind. Eine grobe Einteilung ist in folgender Abb. aufgezeigt. Die Speicherhierarchie in den meisten Rechnern noch weiter unterteilt.

Speicherhierarchie
  • Register(speicher): Sehr schneller, kleiner Speicher. Dieser wird meist genutzt, um kurzfristig Daten zu speichern (z.B. sind Register auf dem Prozessor vorhanden).

  • Cache: Schneller Zwischenspeicher, um Daten schneller verarbeiten bzw. auf diese zugreifen zu können. So gibt es beispielsweise auf dem Prozessor einen Cache, der die zuletzt benutzten Daten des Hauptspeichers enthält.
    Die zuletzt verwendeten Daten werden häufig nochmals verwendet. Da diese im Cache zwischengespeichert sind, muss der Prozessor sie nicht über den Systembus vom langsameren Arbeitsspeicher beziehen. Dadurch vermeidet man, dass der Prozessor auf diese Daten warten muss.

  • Arbeitsspeicher: Die Grundstruktur des Arbeitsspeichers haben wir bereits kennen gelernt. Die Adressen des Arbeitsspeichers werden dabei über den Adressbus direkt adressiert. Die Busbreite des Adressbus bestimmt dabei die maximale Anzahl der ansprechbaren Speicherzellen.

  • Massenspeicher oder Peripheriespeicher: Dieser Speicher dient zur Aufnahme von Daten und Programmen, auf die selten zugegriffen wird.

Arbeitsspeicher

Der Arbeitsspeicher ist flüchtig, d.h. beim Ausschalten des Rechners wird sein Inhalt gelöscht.
Er ist ein sogenannter RAM (random access memory) Speicher, d.h man kann auf eine beliebige Speicheradresse zugreifen (random access).

Ein Computer, dessen Arbeitsspeicher sowohl Daten und Programme gemeinsam aufnimmt, hat eine Princeton-Architektur. Werden dagegen Daten und Programme in unterschiedlichen Speichern aufbewahrt, so spricht man von der Havard-Architektur. Die Havard-Architektur ist aufwendiger zu realisieren, hat aber den Vorteil sicherer zu sein. So wird der berüchtige Buffer-Overflow prinzipiell ausgeschlossen. Bei diesem werden Programmteile durch Daten überschrieben, sodass es Angreifern möglich ist, in fremde Rechner einzudringen.
Außerdem werden Daten und Befehle über separate Leitungen übertragen. Durch diese Paralellität wird die Übertragung beschleunigt, und somit kann der Prozessor besser ausgelastet werden.

Massenspeicher

(wie Festplatten, Floppy, CDs, etc.) sind meist langsamer als der Arbeitsspeicher, können aber Daten langfristig aufbewahren. Ihr Speicherinhalt wird beim Ausschalten des Computers nicht gelöscht. Werden Daten so gespeichert, dass sie nicht mehr (so einfach) überschrieben werden können, so spricht man von ROM (read only memory) Speicher (z.B. CDs).

Zurück zum Inhaltsverzeichnis

Home Klick hier!



Copyright (C) 2005 Christian Herta. Alle Rechte vorbehalten! All rights reserved!