AXI之原子操作

这篇具有很好参考价值的文章主要介绍了AXI之原子操作。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

原子,可以认为是物质组成的最小单位,当然,现在科学表明,比原子小的还有质子和中子。但是这里我们还将原子作为最小单位来理解,那么原子就是不可分割的,因此原子操作就可以理解为不可分割的操作。

AXI的原子操作包括exclusive和lock两种,不管是exclusive还是lock操作,在执行期间不可被其它操作打断,否则操作失败。

axi原子操作,AMBA,信息与通信,硬件架构,arm开发

 1、exclusive操作

exclusive的应用场景主要是处理器需要对某个内存地址进行写操作时,假如写一个字节,而内存的数据位宽大于一个字节,比如32bit,这时处理器需要将内存地址对应的32bit数据先读出来,然后将要写入的一个字节数据进行更新后,再将更新后的32bit数据重新写入内存中去,该过程通常被业内称为读改写操作(RMW)。如下图所示,CPU要将内存地址1的数据改为0x02,就需要先将地址0~3的数据都读回来,然后将更新后的数据0x03020200重新写入内存。

axi原子操作,AMBA,信息与通信,硬件架构,arm开发

但是实际芯片中,在CPU将数据读回,并将更新数据写回内存期间,可能会有其它的master也会访问内存,假如DSP将地址0的数据改成了0xff,那么内存中地址0应该保存的正确数据就应该是0xff,但是CPU由于操作延时,又将地址0的数据改成了0x0,这个时候DSP以为地址0里的数据是0xff,但实际上却是0x0,就无法保证数据的一致性。

于是就引入了exclusive操作。还是上边的例子,CPU要改写内存中数据,会先发一笔exclusive的读操作,此时内存作为slave,slave中会有一个monitor记录这笔exclusive读操作的地址和ID,然后返回EXOK,表示其支持exclusive操作,否则返回OK,代表不支持exclusive操作,在此情况下CPU收到OK就知道内存不支持exclusive操作。此处假如内存支持exclusive操作,则CPU收到EXOK后会继续发一笔exclusive写操作,将更新后的数据写回内存中。在此过程中如果内存的地址0x0~0x3没有被别的master访问过,则slave返回EXOK,代表此次exclusive操作(一次exclusive操作包含exclusive读和exclusive写)被正确执行;

假如在exclusive读和写之间,内存的这个地址被其它master访问过,如DSP将内存地址0写成了0xff,则slave返回OK,且此笔写操作不会被执行(如果执行会出现上边提到的数据一致性问题)。CPU收到OK的响应后就知道此次exclusive失败了,即写操作没写进去。此时内存中数据内容如下图:

axi原子操作,AMBA,信息与通信,硬件架构,arm开发

此时CPU可以选择再次发起一次exclusive操作,继续对内存进行改写。如果exclusive操作成功,则内存中的数据应该为:

axi原子操作,AMBA,信息与通信,硬件架构,arm开发

结合此应用,相信大家对于协议原文中关于exclusive操作的描述会有更深入的理解。

2、lock操作

相对exclusive来说,lock操作比较简单,master发出lock操作后,interconnect要保证在lock期间只有此master能获得总线使用权,且lock操作的最后一笔transaction要将AXlock拉低,以此解除lock状态,最后一笔unlock操作结束后,其它的master才可以获得总线使用权,说白了就是我发出lock操作后,其他人不能打断我。

相比exclusive操作,lock操作会降低总线的利用率,而且影响QOS的使用,外加应用场景并不多,在AXI4中已经删除了lock操作。

axi原子操作,AMBA,信息与通信,硬件架构,arm开发文章来源地址https://www.toymoban.com/news/detail-685494.html

