Meine Frage ist, wie schreibt die CPU Daten in den RAM?
Soweit ich weiß, verwenden moderne CPUs unterschiedliche Cache-Ebenen, um den RAM-Zugriff zu beschleunigen. Der RAM erhält einen Befehl zur Information und sendet dann einen Datenburst an die CPU, der die erforderlichen Daten (und eine Reihe zusätzlicher Daten, die nahe an der von der CPU gewünschten Adresse lagen) im Cache der höchsten Ebene speichert. Die CPU fragt dann nach und nach Die verschiedenen Caches senden immer kleinere Datenblöcke über die Cache-Ebenen, bis sie sich im Cache der Ebene 1 befinden, der dann direkt in ein CPU-Register eingelesen wird.
Wie funktioniert dieser Prozess, wenn die CPU in den Speicher schreibt? Geht der Computer die Cache-Ebenen rückwärts (in umgekehrter Reihenfolge wie beim Lesen)? Wenn ja, wie sieht es mit der Synchronisierung der Informationen in den verschiedenen Caches mit dem Hauptspeicher aus? Wie ist die Geschwindigkeit einer Schreiboperation im Vergleich zu einer Leseoperation? Was passiert, wenn ich kontinuierlich in den Arbeitsspeicher schreibe, z. B. bei einer Bucket-Sortierung?
Danke im Voraus,
-Faken
Edit: Ich habe noch keine Antwort bekommen, die ich voll akzeptieren kann. Ich möchte vor allem über den Synchronisationsteil des RAM-Schreibens Bescheid wissen. Ich weiß, dass wir direkt von der CPU in den L1-Cache schreiben und dass Daten in den Cache-Ebenen nach unten verschoben werden, wenn wir die verschiedenen Ebenen der Caches synchronisieren, und dass schließlich der Haupt-RAM mit dem Cache der höchsten Ebene synchronisiert wird. Was ich jedoch gerne wissen würde, ist, wann Caches mit dem Haupt-RAM synchronisiert und scynocronisiert werden und wie schnell ihre Geschwindigkeiten im Verhältnis zu Lesebefehlen sind.
quelle