Schnell 'mal zwischendurch ablegen Was ist Cache?
Anbieter zum Thema
Wenn Prozessoren schnell rechnen und Speicher schnell liefern sollen, braucht es oft mehr als Haupt- und Massenspeicher. Ein schneller Zwischenlagerort muss her – der Cache.

Ein Cache hilft da, wo der Platz im Hauptspeicher nicht ausreicht und der Transport vom und zum Massenspeicher für die gewählte Aufgabe zu langsam ist. Der schnelle Pufferspeicher hält Daten kurzfristig, die vorhersehbar bald wieder benötigt werden. Das beschleunigt die anfallenden Berechnungen, verkürzt Abfragezeiten und spart Bandbreite auf dem Weg zum Massenspeicher, denn Daten werden nur einmal hin und her geschoben.
Der Begriff stammt übrigens aus dem Französischen, wo das Verb „cache“ verstecken bedeutet – verstecken vor dem Massenspeicher in diesem Fall; denn der ahnt nichts davon, dass ein Cache ihm einen Teil der Arbeit abnimmt. Cache-Technik gibt es ab Mitte der Neunziger des vergangenen Jahrhunderts, also rund 25 Jahre.
Grundsätzlich lässt sich Cache aus allen sehr schnellen Speichermedien aufbauen. Insbesondere kommen dafür RAM-Chips oder andere festplattenlose schnelle Speicherelemente bis hin zur Flash oder sogar SSDs in Frage. Aber auch in Software lässt sich ein Cache realisieren, indem einzelne Bereiche einer größeren Speichereinheit als Cache ausschließlich für die Pufferspeicherung reserviert werden.
Cache-Hierarchie und Cache-Konsistenz
In einem System können auch mehrere Caches kombiniert werden. Je näher sie der mit den Daten aus dem Cache rechnenden Einheit sind, desto niedriger ist ihre Hierarchieebene. Diese Ebenen werden mit L1, L2, L3 und so weiter bezeichnet.
In der Regel sind L1-Caches die schnellsten, teuersten und kleinsten. Die Größe nimmt in der Regel mit den Hierarchie-Ebenen zu, die Zugriffsgeschwindigkeit ab. Werden Daten gesucht, arbeitet sich der Prozessor Schritt für Schritt vom L1-Cache aus durch die Speicherebenen bis zum Massenspeicher. Ziel der Programmierung ist, dafür zu sorgen, dass die gerade benötigten Daten immer möglichst prozessornah liegen. Ansonsten spricht man von einem 'Cache Miss'.
Da mehrfache Zugriffe sowohl auf den Cache als auch auf den Massenspeicher im Hintergrund vorkommen können, besteht die Gefahr, dass die Daten im System inkonsistent werden. Um das zu verhindern, nutzt man verschiedene Verfahren beim Schreiben von Daten, die solche Inkongruenzen verhindern sollen. Sie hier zu beschreiben, würde zu weit führen.
So lässt sich Cache-Speicher nutzen
Es gibt diverse Anwendungen für Cache-Speicher: So führt die steigende Rechenleistung von Prozessoren zu einer Engstelle am Speicherzugang, weil der Speicher die nötigen Daten gar nicht so schnell herbeischaffen kann, wie sie gebraucht werden. Das gilt erst recht für Multicore-Architekturen. Die Lösung sind Caches auf verschiedenen Ebenen, deren Architektur zu den kennzeichnenden Eigenschaften des Prozessordesigns gehört.
Riesige Caches sind auch im Internet üblich, wo sie die Infrastrukturen von Content-Providern beschleunigen. Hier werden die Daten an Standorten in der Nähe der Endanwender zwischengelagert, um überlange Abfragezeiten zu verhindern.
Laufwerke können mit Cache-Speicher ausgerüstet werden, um das Lesen oder Schreiben zu beschleunigen: Für häufig benötigte Daten wird direkt auf den Cache zugegriffen statt auf die Festplatte. Dieser Speicher kann sich auf dem Festplattencontroller oder aber in der Festplatte selbst befinden.
Cache in Speichersystemen und beim Backup
Auch ganze Speichersysteme können einen Cache besitzen. Der Zweck ist dann derselbe wie bei der einzelnen Festplatte: Schnell benötigte Daten werden aus dem Cache statt aus dem Massenspeicher geholt, was die Angelegenheit beschleunigt.
Außerdem verwendet man Caches bei Snapshots, aber in umgekehrter Richtung: Die Snapshot-Daten werden zuerst auf den Cache geschrieben und in einem zweiten Schritt später, ohne Hetze aufs Sekundär- oder Tertiärmedium, damit der Speichervorgang nicht den Betrieb unterbricht.
Anwendungs-Caches
Von diesen systemnahen Cache-Formen zu unterscheiden sind rein anwendungsbezogene Cache-Implementierungen. Sie basieren grundsätzlich auf der Software der jeweiligen Anwendung.
Beispiele sind etwa die Caches von Office-Software, die sich die jeweils letzten Aktionen „merken“, um sie dann wieder rückgängig machen zu können. Auch der Browser-Cache, in dem verzeichnet ist, welche Websites ein Anwender besucht hat, gehört zu dieser Kategorie.
(ID:48433896)