A state letter is useful only when you can say what the cache may do, whether memory is current, and who must preserve the newest data. These four lessons build that interpretation using the same two caches and one home. Keep cache state separate from directory metadata: H can know which cache is the exclusive holder without knowing whether that cache has silently modified its line.
Lesson | After it you can... |
|---|---|
Explain exclusive writes, evictions and a dirty read that restores memory. | |
Explain why an E-to-M store needs no message and how E is evicted. | |
Identify the dirty-responsible reader without inventing a writer. | |
Track an upgrade while invalidation acknowledgements are pending. |
Suggested order: MSI, then the clean-exclusive optimisation in MESI, then dirty sharing in MOESI, then pending controller work. Each protocol is a separate alternative on the course model, not an extra set of letters added to a running trace. X is one location inside a 64-byte line; permissions cover the whole line. Memory appears as participant M in diagrams; in prose and tables M is only the Modified state.
Delivery and grant-delivery assumptions: see the course model.
No. In MESI, C0 can silently change E to M. H still records exclusive(C0), so a later request must consult C0 rather than assume memory is current.