AXI 协议 Out-of-Order 传输机制

概述

AXI (Advanced eXtensible Interface) 协议支持乱序传输 (Out-of-Order) 机制,这是一种重要的性能优化特性,允许数据传输不按照发起顺序完成,从而提高总线带宽利用率和系统整体性能。

基本原理

通道独立性

AXI 协议包含 5 个独立通道,支持乱序传输:

  • AR (Address Read): 读地址通道
  • R (Read Data): 读数据通道
  • AW (Address Write): 写地址通道
  • W (Write Data): 写数据通道
  • B (Write Response): 写响应通道

在这里插入图片描述

在这里插入图片描述

ID(Identifier)

  • 标识: 每个 AXI 事务都包含一个唯一的 ID 标识符
  • ID 位宽: 通常为 4-8 位,支持最多 16-256 个并发事务
  • 独立跟踪: Master 可以通过 ID 来跟踪和匹配请求与响应

ID的类型:

名字 位宽 含义
AWID ID_W_WIDTH 写通道的标识(write request)
BID ID_W_WIDTH 写通道的标识(write response)
ARID ID_R_WIDTH 读通道的标识(read request)
RID ID_R_WIDTH 读通道的标识(read data)
WID ID_R_WIDTH 写通道的标识(write data)

: WID用于交织,但是在后续的协议中,被移除了

在这里插入图片描述

Out-of-Order 传输特性

写乱序

  • 写地址和写数据可以乱序发送
  • 写响应可以乱序返回
  • 但同一 ID的写地址必须在写数据之前或同时到达

如下图所示:

  1. 先后发出的地址为A,ID为0的写请求、地址为B,ID为1的写请求,以及地址为C,ID为0的写请求
  2. 同样是写,蓝色的写请求先于红色,但是红色的写操作先完成了,先返回相应,返回的响应是乱序的
  3. 红色的写数据,可以穿插在蓝色的写数据之中,也就是交织;但是由于设计过于复杂,后续协议已将WID删除
  4. 对于同一ID而言,内部的顺序是必须一致的

在这里插入图片描述

读乱序

读乱序与写乱序实际差不多,有一点需要注意,写操作只有完成同一ID的最后一个才会返回对应的WID;读操作每读一次,对应返回对应的RID

如下图:

  1. 先发送的读请求和地址的后返回数据—>乱序
  2. 红色的读操作先完成,同时支持不同ID之间的乱序
  3. 红色的读之间支持蓝色的读,支持交织
  4. 同一ID之间是按顺序的

在这里插入图片描述

总结

AXI 的 out-of-order 传输机制是现代高性能 SoC 设计的关键特性,通过合理的 ID 管理和灵活的顺序约束,在保证数据一致性的前提下,显著提升了系统的并发性能和资源利用率。在实际应用中,需要根据具体的系统需求和性能目标,合理设计相关的硬件架构和验证策略。
和灵活的顺序约束,在保证数据一致性的前提下,显著提升了系统的并发性能和资源利用率。在实际应用中,需要根据具体的系统需求和性能目标,合理设计相关的硬件架构和验证策略。

Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