AXI 是 ARM AMBA 体系里的高性能片上总线,核心演进是:AXI3 → AXI4(含 Lite / Stream / ACE)→ AXI5(含 AXI5-Lite / ACE5)。整体方向是"更高带宽、更简单互连、更强一致性/可靠性/原子能力"。
一、AXI3(AMBA 3,2003)
第一代 AXI,已经具备现代 AXI 的骨架:
- 5 通道:AR / R / AW / W / B
- 支持 outstanding(多发未完事务)
- 支持 out-of-order(不同 ID 乱序完成)
- 支持突发:FIXED / INCR / WRAP
- 最大突发长度:16
- 写数据可交错(write interleaving),有 WID
- 支持 Locked + Exclusive 访问
- AxLOCK 为 2 bit
- 没有 QoS / Region / User 信号体系
适合早期 Cortex-A8/A9、ARM11 等 SoC。
二、AXI4(AMBA 4,2010)
对 AXI3 做"工程化精简 + 带宽增强":
| 项目 | AXI3 | AXI4 |
|---|---|---|
| 最大突发长度 | 16 | INCR 最大 256,WRAP/FIXED 仍 16 |
| AWLEN/ARLEN | 4 bit | 8 bit |
| WID / 写数据交错 | 有 | 移除 |
| Locked 访问 | 支持 | 移除,只保留 Exclusive |
| AxLOCK | 2 bit | 1 bit |
| QoS | 无 | 新增 AWQOS/ARQOS |
| Region | 无 | 新增 AWREGION/ARREGION |
| User 信号 | 基本无 | 各通道可选 *USER |
| 地址空间 | 32 位为主 | 明确支持更大系统 |
关键思想:
去掉 WID 和写数据交错,虽然牺牲一点灵活度,但互连/NIC 实现大幅简化,对高频大带宽 SoC 更友好。
同时 AMBA 4 还推出三个重要变体:
- AXI4-Lite:寄存器访问,无突发,单笔传输,32/64 位
- AXI4-Stream:无地址通道,纯数据流,适合视频/音频/DMA/网络包
- ACE / ACE-Lite:在 AXI4 上加 snoop 通道,支持多核缓存一致性
三、AXI5(AMBA 5,2019 左右)
在 AXI4 基础上向"服务器 / 车载 / AI / Chiplet 级系统"扩展:
新增/增强能力:
- 原子事务(Atomic operations):CAS、Swap、Fetch-add 等,通过 AWATOP/ARATOP
- 数据完整性:Poison、Check、Parity 等 RAS 类信号
- Trace / Debug 属性:TraceTag 等
- 低功耗唤醒:AWAKEUP / ARWAKEUP
- User 信号标准化更完整
- ID 宽度可更大,系统并发能力更强
- 与 CHI / ACE5 生态对齐,面向多核、多簇、一致性系统
ACE 也演进为 ACE5 / ACE5-Lite / ACE5-LiteDVM,更适合大规模一致性互连。
四、一句话看版本区别
- AXI3:能跑,支持写交错和 Locked,突发短
- AXI4:现代 SoC 主流,长突发、QoS、去掉写交错和 Locked
- AXI4-Lite:外设寄存器
- AXI4-Stream:数据流
- AXI5:AXI4 + 原子操作 + RAS + 低功耗 + 面向一致性和大系统
五、工程选型建议
- CPU / DDR / DMA / NPU 高速口:AXI4 或 AXI5
- UART / GPIO / 定时器 / 配置寄存器:AXI4-Lite
- 视频、音频、MAC、DSP 流水线:AXI4-Stream
- 多核缓存一致:ACE / ACE5
- 新项目默认按 AXI4 起步;服务器/车规/AI 大系统再上 AXI5