Suchen

Definition: Zwischenspeicher für wiederholte Zugriffe Was ist ein Cache?

Bei einem Cache handelt es sich um einen Zwischenspeicher, der per Hard- oder Software realisiert sein kann. Mit dem Cache lassen sich die Zugriffszeiten verkürzen. Ein Cache kann beispielsweise für Prozessoren, Festplattenspeicher oder Anwendungen wie den Webbrowser oder eine Datenbank zum Einsatz kommen.

Cache - Zwischenspeicher zur Optimierung von Hardware- oder Software-Zugriffszeiten
Cache - Zwischenspeicher zur Optimierung von Hardware- oder Software-Zugriffszeiten
(Bild: gemeinfrei (geralt / pixabay) / CC0 )

Der Begriff Cache kommt aus dem Französischen und bedeutet im eigentlichen Sinn "Versteck". Es handelt sich bei einem Cache im IT-Umfeld um einen schnellen Pufferspeicher, der wiederholte Zugriffe auf Daten beschleunigen soll. Hierzu werden die häufiger benötigten Daten von einem langsameren Medium in den Zwischenspeicher geladen und dort für die weitere Verarbeitung bereitgehalten. Immer, wenn eine Anwendung oder ein Prozess auf die Daten Zugreifen muss, bedienen sie sich direkt aus dem Cache.

Ein Cache lässt sich sowohl in Software als auch in Hardware realisieren. Für den Anwender bleibt die Verwendung des Caches in der Regel verborgen. Er ist für ihn transparent. Der Cache stellt eine Art gespiegelte Ressource dar. Damit es nicht zu Inkonsistenzen und verschiedenen Datenständen zwischen dem eigentlichen Speicher und dem Pufferspeicher kommt, sind Cache und Hintergrundspeicher über verschiedene Methoden zu synchronisieren oder zu aktualisieren. Es kommen unterschiedliche Cache-Strategien zum Einsatz. Einige Anwendungen erfordern bei Inkonsistenzen eine explizite Cache-Aktualisierung durch den Benutzer. Die Größe des Caches ist wesentlich geringer als die Speichergröße des eigentlichen Hintergrundspeichers.

Der Zweck eines Caches

Ein Cache verfolgt zwei primäre Ziele. Zum einen sollen die Zugriffszeiten verkürzt und zum anderen die Anzahl der Zugriffe auf den Hintergrundspeicher verringert werden. Nur wenn der Cache die gewünschten Daten wesentlich schneller als der eigentliche Speicher liefern kann, macht sein Einsatz Sinn. Dank dem Cache muss weniger Aufwand in eine schnelle Anbindung des Hintergrundspeichers investiert werden. Es lassen sich für diesen Speicher günstigere Techniken verwenden. Nur der Cache selbst benötigt die schnelle Speichertechnik. Da der Cache jedoch wesentlich weniger Speicherplatz bereitstellen muss, reduzieren sich die Gesamtkosten für das System.

Die Ausführungsgeschwindigkeit von Programmen steigert sich, da die Anwendungen, Prozesse oder Prozessoren kürzer auf die benötigten Daten warten müssen und durch den langsamen Hintergrundspeicher nicht ausgebremst sind. Damit ein Cache effizient arbeiten kann und die Zugriffszeiten tatsächlich verkürzt, ist es von zentraler Bedeutung, dass er die aktuell gerade benötigten Daten tatsächlich bereithält. Sind diese Daten nicht im Cache gespeichert und müssen erst vom Hintergrundspeicher geladen werden, ergibt sich sogar ein Geschwindigkeitsverlust. Die Verwaltung des Caches übernimmt ein spezielles Programm oder das Betriebssystem. Intelligente Algorithmen sorgen dafür, dass die häufig benötigten Daten im Zwischenspeicher vorgehalten und seltener benötigte Daten gelöscht werden.

Unterscheidung zwischen Hardware- und Software-Cache

Ein Cache kann als Hardware oder als Software realisiert sein. Ein Hardware-Cache befindet sich immer zwischen dem verarbeitenden Prozessor und dem Hintergrundspeicher. Er muss direkt vom Prozessor ansprechbar sein und kürzere Zugriffszeiten bieten als der Hintergrundspeicher.

