AXI4协议基于猝发式传输机制。在地址通道上,每个交易有地址和控制信息,这些信息描述了需要传输的数据性质。主从设备间的数据传输有两种情况,一种是主设备经过写通道向从设备写数据(简称写交易),另一种是主设备经过读通道从从设备那里读取数据(简称读交易)。在写交易过程中,AXI有一个额外的写响应通道,从设备通过该通道向主设备发出信号表示完成写交易。
AXI 协议可以实现:
地址信息发出先于实际传输的数据
支持多个未完成的交易
支持乱序交易
图4‑13展示了使用读地址和读数据通道如何实现读交易。
图4‑13 读通道结构
图4‑14描述了使用写地址、写数据和写响应通道如何实现一次写交易。
图4‑14 写通道结构
通道定义
五个独立的通道都包含一组标记信息的信号,并且使用双向的 VALID 和READY信号实现握
手机制。
当通道上的有效数据或控制信息可用时,发送信息的源设备将使能 VALID 信号。当目的设备接收到数据时,使能READY 信号。当一次交易中最后数据传输完成时,读数据通道和写数据通道都会发出一个LAST 信号。
读地址和写地址通道
读交易和写交易都有各自的地址通道,相应的地址通道承载了一次交易中所有需要的地址和控制信息。AXI 协议支持以下机制:
可变长度猝发,每次猝发完成1-16次数据传输
支持8-1024字节的传输块猝发
地址卷回、地址递增和地址固定的猝发
通过独占交易和锁定交易实现原子操作
系统级的缓存和缓冲控制
安全访问和特权访问
读数据通道
读数据通道用于传输从设备返回给主设备的数据和读响应信息。读数据通道包含:
8,16,32,64,128,256,512 或1024位宽的数据总线
读响应标志了读交易完成的状态
写数据通道
写数据通道主要传输从主设备向从设备写数据信息,其包含:
数据总线,宽度可以为 8,16,32,64,128,256,512 或1024字节
每 8 个比特一个字节选通字节,标志总线上的哪个字节可用
写数据通道的信息总是放入缓存中,当前一个写交易从设备没有做出响应的情况下,以便于主设备进行写交易。
写响应通道
写响应通道是从设备对写交易作出响应的通道。所有写交易使用完成信号。
不是猝发中每个独立数据传输都返回一个完成信号,而是每个猝发完成后一起返回一个完成信号。
寄存器片
每个AXI的通道仅在一个方向上进行信息的传输,各通道之间不需要固定联系。这是很重要的,因为它以添加循环延时为代价, 在任何通道内运行使能一个寄存器片, 这使得在循环延迟和最大工作频率之间的权衡考虑成为可能。
另外,当给定一个互联后,在其内部几乎任何一点处均可以使用寄存器片。它对处理器和高速内存之间实现直接,快速链接非常有利。但使用简单的寄存器片去分离一个较长的路径给低性能外设。
通道之间的关系
地址通道、读数据通道、写数据通道和写响应通道的关系是灵活的。
例如,总线接口上写数据可能比相关写地址早出现。当写地址通道包含寄存器操作多于写地址通道上的操作时,会出现这种情况。也可能是因为写的数据与相关的写的地址出现在同一个周期。
当互联设备必须确定目的地址空间或从设备空间时,互连设备必须重新对齐地址和写数据。确保写数据只对目的从设备有效,是必要的。
两种关系必须满足:
与读数据相关的读数据地址出现后,必须进行读数据
与写响应相关的写交易中,在写数据传输即将完成时,必须做出写响应。