Hardware Reference
In-Depth Information
Belegung der LRU-Bits
Verdrangung von
Folgebelegung der LRU-Bits
(1 , 0 , 0 , 1 , 0 , 1 , 1)
Block 3
(0 , 1 , 0 , 1 , 1 , 1 , 1)
(1 , 0 , 1 , 0 , 0 , 0 , 0)
(0 , 1 , 0 , 1 , 1 , 1 , 1)
(1 , 0 , 0 , 1 , 1 , 1 , 1)
(1 , 1 , 1 , 1 , 1 , 1 , 1)
(0 , 1 , 1 , 0 , 1 , 0 , 0)
7.2.4 Schreibende Cachezugriffe
Bislang haben wir Caches ausschließlich aus der Sicht lesender Speicher-
zugriffe betrachtet. Allein wenn man bedenkt, dass jeder Befehl vor seiner
Ausfuhrung aus dem Speicher geladen werden muss, ist klar, dass insgesamt
mehr lesende als schreibende Speicherzugriffe erfolgen. Dieser Fall ist also
sehr wichtig. Nun wollen wir uns aber den schreibenden Speicherzugriffen
zuwenden.
Die Betrachtung schreibender Speicherzugriffe beginnen wir mit einer kurzen
Erinnerung an die spekulative und die Out-Of-Order Ausfuhrung von Be-
fehlen. Erst mit der endgultigen Bestatigung eines Store-Befehls werden die
zu schreibenden Daten an den Speicher ubergeben. Wie bereits beschrieben
verfugen praktisch alle Prozessoren uber einen Schreibpuffer (Write Buffer),
um schreibende Speicherzugriffe zu beschleunigen.
Zum eigentlichen Zuruckschreiben von Daten in den Cache gibt es wieder
eine verwirrende Vielzahl von Strategien, die einem Prozessorbauer zur Aus-
wahl stehen. Wir beginnen mit folgenden Alternativen, die oft auch Cache-
Strategien genannt werden:
Write-Through: Hier werden die Daten sowohl in den Cache-Block als
auch in die nachst tiefer liegende Stufe der Speicherhierarchie geschrieben.
Write-Back: Dabei werden Daten zunachst nur in den Cache geschrieben
und erst im Falle einer Verdrangung in der nachst tiefer liegenden Stufe
der Speicherhierarchie aktualisiert.
Bei der Write-Through-Strategie ist gewahrleistet, dass stets dieselben Da-
ten im Hauptspeicher und im Cache vorhanden sind. Bei Write-Back ist das
nicht der Fall. Dabei muss dann unbedingt im Cache vermerkt werden, wel-
che Daten im Falle einer Verdrangung im Hauptspeicher zu aktalisieren sind.
Zu diesem Zweck erhalt jede Cache Line ein so genanntes Dirty-Bit .DasBit
wird gesetzt, sobald der Cache-Block aktuellere Daten enthalt als der Haupt-
speicher. Nur in diesem Fall ist Ruckschreiben im Falle der Verdrangung
erforderlich. Beim Zuruckschreiben spricht man oft auch von einem Castoff
Search WWH ::




Custom Search