Ein Cache ist ein schneller Pufferspeicher, durch welchen aufwendige Neuberechnungen vermieden werden. Sind Daten beispielsweise von einer Internetseite einmal geladen worden, verbleiben sie in diesem. Soll die Seite erneut aufgerufen werden, geschieht dies schneller, da sich die Daten bereits im Pufferspeicher befinden.
Das Wort „Cache“ wird englisch ausgesprochen, stammt aber aus dem Französischen. „Cache“ bzw. „cachette“ und bedeutet übersetzt „versteckt“ bzw. „Versteck“. Diese Bezeichnung ist insofern zutreffend, da viele User nicht wissen, wo sich dieser Pufferspeicher befindet.
Inhalt
Was ist der Nutzen des Caches?
Der Nutzen bezieht sich darauf, Daten schneller zu laden. Dies macht sich vor allem beim Surfen im Internet bemerkbar. Denn Inhalte lassen sich schneller wieder herstellen, wenn Sie erneut auf eine Webseite zugreifen.
Organisation
Obwohl in der Regel „vom Cache“ gesprochen wird, existiert nicht nur ein Pufferspeicher, sondern mehrere Caches. Diese bilden die sog. Cachehierarchie. Gemäß dem Organisationsprinzip einer Hierarchie werden die einzelnen Bestandteile nach ihrer Hierarchieebene (engl. „level„) nummeriert: Level-1 (L1), Level-2 (L2), Level-3 (L3) usw.
Aus der Sicht des Users kommt den verschiedenen Levels folgende Bedeutung zu:
- L1: Ebene mit der schnellsten Zugriffszeit, sie wird als erster Pufferspeicher durchsucht.
- L2: In diesem Level wird gesucht, wenn es im L1 zu keinem Treffer (Miss) gekommen ist. L2-Chaches sind meist langsamer, aber dafür größer.
Bleibt auch die Suche im L2 erfolglos, werden die weiteren Caches in hierarchischer Reihenfolge durchsucht, bis sich ein Treffer (Hit) einstellt. Ist dies nicht der Fall, wird auf den „langsamen“ Hintergrundspeicher zugegriffen.
Cache-Linie
Die Cache-Line, auch -Block oder -Zeile genannt, ist die kleinste Einheit von Prozessoren. Mit diesem Begriff werden jene Daten bezeichnet, die in Blöcken mit fester Größe zwischen Speicher und Cache übertragen werden. Die Größe eines Blocks beträgt bei heutigen Prozessoren 64 Byte.
Adress-Tag
Als Adress-Tag wird die Adresse auf dem Hintergrundmedium, an der die Cache-Zeile beginnt, bezeichnet. Bei einem Blocknummer-Tag wird nur ein Teil der Adresse bedient. Tag und Block sind Bestandteile des Cache-Eintrags.
Zugriffs- und Verwaltungsinformationen
Zugriffs- und Verwaltungsinformationen beziehen sich vor allem auf die Verdrängungsstrategie, also darauf, unter welchen Voraussetzungen ein Block überschrieben wird. Denn die Größe des Caches ist begrenzt. Zu den verschiedenen Ersetzungsstrategien gehören:
- First In First Out (FIPO): Der älteste Block wird verdrängt.
- Leas Recently Used (LRU): Es wird jener Eintrag ersetzt, auf welchen am längsten nicht zugegriffen worden ist.
- Least Frequently Used (LFU): Der Eintrag, der am seltensten gelesen worden ist, wird verdrängt.
- Random: Die Verdrängung eines Blocks erfolgt per Zufall.
Wie unterscheiden sich exklusiver und inklusiver Cache?
Je nach Organisation der Blöcke unterscheidet man zwischen exklusiver und inklusiver Cachehierarchie.
Exklusiver Cache
In einer exklusiven Cachehierarchie ist jeder Block zu einer Adresse nur einmal vorhanden. Befindet sie sich beispielsweise auf dem L1, ist sie in den Levels 2 oder 3 nicht zusätzlich angelegt. Wird nun eine Linie A aus dem L1 durch eine andere verdrängt, verwirft man die Linie zur Adresse A gänzlich oder muss sie explizit in den 2. Level kopieren. Um im L2 Platz für die Linie A zu machen, verdrängt man eine andere, welche auf den 3. Level absinkt. Dieser absinkende Block verdrängt seinerseits eine Adresse im L3, welche zugunsten des Blocks aus der 2. Ebene weichen muss.
Die Größe des Pufferspeichers bei einer exklusiven Cachehierarchie ergibt sich aus der Summe der Speichergrößen von L1, L2 und L3.
Inklusiver Cache
In einer inklusiven Cachehierarchie herrscht Transparenz zwischen den verschiedenen Caches. Im Gegensatz zur exklusiven Cachehierarchie sind die einzelnen Linien in jedem Level vorhanden. Überschreibt man nun eine Cache-Linie A mit Daten einer anderen Adresse („verdrängt“), passiert nichts. Die Adresse zu A ist auch noch in den Leveln 2 und 3 gespeichert.
Die Größe des Pufferspeichers bei einer inklusiven Cachehierarchie richtet sich demnach nach der Größe des L3-Caches.
Welche verschiedenen Caches gibt es?
Neben den unterschiedlichen Hierarchieebenen unterscheidet man auch zwischen Hard- und Software-Caches.
Hardware-Caches
Ein Hardware-Cache ist ein Speicherchip. Dieser ermöglicht im Sinne der Funktion eines Pufferspeichers einen schnelleren Zugriff auf Daten als jener Speicher, der sie langfristig speichert, wie zum Beispiel:
- Pufferspeicher zwischen Arbeitsspeicher und Prozessor
- Caches auf optischen Laufwerken oder Festplatten
Software-Caches
Im Gegensatz zu Hardware-Caches nutzen Software-Caches, da sie keine entsprechenden Bausteine besitzen, jene Speichermöglichkeiten, die auf dem System bereits vorhanden sind. Typisches Beispiel für Software-Caches sind Webbrowser. Ruft man eine Webseite erneut ab, muss man die Daten nicht über die Netzwerkverbindung beim Server anfordern, sie lassen sich direkt aus dem Pufferspeicher anzeigen. Dies führt nicht nur zu einer Verringerung der Ladegeschwindigkeit, sondern reduziert auch die Netzlast. Lesen Sie hier alles über Webbrowser.
Das Löschen
Wie funktioniert es?
In Ihrem Browser finden Sie den Befehl unter „Einstellung“ oder können dort nach „Cache“ suchen.
Die Tastenkombination „STRG+SHIFT+ENTF„ führt Sie direkt zum entsprechenden Dialogfenster.
Es gibt aber auch spezielle (kostenlose) Programme, die das Löschen des Caches für Sie übernehmen.
Wieso sollte man den Cache löschen?
Ein Grund, den Pufferspeicher in Ihrem Browser regelmäßig zu löschen, ist, dass die Menge an gespeicherten Daten zu Fehlern führt. Der Browser kann sonst aufgrund der eher geringen Speicherkapazität seinen Zweck nicht mehr erfüllen. Außerdem kann es bei einer Überlastung des Caches dazu kommen, dass man nicht die neueste Version einer Homepage erhält.