Information Technology Reference
In-Depth Information
Beim im Vergleich deutlich komplizierter zu realisierenden Write-through-with-
write-allocation-Verfahren wird für das zu schreibende Datum zuerst eine Zeile
im Cache reserviert, der entsprechende Speicherbereich geladen und schließlich
der Zugriff auf Cache und Hauptspeicher durchgeführt (dabei wird ein Teil der
geladenen Zeile modifiziert).
In beiden Fällen lassen sich Schreibzugriffe auf dem Cache nicht schneller als auf
den Hauptspeicher ausführen. Da die meisten Befehle zwei Operanden (Lesezugriff)
zu einem Ergebnis (Schreibzugriff) verknüpfen, erreicht man in zwei Dritteln aller
Fälle eine Verkürzung der Zugriffszeit, nämlich bei jedem Lesezugriff auf einen
Eintrag im Cache. Wie später beschrieben wird, lässt sich auch die Zugriffszeit bei
Schreiboperationen verkürzen, nämlich durch Verwendung eines sog. Schreibpuf-
fers ( write-buffer , store-buffer ). Die Anzahl der Schreibzugriffe auf den Hauptspei-
cher kann dadurch jedoch nicht unbedingt vermindert werden, was vor allem in
Multimastersystemen ein Nachteil ist.
Copy-back-Verfahren. Beim im Vergleich zum Write-Through-Verfahren deutlich
aufwendiger zu realisierenden Copy-back-Verfahren führt man einen Schreibzugriff
zunächst nur auf dem Cache aus, wobei der zum adressierten Eintrag gehörige
Speicherbereich ggf. zuvor in eine freie bzw. freigeräumte Zeile des Caches geladen
wird. Mit dem Schreibzugriff kommt es kurzzeitig zu einer Inkonsistenz zwischen
der adressierten Zeile und dem zugeordneten Bereich des Hauptspeichers, die
jedoch unkritisch ist, solange sich sämtliche Zugriffe auf den Cache beziehen.
Falls sich eine Zeile nicht länger im Cache halten lässt, z.B. weil der belegte Platz
benötigt wird, muss sie natürlich in den Hauptspeicher zurückkopiert werden. Dies
ist jedoch nur erforderlich, wenn ein Eintrag zuvor modifiziert wurde, weshalb jeder
Cache-Zeile ein sog. Dirty-Bit angeheftet ist, dass bei Schreibzugriffen automatisch
gesetzt wird und die Ungültigkeit des zugeordneten Bereichs im Hauptspeicher
anzeigt. Ist das Dirty-Bit gelöscht, kann auf ein Zurückschreiben der Zeile aus dem
Cache in den Hauptspeicher verzichtet werden. Vorteile des Copy-Back- im Gegen-
satz zum Write-Through-Verfahren sind, dass sich auch Schreibzugriffe mit der kur-
zen Zugriffszeit des Caches bearbeiten lassen und der Hauptspeicher seltener ange-
sprochen wird. Letzteres ist z.B. in Multimastersystemen von Bedeutung.
Ergänzende cache-bezogene Maßnahmen
Zum Schluss sollen einige Techniken beschrieben werden, mit denen sich der Nut-
zen eines Caches vergrößern lässt. Beim nachfolgend erläuterten sog. Prefetching
liest man eine Cache-Zeile, bevor tatsächlich darauf zugegriffen wird, wodurch sich
die sonst für das Laden erforderliche Wartezeit verdecken lässt. Eine Verkürzung
der Latenzzeit bei Zugriffen auf nicht im Cache befindliche Inhalte ist durch die sog.
Schreibpuffer erreichbar. Sie ermöglichen es, beim Neuladen einer Cache-Zeile den
erforderlichen Lesezugriff vor dem Schreibzugriff auszuführen. Das Streaming wird
schließlich benutzt, um Cache-Speicherplatz einzusparen, indem auf selten adres-
sierte Inhalte des Hauptspeichers zugegriffen werden kann, ohne sie in eine Zeile
des Caches laden zu müssen. Im Zusammenhang mit dieser Technik wird auch das
Search WWH ::




Custom Search