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
  • Transactions12
  • Races and Controller Design8
  • Progress and the Fabric16
  • Ordering and Synchronization12
  • Performance and Scalability12
  • Real Protocols12
    • MESI Versus MOESI Trade-Offs
      • When the Owned State Pays
      • MESIF and the Forward State
      • Comparing Protocol Traffic
      • Choosing a Protocol
    • CHI and ACE Message Models
    • TileLink and Custom Coherence Extensions
  • SoC Integration12
  • Power, Clocking and Reliability12
  • Verification12
  • Debug and Bring-up12
  • Interview and Design Review17
  • Capstone: A Coherent Model Lab5
Loading lesson

‹Real Protocols
  1. Topics
  2. Cache Coherency
  3. Real Protocols
  4. MESI Versus MOESI Trade-Offs

Part 8 · Real Protocols · All levels

MESI Versus MOESI Trade-Offs

Measure what the Owned and Forward states save and what they cost, then choose a state set for a workload.

  • 4topics
  • 4lessons

Part 2 defined E and O; this topic asks what they are worth. Every extra state moves work somewhere: O removes memory writes but makes a cache answer every later reader, E removes an upgrade transaction (GetM and its Data) but forces H to forward to a possibly clean holder, and the F state of MESIF lets a clean sharer stand in for memory. The lessons count those effects on the course model, extended to a third core C2 where sharing needs it.

Lesson

After it you can...

When the Owned State Pays

Count the memory writes O saves and the duties it adds.

MESIF and the Forward State

Explain how one clean sharer answers reads instead of memory.

Comparing Protocol Traffic

Run one trace under MSI, MESI and MOESI and compare the counts.

Choosing a Protocol

Pick a state set from the sharing pattern and costs.

Suggested order: O first, then F as its clean counterpart, then the simulator that puts numbers on both arguments, then the decision. Revise the MOESI pilot lesson and the MESI pilot lesson first: this topic builds on their traces and does not redraw them.

Check yourself Does adding O make a protocol send fewer messages?

Not necessarily. In the course model, where data travels through H, O removes memory writes and memory reads but turns each later read into a four-leg forwarded read instead of a two-leg memory read. It saves memory bandwidth, not interconnect messages. The simulator lesson counts both.

Related topics

  • Shared course model

  • Prerequisite: MOESI and Dirty Sharing

  • Part 8 overview

PreviousNext: When the Owned State Pays

Up next

Up nextWhen the Owned State Pays

Sign in to save progress

Practice this lessonReport an error

See also

  • CHI and ACE Message Models
  • TileLink and Custom Coherence Extensions