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
    • Virtual Networks and Progress
    • Filtering and Snoop Pruning
    • Latency, Fairness and QoS
    • Hierarchical and Chiplet Coherence
      • Two-Level Directories
      • Clusters and Global Homes
      • Coherence Across Dies
      • Hierarchy Trade-Offs
  • 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

‹Hierarchical and Chiplet Coherence
  1. Topics
  2. Cache Coherency
  3. Progress and the Fabric
  4. Hierarchical and Chiplet Coherence
  5. Coherence Across Dies

Part 5 · Progress and the Fabric · All levels

Coherence Across Dies

Treat a die boundary as extra transport cost and failure obligations, not a new coherence rule.

On this page

    What changes when a coherence path crosses a die boundary?

    A die is one piece of silicon; a chiplet design puts several dies in one package, joined by die-to-die links. Place K0 and K1 on different dies and keep H as the global home for X. H is on K0's die (illustrative choice), so legs 2 and 7 of the eight-leg trace in Clusters and Global Homes cross the die boundary. No vendor interface is assumed.

    The starting checkpoint is the one in Three-Hop Versus Four-Hop, with C0 in K0. Physical separation does not let H substitute memory's 0 for C0's 1.

    A die crossing may add serialization delay (time to push a message's bits over a narrower link), buffering, credits (counters of free receive buffers at the far end), error detection and retry. The die-to-die link adds no FIFO guarantee the protocol relies on. Keep transport acknowledgement separate from coherence completion: delivery to a link endpoint does not prove that a private cache accepted permission, released a conflicting copy, or supplied the newest data.

    What do the crossings cost?

    Diagram
    Illustrative arithmetic, not measured latencies.
    On-die leg: 3 cycles. Die-crossing leg: 3 + D cycles, with D = 10.
    Legs: 1 C1->H1, 2 H1->H, 3 H->H0, 4 H0->C0,
          5 C0->H0, 6 H0->H, 7 H->H1, 8 H1->C1. Data legs: 5, 6, 7, 8.
    
    H on K0's die: legs 2 and 7 cross.
      8 x 3 + 2 x 10 = 24 + 20 = 44 cycles
    H on a third die: legs 2, 3, 6 and 7 cross.
      8 x 3 + 4 x 10 = 24 + 40 = 64 cycles
    
    64-byte Data over an illustrative 16 B/cycle link:
      64 / 16 = 4 serialization cycles per data crossing.
      H on K0's die, data crosses on leg 7:          44 + 4     = 48 cycles
      H on a third die, data crosses on legs 6 and 7: 64 + 2 x 4 = 72 cycles

    Moving H off both clusters' dies adds two crossings, one of them carrying data. Where the home sits matters as much as how fast the link is.

    Boundary concern

    Question to answer

    Safety or progress implication

    Finite credits and receive capacity

    Can responses advance while requests wait?

    A die crossing can extend the same held-and-requested resource cycle.

    Transport retry, if implemented

    How are duplicate or retried messages recognized?

    A replay must not create a second permission effect or count an acknowledgement twice.

    Ordering

    Which arrivals may be reordered?

    The protocol must not silently acquire a FIFO assumption.

    Reset or link loss

    Who preserves dirty data and outstanding transaction identity?

    A stopped link is not permission to forget the only current value.

    Rejoin

    How is stale state excluded before new grants resume?

    Recovery needs a defined system contract, not a timeout alone.

    When a path fails, unsafe grants stop and data obligations are preserved until a defined recovery contract can reconcile state.
    A recovery review outline, not an implementation or a claim that every failure is recoverable.

    Follow responsibility, not just packets

    In the eight-leg trace the only copy of X = 1 moves through H0, H and H1. Until the far side of a die crossing has received the Data, the sender must keep it. After that, the receiver keeps it until the next leg is received. The model assumes reliable eventual delivery for normal progress; link retry is a transport feature, not evidence that a permanent failure can be hidden.

    If a failed die held the only dirty value and it is lost, this lesson cannot promise correct continued execution. A higher-level failure model would have to define detection, containment and recovery. Keep that failure question separate from ordinary backpressure on a healthy link.

    Common pitfall

    Equating link-level delivery with coherence completion, or assuming that resetting both link endpoints also reconciles all private caches and directory records.

    Interview

    Name the legs that cross the die boundary, where the dirty data sits at each step, the finite resources and the failure assumptions before quoting a cross-die latency number.

    Check yourself Does eventual service follow if the only path to C0 is permanently down?

    No. The normal-progress assumption of eventual delivery is false. The implementation must preserve or explicitly fail the affected obligations under its recovery contract, not invent current data at memory.

    Related topics

    • Shared course model

    • The eight-leg trace

    • Delivery and service assumptions

    Previous

    60 / 167

    Next: Hierarchy Trade-Offs

    Up next

    Up nextHierarchy Trade-Offs

    Sign in to save progress

    Practice this lessonReport an error

    See also

    • Two-Level Directories