AXI总线
一般认为A4S为AXI4-Stream这个简称,就是指的ARM AMBA 4规范中的一种单向高速流式总线接口协议,专为无地址、无突发概念的连续传输设计。
AXI4,认为式读写某个地址的一段数据——像是你去信箱取信,需要知道信箱编号(地址)和取几封(突发长度)。
AXI4-Stream,认为式一根水管,数据不停地流过去——没有地址,只保证数据按顺序到达,适合视频像素流、高速AD采样、通信基带处理等场景。
ARM AMBA——Advanced Microcontroller Bus Architecture,即高级微控制器总线架构。它是ARM公司制定的一套片上系统SoC互连规范。简单来说,它就像SoC内部的交通法规,规定了GPU、CPU、内存控制器、DMA等各种IP模块之间如何高效地通信和传输数据。说的明白一些就是,这是一个协议家族。
AMBA4协议族:
AXI4(Advanced eXtensible Interface 4):面向高性能、高带宽、内存映射的场景。支持突发传输,就像处理器的高速公路,连接CPU和内存控制器。特点是独立的读写地址和数据通道。
AXI4-Lite:AXI4的精简版,用于简单的寄存器读写控制。没有突发传输,就像乡间小路,适合配置外设寄存器。
AXI4-Stream:没有地址线,纯粹的点对点单向数据流,适用于高速流数据、音视频、FPGA算法链路、传感器原始数据。
AMBA5新增/增强协议:(ACE-CHI是协同工作系统,确保多个CPU的缓存数据一致)
ACE(AXI Coherency Extensions):为多核处理器之间提供缓存一致性支持,保证一个CPU修改了数据后,另一个CPU能看到最新值,是多核协作的基础。
CHI(Coherent Hub Interface):面向更高性能的服务器级和AI芯片。它采用分层架构,支持复杂的网络拓扑,是AMBA家族里最先进的总线协议。
CHI总线
CHI就像一套全国快递网络,每个模块都是网点,要发一个内存访问请求,填好报文、扔给NOC。快递员会根据全网路况,选择唤醒、网格等路线送达,并处理一致性中可能的缓存冲突问题等复杂情况。
CHI协议由以下主要组件组成:
1、请求节点(Request Node):
RN是发出请求的节点,通常是CPU核心或其他主设备。
RN发起读、写、原子操作等请求。
2、家庭节点(Home Node):
HN是缓存一致性协议的控制中心,通常是系统中的共享缓存。
HN负责跟踪数据的状态,并协调一致性操作。
3、从属节点(Slave Node):
SN是最终存储数据的节点,通常是系统内存。
SN处理来自HN的内存访问请求。
4、链接节点(Link Node):
LN是网络中的路由器或交换节点,用于在RN、HN和SN之间转发消息。
LN是NOC(Network-on-Chip)的核心。
CHI协议使用MESI或MOESI协议管理缓存一致性。
M(Modified):数据被缓存并已修改,与内存不一致。
E(Exclusive):数据被缓存但未被修改,与内存一致。
S(Shared):数据被缓存且可能被多个处理器共享。
I(Invalid):缓存行无效。
O(Owned,可选):与内存不一致,但可被多个处理器共享。
CHI的一致性由HN控制,RN和LN协助完成一致性维护。
NOC(Network-on-Chip)是多核处理器中的一种片上互连架构,用于连接CPU核心、共享缓存、内存控制器和其他硬件模块。NOC提供了一种高效的通信机制,支持多核系统中的高带宽和低延迟数据传输。