aarch64;加载获取独占与加载独占

2024-02-22

有什么区别LDAXR & LDXRAArch64 指令集之外的指令?

从参考手册来看,它们看起来完全相同(“获取”一词除外):

LDAXR- 加载获取独占寄存器:从按基址寻址的存储器加载字到Wt。将物理地址记录为独占访问。

LDXR- 加载独占寄存器:从内存中加载一个字,该字由基址寻址到Wt。将物理地址记录为独占访问。

Thanks


以最简单的形式,LDAEX == LDXR +DMB_SY.

这是我找到的 LDAXR 的描述:

C6.2.104 LDAXR

加载-获取独占寄存器从基址导出地址 寄存器值,从内存加载 32 位字或 64 位双字, 并将其写入寄存器。内存访问是原子的。 PE标志 作为独占访问而被访问的物理地址。这 独占访问标记由存储独占指令检查。看 同步和信号量(第 B2-135 页)。该指令还 具有加载-获取中描述的内存排序语义, 加载-获取 PC 和存储-释放(第 B2-108 页)。供参考 有关存储器访问的信息,请参阅第 C1-157 页的加载/存储寻址模式。

来自第 K11.3 节DDI0487达 https://developer.arm.com/docs/ddi0487/latest/arm-architecture-reference-manual-armv8-for-armv8-a-architecture-profile

ARMv8 架构添加了获取和释放语义 加载独占和存储独占指令,这使得它们能够 获取排序获取和/或释放语义。负载专用 指令可以被指定为具有获取语义,并且 可以指定Store-Exclusive指令有释放 语义。这些可以任意组合以允许原子 由成功的加载独占和存储独占对创建的更新 具有以下任何一项:

  • 无排序语义(使用 LDREX 和 STREX)。

  • 仅获取语义(使用 LDAEX 和 STREX)。

  • 仅发布语义(使用 LDREX 和 STLEX)。

  • 顺序一致的语义(使用 LDAEX 和 STLEX)。

另外(B2.3.5),

Load-Acquire指令的基本原理是引入 Load-Acquire 生成的内存访问之间的顺序 指令和内存访问按程序顺序出现 Load-Acquire 指令,使得由 Load-Acquire指令被每个PE观察到,在一定程度上 该 PE 需要在任何操作之前连贯地观察访问 在程序顺序之后出现的内存访问 加载-获取指令由该 PE 观察到,在某种程度上 PE 需要一致地观察访问。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

aarch64;加载获取独占与加载独占 的相关文章

