• 正文
  • 相关推荐
申请入驻 产业图谱

一文读懂AXI:芯片内部的"高速公路网"是怎么炼成的

07/24 10:04
169
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

如果你拆开一颗现代手机 SoC 或 AI 芯片,会看到几十上百个功能模块:CPU 核、GPU、NPU、内存控制器、各种外设……它们不是各自为战的孤岛,而是需要"说话"的。让它们高效"对话"的规则,就是总线协议。而在今天的高性能芯片里,这套规则的"通用语"几乎都是 AXI

AXI 到底是什么?它从哪儿来?为什么大家都在用?这篇科普用大白话给你讲清楚。

一、AXI 的身世:一段二十多年的总线进化史

AXI 的全称是 Advanced eXtensible Interface(高级可扩展接口),由 ARM 公司提出,属于 AMBA(Advanced Microcontroller Bus Architecture,高级微控制器总线架构)家族。

AMBA 的故事要从 1995 年说起。当时 ARM 规模还很小,在欧盟资助下内部制定了一种片上总线标准。此后它一路演进:

年份 AMBA 版本 代表总线 特点
1997 AMBA 1 ASB / APB 初代,面向微控制器
1999 AMBA 2 AHB 高性能总线,流水线、多主设备
2003 AMBA 3 AXI(首次登场) 分离的地址/数据通道,爆发式传输
2010 AMBA 4 AXI4 / ACE 支持多核一致性,流式接口
2017 AMBA 5 AXI5 / CHI 面向众核、片上网络

可以看到,AXI 是在 2003 年随 AMBA 3 首次登场的。它的出现是为了解决一个现实问题:芯片越做越复杂,老总线(如 AHB)地址和数据绑在一起传输,效率到了天花板。AXI 把"地址"和"数据"彻底拆开,让它们各走各的路,性能一下子就打开了。

二、AXI 长什么样:5 条独立的"车道"

理解 AXI 最简单的方式,是把它想成一套分车道的高速公路系统。一次数据传输(比如 CPU 往内存写一笔数据),在传统总线上是"排队走完一条路"。而 AXI 把它拆成多条"专用车道",互不堵塞。

AXI 一共定义了 5 条独立的通道(channel)

写操作用 3 条:

• AW(写地址通道):先发"我要往哪个地址写"

• W(写数据通道):紧接着发"具体写什么数据"

• B(写响应通道):最后从对方收到"写好了"的确认

读操作用 2 条:

• AR(读地址通道):发"我要从哪个地址读"

• R(读数据通道):对方把数据送回来

每条通道都用一对 VALID / READY握手信号来控制节奏——"我准备好了"(VALID) 和"我也能接收"(READY) 同时有效时,数据才真正传输。这就像两车交会时互闪大灯确认,避免撞车。

关键点在于:这 5 条车道可以独立、并行地跑。地址还没发完,数据通道就可以开始送数据;一笔读还没回来,下一笔读的地址已经发出去了。

三、AXI 为什么这么快?三个"杀手锏"

1. 突发传输(Burst)
一次性说好"从地址 X 开始,连续传 16 笔数据",不用每笔都重新报地址。就像快递不是一件件下单,而是一整车批量发,极大省掉重复开销。

2. 乱序完成(Out-of-Order)
发出去的多个请求,谁先准备好谁先回来,不必死等顺序。AXI 用"ID"给每笔事务编号,回来时按号归位。这避免了"慢请求堵住快请求"的木桶效应。

3. 超发(Outstanding)
不用等上一次传输结束才发下一次,而是可以同时"挂起"很多笔未完成的事务。这让总线永远有活干,把内存带宽榨到极致。

这三个特性叠加,效果就是:即使某个模块偶尔慢吞吞,整个系统也不会卡死,带宽利用率远高于老式总线。

四、AXI 在芯片里到底干什么?

在现代 SoC(系统级芯片)里,AXI 扮演的是"互连中枢"的角色,类似城市里的环线高速网。

芯片里的模块分两类:

• 主设备(Master):主动发起访问的,比如 CPU 核、GPU、DMA 控制器、NPU 加速器

• 从设备(Slave):被动响应访问的,比如 DDR 内存控制器、各种外设、配置寄存器

AXI 互连(Interconnect)把多个 Master 和多个 Slave 连成一张网:CPU 要读内存走 AXI,NPU 要搬数据也走 AXI,DMA 要写外设还是走 AXI。一个调度枢纽(常叫 NoC 或总线矩阵)负责把请求路由到正确的目的地,并处理多设备抢总线的仲裁。

在芯片的"总线分层"里,AXI 通常站最高层——负责高性能、大带宽的活儿;稍低一档是 AHB(中性能);最底层是 APB(低速外设配置,如按键、定时器)。一句话:高速的、要性能的,都交给 AXI

五、AXI 的"三兄弟"

AXI 不是一个死板的标准,它有三个常用变体,各司其职:

变体 用途 特点
AXI4-Full 主流高性能互联 完整 5 通道、突发、乱序
AXI4-Lite 寄存器配置 简化版,一次一笔,无突发
AXI4-Stream 流式数据 无地址,纯数据流(视频/DSP

打个比方:AXI4-Full 是"整车物流",AXI4-Lite 是"快递单个包裹"(适合配置寄存器这种小活),AXI4-Stream 是"自来水管道"(数据源源不断流,不需要每次都写地址)。

六、小结:为什么今天离不开 AXI

从 2003 年诞生到现在二十多年,AXI 已经成了数字芯片领域的"世界语"。原因很简单:

• 它解耦了"计算"和"访存"——计算单元不用干等数据,总线自己把活安排得明明白白;

• 它把带宽利用到极致——突发、乱序、超发让内存不再成为瓶颈;

• 它开放且可扩展——从微控制器到 AI 超算芯片都能用,ARM 生态一脉相承。

无论是你手里的手机、桌上的路由器,还是数据中心里轰鸣的 AI 加速卡,内部那张密密麻麻的"高速公路网",大概率都是用 AXI 铺就的。理解了 AXI,你就拿到了理解现代芯片"怎么协同工作"的一把钥匙。

相关推荐