Skip to content

AMBA AXI · Module 12

Multiple Managers & Subordinates

A complete multi-master, multi-subordinate AXI topology end-to-end — how address decode, arbitration, and ID-based routing work together so concurrent transactions route, contend, and return correctly across the fabric.

This chapter synthesizes Module 12 so far: address decode (12.3), arbitration (12.4), and ID-based routing (12.5) all operate simultaneously in a real multi-master, multi-subordinate interconnect. Individually each is a piece; together they let many managers issue concurrent transactions that route to the right subordinates, contend only where they share one, and return to the right managers — all while preserving AXI's ordering and concurrency. We'll walk a concrete end-to-end scenario showing every mechanism working at once, which is how a real SoC fabric actually behaves.

1. The Full Topology

A real interconnect connects N managers to M subordinates and runs all its jobs concurrently across all of them. At any instant: some managers are issuing requests that the decoder routes (demux by address), some shared subordinates have arbiters resolving contention, responses are being muxed back by ID to originating managers, and multiple non-conflicting paths are transferring in parallel (crossbar concurrency, 12.2). The interconnect is doing decode + arbitrate + route + convert for every transaction, all the time.

The key behavior: transactions to different subordinates proceed concurrently; only same-subordinate access contends. So the system's achievable parallelism depends on how the managers' traffic spreads across subordinates — a well-distributed workload uses the fabric's full concurrency, a concentrated one bottlenecks at the hot subordinate.

Three managers connect through an interconnect to three subordinates with concurrent routing, arbitration, and ID routing.M0 (CPU)→ DRAMM1 (DMA)→ DRAM (contends)M2 (GPU)→ peripheral (parallel)Interconnectdecode · arbitrate ·ID-routeDRAM (S0)arbiter (M0,M1)Peripheral (S1)M2 aloneAccel (S2)idle12
Figure 1 — a full multi-master, multi-subordinate topology. N managers connect through the interconnect to M subordinates; the fabric decodes/routes each request, arbitrates at shared subordinates, and muxes responses home by ID — all concurrently. Transactions to different subordinates run in parallel; same-subordinate access contends. The whole of Module 12 operates at once.

2. An End-to-End Scenario

Concrete example: M0 (CPU) and M1 (DMA) both read DRAM (S0); M2 (GPU) writes a peripheral (S1) — all at once. Watch every mechanism engage:

  1. Decode (12.3): each request's AxADDR is decoded — M0 and M1 → S0, M2 → S1.
  2. Demux + ID extension (12.5): requests are routed to their subordinate ports; the interconnect appends source bits so M0's and M1's IDs stay distinct at S0.
  3. Arbitration (12.4): M0 and M1 contend for S0 → the per-subordinate arbiter grants them in turn (RR/QoS). M2→S1 has no contention (sole accessor).
  4. Concurrency (12.2): M2→S1 transfers in parallel with the M0/M1→S0 traffic — different subordinates, independent paths.
  5. Response mux (12.5): S0's responses route back to M0 and M1 by their (extended) IDs; S1's responses route to M2. Same-ID responses stay in order (8.3).

So in one window: two managers arbitrate at a shared subordinate while a third runs fully concurrently elsewhere, and all responses return to the right managers. That's the interconnect's complete job in action.

