Interface Protocols · All levels

ACE Coherent Transactions: Design Space

Design Space for ACE Coherent Transactions.

Design space exploration

For ACE Coherent Transactions, senior architects map options against snoop latency, intervention rate, clean/dirty transfer mix on the product workload — not on a single directed test.

Option A — conservative

  • Minimal / simple: helps timing, area, verification

  • Risk: bandwidth and latency tails

  • Validate with: control paths and low-rate peripherals

Option B — buffered / outstanding

  • Buffered / outstanding: helps throughput under latency

  • Risk: deadlock and debug complexity

  • Validate with: DMA and memory-class traffic

Option C — QoS / arbitration

  • QoS / arbitration: helps product-critical traffic wins

  • Risk: verification state explosion

  • Validate with: mixed CPU/GPU/DMA SoCs

Option D — software-first

  • Software contract: helps predictable programming model

  • Risk: portability and driver cost

  • Validate with: platforms with long SW lifetime

diagram
DESIGN SPACE — ACE Coherent Transactions

        performance
            ^
            |     [C] QoS-heavy
            |        *
            |   [B] buffered *
            |              *
            | [A] simple *
            +--------------------> complexity
                      [D] SW-first

Pick the smallest option that moves snoop latency, intervention rate, clean/dirty transfer mix on the product workload.

Design pitfalls

  • Sizing for peak headline bandwidth instead of payload efficiency

  • Adding outstanding depth without ordering analysis

  • Choosing aggressive hardware before a reduced sequence proves the mechanism

Tradeoff curve

diagram
BEFORE / AFTER — ACE Coherent Transactions

           failing        target
metric  |    ●              ┄┄┄┄┄┄┄
        |     \
        |      \___ ● bounded fix
        |           \
        |            ● validated
        +-------------------------------> change set
Prove the mechanism moved the metric; one good dot is not proof.

Protocol deep dive

Coherence extends memory transactions with snoop and state — traffic multiplies when software shares cache lines.

Concept diagram

diagram
COHERENCE TRAFFIC FLOW

RN issues coherent read
   -> HN looks up directory
   -> snoops to sharers
   -> data + state update returned

False sharing: different variables, same cache line -> coherence storm.

Metric graph

diagram
COHERENCY TRAFFIC STACK

data fetch        ████████
snoop responses   ██████████████
writebacks        ██████
maintenance ops   ████

High snoop stack with good IPC -> suspect line sharing before faster NoC.

Metrics and artifacts to collect

  • snoop rate

  • intervention latency

  • coherency transaction mix

  • false sharing indicators

Mini case study

Benchmark IPC looked fine but system power spiked: per-core counters were on one cache line. Padding counters fixed coherency traffic without any NoC change.

Debug branches

  • If snoop latency high, check home node placement and directory policy.

  • If ordering bug, run litmus sequences before microarch changes.

  • If traffic storm, profile cache line sharing in software layout.

Senior review question

Ask: what is the first transaction that deviates, and which spec rule does it test?

Key takeaways

  • Connect every protocol claim to a transaction identity and measurable metric.

  • Store the artifact (waveform, log, counter) next to every signoff decision.

Common pitfalls

  • Debugging timeouts without finding the first bad transaction.

  • Quoting peak bus width without payload efficiency and retry overhead.

  • Treating VIP compliance as a substitute for system integration replay.

Principal review addendum

Re-read ACE Coherent Transactions against one concrete product workload, not a synthetic directed test.

ACE extends AXI with snoop and barrier behavior so masters can participate in coherent sharing.