学习:AXI协议

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
相关推荐
wangqiaowq1 天前
Ontology 学习
学习
choumou_M1 天前
算法_1:由浅入深学习快速排序QuickSort
学习·算法·排序算法
蒸蒸yyyyzwd1 天前
后端学习笔记 day111
笔记·学习
叼烟扛炮2 天前
[LangChain] 学习笔记(08):工具调用底层闭环与第三方搜索(Tavily)实战
人工智能·笔记·学习·langchain
Century_Dragon2 天前
让新能源故障诊断实训“触手可及“——仿真教学软件(VR)介绍
学习
楚山之石2 天前
【Radiology】影像组学的标准化与可重复性:IBSI 卷积滤波器共识及其未能覆盖的环节
人工智能·学习·机器学习·mri
小李不想当小白2 天前
HAL库之UART(STM32 HAL库学习笔记)
笔记·stm32·单片机·嵌入式硬件·学习·嵌入式
旖旎夜光2 天前
【C++ 基础入门】C++ 多态(中):虚函数表、多态原理与动静绑定
开发语言·c++·笔记·学习
旖旎夜光2 天前
【C++ 基础入门】C++多态(下):单/多继承虚表、多态补充与 21 道高频题
开发语言·c++·笔记·学习
叼烟扛炮2 天前
[LangChain] 学习笔记(07):大模型长出手脚——工具(Tools)定义与调用闭环
笔记·学习·langchain