Kapitel 4 · ca. 30 Minuten

Das Speicherwerk

LeitfrageWo und wie merkt sich ein Computer Programme und Daten?

Programme und Daten – im selben Speicher

Im Von-Neumann-Rechner liegen im Arbeitsspeicher zwei Dinge gemeinsam:

  • das Programm – die Bearbeitungsvorschrift für die Daten, also eine Folge von Befehlen,
  • die Daten – die Werte, mit denen das Programm arbeitet.

Beides sind nur Bitmuster. Dem Speicher ist es egal, ob 00000010 eine Zahl oder ein Befehl ist.

Adressen – ein durchnummerierter Speicher

Der Speicher ist in viele gleich große Speicherstellen eingeteilt, die fortlaufend nummeriert sind. Diese Nummer heißt Adresse. So kann man sagen: An der Speicherstelle 305 steht das Datenelement 11011011.

Wie wählt die CPU eine Speicherstelle aus? Über die Leitungen des Adressbusses. Jede Leitung führt entweder Strom (1) oder keinen (0). Probiere aus, wie viele Speicherstellen sich mit einer bestimmten Anzahl Leitungen unterscheiden lassen:

23 = 8 Speicherzellen
CPU
Speicher

Adresse 101 = 5 · Inhalt: 10001010

000001010011100101110111

Tippe auf die Leitungen, um sie ein- oder auszuschalten. Jede zusätzliche Leitung verdoppelt die Zahl der ansprechbaren Zellen. Mit 8 Leitungen sind es 256, mit 32 Leitungen schon über 4 Milliarden (4 GB).

Der Arbeitsspeicher (RAM)

RAM steht für Random Access Memory – Speicher mit direktem (wahlfreiem) Zugriff. Jede Speicherstelle kann über ihre Adresse sofort erreicht werden, egal wo sie liegt. (Bei einem Magnetband dagegen müsste man erst bis zur richtigen Stelle spulen.)

  • enthält das laufende Programm und seine Daten
  • besteht aus sehr vielen gleich großen Zellen (je 1 Bit, beim DRAM ein Kondensator)
  • ist sehr schnell
  • ist flüchtig: Nach dem Abschalten sind alle Daten weg

Wie genau ein Bit im RAM gespeichert wird und warum es ständig „aufgefrischt“ werden muss, erfährst du im Kapitel Speichertechnik.

Die Speicherhierarchie

Ein Computer hat nicht nur einen Speicher, sondern viele verschiedene. Warum? Weil kein Speicher gleichzeitig schnell, groß, billig und dauerhaft ist. Deshalb kombiniert man sie in einer Hierarchie:

schneller · teurer · kleiner · näher an der ALU ▲ flüchtig · nicht flüchtig ▼ langsamer · billiger · größer · weiter weg

Arbeitsspeicher (RAM)

DRAM: enthält die gerade laufenden Programme und ihre Daten. Direkter Zugriff auf jede Zelle, aber flüchtig.

Ort
auf dem Mainboard, über den Bus
Typische Größe
8–64 GB
Zugriffszeit
≈ 80 ns
Preis
≈ 3 €/GB
Flüchtig?
ja – ohne Strom sind die Daten weg
Wäre 1 Nanosekunde eine Sekunde, dann dauerte ein Zugriff etwa 80 Sekunden
Speicher Größe Geschwindigkeit räumliche Nähe zur ALU
Register winzig am schnellsten im Rechenwerk
Cache L1 / L2 / L3 klein sehr schnell im Prozessor
Arbeitsspeicher (RAM) mittel (GB) schnell auf dem Mainboard
SSD / HDD sehr groß (GB–TB) langsam am weitesten entfernt

SSD und HDD – der Massenspeicher

SSD (Solid State Drive) und HDD (Hard Disk Drive) sind die dauerhaften Speicher eines Computers:

  • sehr viele Speicherzellen (Gigabyte bis Terabyte)
  • nicht flüchtig – auch ohne Strom bleiben die Daten erhalten
  • enthalten alle möglichen Daten, Befehle und Programme (auch wenn sie gerade nicht laufen)
  • deutlich langsamer als RAM
  • am weitesten von der CPU entfernt

Wenn du ein Programm startest, wird es deshalb von der SSD in den Arbeitsspeicher geladen. Erst dort kann die CPU es ausführen.

Welche Speicher verlieren ihre Daten, wenn der Strom ausfällt?

Mehrere Antworten können richtig sein.

VertiefungWarum nicht einfach alles in den schnellsten Speicher?

Schneller Speicher ist teuer und braucht viel Platz auf dem Chip. SRAM für Caches braucht pro Bit sechs Transistoren, DRAM nur einen Transistor und einen Kondensator, Flash noch weniger Fläche. Außerdem gilt: Je größer ein Speicher ist, desto länger sind die Leitungen und desto langsamer wird er. Die Hierarchie nutzt aus, dass Programme meist nur mit einem kleinen Teil ihrer Daten gleichzeitig arbeiten (Lokalitätsprinzip).