What is AMBA?
The Advanced Microcontroller Bus Architecture (AMBA) is the de-facto standard for
on-chip communication in System-on-Chip (SoC) designs.
Whether you are designing a smartphone processor or an automotive ECU, understanding how data moves
between the CPU, Memory, and Peripherals is critical.
Which Protocol Should You
Use?
AMBA isn't a single protocol, but a family of distinct
specifications optimized for different roles:
- AXI (Advanced eXtensible Interface): High-bandwidth, high-frequency backbone. Use
this for CPU-to-Memory connections where speed is everything. Supports out-of-order transactions and
burst splitting.
- AHB (Advanced High-performance Bus): The legacy system bus. Simpler than AXI but
still high-performance. Often used for on-chip memory blocks and simpler DMA engines.
- APB (Advanced Peripheral Bus): Low-power, low-speed control bus. Perfect for
register configuration of UARTs, Timers, and GPIOs where bandwidth is not a concern.
- ACE & CHI: Coherency logic for multi-core clusters (e.g., big.LITTLE
architectures).
Interview Tip: A common question is "Why do we need a separate APB bridge?".
The answer involves clock domain crossing and loading. By isolating
slow peripherals on APB, you prevent capacitive loading on the high-speed AXI/AHB bus, allowing the CPU
to run faster.