到了这里,关于AXI之原子操作的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【ARM AMBA AXI 入门 14 -- AXI 窄位传输 | 非对齐传输| 大小端传输】

    请阅读 【ARM AMBA AXI 总线 文章专栏导读】 ARM AMBA AXI (Advanced eXtensible Interface) 是一个高性能、高带宽的总线接口,常用于连接高速微处理器核心与其它部件。在 AXI 总线协议中,支持多种数据传输,包括窄位传输、非对齐传输和大小端传输。下面分别对这些传输类型进行详细介

    2024年02月19日
    浏览(45)
  • 【ARM AMBA AXI 入门 5 - AXI 协议中的 QoS信号及User信号介绍 】

    请阅读 【ARM AMBA AXI 总线 文章专栏导读】 上一篇:ARM AMBA AXI 入门 4 - AXI 协议中的 Out-of-Order transfer and interleave 介绍 下一篇:ARM AMBA AXI 入门 6 - AXI3 协议中的锁定访问之AxLOCK信号

    2024年02月16日
    浏览(42)
  • 【ARM AMBA AXI 入门 8 - AXI 协议中 RID/ARID/AWID/WID 信号】

    请阅读 【ARM AMBA AXI 总线 文章专栏导读】 上篇文章:ARM AMBA AXI 入门 7 - AXI 协议中的独占访问 使用背景介绍 下篇文章:ARM AMBA AXI 入门 9 - AXI 总线 AxPROT 与安全之间的关系

    2024年02月15日
    浏览(66)
  • 【ARM AMBA AXI 入门 16 - AXI 写响应通道 BVALID | BREADY | BRESP 详细介绍】

    请阅读 【ARM AMBA AXI 总线 文章专栏导读】 在 ARM AMBA AXI 协议中,写响应通道包括以下三个信号,用来完成写事务的确认和状态传递: BVALID 这是一个从设备(Slave)发出的信号,表明与当前写事务相关的 BRESP (写响应)信号是有效的。换句话说,当从设备已经处理了写请求,

    2024年02月21日
    浏览(49)
  • 【ARM AMBA AXI 入门 10 - AXI 总线 DATA信号与 STRB 信号之间的关系 】

    请阅读 【ARM AMBA AXI 总线 文章专栏导读】 AXI总线是ARM公司设计的高性能处理器接口,其中 STRB 和 DATA 信号在AXI协议中有特殊的含义和关系。 DATA信号 :在AXI中,DATA信号用于在读写操作中传输实际的数据。数据的大小可以根据AXI接口的位宽来变化,例如 32 位、 64 位或 128 位等

    2024年02月11日
    浏览(48)
  • 【AMBA】ARM总线-APB/AHB/AXI介绍

    什么是总线?首先,在学习AMBA总线之前,我们先对总线下一个定义。根据维基百科的定义:总线(Bus)是指计算机组件间规范化的交换数据(data)的方式,即以一种通用的方式为各组件提供数据传送和控制逻辑。根据chatgpt的解释: 总线(Bus)是计算机中用于传输数据、地址

    2024年02月12日
    浏览(46)
  • AXI之原子操作

    原子 ,可以认为是物质组成的最小单位,当然,现在科学表明,比原子小的还有质子和中子。但是这里我们还将原子作为最小单位来理解,那么原子就是不可分割的,因此原子操作就可以理解为不可分割的操作。 AXI的原子操作包括exclusive和lock两种,不管是exclusive还是lock操作

    2024年02月10日
    浏览(33)
  • AMBA协议AXI-Lite(AXI-Lite介绍)

    AXI_Lite顾名思义即简化版的AXI协议,是对完整的AXI协议裁剪后的AXI协议; 特点: 突发长度永远是1,即只能单次读写,无法连续读写,常用于配置寄存器; 由于删减了逻辑,其资源也消耗较少; 地址映射,相较于AXI-Stream,AXI-Lite的每个数据读写都需要对应的地址; AXI_Lite的系

    2024年02月13日
    浏览(58)
  • AMBA总线协议AXI——学习笔记

    2023.3.25 2023.4.23 AXI :高级可拓展接口 高性能、高带宽、低延迟 单向通道体系结构 独立的地址和数据通道 支持多项数据交换。通过 并行执行burst操作 ,极大地提高了数据吞吐能力。 AXI4 :高性能内存映射需求(如读写DDR、使用BRAM控制器读写BRAM等),为了区别,有时候也叫这

    2023年04月23日
    浏览(53)
  • AMBA协议- AXI协议指南(1)

    目录 1.概述 2.什么是amba协议, 为什么使用它?  AMBA 如何发展 3.axi 协议概述  AXI in a multi-manager system 4.Channel transfers and transactions  5. 通道信号 本文介绍了一个名为Advanced Microcontroller Bus Architecture (AMBA) AXI的协议,它是现代SoC(System-on-Chip)设计中非常流行的一个协议。这个指

    2024年01月23日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包