当前位置: 首页 > article >正文

AXI协议乱序传输机制解析:提升SoC性能的关键设计

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的类型:

名字位宽含义
AWIDID_W_WIDTH写通道的标识(write request)
BIDID_W_WIDTH写通道的标识(write response)
ARIDID_R_WIDTH读通道的标识(read request)
RIDID_R_WIDTH读通道的标识(read data)
WIDID_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 管理和灵活的顺序约束,在保证数据一致性的前提下,显著提升了系统的并发性能和资源利用率。在实际应用中,需要根据具体的系统需求和性能目标,合理设计相关的硬件架构和验证策略。
和灵活的顺序约束,在保证数据一致性的前提下,显著提升了系统的并发性能和资源利用率。在实际应用中,需要根据具体的系统需求和性能目标,合理设计相关的硬件架构和验证策略。

http://www.lryc.cn/news/2393614.html

相关文章:

  • Qt实现csv文件按行读取的方式
  • 分库分表后的 ID 生成方案
  • 进行性核上性麻痹健康护理全指南:从症状管理到生活照护
  • openFuyao开源发布,建设多样化算力集群开源软件生态
  • 第四十五节:目标检测与跟踪-Meanshift/Camshift 算法
  • Docker Desktop无法在windows低版本进行安装
  • SQL Server 简介和与其它数据库对比
  • 2025年- H56-Lc164--200.岛屿数量(图论,深搜)--Java版
  • 自证式推理训练:大模型告别第三方打分的新纪元
  • vue2使用el-tree实现两棵树间节点的拖拽复制
  • 前端开发中 <> 符号解析问题全解:React、Vue 与 UniApp 场景分析与解决方案
  • 封装一个Qt调用动态库的类
  • [python] 最大公约数 和 最小公倍数
  • 如何在 Django 中集成 MCP Server
  • 从零开始的云计算生活——第十一天,知识延续,程序管理。
  • React 事件处理与合成事件机制揭秘
  • 【React】jsx 从声明式语法变成命令式语法
  • 【Dify学习笔记】:Dify离线安装插件教程
  • 基于c++11重构的muduo核心库项目梳理
  • GitHub 趋势日报 (2025年05月29日)
  • Oracle 19c导入数据出现ORA-56935 ORA-39065
  • Java大师成长计划之第35天:未来展望与个人总结
  • 7:OpenCV—图像形态学处理
  • 远控安全金标准,ToDesk、向日葵、网易UU安全功能盘点,是否能攻破防线
  • 终端没有5G图标-不支持特定NSA频段组合
  • Netty 实战篇:为 Netty RPC 框架引入调用链追踪,实现链路透明化
  • 第42节:模型优化与部署:Web服务部署(Flask, FastAPI)
  • pikachu通关教程-RCE
  • MyBatisPlus--快速入门
  • 鸿蒙 HarmonyOS - SideBarContainer 组件自学指南