Das Wort Cache kommt ursprünglich aus dem Französischen und bedeutet dort „Versteck“. Auch in der englischen Sprache kann es eine ähnliche Bedeutung haben, allerdings wird es überwiegend in der Informatik verwendet. Dort benennt es einen Zwischenspeicher, der als Puffer zwischen der Zentraleinheit (CPU) und dem Arbeitsspeicher dient. Seine Aufgabe ist es, den Zugriff auf häufig benutzte und unverändert bleibende Programmteile und Daten zu beschleunigen.

Diese immer wieder genutzten Daten verbleiben im Cache und machen dadurch Zugriffe auf ein langsames Hintergrundmedium und aufwändige Neuberechnungen überflüssig. Um beispielsweise eine möglichst kurze Ladezeit einer Webseite zu gewährleisten, empfiehlt es sich also, bei der Gestaltung möglichst viele standardisierte Elemente zu verwenden.

Hierarchien und Datenselektion von Caches

Eine grobe Faustregel besagt: Je kleiner ein Cache ist, desto schneller ist er. Zwar ist auch die Variante groß und schnell technisch möglich, ökonomisch aber meist nicht sinnvoll. Deshalb greift man in der Regel auf mehrere Zwischenspeicher zurück, für die eine Cachehierarchie gilt you can try this out. Die Caches werden durchnummeriert von Level-1 (L1) bis Level-n. L1 ist der kleinste und schnellste Speicher, der die wichtigsten und am häufigsten genutzten Daten enthält. Der Reihe nach werden dann die einzelnen Level abgesucht, bis zu einem Treffer kommt (Cache Hit), oder eben nicht (Cache Miss). Dann ist ein Zugriff auf den Hintergrundspeicher notwendig. Die jeweiligen Daten sind nicht auf ein einmal definiertes Level festgelegt, durch das Nutzungsverhalten ergeben sich regelmäßig Hierarchieverschiebungen.

Da der Platz, unabhängig von der Zahl der Level, in einem Zwischenspeicher begrenzt ist, muss entschieden werden, welche Daten überhaupt im Cache gespeichert werden. Ein wesentliches Kriterium ist die Häufigkeit des Zugriffs auf bestimmte Daten. Je häufiger Daten genutzt werden, desto größer ist die Wahrscheinlichkeit, dass dies wieder geschieht. Solche Daten sind also prädestiniert für den Zwischenspeicher. Ein weiteres Kriterium ist die Wahrscheinlichkeit, das Daten im Rahmen eines bestimmten Prozesses benötigt werden. Wird ein Schritt A durchgeführt, dem in der Regel ein Schritt B folgt, wandern zumindest kurzfristig die für B erforderlichen Programmteile in den Cache.

Bild oben: Valentyna Zhukova / 123RF