Ah, das ist eine dieser einfachen Fragen, die sehr komplexe Antworten haben. Die einfache Antwort lautet: Nun, es hängt davon ab, wie das Schreiben ausgeführt wurde und welche Art von Zwischenspeicherung es gibt. Hier ist eine nützliche Einführung in die Funktionsweise von Caches .
CPUs können Daten auf verschiedene Arten schreiben. Ohne Zwischenspeicherung werden die Daten sofort gespeichert und die CPU wartet, bis der Schreibvorgang abgeschlossen ist. Beim Zwischenspeichern speichert die CPU normalerweise Daten in der Programmreihenfolge, dh, wenn das Programm in Adresse A und dann in Adresse B schreibt, wird der Speicher A vor dem Speicher B geschrieben, unabhängig von der Zwischenspeicherung. Die Zwischenspeicherung wirkt sich nur auf die Aktualisierung des physischen Speichers aus und hängt von der Art der Zwischenspeicherung ab (siehe Link oben). Einige CPUs können Daten auch nicht temporär speichern, dh die Schreibvorgänge können neu angeordnet werden, um die Speicherbandbreite optimal zu nutzen. Schreiben Sie also A, dann B und dann (A + 1), so dass in A, dann A + 1 in einem einzigen Burst und dann B umgeschrieben werden kann.
Eine weitere Komplikation ist, wenn mehr als eine CPU vorhanden ist. Je nach Aufbau des Systems werden Schreibvorgänge einer CPU von anderen CPUs nicht erkannt, da sich die Daten noch im ersten CPU-Cache befinden (der Cache ist fehlerhaft). In mehreren CPU-Systemen wird die Zwischenspeicherung der einzelnen CPU-CPUs mit dem im physischen Arbeitsspeicher befindlichen Cache-System übereinstimmen. Es gibt verschiedene Möglichkeiten, wie dies erreicht werden kann.
Natürlich richtet sich das oben auf Pentium-Prozessoren. Andere Prozessoren können andere Aufgaben ausführen. Nehmen Sie zum Beispiel den Cell-Prozessor der PS3. Die Basisarchitektur einer Zellen-CPU besteht aus einem PowerPC-Kern mit mehreren Zellkernen (auf der PS3 gibt es acht Zellen, von denen eine immer deaktiviert ist, um die Erträge zu verbessern). Jede Zelle hat einen eigenen lokalen Speicher, eine Art L1-Cache, der niemals in den System-RAM geschrieben wird. Daten können zwischen diesem lokalen RAM und dem System-RAM mittels DMA-Übertragungen (Direct Memory Access) übertragen werden. Die Zelle kann auf das System-RAM und das RAM anderer Zellen mit scheinbar normalen Lese- und Schreibvorgängen zugreifen, dies löst jedoch nur eine DMA-Übertragung aus (daher ist es langsam und sollte unbedingt vermieden werden). Die Idee hinter diesem System ist, dass das Spiel nicht nur ein Programm ist,
Zusammenfassend war das Schreiben in den RAM-Bereich in den Tagen, in denen die CPU-Geschwindigkeit mit der RAM-Geschwindigkeit übereinstimmte, sehr einfach. Mit zunehmender CPU-Geschwindigkeit und Einführung von Caches wurde der Prozess jedoch mit vielen verschiedenen Methoden komplexer.
Skizz