AMBA (Advanced Microcontroller Bus Architecture)
- ARM社에서 개발한 버스 프로토콜 및 아키텍처
- SoC에서 다양한 컴포넌트(프로세서, 메모리, 주변장치)간 데이터통신 관리를 위해 설계된 버스구조
Figure 1. System diagram
Evolution of the Arm AMBA
Figure 2. Key AMBA specifications

- AMBA (1990s)
- ASB : 다른 최신 프로토콜로 대체
- APB : 레지스터 인터페이스를 위해 설계 (오늘날에도 널리 쓰임)
- AMBA 2 (1999)
- single clock-edge protocol ?
- address/data phase
- MUX를 통해 control
- 한번에 하나의 Master에게만 액세스 허용
- pipeline화 O
- AMBA 3 (2003)
- ATB(Advanced Trace Bus) : 코어사이트온칩 디버그 및 트레이스 솔루션의 일부?
- AHB-Lite
- AXI3 : 고성능 설계 적합
- AMBA 4 (2010~2011)
- ACE : AXI프로토콜에 conherency 신호추가, big.LITTLE processing?
- ACE-Lite : one-way coherency
- AXI4-Stream : 신호라우팅을 줄여, 단방향으로 데이터 전송 (FPGA 설계에 적합)
- AMBA 5
- CHI (2014) : 고속전송 계층 재설계, 트래픽 혼잡 줄일 수 있음
- AHB5 (2016) : AHB-Lite가 업데이트 된 형태, Armv8-M 아키텍처 보완, TrustZone 기반 확장
- ATP (2019) : 기존 AMBA 프로토콜 보완, 고수준 메모리 접근동작 모델링 시 사용
ATP(Adaptive Traffic Profiles)
- AXI5/ACE5-Lite : 기존 기능을 확장하여 CHI와 호완되고 이를 보완하는 기능 추가
- Support for high frequency, non-blocking coherent data transfer between many processors.
- A layered model to allow separation of communication and transport protocols for flexible topologies
(cross-bar, ring, mesh or ad hoc.)
- Cache stashing
- Far atomic operations (enable the interconnect to perform high-frequency updates to shared data.)
- End-to-end data protection
- poisoning signalling.
출처 : https://developer.arm.com/documentation/102202/0300/What-is-AMBA--and-why-use-it-