M0 and M1 read DRAM and are arbitrated; M2 writes a peripheral concurrently; responses route back to each manager by ID.M0 / M1 / M2InterconnectDRAM / PeriphM0,M1 read DRAM;M2 write periphdecode → S0 (arbitrate M0,M1) + S1 (M2 parallel)decode → S0(arbitrate M0,M1) +…responses (extended IDs)responses(extended…mux by ID → M0, M1, M2 each get theirsmux by ID → M0,M1, M2 each get…
Figure 2 — end-to-end concurrent scenario. M0 and M1 both read DRAM (decoded to S0, IDs extended, arbitrated at S0's arbiter); M2 writes a peripheral (decoded to S1, no contention, runs in parallel). Responses mux back to each originating manager by ID. Decode, arbitration, ID routing, and crossbar concurrency all engage at once.

3. All Jobs at Once

The synthesis insight is that the interconnect's mechanisms are complementary and simultaneous, each handling one aspect:

  • Decode answers where does each request go? (address → subordinate).
  • Arbitration answers who goes first when they collide? (contention at a shared subordinate).
  • ID routing answers where does each response return? (ID → originating manager) and how do managers stay distinct? (ID extension).
  • Concurrency (crossbar) lets non-colliding traffic run in parallel.
  • Conversion (next chapters) bridges width/clock/protocol mismatches on any path.

None of these alone is sufficient — a transaction needs decode to reach its subordinate, arbitration if it contends, ID routing to get its response back, and the topology to allow concurrency. The interconnect composes them so that, for every transaction from every manager simultaneously, the right thing happens. This is why the interconnect is the SoC's most integration-heavy block — it's where all of AXI's mechanisms converge under concurrent multi-master load.

Decode, arbitration, ID routing, concurrency, and conversion operate simultaneously, each handling one aspect of every transaction.Decodewhere requests goArbitrationwho goes firstID routingwhere responses returnConcurrencyparallel non-collidingpathsConversionbridge mismatchesAll at onceevery txn, every manager12
Figure 3 — the jobs are complementary and simultaneous. Decode (where requests go), arbitration (who goes first), ID routing (where responses return + manager distinctness), concurrency (parallel non-colliding paths), and conversion (bridge mismatches) each handle one aspect, all at once, for every transaction. The interconnect composes them into correct end-to-end behavior under multi-master load.

4. Concurrency, Contention, and Forward Progress

Three system properties emerge from the multi-master picture:

  • Concurrency = distinct-subordinate parallelism. Aggregate bandwidth scales with how many manager-subordinate pairs are simultaneously active on different subordinates. Maximizing it means distributing traffic across subordinates (address-map/banking design) so managers rarely collide.
  • Contention = shared-subordinate serialization. When managers share a subordinate, the arbiter serializes them (at that port). A "hot" subordinate is a bottleneck regardless of the crossbar; mitigations are QoS, banking, or splitting the data across subordinates.
  • Forward progress / no deadlock. With many interdependent transactions in flight across many managers and subordinates, the interconnect must guarantee every transaction can eventually complete — leaning on AXI's independent channels (read/write, address/data don't block each other) and adequate buffering (per-path outstanding depth, 8.5), avoiding head-of-line blocking in shared queues. A correctly designed fabric is deadlock-free per channel.

So a multi-master interconnect's performance is set by traffic distribution (concurrency vs contention) and its correctness by deadlock-free forward progress — the two things the system architect must get right.

Concurrency from distinct subordinates, contention at shared ones, forward progress via independent channels and buffering.Distributetraffic →concurrencyShared subordinate →contention(QoS/banking)Independent channels+ buffering →forward progressPerformance +deadlock-freecorrectness
Figure 4 — the multi-master properties. Concurrency comes from distinct-subordinate parallelism (distribute traffic to maximize it); contention is shared-subordinate serialization (a hot subordinate bottlenecks — mitigate with QoS/banking); forward progress requires deadlock-free design (independent channels + buffering, no head-of-line blocking). Distribution sets performance; deadlock-freedom sets correctness.

5. Common Misconceptions

6. Debugging Insight

7. Verification Insight

8. Interview Questions

9. Summary

A real interconnect runs all its jobs simultaneously across N managers and M subordinates: decode routes each request by address, arbitration resolves contention at shared subordinates, ID routing (with extension) returns responses to the right managers, crossbar concurrency runs non-colliding pairs in parallel, and conversion bridges mismatches. The end-to-end scenario — two managers arbitrating at a shared DRAM while a third runs concurrently to a peripheral, all responses muxing home by ID — shows the mechanisms are complementary and simultaneous: each handles one aspect (where requests go, who goes first, where responses return, what runs in parallel), and a transaction is correct only when all hold together.

The system properties that emerge: concurrency = distinct-subordinate parallelism (maximize by distributing traffic — banking, address-map design), contention = shared-subordinate serialization (a hot subordinate bottlenecks regardless of crossbar — mitigate with QoS/banking), and forward progress = deadlock-freedom (independent channels + buffering, no head-of-line blocking). Multi-master-specific bugs — response misrouting (ID), starvation (arbitration), deadlock — only appear under concurrent load, so the essential verification is all managers active with ID collisions and shared-subordinate contention, the integration test for the whole fabric. Next: clock and reset domains in the interconnect, and the width/protocol converters that bridge heterogeneous IP.

10. What Comes Next

You've seen the full multi-master picture; next, the physical-domain concerns:

Previous: 12.5 — Mux/Demux & ID-Based Routing. Related: 8.5 — Interconnect Implications for the concurrency/deadlock view, and 12.2 — Crossbar Architecture for the concurrency topology. For the broader protocol catalog, see the AMBA family overview doc.