学习: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
相关推荐
外收内放2 小时前
面向对象高级(实战案例)
开发语言·python·学习
薛定e的猫咪3 小时前
(ICLR 2020)MAML 靠的不是快速学习,而是特征复用
人工智能·深度学习·学习·算法·机器学习
薛定e的猫咪3 小时前
(ICLR 2026)DF-META:面向 FJSP 的无导数元学习实例自适应调度
人工智能·深度学习·学习·算法·机器学习
别动我齐刘海6 小时前
机器人 C++ / 系统联调补强2——异常处理、Protobuf
linux·c++·人工智能·学习·算法·机器学习·机器人
一直C7 小时前
嵌入式 Linux 驱动开发学习笔记:内核定时器、platform 总线与 I²C 驱动
linux·驱动开发·嵌入式硬件·学习·imx6ull
承渊政道7 小时前
Linux网络学习【传输层协议UDP】
linux·网络·网络协议·学习·ubuntu·udp
andrsted7 小时前
练题簿免费刷题小程序:和学习搭子共用一份题库,一起刷题复习
学习·面试·微信小程序·小程序·学习方法·刷题
fqbqrr8 小时前
2610学习,ahk学习技巧
学习
fengci.8 小时前
BUUCTF(困难部分)
android·开发语言·前端·学习·php
有Li8 小时前
基于超高分辨率CT智能分割与测量的单侧梅尼埃病内耳解剖特征定量研究文献速递/医学智能体前沿
大数据·人工智能·学习·文献·医学生