EMZETT.
Login

L1-, L2- und L3-Cache

Kurz: Der Cache ist ein sehr schneller Zwischenspeicher in der CPU, der Daten und Befehle bereithält, die bald gebraucht werden. Es gibt drei Ebenen: L1 (klein, am schnellsten), L2 (mittel) und L3 (groß, geteilt, langsamer).

Genauer: Der Arbeitsspeicher ist für eine CPU sehr langsam: Ein Zugriff dauert so lang wie Hunderte Rechenschritte. Der Cache überbrückt das mit der Beobachtung, dass Programme dieselben Daten wiederholt (zeitliche Lokalität) und benachbarte Daten (räumliche Lokalität) brauchen. Mehrere Ebenen sind ein Kompromiss: Je schneller ein Speicher, desto teurer und kleiner ist er.

Im Detail

EbeneTypische GrößeZugriffszeitGehört zuBesonderheit
L132 – 64 KB (je Daten und Befehle)~4 Taktejedem KernAm schnellsten und kleinsten, getrennt in L1d (Daten) und L1i (Befehle)
L2256 KB – 2 MB~12 Taktemeist jedem KernPuffer zwischen L1 und L3
L38 – 128 MB (und mehr, 3D V-Cache)~40 Takteallen Kernen gemeinsamTauscht Daten zwischen Kernen aus
RAMGB~200+ Takteexternzum Vergleich

Funktionsweise:

  • Daten werden in Cache-Zeilen von 64 Byte geladen.
  • Treffer (Hit): Die Daten sind da, schnell. Fehlgriff (Miss): Daten müssen von der nächsten Ebene geholt werden, die CPU wartet.
  • Verdrängung: Wenn der Cache voll ist, fliegt meist das am längsten ungenutzte raus (LRU-ähnlich).
  • Kohärenz: Verändert ein Kern Daten, müssen andere Kerne ihre Kopien aktualisieren oder verwerfen (Protokolle wie MESI).

Warum mehrere Ebenen?

  • Ein einziger großer Cache wäre langsam (längere Wege, mehr Verwaltung).
  • Ein kleiner, schneller L1 fängt die meisten Zugriffe ab. Was nicht hineinpasst, liegt in L2 und L3.
  • So erhält man eine Kombination aus hoher Geschwindigkeit und genug Kapazität.

Praxis:

  • Programme laufen schneller, wenn sie Daten der Reihe nach lesen (Arrays) und nicht in Sprüngen (verkettete Listen, Zufallszugriffe).
  • Spiele und Datenbanken profitieren stark von großem L3 (AMD X3D, 3D V-Cache).
  • Cache-Größe ist neben Takt und Kernzahl ein Kaufkriterium.
  • Angriffe wie Spectre und Meltdown nutzten Zeitunterschiede im Cache aus.

Siehe auch: CPU-Aufbau: Rechenwerke und Cache, Speicherhierarchie und Cache-Lines, Caches