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

axi3 和 axi4 总线的区别

axi3 和 axi4 总线的区别

1. burst_length 的变化

  1. axi3 burst_length 为4bit, 支持最大AxLEN为16
  2. axi4 burst_length 扩展为8bit,支持最大AxLEN为256
    • 只有INCR传输支持超过16长度的burst,wrap和fixed最大burst还是16
    • exclusive access的burst length长度小于16

2. axi4 增加了2个4bit的 qos命令信号

  • qos 简单介绍
    • awqos
    • arqos
    • 信号范围从0x0-0xf,值越大表示优先级越高
    • qos默认值为0x0,表示未参与任何qos方案
    • 应用场景
      • 访问冲突:多个设备同时请求访问,qos可以确保高优先级的事务先处理
      • 延迟优势:优先通过高优先级事务,减少关键数据流的延迟
      • 带宽管理:可以为不同的事务分配不同的带宽
    • 优势
      • 提高系统响应速度
      • 优化资源分配
      • 提高系统灵活性

3. axi4新增Multiple region interfaces

  • 可选信号,默认为0
  • 标识逻辑区域,支持多从设备共享接口和动态地址映射
  • 核心功能
    • 通过 REGION 信号 动态标识目标区域,允许 重叠的地址空间 被区分
      • ARADDR = 0x1000, ARREGION = 1 → 访问 区域1 的 0x1000
      • ARADDR = 0x1000, ARREGION = 2 → 访问 区域2 的 0x1000(实际物理地址可能不同)
    • 动态地址重映射
      • 虚拟化(同一逻辑地址映射到不同物理地址)
      • 安全域隔离(不同 REGION 对应不同的安全权限)

4. write interleaving

  • axi4 去掉了WID信号,不再支持write interleaving
  • 为什么?
    1. 写交织增加了设计的复杂性,尤其处理多个事务,需要额外的缓存逻辑来管理不同事务的顺序
    2. 去掉写交织可以减少缓存需求,降低了硬件的成本和功耗
    3. 实际的应用比较少,大多数情况下,主设备可以通过缓存数据并以连续的Burst发送
    4. 写交织在axi3中引入了许多约束,导致死锁问题
  • 尽管axi4 不支持写交织,但任然支持乱序响应,这意味着写地址和数据是顺序的,但是响应可以乱序返回,在简化设计的同时保留了一定的灵活性

5. writer response

  • axi4对 write response 的产生做了更加严格的限制
    1. axi3 必须等到wvalid和wready后才能把bvalid置高
    2. axi4 规定,必须等到awvalid,awready,wvalid,wready,wlast都为高,slave才可以拉高bvalid响应

6. user signals

  • axi4 新增了user 信号,该信号为用户自定义信号

7. locked transactions

  • axi4去掉了对locked transaction的支持,axlock从2bit 减少到1bit,仅支持exclusive访问
  • 变化原因:lock access效率比较低,exclusive提供了更加灵活的访问机制
  • exclusive access介绍
    • 用于实现原子操作,允许在特定内存位置上执行一系列操作,而这些操作不会被其它master干扰,它可以确保数据操作的原子性,同时也不会影响总线性
    • 过程
      1. exclusive read
        1. Master发送一个读exclusive操作
        2. Slvae需要记住该操作的,ARID 和ADDR
        3. 如果slave可以支持该访问,则响应EXOKY,表示独占成功
      2. Exclusive write
        1. 在随后的时间,该master对该地址进行exclusive 写操作
        2. AWID和RID必须一致
        3. 期间是否有其它设备访问过该地址?
        4. 成功返回EXOKY,否则返回OKAY表示独占写失败
    • 优势
      • 更高的效率
      • 更好的性能
      • 更加灵活
    • 应用场景
      • 在多核系统,独占访问可以确保对共享资源的原子操作
      • 原子更新操作,在对内存中的某个变量进行修改,读取,确保这些操作不会被其它设备干扰

axi3 和 axi4的连接

  1. axi4没有wid信号,直接floating
  2. axi4 slave的 axlock[0] = axlock[0]
  3. axi4 slave的 axlen[7:4] = 4’h0
  4. qos/user/region信号需要额外处理
  5. axi4 master必须不支持write interleaving

axi3 和 axi4信号区别总结

signalaxi3axi4备注
arlen/awlen4bit8bitaxi4支持256bit的burst
arqos/awqosNA4bit服务质量,用于优先级控制
arregion/awregionNA可选区域信号,用于访问控制
aruser/awuserNA可选用户定义
arlock/awlock2bit1bitaxi4去掉了locked access,仅保留Exclusive acess
wid4bitNAaxi4去掉了wid,不支持乱序写数据
http://www.jsqmd.com/news/1124281/

相关文章:

  • Vault-Operator安全配置指南:TLS设置、RBAC和网络策略最佳实践
  • 基于CNN的墙体污渍识别系统设计与优化
  • YOLO与DETR目标检测技术对比与RT-DETR实战指南
  • 文件上传漏洞攻防实战:从靶场到实战的完整攻防演练
  • 3天从零掌握yuzu:Switch游戏在PC上的终极体验指南
  • 深入掌控AMD Ryzen性能:SMU Debug Tool完全使用指南
  • Jina Reader API内容抓取稳定性深度解析:从原理剖析到实战优化指南
  • NoDock实战教程:用Nginx反向代理构建高可用Node应用
  • Windows后台运行终极指南:如何用RunHiddenConsole隐藏控制台窗口实现高效自动化
  • CANN/asc-devkit SIMD寄存器存储对齐接口
  • jqjq测试套件详解:确保解释器正确性的方法
  • 如何快速部署Gemma-4-31B-it-abliterated:5分钟本地运行完整指南
  • Saber手写笔记应用:跨平台数字手写的终极指南
  • 从零开始学AWD防御:Watchbird安装与基础功能详解
  • Spectre在机构级量化交易中的应用:大规模数据处理实战案例
  • AMD Ryzen深度调试:解锁处理器性能潜力的终极指南
  • CANN/ge GE Python API GeApi类文档
  • CANN/ge DataFlow MetaRunContext类
  • Sublime Text Orgmode插件常见问题解决方案:从安装到高级使用
  • SVD++ 算法 Python 实现:利用隐式反馈将推荐准确率提升 3%
  • 从推箱子到世界模型:用PyTorch实现AI规划能力与JEPA架构解析
  • 一文读懂GhostDB的持久化机制:AOF日志与快照技术全解析
  • GoExec任务计划模块实战:demand与create命令实现无文件落地攻击
  • Touch WX开发常见问题解答:新手必看的避坑指南
  • 终极macOS窗口管理神器:AutoRaise让鼠标悬停自动聚焦,工作效率提升300%
  • GalaxyBudsClient固件刷写技术深度解析:跨平台固件管理实现方案
  • BigFunctions快速入门:10分钟学会在BigQuery中调用公共函数
  • 如何快速上手YiShaAdmin:权限管理系统实战指南
  • MMKV如何解决移动端跨平台数据同步的三大核心挑战:实战指南
  • 如何用GZDoom让经典射击游戏重获新生?