AXI Ordering Model

AXI Ordering Model

AXI支持乱序的事务完成,对于每个transaction来说,包括cmd和data信号,都给了一个ID标签,使用此标签来实现乱序事务完成
具有相同ID标签的transaction需要按照他们被发送的顺序执行并返回
具有不同ID标签的则可以乱序执行并返回
在AXI3中有五个ID标签信号,如下:

  • AWID 此ID通过write address channel传输,是address group signal 的ID标签
  • WID 此ID是通过write data channel传输,是data group signal的ID标签,这个ID要和AWID进行匹配
  • BID 此ID通过write response channel传输,是response signal的ID标签,这个ID要和AWID和WID相匹配
  • ARID 此ID通过read address channel传输,是address group signal的ID标签
  • RID 此ID通过read data channel传输,是data group signal的ID标签,这个ID要和ARID相匹配

关于outstanding 和 out-of-order

  • outstanding指的是,在上一个transaction还没结束之前,就可以发送下一个transaction的地址,这个表明的是系统并行处理transaction的性能,outstanding是有一定深度的,也就是最多允许几个transaction进行outstanding。
  • out-of-order指的是返回时不需要按照发送的顺序进行返回,因为对于不同slavememory的访问速度是不同的,所以对于速度较快的slave可以先返回,较慢的可以后返回,即使发送到较慢slave的transaction是比较早的。但是这种情况是建立在他们(transaction)具有不同的ID标签的基础上。如果他们具有相同的ID标签,将只能按顺序返回

对于transaction的顺序,有以下几点规则

  • 对于来自不同主机的transactions,可以以任何顺序完成,没有完成顺序的限制
  • 对于来自同一个主机的transactions,但是拥有不同的ID,可以以任何顺序完成
  • 对于来自同一个主机并且具有相同的AWID标签的transaction,需要按照发送地址的顺序进行完成
  • 对于来自同一个主机并且具有相同的ARID标签的transaction,需要分为两种情况,
    • 第一种是如果访问的是同一个slave,则读取的数据需要按照收到的地址的顺序返回。
    • 第二种是如果访问的是不同的slave,interconnect需要保证返回的时候顺序和master发送的地址顺序相同
  • 如果ARID和AWID具有相同的值,在传输的顺序上没有相关的要求。如果主机有要求,那么是在第二个transaction开始时,第一个transaction必粗完全结束。

对于Read的顺序

如果是不同的ARID,则可以按照任意顺序发送或接收,

  • 从主机的角度,可以以任意顺序接收,并且还可以以interleave的方式接收
  • 从从机的角度,可以以任意顺序发送,不需要按照接收的顺序发送
    如果是相同的ARID,则必须按照顺序发送或接收
  • 从主机的角度,必须按照主机发送的地址的顺序进行接收
  • 从从机的角度,必须按照从机接收到的地址的顺序进行发送
    对于以上的read transaction,不管怎样都必须保证RID和ARID想匹配,对于去到不同从机的有着相同ARID的transaction,interconnect需要保证返回时的顺序和发送到slave的顺序相同,这个out-of-order的深度是可定义的,需要从机的设计者指定

对于普通的Write的顺序

如果slave不支持interleave,那就是普通的write顺序,不管是否具有相同的AWID,此时需要保证主机write的data需要按照address的顺序进行发送,从机的角度来看,就是按照接收address的顺序接收data
如果transaction来自不同的主机,那么需要保证写入的这些书序是按照地址顺序的

对于Interleave Write(AXI3)

interleave指的是不同AWID的transaction中的data可以interleave,从机需要指定支持的interleave的深度,一般默认为1,也就是不支持interleave的情况

对于Interconnect

如果master interface连接到了interconnect,interconnect会在ARID,AWID,WID上加入额外的bit,这个bit是独特的。
这个时候也就是说明master不需要考虑其他master的使用的ID,同时在slave interface的ID位宽要大于master的,因为加入了interconnect的ID bit

对于读操作,返回时的RID也将具有额外的bit,来让interconnect判断发送给哪个master,但是master不必考虑这个,因为interconnect将会在发送时将RID上额外的ID bit给去掉

一般建议master发出的ID有4位,interconnect加入额外的4位,slave支持8位的ID

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值