Skip to content
DenseChip
Learn
PracticeCode labInterview

DenseChip

Navigate

Menu

LearnPracticeCode labInterview

Tools

All toolsSV editorCode repoResume
DenseChip

Practice, courses, and chip-design tools in one focused workspace.

LearnPracticeCode labInterviewToolsLearning paths

© 2026 DenseChip

AboutContactPrivacyTerms
Skip to lesson

Course contents

  • How to Use This Course
  • Reading Path
  • Cache Coherency Glossary
  • The Shared Course Model
  • Cache Coherency Revision Sheet
  • Why Coherence Exists8
  • States and Protocols12
    • Single-Writer, Multiple-Reader Invariant
    • Line States and Transitions
      • MSI Protocol
      • MESI and the Exclusive State
      • MOESI and Dirty Sharing
      • Stable Versus Transient States
    • Directory Versus Snoop Fundamentals
  • Transactions12
  • Races and Controller Design8
  • Progress and the Fabric16
  • Ordering and Synchronization12
  • Performance and Scalability12
  • Real Protocols12
  • SoC Integration12
  • Power, Clocking and Reliability12
  • Verification12
  • Debug and Bring-up12
  • Interview and Design Review17
  • Capstone: A Coherent Model Lab5
Loading lesson

‹States and Protocols
  1. Topics
  2. Cache Coherency
  3. States and Protocols
  4. Line States and Transitions

Part 2 · States and Protocols · All levels

Line States and Transitions

Read MSI, MESI and MOESI states as permissions and data obligations, then distinguish settled states from pending work.

  • 4topics
  • 4lessons

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...

MSI Protocol

Explain exclusive writes, evictions and a dirty read that restores memory.

MESI and the Exclusive State

Explain why an E-to-M store needs no message and how E is evicted.

MOESI and Dirty Sharing

Identify the dirty-responsible reader without inventing a writer.

Stable Versus Transient States

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.

Check yourself Can a directory entry naming C0 as exclusive tell you whether memory is current?

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.

Related topics

  • Course model and message meanings

  • Glossary

PreviousNext: MSI Protocol

Up next

Up nextMSI Protocol

Sign in to save progress

Practice this lessonReport an error

See also

  • Single-Writer, Multiple-Reader Invariant
  • Directory Versus Snoop Fundamentals