AMBA AHB · Module 1
Shared Bus vs Interconnect Thinking
The shift from a single shared bus to a multi-layer interconnect (bus matrix) — what changes, when each fits, and why it is the same jump that leads from AHB toward AXI.
The previous chapter gave you the AHB mental model: a single shared bus, arbitrated, two-phase pipelined, where a slow slave stalls everyone. This chapter takes the one pillar of that model with the biggest consequences — "a single shared bus" — and asks what happens when you stop accepting it. The answer is a different way of thinking about on-chip communication: interconnect thinking, where many conversations run in parallel. AHB itself can take a step in this direction (a multi-layer bus matrix), and the full version of the idea is what defines AXI. Understanding the shared-bus-to-interconnect shift conceptually here means that when you later meet multi-layer AHB and AXI, you will recognize them as points on a spectrum you already understand. Still no signals — this is about topology and how you reason about it.
1. What Is It?
This chapter is about two ways of thinking, not two specific products:
- Shared-bus thinking asks: who gets the bus next? There is one communication path; participants take turns; an arbiter decides order. Everything is framed around scheduling access to a single resource.
- Interconnect thinking asks: which conversations can run at the same time? There are many possible paths; the design's job is to let disjoint master-to-slave pairs proceed simultaneously, and to arbitrate only where two of them genuinely collide.
A shared bus is the topology behind the AHB mental model — one path, cheap, serial. An interconnect (often a bus matrix or multi-layer structure) is a topology that provides multiple paths so that several master-slave conversations happen at once. The word "thinking" is deliberate: the same chip problem looks completely different depending on which frame you bring, and a large part of growing as an SoC engineer is knowing when to switch frames.
2. Why Does It Exist?
Interconnect thinking exists because the shared bus has a ceiling that is structural, not a matter of tuning — and that ceiling is reached by a very common kind of growth.
Recall from the mental model that a shared bus carries one access path at a time, and the arbiter interleaves contending masters. As long as masters are few and not constantly competing, this is efficient and cheap. But add masters, and a specific thing happens: each new contending master takes a share of the same bus's cycles, so the useful throughput available to each one falls. The bus is not slow — it is singular, and singularity is the limit.
Interconnect thinking exists to push that ceiling out. If the real problem is that two masters talking to two different slaves should not have to take turns, then the fix is not a faster shared bus — it is more paths. A multi-layer interconnect provides a path per master so that disjoint conversations proceed at once, and arbitration is needed only where two masters actually want the same slave. The reason this idea had to be invented is the same reason AXI exists: chips grew enough masters that serialization, not raw speed, became the dominant cost. Interconnect thinking is the conceptual tool for recognizing and removing that serialization.
The crucial subtlety — and the reason this is a Module 1 foundations chapter and not an AXI chapter — is that the shift is gradual. AHB does not jump straight from "one shared bus" to "full AXI fabric." There is a middle ground, the multi-layer AHB bus matrix, that applies interconnect thinking while staying within the AHB world. Seeing that middle ground is what makes the whole spectrum make sense.
3. Mental Model
The cleanest way to hold both frames is a single corridor versus a building with many corridors.
A shared bus is one corridor that everyone uses. If two people want to go between different pairs of rooms, they still take turns in the one corridor — a doorman (the arbiter) decides who goes. Cheap to build, perfectly fine when traffic is light, but everyone is fundamentally queued behind everyone else.
A multi-layer interconnect is a building with several parallel corridors, arranged so that, as long as two people are heading to different rooms, they each get a corridor and move at the same time. They only queue if they want the same room — and then a doorman at that room's door decides order. Far more building to construct (more corridors, more doormen), but many journeys happen simultaneously.
The single most important idea to extract: on a shared bus, contention is global; on an interconnect, contention is local. On the shared bus, any two masters contend because they share the one path, even if they want totally unrelated slaves. On the interconnect, two masters contend only if they want the same slave. That move — from global contention to local, per-slave contention — is the entire conceptual content of interconnect thinking, and it is what lets throughput scale with master count instead of collapsing.
4. Real Hardware Perspective
The two frames correspond to very different amounts of silicon, and the difference is exactly the price of concurrency.
A shared bus is, physically, one set of shared wires plus a single arbiter and decoder — small, as established in the mental-model chapter. A multi-layer interconnect replaces that with a grid: conceptually, a path from each master toward each slave, with multiplexing and arbitration placed at the slaves (or at the crossing points) rather than at one central bus. The wiring grows with masters times slaves, and each slave needs logic to arbitrate among the masters that might target it. This is materially more area, more wiring congestion, and more power than a single shared bus — which is precisely why you do not build it until the traffic justifies it.
This hardware reality explains why the spectrum is gradual rather than binary. A designer rarely flips from "one shared AHB" to "full crossbar." Instead they take intermediate steps: split one shared bus into two so that two independent groups stop contending; or build a multi-layer AHB that adds parallel layers only for the masters that need them, leaving the rest shared. Each step buys some concurrency for some cost, and the art is buying only as much as the traffic repays. The full crossbar — a path for every master-slave pair — is the expensive far end, and AXI's interconnect lives out there because AXI's traffic justifies it.
5. System Architecture Perspective
At the system level, the shared-bus-versus-interconnect choice is one of the highest-leverage decisions an architect makes, because it sets the concurrency ceiling for a whole region of the chip.
The decision flows from the communication pattern of the masters and slaves, not from their individual speeds:
- If the masters mostly talk to one shared resource — a single memory, say — then even an interconnect would funnel them to that one slave, where they would contend anyway. A shared bus is often the right, cheap choice here; the interconnect would add cost without removing the real bottleneck.
- If the masters talk to different resources much of the time — one streaming to memory, another driving a display, a third managing peripherals — then a shared bus forces global contention that an interconnect would eliminate. This pattern is the signal to switch frames and build parallel paths.
So interconnect thinking reframes the architect's question from "how fast is each block?" to "what is the traffic graph — who talks to whom, and how often at the same time?" A sparse graph where masters mostly target their own slaves is begging for an interconnect; a dense graph funnelling everyone to one slave is fine on a shared bus. This is the same reasoning, scaled up, that decides AHB versus AXI for a whole subsystem: AXI's fabric pays off precisely when the traffic graph has many disjoint, simultaneously-active pairs.
The architectural through-line of the whole module appears again here: match the topology to the traffic. A shared bus and an interconnect are not better or worse in the abstract — each is correct for a different traffic graph, and naming the graph is how you choose.
6. Engineering Tradeoffs
The shared-bus-versus-interconnect decision is a clean tradeoff once you frame it on the right axis.
- Cost versus concurrency. A shared bus is cheap — one path, one arbiter — but serializes all masters. An interconnect is expensive — many paths, per-slave arbitration, more wiring and power — but runs disjoint conversations in parallel. The deciding question is whether disjoint pairs need to run simultaneously, which is a property of the traffic graph, not of any single master's speed.
- Simplicity versus scalability. A shared bus is simple to design, verify, and reason about; its behaviour under load is the easy-to-model decay you saw. An interconnect scales throughput with master count but is harder to build and verify, with more corner cases (deadlock across paths, fairness at shared slaves). You buy scalability with complexity.
- Gradual versus all-at-once. You do not have to choose the extremes. Splitting a shared bus, or building a multi-layer AHB that adds parallel paths only where needed, buys partial concurrency for partial cost. The tradeoff is incrementalism versus a clean (but expensive) full crossbar. Most real designs move gradually, adding concurrency exactly where the traffic graph demands it.
The meta-point: the wrong axis to decide on is speed. "Make the bus faster" cannot fix global contention, because the problem is that one path serializes unrelated conversations. The right axis is concurrency, and the right input is the traffic graph. Get that framing right and the tradeoff almost decides itself.
7. Industry Example
Watch one subsystem cross the line from shared-bus to interconnect thinking as it grows over product generations.
Generation 1 — one shared AHB. A chip has a processor and a single DMA engine, both talking mostly to one on-chip memory. The traffic graph is simple and funnels to one slave. A shared AHB is exactly right: cheap, and since both masters mostly want the same memory, an interconnect would not help — they would contend at that memory anyway. Shared-bus thinking is correct here.
Generation 2 — strain appears. A second DMA engine is added to drive a new display, and it talks to a different memory region and a display interface, not the main memory. Now the traffic graph has disjoint pairs: the processor and first DMA on the main memory, the second DMA on the display path. On the single shared bus, all three contend globally even though the display DMA wants nothing the others want. Throughput-per-master starts to decay — the symptom of a shared bus that the traffic graph has outgrown.
Generation 3 — interconnect thinking applied. The architects stop asking "who gets the bus next?" and start asking "which conversations are disjoint?" They build a multi-layer AHB (or, if the demand is heavy enough, move the region to AXI): the display DMA gets its own path to the display memory, so it runs in parallel with the processor's accesses to main memory. Contention drops to where it is genuine — only when two masters truly want the same slave. The fix was not a faster bus; it was more paths for disjoint traffic.
The lesson the chip teaches is that the same masters and slaves can be right for a shared bus in one generation and wrong for it in the next — and what changed was the traffic graph, not the clock. Recognizing that change, and switching frames in response, is the skill this chapter builds.
8. Common Mistakes
9. Interview Insight
Interviewers use this topic to see whether you can think about concurrency and traffic patterns, not just recite bus names.
A strong answer reframes the question around the traffic graph: "A shared bus is one path — cheap, but any two masters contend even for different slaves. An interconnect gives parallel paths, so disjoint master-slave pairs run at once and contention only happens at a genuinely shared slave. Whether you need it depends on the traffic graph: if masters target different slaves simultaneously, the interconnect removes contention a faster bus cannot; if they all funnel to one slave, a shared bus is the cheaper, equally-good choice." Mentioning the middle ground — multi-layer AHB — shows you know the spectrum is continuous.
10. Practice Challenge
Reason from the traffic graph, not from bus names.
- Define the two frames. In one sentence each, state the question that shared-bus thinking asks and the question that interconnect thinking asks.
- Global vs local. Explain why contention is global on a shared bus but local (per-slave) on an interconnect, and why that difference is the whole benefit.
- Read a traffic graph. Given four masters where three funnel to one memory and one drives a separate display, decide whether an interconnect helps, and say exactly which contention it would and would not remove.
- Place it on the spectrum. A subsystem needs some parallelism but has a tight area budget. Argue for multi-layer AHB over a full AXI crossbar, in terms of cost versus concurrency.
- Catch the wrong frame. A design review proposes doubling the AHB clock to fix a six-master contention problem. Explain, using the decay-curve idea, why this will disappoint and what the right move is.
11. Key Takeaways
- Two frames, two questions. Shared-bus thinking asks "who gets the bus next?"; interconnect thinking asks "which conversations run at once?" Knowing when to switch frames is the skill.
- Contention is global on a shared bus, local on an interconnect. Any two masters collide on a shared path; only masters wanting the same slave collide on an interconnect. That shift is the entire benefit.
- Decide from the traffic graph, not from speed. Disjoint, simultaneously-active master-slave pairs justify an interconnect; traffic funnelling to one slave does not.
- The spectrum is gradual. Split buses and multi-layer AHB sit between a single shared bus and a full AXI crossbar, buying partial concurrency for partial cost.
- A faster clock cannot fix global contention — it lifts the throughput curve slightly but never changes its shape. Only adding paths does.
- This is the same jump as AHB → AXI, met conceptually. Recognize multi-layer AHB and the AXI fabric later as points on the spectrum you learned here.
12. What Comes Next
You now understand the topology spectrum AHB lives on, from a single shared bus to a full interconnect. One foundational chapter remains before the architecture module names the actual components and signals — the precise vocabulary for AHB's participants:
- 1.7 — Manager / Subordinate Terminology (coming soon) — the exact terms for AHB's masters, slaves, decoder, and arbiter, and the modern manager/subordinate naming, before the signal-level modules begin.
To revisit the model this chapter extends, see The AHB Mental Model, and for the broader context Why AHB Exists, The AMBA Family Overview, AHB vs APB vs AXI, and Where AHB Is Used in SoCs. To see the full-concurrency end of the spectrum, see Why AXI Exists. For the broader protocol map, see the AMBA family overview.