https://aijishu.com/a/1060000000134828

在 AXI3 协议中支持的写数据交织(wirte data interleaving)功能在 AXI4 中不再支持。因此 Interconnect 实现也无需继续支持写交织。

何为写交织

写数据交织指来自不同事务的写数据可以被打散混合排列。如下图中有 2 个写事务,每个写事务共有 2 个写数据 A/B。

当不支持写交织时,写入数据的顺序必须保持为 0A 0B 1A 1B,即一个写事务的数据完成后再传输下一个事务的数据。而交织时顺序可以为 0A 1A 0B 1B 或者 0A 1A 1B 0B,在事务中插入另一事务的数据。

写交织的作用之一在于提高系统的效率,我们对上述场景增加一个假设,事务0 是一个较慢的数据流,每 2 个周期写一个数据。而事务 1 的数据速率更高,每个周期写一个数据。如下图所示,写交织能够减少总线传输中的气泡(空闲时间),提高系统的效率。

为什么不再支持

笔者在网上冲浪了一下,并没有找到直接的解释,个人总结有以下原因:

  • 应用场景少
  • 设计复杂
  • 去除该功能能够简化实现

(1)首先是相较于读交织,写交织仅在多主机场景中有效,应用有限。在单个主机的情况下,可以由主机分拆事务提高效率,而无需应用写交织这一复杂特性。

上图中的场景,假设这 2 个事务来源于同一主机,如下图所示,主机将速度较慢的事务 0 分拆为 2 个事务,每个事务各包括 1 次传输,同样达到了写交织的效率。

由于应用场景有限,因此在 AXI3 实现中,写交织往往也不被支持。ARM 在手册中也承认了这一点:

Most AXI3 masters do not support write interleaving.

(2)写交织设计较为复杂,ARM 在协议中针对写交织做了许多约束,以避免出现死锁等现象。在 A5.3.3 中罗列了一大堆。

(3)既然写交织复杂又不常用,而砍掉该特性能够简化实现,并删去写通道中的 WID 信号,自然是一件喜闻乐见的事。

写交织(AXI4不在支持写交织功能)相关推荐

  1. Arduino终于支持代码补全了!小白们终于可以愉快的写代码了!Arduino IDE 2.0beta功能简介...

    Arduino终于支持代码补全了!小白们终于可以愉快的写代码了!Arduino IDE 2.0beta功能简介 前一段时间听到有人说Arduino的IDE特别不好用,功能太单一,最重要的是没有代码补全 ...

  2. 本人计划继续写飞鸽传书,支持的人有吗?

    本人计划继续写飞鸽传书,支持的人有吗?有一次她念作文,指导教师,飞鸽传书陈月琴童言,保准你没走到两步就摔倒了,一股香味飘进我的鼻子,这时,过去了,咦. 飞鸽传书:http://t.qq.com/fei ...

  3. 本人为巨杉数据库(开源NoSQL)写的C#驱动,支持Linq,全部开源,已提交github

    一.关于NoSQL的项目需求 这些年在做AgileEAS.NET SOA 中间件平台的推广.技术咨询服务过程之中,特别是针对我们最熟悉的医疗行业应用之中,针对大数据分析,大并发性能的需求,我们也在慢慢 ...

  4. 在javascript中使用el表达式(jsp中的javascript中支持写el表达式,毋庸置疑,单独的js文件中不支持写el表达式,别钻牛角尖)

    哎,够背的,最后4张图怎么调整都很小,看不清楚,所以大家还是看我这篇文章吧在javascript中使用el表达式(图片清晰版,有图有真相),这篇文章的图片可以正常看清楚,跟我这篇文章是一样的内容! 有 ...

  5. linux gcc延时怎么写,Clang / GCC是否真的支持延迟加载功能?

    如果您 确实经历过 与上述标题相关的事情,您是否愿意对此发表评论?我试图使共享对象在Ubuntu上同时被Clang和GCC延迟加载(我实际上不介意使用哪个编译器),但是它们看起来并没有真正支持任何延迟 ...

  6. 先写API文档还是先写代码?你需要这款神器Apifox!

    代码未动,文档先行 其实大家都知道 API 文档先行的重要性,但是在实践过程中往往会遇到很多困难. 程序员最讨厌的两件事:1. 写文档,2. 别人不写文档.大多数开发人员不愿意写 API 文档的原因是 ...

  7. 无盘服务器回写盘intel,无盘回写盘碎片清理工具 完美解决无盘回写盘碎片

    本无盘回写碎片清理工具可完美解决无盘回写盘碎片,安装完毕本软件设置一下即可实现回写盘碎片的自动清理,不错吧??提示:适用于锐起,锐腾无盘回写清理! 回写盘自动清理会自动格式化指定的盘(支持多个盘,块大 ...

  8. 让你提前认识软件开发(40):既要写好代码,又要写好文档

    第3部分 软件研发工作总结 既要写好代码,又要写好文档 对于软件相关行业,在学校或单位上,大家或许都已经注意到了,除了要编写的程序.绘制设计图之外,另一个重要的工作便是写文档.为什么要写文档呢?由于我 ...

  9. python写用用户名密码程序_python写用’户登录程序‘的过程

    作业需求: 基础需求: 让用户输入用户名密码 认证成功后显示欢迎信息 输错三次后退出程序 升级需求: 可以支持多个用户登录 (提示,通过列表存多个账户信息) 用户3次认证失败后,退出程序,再次启动程序 ...

最新文章

  1. Android中的Fragment
  2. 海华·垃圾分类AI挑战赛baseline分享,评测得分最高至0.85
  3. cma检测_CMA检测方法
  4. ARC107——D - Number of Multisets
  5. python把空格替换成字符串,用空格替换字符串中的字符
  6. 浅谈:python自动化测试中使用异步
  7. java实现lru缓存_Java中的LRU缓存实现
  8. hadoop 入门学习系列十一----hue安装
  9. java框架--springmvc --ajax-json-upload/download+maven+ DES/MD5 请求加密
  10. PeerCDN:使用WebRTC构建基于浏览器的P2P CDN
  11. 等级保护三级基本要求
  12. C++模板函数 学习记录
  13. opnet共享代码开发
  14. 点击右键头换到下一张图片html,简单的实现点击箭头图片切换的js代码
  15. IDEA: 遇到问题Error during artifact deployment. See server log for details,解决
  16. 比较802.11ac(Wi‑Fi 5)和802.11ax(Wi‑Fi 6)
  17. 每日一佳——Hilbert Space Embeddings of Hidden Markov Models(Le Song,ICML,2010)
  18. 蓝桥杯嵌入式解决LCD与LED冲突的方法
  19. 如何将图像保存至计算机G7X,佳能官方教程:如何将G7X通过WiFi与电脑连接.pdf
  20. 无限流量+AI投屏:爱奇艺电视果4G亮相CES

热门文章

  1. 转载 gro转lammps
  2. WeakHashMap相关
  3. 【上海居转户申请流程及材料清单|干货分享】
  4. c++ 之 括号匹配(栈)
  5. Python 中 int 用法详解
  6. 64位系统 system32 和 syswow64
  7. mysql 查询上一周每一天的数据(含跨年问题)
  8. Android适配曲面屏
  9. 教你如何提高网站排名
  10. sqlserver2008 服务 远程过程调用失败