Ein Cache ist ein Zwischenspeicher, der das schnellere Zugreifen auf Daten ermöglicht, die häufig oder kurzfristig abgerufen werden.

Definition

Der „Cache-Speicher“ ist ein Zwischenspeicher, der die Zugriffszeiten auf Informationen beschleunigt. Er verringert die Anzahl notwendiger Zugriffe auf ein langsameres Speichermedium. Dieser Prozess des Speicherns läuft in den meisten Fällen im Hintergrund ab und User nehmen ihn nicht wahr. Der Cache kann als Hardware oder als Software-Funktion realisiert sein.

Ein Hardware-Cache, der schnelleren Zugriff auf Daten bietet als der Speicher, auf dem die Daten langfristig gespeichert sind. Software-Caches haben keine eigenen Hardware-Speicherbausteine, sondern nutzen auf dem System vorhandene Speichermöglichkeiten.

Ein Beispiel: ist der Cache des Webbrowsers, in dem zum Beispiel schon von einem Server abgerufene Daten wie Bilder zwischengespeichert werden.

Zu den typischen Anwendungen eines Cache-Speichers zählen Prozessoren, Festplattenspeicher oder Webbrowser. Wie effizient ein Cache arbeitet hängt davon ab, wie gut er es schafft, die benötigten Daten wirklich vorzuhalten. Weil seine Größe limitiert ist, sind intelligente Speicherverwaltungs- und Speicherverdrängungsverfahren wie Least Frequently Used (LFU), Least Recently Used (LRU) oder Most Recently Used (MRU) notwendig.

Was ist das Ziel eines Cache Speichers?

Die Ziele eines Cache-Speichers sind:

  • Reduzierung der Zugriffszeiten auf oft benötigte Daten
  • Verringerung der Anzahl von Zugriffen auf das Primärmedium
  • Entlastung von Schnittstellen und Bussystemen
  • Reduzierung der Netzwerklast
  • Minimierung von Übertragungsfehlern
  • Steigerung der Ausführungszeit von Anwendungen

Arten von Cache Memory

Cache-Speicher wird in „Ebenen“ (Levels) kategorisiert, die seine Nähe und Zugänglichkeit zum Mikroprozessor beschreiben. Man unterscheidet unter drei allgemeinen Cache-Ebenen:

 

Der L1-Cache (primäre Cache) agiert extrem schnell, ist jedoch relativ klein und wird normalerweise als CPU-Cache in den Prozessor-Chip eingebettet.

 

Der L2-Cache (sekundäre Cache) ist häufig umfangreicher als der L1-Cache. Der L2-Cache kann in die CPU eingebettet sein, oder sich auf einem separaten Chip oder Ko-Prozessor befinden und über einen alternativen Hochgeschwindigkeits-Systembus verfügen, der den Cache und die CPU verbindet. Somit wird er nicht durch den Verkehr auf dem Hauptsystembus verlangsamt.

 

Der L3-Cache ist ein spezialisierter Arbeitsspeicher, der die Leistung von L1 und L2 verbessern soll. L1 oder L2 können erheblich schneller sein als L3, auch wenn L3 im Normalfall doppelt so schnell wie DRAM ist. Bei Mehrkernprozessoren kann jeder Kern (Core) über einen dedizierten L1- und L2-Cache verfügen, allerdings können sie sich einen L3-Cache teilen. Verweist ein L3-Cache auf eine Anweisung, wird er im Regelfall auf eine höhere Cache-Ebene angehoben.

 

Während in der Vergangenheit L1-, L2- und L3-Caches mit kombinierten Prozessor- und Mainboard-Komponenten erstellt wurden, geht der Trend mittlerweile dahin, alle drei Ebenen des Memory-Cachings auf der CPU selbst zu konsolidieren. Deshalb hat sich die Hauptmethode zur Erhöhung der Cache-Größe von der Anschaffung einer bestimmten Hauptplatine mit verschiedenen Chipsätzen und Busarchitekturen auf die Anschaffung einer CPU mit der richtigen Menge an integriertem L1-, L2- und L3-Cache verlagert.

Entgegen der gängigen Meinung wird die Implementierung von Flash oder mehr dynamischem RAM (DRAM) in einem System den Cache-Speicher nicht erhöhen. Das kann zu Verwirrung führen, weil die Begriffe Memory Caching (Festplattenpufferung) und Cache Memory häufig synonym genannt werden.

Fazit

Der Cache ermöglicht schnelleren Zugriff auf Daten, die du regelmäßig abrufst.

Demnach lohnt sich der Einsatz von Caches insbesondere dort, wo die Zugriffszeit auch signifikanten Einfluss auf die Gesamtleistung hat. Das ist etwa beim Prozessorcache der meisten (skalaren) Mikroprozessoren der Fall, während es auf Vektorrechner nicht zutrifft, bei denen die Zugriffszeit eine untergeordnete Rolle spielt. Daher verzichtet man dort üblicherweise auf Caches, da sie keinen oder nur wenig Nutzen bringen.