Write-Back-Strategie?
Ein zu lesendes Datum wird entweder bei einem Hit aus dem Cache gelesen oder
im Falle eines Misses, aus dem Hauptspeicher geholt und parallel in den Cache
eingetragen. Im Falle der Aktualisierung, muss erst das Dirty-Bit der zu
überschreibenden Cache-Line geprüft werden, um diese gegebenenfalls in den
Hauptspeicher zurückzuschreiben. (Write-Back)
Vorteil dieser Strategie ist das bei Hits kein Hauptspeicherverkehr oder
Busbelastung auftritt. Alle Operationen können schnell innerhalb der Working-Sets
mit Cache-Speed erfolgen. Somit arbeitet die CPU ungebremst. Problematisch wird
dies, wenn mehrere Bus-Master am Bus hängen. Um Inkonsistenzen zu vermeiden sind
dann spezielle Synchronisationsprotololle wie MESI notwendig.
Concurrent Write-Back?
Bei einfachen Write-Back-Caches muss die CPU im Falle eines Cache-Misses warten,
bis die neue Cache-Line aus dem Speicher geholt wurde. Um diese Wartezeit im Mittel
zu eliminieren, wird die alte Zeile zunächst in einen Writebuffer
zwischengespeichert und später, parallel zu nachfolgenden Cache-Referenzen in den
Hauptspeicher übernommen. (Sonderform: Buffered Line Refill)
Wenn auch beim Lesen ein Line-(Read)-Buffer verwendet wird, spricht man von
einem Streaming Cache.