AXI中的outstanding、乱序、interleaving

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的所有数据都被堵塞,造成死锁。为了避免这种情况下的死锁,AXI3协议本身就要求了写交织时每个transaction的第一笔transfer必须是有序的,但这无疑会给设计带来额外的复杂度。当然,如果不遵守这个要求,也可以采用其他方案来解决这个问题,比如互说互联组件为每个master分配多个buffer,但实现起来会比较复杂。  合理地设计可以减少写交织被取消带来的影响,master应该在某个transaction的数据准备好之后再向总线发起写请求,否则mater可能长时间占用总线,大大降低总线的效率。因此,设计人员本就应该避免写交织十分高效时的场景,设计合理的情况下,写交织的取消并不会给系统带来明显的效率影响。

在数字电路设计中,AXI(Advanced eXtensible Interface)是一种常用的总线协议,用于处理器和外围设备之间的数据传输。AXI协议支持乱序和交织传输,这两种传输方式可以通过波形图来展示。 ### AXI乱序传输 乱序传输指的是事务(transactions)可以按照不同于请求顺序的顺序完成。这种方式可以提高总线的利用率和效率,特别是在高延迟环境中。 #### 波形图特点: 1. **请求顺序**:事务的请求顺序是按照请求发出的顺序排列的。 2. **完成顺序**:事务的完成顺序可以不同于请求顺序。 3. **ID标识**:每个事务都有一个唯一的ID,用于标识和跟踪事务。 #### 波形图示例: ``` 请求顺序: A -> B -> C 完成顺序: B -> A -> C ``` ### AXI交织传输 交织传输指的是多个事务可以交错进行,从而提高总线的利用率。这种方式特别适用于高带宽需求的应用。 #### 波形图特点: 1. **交错事务**:多个事务的传输可以交错进行。 2. **高吞吐量**:通过交错传输,可以提高总线的吞吐量和效率。 3. **同步信号**:需要使用同步信号来确保数据的正确传输。 #### 波形图示例: ``` 事务A: A1 -> A2 -> A3 事务B: B1 -> B2 -> B3 事务C: C1 -> C2 -> C3 ``` ### 波形图示例 假设有三个事务A、B和C,乱序传输和交织传输的波形图可以如下所示: #### 乱序传输波形图: ``` 时钟: |----|---|---|---|---|---|---| 请求: A B C 完成: B A C ``` #### 交织传输波形图: ``` 时钟: |----|---|---|---|---|---|---| 事务A: A1 A2 A3 事务B: B1 B2 B3 事务C: C1 C2 C3 ``` 通过这些波形图,可以清晰地看到AXI乱序和交织传输的特点和实现方式。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值