随机推荐

  • Eclipse PyDev 完成挂起(再次)

    我在 Eclipse 中使用 PyDev 作为我的 Python 编辑器 就功能集而言 它很好 除了一件非常烦人的事情之外 一切都工作正常 代码完成本身运行速度很快 当我按 Alt Space 时 窗口几乎立即弹出 所有选项都在那里 顶部的
  • PHP DOM文档错误处理

    在我的应用程序中 我从 url 加载 xml 以便解析它 但有时该网址可能无效 在这种情况下我需要处理错误 我有以下代码 xdoc new DOMDocument try xdoc gt load url This line causes
  • 无法让 QueryDsl / APT 生成 Q 类

    我正在尝试在新的 Spring 项目中使用 QueryDsl 我对 QueryDsl 很陌生 对 Maven 和 Spring 也很陌生 所以我可能会缺少一些相当基本的东西 但我无法让 QueryDsl maven apt plugin 来
  • boost是否支持c++11的std::tuple的序列化?

    boost是否支持c 11的std tuple的序列化 我在 boost serialization 找不到 tuple hpp 头文件 我正在使用 boost 1 52 0 如果需要的话很乐意升级 但似乎1 53版本的变化 http ww
  • Silex - Twig_Error_Syntax:函数“路径”不存在

    根据Silex 文档 http silex sensiolabs org doc providers twig html symfony2 components integration Symfony 提供了一个 Twig 桥 它在一些 S
  • React-native run-android 卡在 99% appDebug

    I have previously shut down the react native run android still it gets stuck at 99 executing I don t seem to find any so
  • Gulp src 返回空文件

    我正在尝试为 sass js 编译创建 Gulp 任务 并且我还包含了用于实时重新加载的代码 它工作得很好 只是有时 gulp src 在我编辑它们时会将空文件扔到管道中 var gulp require gulp var sass req
  • 是否可以从 CUDA 10.1 内核调用 cuBLAS 或 cuBLASLt 函数?

    关于 CUDA 10 1 我正在对几何网格进行一些计算 并在网格的每个面进行大量独立计算 我运行一个 CUDA 内核来计算每个面 计算涉及一些矩阵乘法 因此我想使用 cuBLAS 或 cuBLASLt 来加快速度 由于我需要进行许多矩阵乘法
  • 测试 Django 信号的正确方法

    我正在尝试测试发送的信号 它正在提供 args 内部触发信号contact question create提交表单后立即查看 我的测试用例是这样的 def test form should post proper data via sign
  • TinyMCE 不工作 - 即使有他们的例子?

    ISSUE 我正在尝试使用 TinyMCE 4 0 12 但无法让它工作 它只会让我的文本区域完全消失 到目前为止我所做的 我什至从他们的页面准确复制了他们的示例代码 但它甚至不起作用 我已将所有文件提取到 js tinymce 我是否缺少
  • 如何在实体框架中按最后带有空值的列进行排序

    有谁知道如何返回最后带有空值的字符串的有序列表 我有这样的事情 using var context new DomainEntities var result context Users OrderBy u gt u LastName Th
  • module.exports 将所有函数包含在一行中

    这是一个后续问题在 Node js 中 如何 包含 其他文件中的函数 https stackoverflow com questions 5797852 in node js how do i include functions from
  • 检测图像上的点击

    我正在尝试动态加载图像并显示它们 如下所示 var uploader plupload getUploader uploader bind FileUploaded function up file res append div a hre
  • 当我可以直接访问IP时,为什么还需要xip io?

    xip io 欢迎屏幕显示如下 10 0 0 1 xip io 解析为 10 0 0 1 我可以直接使用IP 为什么还要经过xip io呢 是用域名而不是IP来访问服务器吗 主要用例是当您的应用程序需要支持多个子域时 以这些生产子域为例 w
  • 在 VIM 中处理大文件

    我尝试在 VIM 中打开一个巨大的 2GB 文件 但它被卡住了 我实际上不需要编辑文件 只需高效地跳转即可 我如何在 VIM 中处理非常大的文件 我今天有一个 12GB 的文件需要编辑 vim LargeFile 插件对我不起作用 它仍然耗
  • Laravel 迁移:类“未找到”

    我正在将 Laravel 准系统项目部署到 Microsoft Azure 但是每当我尝试执行php artisan migrate我收到错误 2015 06 13 14 34 05 production ERROR 异常 Symfony
  • 如何在不使用第三方网关服务的情况下设置 Kannel

    我想设置 Kannel 来发送 SMS 消息 而无需通过 Clickatell 或 Twilio 等第三方网关 换句话说 我想连接到每个无线服务 AT T Verizon 等 的 SMPP 服务器 以这种方式运行 Kannel 服务器有多困
  • CMake 不支持工具集规范

    我正在尝试构建使用 CMake 的 Checked C 项目 但是当我生成 makefile CMake 时出现以下错误 checkedc build cmake llvm CMake Error at CMakeLists txt 57
  • 在 python 中使用 selenium 将密钥发送到文本区域不起作用

    我试图通过制作一个机器人来学习硒 该机器人可以访问 Instagram 帐户并对帖子发表评论 这是我的代码 from selenium import webdriver from selenium webdriver common keys
  • aarch64;加载获取独占与加载独占

    有什么区别LDAXR LDXRAArch64 指令集之外的指令 从参考手册来看 它们看起来完全相同 获取 一词除外 LDAXR 加载获取独占寄存器 从按基址寻址的存储器加载字到Wt 将物理地址记录为独占访问 LDXR 加载独占寄存器 从内存