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.
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.
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).
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.
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:
- 10.1 — Why AXI4-Lite Exists (coming next) — the single-beat, no-burst simplified subset for control/register access, and why it exists.
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.