Der Software-Cache ist nach dem gleichen Grundprinzip programmiert. Daten werden in kleinen, besonders schnellen Anwendungsbereichen vorgehalten und anderen Anwendungsteilen mit kürzeren Zugriffszeiten bereitgestellt. Der Software-Cache bedient sich aus langsameren Teilprozessen einer Software wie beispielsweise Ergebnisse aufwendiger Berechnungen oder komplexer Datenbankabfragen. Hat der Teilprozess ein Ergebnis geliefert, wandert es in den Cache und ist dort von der Anwendung nutzbar. Erst wenn die Teilprozesse neue Ergebnisse bereitstellen, ist der Cache zu aktualisieren. Für die Funktion der Anwendung ist es wichtig, die Ergebnisse im Cache regelmäßig zu aktualisieren und sie gültig zu halten.

Beispiele für die Verwendung eines Caches

Der Cache findet in verschiedenen Anwendungen und Hardwareumgebungen Verwendung. Im Folgenden einige wichtige Beispiele für den Einsatz des Caches im IT-Umfeld.

Der Prozessor-Cache

Der Prozessor-Cache liegt zwischen dem Prozessor und dem Arbeitsspeicher und ist ein besonders schneller Pufferspeicher. Er lädt Daten vom Arbeitsspeicher und stellt sie dem Prozessor zur Verfügung, damit dieser nicht für jeden Befehl auf den langsameren Arbeitsspeicher zugreifen muss. In der Regel kommen für Prozessoren mehrstufige Caches zum Einsatz, die jeweils unterschiedlich schnell und groß sind.

Man spricht in diesem Zusammenhang von L1- (Level 1), L2- (Level 2) und L3-Cache (Level 3). Je näher sich der Pufferspeicher am Prozessor befindet, desto schneller arbeitet er und desto kleiner ist er. Auch die Taktung der L1-, L2- und L3-Caches ist unterschiedlich. Am schnellsten ist der Cache direkt am Prozessor getaktet, am langsamsten der entfernteste Cache. In aktuellen Prozessoren sind die verschiedenen Caches direkt integriert. Ein Cache als eigener Chip auf dem Mainboard ist heute eher unüblich.

Der Festplatten-Cache

Auch Festplatten arbeiten häufig mit einem Cache. Entweder ist er direkt in der Festplatte integriert oder auf dem Festplattencontroller installiert. Je nach Größe der Festplatte und dem Verwendungszweck der Festplatte variiert die Größe des Caches. Häufig von einer Festplatte abgerufene Daten sind im Cache zwischengespeichert und stehen von dort aus dem Rechner zur Verfügung. Die statistische Gesamtzugriffsgeschwindigkeit auf die Daten der Festplatte lässt sich mit einem Cache erheblich beschleunigen. Sehr sinnvoll sind Pufferspeicher auch bei optischen Laufwerken. Diese besitzen oft extrem hohe Zugriffszeiten. Der Cache reduziert nicht nur die Zugriffszeit, sondern gleicht auch Schwankungen im Datenstrom aus.

Der Webbrowser-Cache

Beim Webbrowser-Cache handelt es sich um einen Software-Cache. Bereits von einem Webserver abgerufene Daten wie Seitentexte, Bilder oder Videos speichert der Browser als lokale Kopie auf dem Rechner ab. Soll der Browser die Daten erneut darstellen, fordert er sie nicht mehr vom entfernten Webbrowser an, sondern bedient sich direkt aus dem lokalen Cache. Die Ladegeschwindigkeit der Internetseiten steigt und der Internetanschluss ist weniger belastet. Das spart Bandbreite im Netz und Ressourcen auf dem Webserver.

Wurde eine Seite aktualisiert und haben sich die Inhalte verändert, kann der Browser-Cache unter ungünstigen Umständen dafür sorgen, dass veraltetet Inhalte dargestellt werden. Um dies zu verhindern, lassen sich verschiedene Methoden verwenden. Häufig aktualisierte Inhalte können so markiert sein, dass sie nicht im Cache gespeichert, sondern immer vom Webserver geladen werden. Daten können auch mit einer Art Verfallsdatum versehen werden, nach dessen Erreichen sie automatisch aus dem Cache gelöscht und neu vom Server geladen werden müssen. Auch heuristische Schätzungen mit intelligenten Algorithmen kommen für die Cacheverwaltung zum Einsatz. Bei Bedarf kann der Anwender den Cache per Browsereinstellung manuell löschen.

(ID:45244286)

Über den Autor