Advanced Microcontroller Bus Architecture
The Arm Advanced Microcontroller Bus Architecture is an open-standard, on-chip interconnect specification for the connection and management of functional blocks in system-on-a-chip designs. It facilitates development of multi-processor designs with large numbers of controllers and components with a bus architecture. Since its inception, the scope of AMBA has, despite its name, gone far beyond microcontroller devices. Today, AMBA is widely used on a range of ASIC and SoC parts including applications processors used in modern portable mobile devices like smartphones. AMBA is a registered trademark of Arm Ltd.
AMBA was introduced by Arm in 1996. The first AMBA buses were the Advanced System Bus and the Advanced Peripheral Bus. In its second version, AMBA 2 in 1999, Arm added AMBA High-performance Bus that is a single clock-edge protocol. In 2003, Arm introduced the third generation, AMBA 3, including Advanced eXtensible Interface to reach even higher performance interconnect and the Advanced Trace Bus as part of the CoreSight on-chip debug and trace solution. In 2010 the AMBA 4 specifications were introduced starting with AMBA 4 AXI4, then in 2011 extending system-wide coherency with AMBA 4 AXI Coherency Extensions. In 2013 the AMBA 5 Coherent Hub Interface specification was introduced, with a re-designed high-speed transport layer and features designed to reduce congestion. These protocols are today the de facto standard for embedded processor bus architectures because they are well documented and can be used without royalties.
Design principles
An important aspect of an SoC is not only which components or blocks it houses, but also how they interconnect. AMBA is a solution for the blocks to interface with each other.The objective of the AMBA specification is to:
- facilitate right-first-time development of embedded microcontroller products with one or more CPUs, GPUs or signal processors,
- be technology independent, to allow reuse of IP cores, peripheral and system macrocells across diverse IC processes,
- encourage modular system design to improve processor independence, and the development of reusable peripheral and system IP libraries
- minimize silicon infrastructure while supporting high performance and low power on-chip communication.
AMBA protocol specifications
The AMBA 5 specification defines the following buses/interfaces:
- AXI5, AXI5-Lite and ACE5 Protocol Specification
- Advanced High-performance Bus
- Coherent Hub Interface
- Distributed Translation Interface
- Generic Flash Bus
- AXI Coherency Extensions - widely used on the latest Arm Cortex-A processors including Cortex-A7 and Cortex-A15
- AXI Coherency Extensions Lite
- Advanced Extensible Interface 4
- Advanced Extensible Interface 4 Lite
- Advanced Extensible Interface 4 Stream
- Advanced Trace Bus
- Advanced Peripheral Bus
- AMBA Low Power Interfaces
- Advanced eXtensible Interface - widely used on Arm Cortex-A processors including Cortex-A9
- Advanced High-performance Bus Lite
- Advanced Peripheral Bus
- Advanced Trace Bus
- Advanced High-performance Bus - widely used on ARM7, ARM9 and Arm Cortex-M based designs
- Advanced System Bus
- Advanced Peripheral Bus
- Advanced System Bus
- Advanced Peripheral Bus
AXI Coherency Extensions (ACE and ACE-Lite)
ACE, defined as part of the AMBA 4 specification, extends AXI with additional signalling introducing system wide coherency. This system coherency allows multiple processors to share memory and enables technology like Arm's big.LITTLE processing. The ACE-Lite protocol enables one-way coherency, also known as I/O coherency; for example, a network interface that can read from the caches of a fully coherent ACE processor.Advanced eXtensible Interface (AXI)
AXI, the third generation of AMBA interface defined in the AMBA 3 specification, is targeted at high performance, high clock frequency system designs and includes features that make it suitable for high speed sub-micrometer interconnect:- separate address/control and data phases
- support for unaligned data transfers using byte strobes
- burst based transactions with only start address issued
- issuing of multiple outstanding addresses with out of order responses
- easy addition of register stages to provide timing closure.
Advanced High-performance Bus (AHB)
In addition to previous release, it has the following features:
- large bus-widths.
AHB-Lite is a subset of AHB formally defined in the AMBA 3 standard. This subset simplifies the design for a bus with a single master.
Advanced Peripheral Bus (APB)
APB is designed for low bandwidth control accesses, for example register interfaces on system peripherals. This bus has an address and data phase similar to AHB, but a much reduced, low complexity signal list.Furthermore, it is an interface designed for a low frequency system with a low bit width.
AMBA products
A family of synthesizable intellectual property cores AMBA Products is licensable from Arm Limited that implement a digital bus in an SoC for the efficient moving and storing of data using the AMBA protocol specifications. The AMBA family includes AMBA Network Interconnect, Cache Coherent Interconnect, SDRAM memory controllers, DMA controllers, level 2 cache controllers, etc.A number of manufacturers utilize AMBA buses for non-ARM designs. As an example Infineon uses an AMBA bus for the ADM5120 SoC based on the MIPS architecture.
Competitors
- Wishbone from OpenCores – Free and open bus architecture
- CoreConnect bus technology from IBM, used in IBM's embedded PowerPC, but also in many other SoC-like systems with the Xilinx MicroBlaze or similar cores
- IPBus by IDT
- Avalon – proprietary bus system by Altera for use in their Nios II SoCs
- Open Core Protocol from Accellera
- HyperTransport from AMD
- QuickPath Interconnect by Intel
- virtual share from PICC - free and open source
- TileLink - Free and open bus architecture from CHIPS Alliance