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 Paths
  • Concept Map
  • How to Read the Diagrams
  • Part 0: What Is a Protocol?10
  • Part 1: Timing and Clocking11
  • Part 2: Encoding and Framing12
  • Part 3: Handshakes13
  • Part 4: Flow Control17
  • Part 5: Transactions19
  • Part 6: Concurrency and Performance17
  • Part 7: Ordering13
  • Part 8: Sharing and Arbitration12
  • Part 9: Deadlock and Liveness13
  • Part 10: Reliability and Recovery20
  • Part 11: Bring-Up and Link Management10
  • Part 12: Power8
  • Part 13: Shared State and Coherence9
    • Why Coherence
    • Invalidate or Update
    • MSI, MESI and MOESI
    • Snooping or Directory
    • Ownership and Forwarding
    • Coherence and Consistency
    • I/O Coherence and Cache Maintenance
    • Protocols Compared: Shared State and Coherence
    • Drills: Shared State and Coherence
  • Part 14: Security and Isolation7
  • Part 15: Specifying and Verifying11
  • Part 16: Protocols Dissected17
  • Part 17: Capstones5
  • Part 18: Interview Preparation6
Loading lesson

‹Part 13: Shared State and Coherence
  1. Topics
  2. First Principles of Hardware Protocols
  3. Part 13: Shared State and Coherence
  4. Protocols Compared: Shared State and Coherence

Part 13 · Shared State and Coherence · All levels

Protocols Compared: Shared State and Coherence

How snooping buses, AMBA ACE, AMBA CHI, large directory systems and PCI Express handle coherence: states, finding copies, ownership and I/O.

On this page

    Read across for one system; read down to see how differently the same coherence problem is solved.

    Coherence, side by side

    Snooping bus (MESI)

    AMBA ACE

    AMBA CHI

    Directory systems

    PCI Express

    Policy

    Invalidate

    Invalidate

    Invalidate

    Invalidate

    — (not a coherence protocol)

    States

    M, E, S, I

    MOESI-like (unique/shared, clean/dirty)

    Unique Dirty, Unique Clean, Shared Dirty, Shared Clean, Invalid

    MESI, MOESI or MESIF variants

    —

    Finding copies

    Broadcast on the bus

    Interconnect snoops masters on AC; replies on CR, CD; snoop filters common

    Home node snoops; directory or snoop filter

    Directory at the line's home

    —

    Ordering point

    The bus

    The interconnect

    Home node

    Home node

    —

    Dirty sharing

    No (write back on share)

    Yes (shared dirty)

    Yes (Shared Dirty)

    With O or F states

    —

    I/O coherence

    Device snooped by bus

    ACE-Lite: coherent reads and writes, no device cache

    I/O coherent request nodes

    Device requests go to the home

    DMA snooped by host; No Snoop attribute to skip it

    What the table shows

    • Everyone invalidates; the differences are in how copies are found and who orders requests.

    • Small systems broadcast; large ones use a home node with a directory or snoop filter.

    • Dirty sharing (O, Shared Dirty) is how bigger systems avoid writebacks on every share.

    • Devices join at different depths: snooped, I/O coherent, fully coherent, or not at all with software maintenance.

    Where each idea is explained

    • 13.1 Why Coherence

    • 13.2 Invalidate or Update

    • 13.3 MSI, MESI and MOESI

    • 13.4 Snooping or Directory

    • 13.5 Ownership and Forwarding

    • 13.7 I/O Coherence and Cache Maintenance

    Tip

    For any coherent system, name the ordering point for a line, its owner in each state, and the number of hops a dirty miss takes.

    Keep going

    Next: Drills: Shared State and Coherence. Interview questions, a whiteboard exercise and a ten-question checkpoint for Part 13.

    Related topics

    • Part 13 overview: Shared State and Coherence

    • Course hub

    Previous

    187 / 234

    Next: Drills: Shared State and Coherence

    Up next

    Up nextDrills: Shared State and Coherence

    Sign in to save progress

    Practice this lessonReport an error

    See also

    • Why Coherence
    • Invalidate or Update
    • MSI, MESI and MOESI