Cache

Manu Magno

Wiki

Kategorie

0 Kommentar(e)

Diskussion

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 schnellere Zugriffszeiten auf Informationen ermöglicht. 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 greift zügiger auf Daten zu als Speicher, auf denen die Daten langfristig gespeichert sind. Software-Caches verfügen nicht über eigene Hardware-Speicherbausteine, sondern nutzen Möglichkeiten zur Speicherung, die sich bereits auf dem System befinden.

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 die Größe limitiert ausfällt, bedarf es intelligenter Speicherverwaltungs- sowie Speicherverdrängungsmethoden – zum Beispiel Most Recently Used (MRU), Least Frequently Used (LFU) oder Least Recently Used (LRU).

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 sogenannten Ebenen – oder auch Levels – kategorisiert. Diese beschreiben, wie nah und zugänglich er zum Mikroprozessor ist. Man unterscheidet unter drei allgemeinen Cache-Ebenen:

 

Der L1-Cache (auch primäre Cache genannt) agiert sehr 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. dadurch bremst ihn der Verkehr auf dem Hauptsystembus nicht.

 

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 vor allem da, wo sich die Zugriffszeit auch erheblich auf die Gesamtleistung auswirkt. 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 in der Regel auf Caches, da sie nicht oder nur wenig nützlich sind.

icon
Inhaltsverzeichnis

    Schreibe einen Kommentar

    Deine E-Mail-Adresse wird nicht veröffentlicht.

    icon
    icon

    Jetzt kostenlos registrieren!

    Ausschließlich für Geschäftskunden (B2B). Mit Absenden deiner E-Mail Adresse stimmst du unseren AGB und Datenschutzbestimmungen zu. Die Registrierung ist durch reCAPTCHA geschützt. Es gelten die Google Datenschutzerklärung und Nutzungsbedingungen.