Was ist der Sinn der Cache-Kohärenz?

Auf CPUs wie x86, die Cache-Kohärenz bieten, wie ist dies aus praktischer Sicht sinnvoll? Ich verstehe, dass die Idee ist, Speicheraktualisierungen auf einem Kern sofort auf allen anderen Kernen sichtbar zu machen. Dies ist eine nützliche Eigenschaft. Man kann sich jedoch nicht zu sehr darauf verlassen, wenn man nicht in Assemblersprache schreibt, da der Compiler Variablenzuweisungen in Registern speichern und sie niemals in den Speicher schreiben kann. Das bedeutet, dass man immer noch explizite Schritte unternehmen muss, um sicherzustellen, dass die in anderen Threads durchgeführten Aktionen im aktuellen Thread sichtbar sind. Was hat die Cache-Kohärenz aus praktischer Sicht erreicht?

Antworten auf die Frage(12)

Ihre Antwort auf die Frage