Imagine a system with two Cores (A and B) and a Shared Memory.
- Step 1: Core A reads Address 0x500. Memory sends value `10`. Core A stores `10` in its local cache.
- Step 2: Core B reads Address 0x500. Memory sends value `10`. Core B stores `10` in its local cache.
- Step 3: Core A modifies Address 0x500 to `20` in its local cache.
- Step 4: Core B reads Address 0x500 again. It sees `10` in its cache and uses it.
Critical Error: Core B is using "Stale" (old) data. Core A hasn't updated
the main memory yet, and Core B has no idea that Core A changed the value.