Cache-Kohärenz
In einem Multiprozessor mit gemeinsamem Speicher und einem separaten Cache-Speicher für jeden Prozessor ist es möglich, viele Kopien eines beliebigen Befehlsoperanden zu haben: eine Kopie im Hauptspeicher und eine in jedem Cache-Speicher. Wenn eine Kopie eines Operanden geändert wird, müssen die anderen Kopien des Operanden ebenfalls geändert werden. Die Cache-Kohärenz ist die Disziplin, die sicherstellt, dass Änderungen an den Werten gemeinsam genutzter Operanden im gesamten System rechtzeitig weitergegeben werden.
- Es gibt drei verschiedene Stufen der Cache-Kohärenz:
- Jeder Schreibvorgang scheint augenblicklich zu erfolgen.
- Alle Prozesse sehen genau die gleiche Abfolge von Wertänderungen für jeden einzelnen Operanden.
Verschiedene Prozesse können sehen, dass ein Operand unterschiedliche Sequenzen von Werten annimmt. (Dies wird als nicht-kohärentes Verhalten bezeichnet.)
Sowohl beim Verhalten der Stufe 2 als auch beim Verhalten der Stufe 3 kann ein Programm veraltete Daten beobachten. Computerentwickler erkannt, dass die Programmierdisziplin, die für den Umgang mit dem Verhalten der Ebene 2 erforderlich ist, auch für das Verhalten der Ebene 3 ausreicht.