Skip to content

AMBA AXI · Module 9

Memory Barriers & Coherency Boundary

Where AXI's ordering model ends and cache coherency begins — why AXI provides no coherency or barrier transactions, how system-wide memory ordering is enforced, and how ACE and CHI layer coherency on top of AXI.

This chapter closes Module 9 by drawing the boundary of AXI's ordering model — the line where the protocol stops and cache-coherency protocols take over. AXI gives you a non-coherent, point-to-point ordered transport: the same-ID/same-direction ordering of 9.1, plus exclusive access for atomics. What it deliberately does not provide is cache coherency, system-wide memory barriers, or cross-master memory consistency beyond what IDs and exclusive access offer. When a system has coherent caches and needs those guarantees, it moves up a layer to ACE or CHI, which build coherency on top of (or alongside) AXI. Understanding this boundary is what separates "I know AXI" from "I know where AXI fits in a coherent SoC."

1. What AXI Does Not Provide

AXI's guarantees are intentionally minimal. Three things it does not do:

  • No cache coherency. AXI has no concept of coherent caches, snooping, or cache-line state. If two masters cache the same location, AXI will not keep their copies consistent — it just moves transactions.
  • No barrier transactions. AXI4 has no memory-barrier/fence transaction type. You cannot issue a "barrier" on the bus that orders all prior accesses against all later ones system-wide.
  • No cross-master consistency model. Beyond same-ID ordering (within one master's stream) and exclusive access (atomics), AXI makes no promise about the global order in which different masters' accesses become visible.

These omissions are by design — they keep AXI fast and simple as a transport. The consistency and coherency a multi-core system needs live in a higher layer.

AXI provides ordered transport and exclusive atomics, but not coherency, barriers, or cross-master consistency.AXI providessame-ID ordering, exclusiveatomicsNOT coherencyno snooping / cache stateNOT barriersno fence transactionNOT cross-masterconsistencyno global visibility order12
Figure 1 — the limits of AXI's model. AXI provides ordered transport (same-ID/same-direction) and atomics (exclusive access), but NOT cache coherency, NOT barrier/fence transactions, and NOT a cross-master consistency model. These are deliberate omissions — the coherency layer above AXI supplies them.

2. The Coherency Boundary — Layering

The AMBA family layers concerns: non-coherent transport at the bottom (APB, AHB, AXI), coherency on top (ACE, CHI). AXI is the ordered point-to-point transport; when a design adds coherent caches and needs system-wide ordering, it adopts a coherency protocol that extends or replaces the AXI layer:

  • Below the line (transport): AXI — moves data with minimal ordering, no coherency.
  • Above the line (coherency): ACE / CHI — add the snooping, cache-state, and barrier machinery for a coherent, consistent shared-memory system.

The boundary is exactly where this chapter's "AXI does not provide" list gets satisfied. A master that only needs ordered access to memory stays at the AXI layer; a coherent CPU cluster sharing memory operates at the ACE/CHI layer.

Layering: APB, AHB, AXI as non-coherent transport below; ACE and CHI as coherency protocols above; the coherency boundary between them.ACE / CHIcoherency: snoop, state,barriers↑ coherency layersystem consistency— coherency boundary —AXI ordering ends herecross the linewhen caches are sharedAXI / AHB / APBnon-coherent ordered transport↓ transport layermove data, minimal order12
Figure 2 — the AMBA layering and the coherency boundary. Non-coherent transport (APB/AHB/AXI) sits below; coherency protocols (ACE/CHI) sit above and supply snooping, cache state, and barriers. The 'coherency boundary' is where AXI's minimal ordering ends and system-wide coherency/consistency begins.

3. ACE and CHI — Coherency on Top

The two AMBA coherency protocols approach it differently:

  • ACE (AXI Coherency Extensions)extends AXI. It adds snoop channels (so a cache can be asked about a line it holds), coherent transaction types, cache-line states (a MOESI-style model), and barrier and DVM (distributed virtual memory, for TLB/cache maintenance) messages. ACE is AXI plus the coherency machinery — a natural upgrade for AXI-based coherent clusters.
  • CHI (Coherent Hub Interface) — a newer (AMBA 5), packet/credit-based protocol designed for large, many-core, scalable systems. Rather than extending AXI's channel/handshake model, CHI uses a layered, message-based architecture suited to high core counts and complex topologies (meshes, rings). It supersedes ACE at the high end.

Both provide what AXI doesn't: the system-wide coherency and ordering (including barriers) that shared-cache multiprocessing requires. AXI remains underneath/alongside for non-coherent traffic (peripherals, DMA to non-cached regions).

ACE extends AXI with snoop channels and coherent transactions; CHI is a packet-based protocol for many-core systems.ACEextends AXI: snoop, states,barriers/DVMAXI + coherencycoherent clustersCHI (AMBA 5)packet/credit, scalableMany-core mesheshigh-end, supersedes ACE12
Figure 3 — ACE vs CHI. ACE extends AXI with snoop channels, coherent transactions, cache states, and barrier/DVM messages — AXI plus coherency. CHI is a newer packet/credit-based protocol for large, scalable many-core systems, superseding ACE at the high end. Both supply the coherency and barriers AXI lacks.

4. Enforcing System Ordering — Where Each Lives

The practical decision: what ordering do you need, and at which layer?

  • Point-to-point, same-stream ordering (one master's accesses to memory in order): the AXI layer handles it — same-ID ordering plus response-waits at read/write dependencies (Module 9.1–9.2).
  • Atomic read-modify-write (locks, counters): AXI exclusive access (9.3) — still the AXI layer.
  • Cache coherency (multiple masters caching shared data consistently) or system-wide barriers/fences (order all prior accesses before later ones across the memory system): the ACE/CHI layer — above AXI.

So a master enforces what it can at the AXI layer (IDs, response-waits, exclusive), and reaches for the coherency layer only when it needs coherency or true system barriers. Knowing which guarantee lives where prevents two errors: assuming AXI gives coherency/barriers (it doesn't), and reaching for ACE/CHI complexity when AXI-layer ordering would suffice.

Same-stream ordering and atomics at AXI layer; coherency and barriers at ACE/CHI layer.pointorderingsystem coherencyWhat guaranteedo you need?Ordering /atomics → AXI(IDs, waits,exclusive)Coherency /barriers → ACE /CHI
Figure 4 — choosing the layer for the ordering you need. Same-stream ordering and atomics live at the AXI layer (IDs, response-waits, exclusive access); cache coherency and system-wide barriers live at the ACE/CHI layer. Match the requirement to the layer — don't expect coherency from AXI, and don't add ACE/CHI where AXI ordering suffices.

5. Common Misconceptions

6. Debugging Insight

7. Verification Insight

8. Interview Questions

9. Summary

AXI's ordering model has a deliberate boundary: it provides a non-coherent, point-to-point ordered transport — same-ID/same-direction ordering plus exclusive atomics — and nothing more. It does not provide cache coherency, barrier/fence transactions, or a cross-master consistency model. Those live a layer up, in ACE (which extends AXI with snoop channels, cache states, and barrier/DVM messaging) and CHI (a newer packet/credit-based protocol for large many-core systems). The coherency boundary is exactly where AXI's omissions get satisfied by the upper layer: non-coherent transport (APB/AHB/AXI) below, coherency (ACE/CHI) above.

The design discipline is to match the guarantee to the layer: point ordering and atomics at the AXI layer (IDs, response-waits, exclusive access); cache coherency and system barriers at the ACE/CHI layer. Most "AXI doesn't keep my data consistent" bugs are layer mismatches — expecting coherency or barriers from a transport that never promised them — fixed by moving to the coherency layer or removing the need for coherency (non-cacheable regions). AMBA layered it this way because coherency is the exception, not the rule, so the transport stays lean and pays for coherency only where data is truly shared. This completes Module 9 and the core AXI protocol; the next modules cover the AXI variants — starting with AXI4-Lite, the simplified subset.

10. What Comes Next

You've reached the edge of AXI's model; the next module turns to the protocol's variants:

Previous: 9.4 — Locked Access (Legacy AXI3). Related: 9.1 — Read & Write Ordering for the ordering this chapter bounds, and 6.4 — AxLOCK & AxCACHE for cacheability attributes. For the broader protocol catalog, see the AMBA family overview doc.