In einem Schreibcache aktualisiert jeder Schreibvorgang sowohl den Cache als auch den Hauptspeicher gleichzeitig. Dies steht im Gegensatz zu dem Caching von Write-Back, bei dem Schreibvorgänge erst anfangs an den Cache vorgenommen werden, wobei die Aktualisierungen des Hauptspeichers verzögert werden, bis die Cache-Linie vertrieben wird.
Hier ist eine Aufschlüsselung der Auswirkungen:
Vorteile des Schreibens:
* Datenkonsistenz: Da das Hauptspeicher immer aktuell ist, gibt es kein Problem mit der Cache-Kohärenz. Mehrere Prozessoren oder Prozesse, die auf dieselben Daten zugreifen, werden immer die neueste Version angezeigt. Dies vereinfacht das Cache -Management und vermeidet die Notwendigkeit komplexer Protokolle, um die Konsistenz aufrechtzuerhalten.
* Einfachheit: Die Implementierung ist im Allgemeinen einfacher als Write-Back, da kein "schmutziges Bit" erforderlich ist, um modifizierte Cache-Zeilen oder einen Schreibbackpuffer an die Warteschlange zu verfolgen.
Nachteile des Schreibens:
* Leistung Engpass: Das Schreiben in das Gedächtnis ist langsamer als das Schreiben in Cache. Der Schreibvorgang muss warten, bis das Hauptspeicher geschrieben wird, bevor sie fortfahren, und die Schreibleistung erheblich verringert, insbesondere für häufige Schreibvorgänge. Dies kann zu einem verringerten Gesamtsystemdurchsatz führen.
* Verbesserter Busverkehr: Jeder Schreibbetrieb erzeugt den Verkehr im Systembus, erhöht die Konkurrenz und die potenzielle Auswirkungen auf andere Geräte.
Zusammenfassend lässt sich sagen, dass das Schreiben von Durchschreibungen die Datenkonsistenz und Einfachheit vor der Leistung priorisiert. Es ist für Anwendungen geeignet, bei denen die Datenkonsistenz von größter Bedeutung ist und Schreibvorgänge selten sind oder wenn der Leistungsaufwand akzeptabel ist. Umgekehrt wird das Caching von Write-Back in leistungskritischen Anwendungen mit vielen Schreibvorgängen bevorzugt.