AXI 独占访问(Exclusive)和锁定访问(Locked )机制

本文讲解AXI协议中的独占访问锁定访问机制。

AXI中使用 ARLOCK或 AWLOCK信号的编码来表示普通访问、独占访问和锁定访问,这里我们用AxLOCK代指。

独占访问(Exclusive accesses):

独占访问机制使得信号量类型操作(semaphore type operations)的开发不需要总线在操作期间保持对某一特定主机的锁定。
独占访问的优点是既不会影响关键总线访问延迟,也不会影响最大可达到的带宽。
通过AxLOCK信号的值来选择独占访问,RRESP和BRESP信号分别表示独占访问读和写的成功或失败。
在这里插入图片描述

从机需要额外的逻辑来支持独占访问。AXI 协议提供了一种自动防故障(fail-self)机制来指示当主机试图对一个不支持独占访问的从机进行独占访问。

一个exclusive访问的基本过程如下:
1. 主机对slave的一个地址执行独占读操作。从机中的monitor会记录下该master的 ARID和 要访问的地址位置
2. 一段时间之后,主机对相同的地址执行独占写操作,从机同样要记录该操作的主机的 AWID 和 要访问的地址位置。
如果AWID == ARID 并且 该地址内容没有改变(没有被其他的master访问过),则独占写操作成功,同时slave会返回EXOKEY,否则slave会返回OKEY。
3. 主机独占写访问的结果表示为:
•如果自独占读访问到写访问以来没有其他主机写入该位置,则独占访问成功。在这种情况下,独占写更新内存地址。
•如果在独占读访问之后,有任何另外一个主机写入了该位置,则独占访问失败。

对于exclusive操作,总线不会被锁定,所以总线事实上允许其他master同时来请求总线。不过,当一个主机在执行独占访问时,其他master要同时通过总线访问其他的slave,该独占访问就失败了

独占访问限制:
•指定ID的独占写的burst size和burst length必须与前一个具有相同ID的独占读的burst size和burst length相同。
•独占访问的地址必须与事务中的总字节数(burst size * burst length)对齐。
•独占读和独占写的地址必须相同。
•独占访问中,独占读的ARID值必须与独占写AWID值匹配,即AWID==ARID
•独占访问中,独占读和独占写事务的控制信号必须相同。
•一个独占访问突发中,要被传输的字节数必须是2的幂,即1、2、4、8、16、32、64或128 bytes。
•一个独占访问突发中,可以传输的最大字节数是128。
•在AXI4中,独占访问的burst length不能超过16个transfers。
•AxCACHE信号的值必须保证监视独占访问的从机能看到事务。例如,一个独占访问不能具有表明该事务是可缓存的AxCACHE值。

锁定访问(Locked accesses):

当一个主机使用AxLOCK信号表示一个事务是锁定事务时,互联(interconnect)必须确保只有该主机可以访问目标从机区域,直到同一个主机的一个非锁定传输的事务完成。互连中的仲裁程序用来执行该限制,并且必须强制执行此限制。

锁定访问要求在锁定序列进行时,互连(interconnect)阻止任何其他事务发生,即某个master 可以锁定总线来实现独占,只有当该master完成传输后才释放出bus,因此可能会对互连性能产生影响。相比之下,exclusive访问不需要将bus锁定给某个master。

AXI3的实现必须要支持锁定事务,而AXI4移除了对LOCK访问的支持,因为:
•大多数组件不需要锁定事务
•锁定事务的实现对互连(interconnect)的复杂性、保证QoS的能力有显著影响:
所以AXI4建议锁定访问仅用于支持legacy设备。

AxLOCK信号编码:

AXI3的AxLOCK信号编码如表:
在这里插入图片描述
AXI4取消了对锁定事务的支持,只使用1位信号,AxLOCK信号编码如表:
在这里插入图片描述
legacy注意事项:
在AXI4环境中,任何AXI3锁定事务(locked transaction)会按如下规则转换:
•AWLOCK[1:0] = 2’b10被转换为一个普通的写事务,即AWLOCK = 1’b0
•ARLOCK[1:0] = 2’b10被转换为一个普通的读事务,即ARLOCK = 1’b0。
规范建议任何会进行此类转换的组件(通常是interconnect)都包含一种可选的机制,用于检测和标记发生了锁定事务转换。
手册表示:
Any component that cannot operate correctly if this translation is performed cannot be used in an AXI4 environment.
任何执行了此类转换就无法正确工作的组件,都不能在AXI4环境中使用。

参考:
AMBA AXI and ACE Protocol Specification AXI3, AXI4, and AXI4-Lite ACE and ACE-Lite
AXI协议中的模棱两可的含义的解释

  • 19
    点赞
  • 193
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值