首页 > 其他分享 >AXI原子操作总结

AXI原子操作总结

时间:2023-01-09 14:47:05浏览次数:32  
标签:总结 锁定 独占 主机 原子 访问 atomic 操作 AXI

AXI3

原子访问是一系列针对存储区域的操作。当主机想要对特定存储区域执行一系列访问时,会采用原子访问来确保该区域中的原始数据不会被其他主机写入修改。这些访问操作通常是读取、修改和写入。

在AXI5之前,主要存在两种原子访问:

  • 锁定访问,lock,当主机对一个从机执行具有锁定访问属性的操作时,任何其他主机对当前从机的访问都会被拒绝。
  • 独占访问,exclusive,当一个主机成功执行独占访问操作时,其他主机可以访问该从机,但不能访问执行独占操作的那片区域。

LOCK transaction

锁定访问只能用于老版本从机设备。AXI3协议必须支持锁定访问,AXI4不支持锁定访问。

在主机启动锁定访问之前,他必须保证没有其他事务等待完成。

锁定访问使用AxLOCK信号指示,

锁定访问序列必须最终以一个未置位AxLOCK的事务完成。这个事务仍然包含在锁定访问序列中,但可以移除锁定访问,允许其他主机访问该从机。

在M0进行锁定访问操作时,interconnect拒绝M1访问

AXI4

Exclusive transaction

AXI4中,独占访问与锁定访问能够更有效的执行原子操作,这是因为独占访问可以更有效地使用带宽。

独占访问操作中,其他主机可以同时访问从机,但只有一个从机将被授予访问同一内存范围的权限。

独占访问的机制可以提供向量类型的操作,而无需总线在操作期间由某个主机一直占有。这意味着总线访问延迟和最大可实现带宽不受影响。

独占访问可以由多个数据传输组成,但所有事务都必须具有相同的AW通道属性。

从机需要一个硬件监视器来记录独占访问序列的事务信息,以便知道它正在访问的内存范围和执行访问操作的主机身份。住过在独占访问完成之间没有其他主机访问监视范围,则该访问是原子性的。

从机对其他主机访问开放,从而提高了系统带宽利用的整体公平性。

AXI5

atomic operation

AXI5新增四类原子操作,分别为atomic store、atomic load、atomic swap、atomic compare。其中atomic swap和atomic compare为固定操作,分别实现数据交换和先条件判断再交换。

对于atomic load和atomic store,需要更细分为具体操作,并将发送的数据和目的地址原始数据作为操作数进行运算。

所有原子操作和具体操作类型由AXI5新增信号AWATOP[5:0]编码指示。

所有原子操作都需要通过AW发送控制信息,由W发送数据信息。atomic store和atomic load的主要区别在于,atomic store通过B通道返回atomic response,而atomic load除了B通道的响应外,还要通过R 通道返回目的地址的最原始数据。

总结

AXI3中通过锁定访问完成原子操作,降低了带宽利用率。

AXI4中引入独占访问,解决带宽利用率低问题。但此时出现新的问题,完成一个原子操作,要先进行读访问再进行写访问。也就是主机需要把目的地址的数据拉到主机处进行处理,再写回目的地址。这种机制运行良好,但会带来不确定的延迟问题。当主机与目的地址距离较远时,这一特点尤其明显。

AXI5中为了改进延迟,提出直接在目的地址处对数据进行操作,完成更新。除了降低了访问延迟,还从两个独占事务完成的操作,缩减为一次事务。

标签:总结,锁定,独占,主机,原子,访问,atomic,操作,AXI
From: https://www.cnblogs.com/icwangpu/p/17036976.html

相关文章

  • Ajax(Fetch&Axios)
    传统服务器传统服务器的结构是基于MVC模式Model--数据模型View--视图,用来呈现Controller--控制器,复杂加载数据并选择视图来呈现数据传统的服务器是直接为客户端......
  • JSON to TS 转化 Axios 请求类型约束
    JSONtoTS扩展插件的使用作用场景作用是快速转化React+TS的Axios拿回数据的类型约束定义 步骤一.获取数据当页面中发起请求成功,获取到接口所携带的数据时,cons......
  • Linq学习总结
    Linq可以对字符串、集合等“结果集”通过扩展方法,进行过滤、排序、分组、计算等操作。学习Linq,需要需要了解委托delegate以及委托的语法糖Action和Func。Action和Func经过......
  • 微信小程序 - 开发总结(7): 微信小程序的关闭、后台销毁时间的演变和总结(热启动时间限
    一、微信小程序的关闭微信小程序的关闭有些坑,有时候需要在小程序关闭时做一些操作,但 微信小程序官方又没有提供退出的api;手动直接关闭呢,又不触发onHide方法;切换到后台在o......
  • Java_基础总结
    总结。  一、运行环境jdk:开发工具包jre:运行时环境jvm:虚拟机编译:使用javac,将.java源文件编译为.class文件。运行:使用java,运行.class文件......
  • [总结]2023-1-7B组模拟赛
    [总结]2023-1-7B组模拟赛P0前言感觉比赛状态回来了,但是思维还没上来。P1心路历程又是先全部看题。T1有点奇怪,没有多想。T2看到数据感觉有70pts的\(n^2\)dp。T3准备......
  • 2021年最新版Docker常见面试题整理总结带答案
    2021年最新版Docker常见面试题整理总结带答案全部面试题答案,更新日期:01月30日,直接下载吧!下载链接:高清500+份面试题资料及电子书,累计10000+页大厂面试题PDFDocker题......
  • 2022年度总结 2023年度规划
    2022年计划1、完善爬虫项目;......
  • SSI注入漏洞总结
    前言在前几天的长安战疫CTF中第一次遇到了SSI注入漏洞,借此机会学习一波SSI现在大多数的Web服务已经很少使用SSI了,但是偶尔还是可能碰到基本概念SSI全称ServerSideInc......
  • 2022年总结
    2022年总结本来这个总结想在1月1号完成的,但是总没料到在2022年的最后一周我......