cachecoherence
Cache coherence is a property of a shared-memory multiprocessor system that ensures that reads and writes to shared memory yield a consistent view across all processors. In systems with private caches, copies of the same memory location may coexist in several caches. When one processor writes, other caches may have stale copies, leading to incorrect results. Cache coherence protocols coordinate actions so that the most recent value is seen by all processors.
Two broad approaches are used: snooping and directory-based protocols. Snooping relies on a common bus or interconnect
Common coherence protocols use a small finite state machine for each cache line. MSI (Modified, Shared, Invalid)
Coherence is distinct from, but related to, memory consistency models. Coherence ensures a single, coherent view