Cache-Algorithmus

Cache-Algorithmus

Ein Cache-Algorithmus ist ein Algorithmus zur Steuerung eines Cache, mit dem Speicherzugriffe und Inkonsistenzprobleme zwischen einer CPU und dem Arbeitsspeicher optimiert werden sollen.

Ursprünglich galt der Cache als ein Zwischenpuffer zwischen CPU und Hauptspeicher. Da die Taktfrequenzen immer mehr voneinander abwichen, wurde es nötig einen Puffer (Cache) einzuführen. Man erkannte aber früh, dass man mit dem Cache einen beträchtlichen Teil der Bandbreite des Speicher-Bus sparen kann.

Dazu werden die Daten nicht direkt in den Speicher geschrieben sondern in den Cache. Die Methode nennt sich write-back (copy-back, store-in). Wird ein Block im Cache überschrieben, findet allerdings auch ein Schreiben in den Hauptspeicher statt. Wird ein Block im Cache verfehlt (write-miss), wird er zuerst in den Cache kopiert. Dann wird entweder nur in den Cache geschrieben (write-allocate) oder direkt in den übergeordneten Hauptspeicher (no-write-allocate).

Diese Methode wird in der Regel in Rechnerarchitekturen mit einem Prozessor eingesetzt. Allerdings kann es hier zu Inkonsistenzen bei I/O-Operationen kommen.

Inhaltsverzeichnis

Multiprozessorsysteme

Verschiedene Cache-Algorithmen

Bei Multiprozessorsystemen hat üblicherweise jeder Prozessor seinen eigenen Cache und greift darüber auf einen zentralen, gemeinsamen Speicher zu. Um Probleme durch Inkonsistenzen zwischen den Caches und dem Hauptspeicher zu verhindern, sorgt ein Cache-Algorithmus für Cache-Kohärenz.

Write Through (Write Thru)

Es wird am Cache vorbei in den Hauptspeicher geschrieben. Die Cacheline verliert dabei ihre Gültigkeit. Daher folgt beim nächsten Lesen aus der Cacheline ein cache-miss.

Write Back

Die Daten werden in den Cache zurück geschrieben und das DirtyBit wird gesetzt. Der Abgleich mit dem Hauptspeicher kann durch ein FLUSH ausgelöst werden. Außerdem werden die Daten in den Hauptspeicher zurück geschrieben, wenn die Cacheline für andere Daten verwendet werden soll. Diese Technik ist zwar aufwändiger, allerdings auch schneller als Write Through. DirtyBit = Daten im Hauptspeicher und Cache sind nicht konsistent

Write allocate

Tritt beim Schreiben ein cache-miss auf, so kommt write-allocate zum Zug. Dabei werden die Daten direkt an den Hauptspeicher durchgeschrieben. Der Cache-Controller sorgt anschließend dafür, dass die eben geschriebenen Daten in den Cache nachgeladen werden.


Wikimedia Foundation.

Игры ⚽ Нужен реферат?

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Cache — [kæʃ] bezeichnet in der EDV einen schnellen Puffer Speicher, der Zugriffe auf ein langsames Hintergrundmedium oder zeitaufwendige Neuberechnungen nach Möglichkeit vermeidet. Meist werden hierzu Inhalte/Daten gepuffert, die bereits einmal… …   Deutsch Wikipedia

  • Cache-Hierarchie — Cache [kæʃ] bezeichnet in der EDV eine Methode, um Inhalte, die bereits einmal vorlagen, beim nächsten Zugriff schneller zur Verfügung zu stellen. Caches sind als Puffer Speicher realisiert, die die Kopien zwischenspeichern. Sie können als… …   Deutsch Wikipedia

  • Cache-Speicher — Cache [kæʃ] bezeichnet in der EDV eine Methode, um Inhalte, die bereits einmal vorlagen, beim nächsten Zugriff schneller zur Verfügung zu stellen. Caches sind als Puffer Speicher realisiert, die die Kopien zwischenspeichern. Sie können als… …   Deutsch Wikipedia

  • Cache Hit — Cache [kæʃ] bezeichnet in der EDV eine Methode, um Inhalte, die bereits einmal vorlagen, beim nächsten Zugriff schneller zur Verfügung zu stellen. Caches sind als Puffer Speicher realisiert, die die Kopien zwischenspeichern. Sie können als… …   Deutsch Wikipedia

  • Cache Miss — Cache [kæʃ] bezeichnet in der EDV eine Methode, um Inhalte, die bereits einmal vorlagen, beim nächsten Zugriff schneller zur Verfügung zu stellen. Caches sind als Puffer Speicher realisiert, die die Kopien zwischenspeichern. Sie können als… …   Deutsch Wikipedia

  • L1-Cache — Cache [kæʃ] bezeichnet in der EDV eine Methode, um Inhalte, die bereits einmal vorlagen, beim nächsten Zugriff schneller zur Verfügung zu stellen. Caches sind als Puffer Speicher realisiert, die die Kopien zwischenspeichern. Sie können als… …   Deutsch Wikipedia

  • L1 cache — Cache [kæʃ] bezeichnet in der EDV eine Methode, um Inhalte, die bereits einmal vorlagen, beim nächsten Zugriff schneller zur Verfügung zu stellen. Caches sind als Puffer Speicher realisiert, die die Kopien zwischenspeichern. Sie können als… …   Deutsch Wikipedia

  • L2-Cache — Cache [kæʃ] bezeichnet in der EDV eine Methode, um Inhalte, die bereits einmal vorlagen, beim nächsten Zugriff schneller zur Verfügung zu stellen. Caches sind als Puffer Speicher realisiert, die die Kopien zwischenspeichern. Sie können als… …   Deutsch Wikipedia

  • L2 Cache — Cache [kæʃ] bezeichnet in der EDV eine Methode, um Inhalte, die bereits einmal vorlagen, beim nächsten Zugriff schneller zur Verfügung zu stellen. Caches sind als Puffer Speicher realisiert, die die Kopien zwischenspeichern. Sie können als… …   Deutsch Wikipedia

  • L3-Cache — Cache [kæʃ] bezeichnet in der EDV eine Methode, um Inhalte, die bereits einmal vorlagen, beim nächsten Zugriff schneller zur Verfügung zu stellen. Caches sind als Puffer Speicher realisiert, die die Kopien zwischenspeichern. Sie können als… …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”