Der Vorteil von Write-Through zum Hauptspeicher ist, dass es das Design des Computersystems vereinfacht. Beim Durchschreiben hat der Hauptspeicher immer eine aktuelle Kopie der Zeile. Wenn ein Lesevorgang abgeschlossen ist, kann der Hauptspeicher immer mit den angeforderten Daten antworten.
Wenn write-back verwendet wird, befinden sich die aktuellen Daten manchmal in einem Prozessor-Cache und manchmal im Hauptspeicher. Wenn sich die Daten in einem Prozessor-Cache befinden, muss dieser Prozessor den Hauptspeicher daran hindern, auf die Leseanforderung zu antworten, da der Hauptspeicher möglicherweise eine veraltete Kopie der Daten aufweist. Dies ist komplizierter als das Durchschreiben.
Auch Write-Through kann das Cache-Kohärenz-Protokoll vereinfachen, da es den Modify--Status nicht benötigt. Der Modify Zustand zeichnet auf, dass der Cache die Cache-Zeile zurückschreiben muss, bevor es die Zeile ungültig macht oder entfernt. Beim Durchschreiben kann eine Cachezeile immer ohne Zurückschreiben ungültig gemacht werden, da der Speicher bereits eine aktuelle Kopie der Zeile besitzt.
Noch eine Sache - bei einer Write-Back-Architektur-Software, die in speicherabgebildete I/O-Register schreiben muss zusätzliche Schritte ergreifen, um sicherzustellen, dass Schreibvorgänge sofort aus dem Cache gesendet werden. Andernfalls sind Schreibvorgänge außerhalb des Kerns nicht sichtbar, bis die Zeile von einem anderen Prozessor gelesen oder die Zeile entfernt wird.
@EricWang Ich denke du meinst 'write back' hat bessere Leistung? – wlnirvana
@wlnirvana Ja, Sie haben Recht, es ist mein Schreibfehler. Ich würde es entfernen und hier einen neuen Kommentar einfügen, um zukünftige Irreführungen zu vermeiden. –
Einfach ausgedrückt, 'write back' hat eine bessere Leistung, da das Schreiben in den Hauptspeicher viel langsamer ist als das Schreiben in den CPU-Cache und die Daten möglicherweise kurz sind (bedeutet, dass sie sich früher ändern und die alte Version nicht mehr in den Speicher legen muss)). Es ist komplex, aber ausgeklügelter, die meisten Speicher in moderner CPU verwenden diese Richtlinie. –