当前位置:   article > 正文

AXI中的outstanding、乱序、interleaving_axi outstanding

axi outstanding

1.outstanding

outstanding是指主机在没有收到response时可以发起多个读写transaction的能力。当主机具有outstanding能力时,会将awvalid拉高多个周期,若从机也支持outstanding,则相应的将awready拉高多个周期。outstanding的数据传输过程如下图所示:

2.乱序传输

乱序传输需要依赖ARID来完成,乱序传输是针对transaction而言的,可以认为ARID是transaction的ID。若支持乱序传输,当存在多个transaction时,从机可以不按照transaction的发起顺序进行返回数据,主机通过从机返回的BID(写)或RID(读)来判断返回的数据属于哪个transaction。另外,拥有相同AWID与ARID的transaction,其返回数据需要按照transaction发起的顺序进行返回数据。乱序传输的数据传输过程如下图所示:

3.interleaving 交织

写交织使用WID来实现,interleaving用来实现不同transaction中的beat的交替传输,但同一transaction的beat是需要按照顺序进行传输的。 AXI4中已经取消了WID信号的使用,不再支持写交织。interleaving的输出传输过程如下:

其中数据0与数据1属于同一transaction的不同beat,地址A与地址B表示两个transaction。

关于AXI4不支持写交织是一个非常自然地过程。为了提高效率,AXI总线的写数据通道并不依赖写地址通道,这就是说,写数据可以先于写地址发送,但是总线不知道写地址,没办法将数据发送出去,只能暂存在buffer中,等待写地址。比较理想的方案是总线为每个master预留一个写地址通道buffer和写数据通道buffer。在这种方案下,若支持写交织,地址通道buffer和数据通道buffer的数据可能永远都对不上(AWID与WID),这会造成该master的所有数据都被堵塞。当然可以采用其他方案来解决这个问题,比如说为每个master分配多个buffer,但实现起来会比较复杂。合理地设计可以减少写交织被取消带来的影响,master应该在某个transaction的数据准备好之后再向总线发起写请求,否则mater可能长时间占用总线,大大降低总线的效率。因此,设计人员本就应该避免写交织十分高效时的场景,设计合理的情况下,写交织的取消并不会给系统带来明显的效率影响。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/539211
推荐阅读
相关标签
  

闽ICP备14008679号