关于AXI总线乱序传输的问题

本文探讨了AXI总线中的乱序(outoforder)与交织(interleaved)概念的区别,解释了这两种传输方式的具体应用场景,并通过实例说明了它们在实际系统设计中的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

关于AXI总线中讲到的interleaved和out of order,这两个词讲到的是不是同一种情况呢?AXI总线中的乱序传输到底指的是那种情况呢?我自己也总结了一下对AXI总线中乱序传输的情况:
1、对于写传输,同一master发出的写地址可以和写数据乱序,如m1按顺序发出两个写命令CMD1和CMD2分别访问S1和S2,此时可以先向S2发送写数据再向S1发送写数据
2、对于读传输,同一slave接收到得读地址可以和返回的读数据乱序,情况同比上例
3、对于同一master发出的写命令或者同一slave接收到的读命令,Burst间的交叉乱序传输,如m1按顺序发出两个写命令CMD1和CMD2,写数据时可以在CMD1的数据没有发完的情况下就发送CMD2的数据

不知道这几种情况是否是之前提到的interleaved或者out of order呢?
本人初学AXI,这些概念没有搞的太懂,特此请教各位大虾指点迷津
:loveliness::loveliness::loveliness::loveliness::loveliness:


daojianxiaohyf (2012-4-29 08:40:51)
学习下。。。。
spatim (2012-5-02 02:47:08)
is out of order transaction is important????:lol:(:call:
alex_wing (2012-5-04 12:46:39)
kanakn~~~
freud (2012-6-15 21:22:07)
乱序和间插是两个完全不同的概念。笼统的说,乱序指的是burst这个粒度,而间插指的是beat这个粒度。
简单说了,乱序是salve返回master请求的out of order特性,但这个slave可以是广义上的,一般总线会完成这个功能;而间插(interleave)是指写数据,或是读返回数据,按找不同ID交织出现。比如:ID0 ID1 ID0 ID1....。乱序和间插都有深度,一般乱序深度比间插大的多。上面那个例子就是间插深度为2的情况。
wuleter (2012-6-26 23:41:06)
同意楼上的。。。
zjzhiview (2012-7-28 17:19:16)
回复 1# moon_lit
虽然axi总线协议中支持乱序交易,但实际应用中极少会涉及,因为要支持这种协议对系统中的主机和从机的硬件要求都比较高。基于ARM的SOC设计中跟少用到,arm9不支持AXI总线就不用说了,ARM11也不支持transaction ID信号,而且现在常用的一些IP也不支持乱序交易。所以对于初学者没必要老纠结在这个问题上。:P
haiyi198712 (2012-7-29 09:05:35)
现在很多IP支持的outstanding比较大,乱序还是要考虑吧,间插确实用的不多
litiangao12113 (2016-3-11 11:12:54)
哪位大神能简明扼要的告诉我outstanding操作的概念是什么?我理解不了啊 !!!!!
lmwzm (2016-3-12 10:48:12)
回复 9# litiangao12113

简单讲,如果没有outstanding,或者说outstanding能力为1,则AXI Master的行为如下:

读操作:读地址命令->等待读数据返回->读地址命令->等待读数据返回->读地址命令->等待读数据返回。。。。。
写操作:写地址命令->写数据->等待写响应返回->写地址命令->写数据->等待写响应返回。。。。。(如果支持out-of-order,对于AXI3,写命令和写数据不一定有先后顺序且ID顺序不一定相同,AXI4因为已经没有WID信号,所以写数据的顺序要和写地址的顺序一样)


而如果outstanding能力为N>1的话,则:
读操作:可以连续发N个读地址命令,这期间如果读数据没有返回,则需要需要等待读数据返回,如果有读数据返回,则返回了几个,那么仍然可以接着发几个。也就是说,“在路上” 的读命令(或者读数据)最多可以是N。多说一点,可以看出,如果数据返回得比较慢,那么IP需要等待,效率就会比较低,因此,为了提高效率,有必要提高outstanding能力,以弥补”路上“(总线)引入的延时。但是也不能无限制地发,有可能会引起总线拥塞,把其他IP给堵住。
写操作:可以连续发出N组写地址(写数据)命令,这期间如果写响应没有返回,则必须等待写响应返回才能接着发写地址(写数据)命令,如果有写响应返回,则返回了几个,那么仍然可以接着发几组。也就是说,“在路上” 的写响应最多可以是N。


以上是个人理解,如果有不对的地方,还请指正。
bainysky (2017-4-08 13:54:02)
赞一个~
AXI4总线协议是一种用于高性能、高带宽的系统互连的协议。它支持并行传输乱序执行,以提高系统性能。并行传输意味着在同一时钟周期内可以传输多个数据,从而提高数据传输的效率。乱序执行则指的是可以按照任意顺序执行传输操作,而不必按照严格的顺序执行。 在AXI4总线协议中,传输操作被划分为读取和写入两种类型。读取操作是指从外部设备读取数据,写入操作是指向外部设备写入数据。这些操作可以同时进行,从而利用并行传输提高数据传输的效率。 乱序执行是指传输操作可以按照任意顺序执行,而不必按照严格的顺序执行。这意味着在AXI4总线协议中,不同的传输操作可以交错执行,而不必等待前一个传输操作完成。这样可以充分利用系统资源,提高系统的并行度和性能。 总的来说,AXI4总线协议通过支持并行传输乱序执行来提高系统性能。这种设计使得系统能够更高效地传输数据,并充分利用系统资源。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [AXI总线总结](https://blog.youkuaiyun.com/weixin_39269366/article/details/127817738)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [AXI总线协议资料整理(转)](https://blog.youkuaiyun.com/weixin_36124208/article/details/111889482)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [AXI 总线协议资料整理.7z](https://download.youkuaiyun.com/download/m0_38007995/59258658)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值