Speicherhierarchie

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche

In der Informatik bezeichnet Speicherhierarchie die Anordnung von Speichern in einer Rechnerarchitektur aus Sicht des Hauptprozessors, geordnet nach sinkender Zugriffsgeschwindigkeit, sinkenden Kosten und steigender Speicherkapazität. Die grafische Darstellung dieser Hierarchie findet i.d.R. in dreieckiger Form statt und wird Speicherpyramide genannt.[1]

Ein (utopischer) idealer Speicher wäre extrem kostengünstig, unendlich groß, würde keine Zugriffszeit benötigen und würde seinen Inhalt auch dann nicht verlieren, wenn kein Strom anliegt (nicht-flüchtiger Speicher). Stünde solch ein Speicher zur Verfügung, wäre die Speicherverwaltung trivial. In der Realität sind schnelle Speicher jedoch um Größenordnungen teurer als langsamere Speicher, zudem sind sie meist volatil. Aus diesem Grund wird versucht, einen Kompromiss aus Geschwindigkeit, Kosten und Persistenz zu finden, indem der Speicher in einer Speicherhierarchie angelegt und versucht wird, durch geschickte Speicherverwaltung die Vorteile der verschiedenen Komponenten zu nutzen und dabei gleichzeitig deren Nachteile zu umschiffen.[2]

Daraus ergibt sich die Form einer Speicherpyramide: An der Spitze befindet sich sehr wenig schneller und teurer Speicher, ganz unten dagegen sehr viel langsamer, sehr günstiger Speicher. Während also die Geschwindigkeit von oben nach unten abnimmt, wächst in etwa im gleichen Maße die Speicherkapazität.

Eine auf vielen heutigen Computern eingesetzte Speicherhierarchie ist:

  1. Prozessorregister, Größenordnung: Byte, Zugriffszeit i.d.R. mit Prozessortakt (genauso schnell wie CPU)
  2. Prozessorcaches, Größenordnung: Kilobyte-Megabyte, Zugriffszeit: etwa einige Dutzend Taktzyklen (abhängig vom Level)
  3. Arbeitsspeicher, Größenordnung: Megabyte–Gigabyte, Zugriffszeit: hunderte Taktzyklen (heute fast ausschließlich DRAM, z. B. EDO-RAM, SDRAM, DDR-SDRAM)
  4. Massenspeicher, Größenordnung: Gigabyte–Terabyte, Zugriffszeit: millionen Taktzyklen (z. B. Festplatte, Solid State Drive)
  5. Wechseldatenträger, Größenordnung: Gigabyte–Terabyte, Zugriffszeit: Millisekunden bis mehrere Minuten, aber günstiger als Massenspeicher (z. B. DVD, CD, USB-Stick, Disketten, Magnetband)

Neben den hohen Kosten ist ein weiterer Grund, warum sehr schneller Speicher nur begrenzt eingesetzt werden kann, der folgende: Die Zugriffsgeschwindigkeit und Speicherkapazität werden in den höheren Ebenen zusätzlich durch die räumliche Anordnung beeinflusst. Der Hauptprozessor ist platzbeschränkt, und es besteht dort ein verhältnismäßig hoher Kühlungsbedarf. Die Anordnung der Speichergruppen in der Höhe (also die Ausnutzung der dritten Dimension) kann daher nur in engen Grenzen stattfinden.

Häufig werden zur besseren Organisation des Speichers (z. B. Optimierung der Zugriffszeit für häufig benötigte Daten) Speicherinhalte innerhalb der Hierarchie transparent verschoben, z. B. werden Teile der Festplatte in den Datenträgercache geladen, andererseits werden Teile des Arbeitsspeichers in die Auslagerungsdatei ausgelagert (virtueller Speicher).

Speicherhierarchien in Datenbanken[Bearbeiten]

Die verschiedenen Speicherebenen einer Datenbank werden gelegentlich auch je nach ihrer Geschwindigkeit als Primärspeicher, Sekundärspeicher oder Tertiärspeicher bezeichnet. Dabei ist als Primärspeicher in der Regel der Arbeitsspeicher gemeint, während Sekundärspeicher einen schnellen Festspeicher und Tertiärspeicher ein langsames Archivierungsmedium meint.

Hierarchisches Speichermanagement und Informationslebenszyklusmanagement[Bearbeiten]

Hierarchische Speichermanagementsysteme lagern länger nicht benötigte Daten automatisch auf einen Speicher niedrigerer Hierarchiestufe aus. Auch Informationslebenszyklusmanagement automatisiert derartige Prozesse.

Einzelnachweise[Bearbeiten]

  1. Speichertechnologien im Überblick: Im Delta des Datenflusses, linux-magazin.de
  2. Andrew S. Tanenbaum, Modern Operating Systems, Second Edition, S.189, ISBN 0-13-092641-8