Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >ARMv8.3 rcpc的含义

ARMv8.3 rcpc的含义
EN

Stack Overflow用户
提问于 2021-08-05 21:44:39
回答 1查看 138关注 0票数 2

在ARMv8.3中引入了一条新指令: LDAPR。

当有一个STLR后跟一个指向不同地址的LDAR时,这2个不能被重新排序,因此它被称为RCsc (发布一致顺序一致)。

当有一个STLR,后跟一个LDAPR到不同的地址时,这2个地址可以重新排序。这被称为RCpc (发布一致性处理器一致性)。

我的问题是PC部分。

PC是TSO的一种松弛,其中TSO是多拷贝原子,而PC是非多拷贝原子。

ARMv8的内存模型已经改进为多副本原子,因为没有供应商创建过非多副本原子微体系结构,这使得内存模型变得更加复杂。

所以我遇到了一个矛盾。

关键的问题是:每个商店(包括松弛的)都是原子的吗?

如果是这样,那么rcpc的PC部分对我来说就没有意义了,因为PC是非多拷贝原子的。由于ARM在过去是否是非多副本原子,它会是一个遗留名称吗?

PC有多种定义;所以这可能就是原因。

EN

回答 1

Stack Overflow用户

发布于 2021-08-08 01:11:05

在实践中,STLR / LDAPR提供C++ std::memory_order_acq_rel,而不是SC。

因此,“处理器一致性”大概是在描述这样一个事实,即当前内核在程序顺序中看到自己的操作,并且作为一种方式来说明它不是顺序一致的,因为它们没有使用这个术语。这并不意味着内存模型规则的其他部分被删除。

是多拷贝原子的。也就是说,通过一致的缓存,它对所有其他内核同时可见,因此所有线程可以就两个独立写入器完成的两个存储的顺序达成一致( IRIW litmus测试)。与POWER where some threads see stores early from other SMT threads on the same physical core不同。

我不认为LDAPR放松了这一保证。

(ARMv7在纸面上没有这个属性,但所有现实世界的实现都有。因此,除了增加对ARMv8 32位模式新指令的支持外,ARM能够在不实际改变任何实际ARM微体系结构中的任何工作方式的情况下,加强他们的保证。1995年的"Shared Memory Consistency Models: A Tutorial“,链接在评论中,使用术语RCpc来描述一类内存模型,该模型确实包括一些读者能够在其他读者之前看到一些商店,从而允许IRIW。因此,似乎要么是ARMv8使用了不同的含义,要么是其他要求仍然在起作用,以禁止IRIW重新排序。)

最大的警告:我不是这方面的术语专家,而且我以前从来没有听说过“处理器一致性”,所以我只是从上下文中猜测它们的意思,其解释将与所有已知事实一致。如果这与公认的术语定义不一致,请纠正我。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68676666

复制
相关文章
DreamweaverCS6安装时出错的解决教程
目前,CS6 是 Adobe dreamweaver 的最新版本,增强了对 jQuery 、jQuery Mobile 、HTML5 和 CSS3 的支持,优化了FTP功能,及时保存在本地和远程服务器,更有利于团队协作,当然我之前用的是很老的版本,今天同事在安装的时候出现"0xc000007b"错误代码,然后整理里一下解决方案。
李洋博客
2021/06/15
2.9K0
quartus ii运行错误_安装quartus时弹出错误
Info: ******************************************************************* Info: Running Quartus II 64-Bit Analysis & Synthesis Info: Version 11.0 Build 157 04/27/2011 SJ Full Version Info: Processing started: Thu May 15 13:09:59 2014 Info: Command: quartus_map –read_settings_files=on –write_settings_files=off simulate -c simulate Info: Parallel compilation is enabled and will use 2 of the 2 processors detected Info: Found 1 design units, including 1 entities, in source file simulate.v Info: Found entity 1: modelsim_test Error: Top-level design entity “simulate” is undefined
全栈程序员站长
2022/11/04
5.2K0
quartus ii运行错误_安装quartus时弹出错误
zblogasp安装时出错,左侧显示无法使用Access数据库
今天突然想起之前的一个网站博客,感觉还不错,但它是zblogasp的,所以想移植到zblogphp版本,但是把网站数据恢复之后登陆后台显示,数据库连接出错,因为asp+access类型,目录位置都对,所以可能是access数据库连接失败。
李洋博客
2021/06/15
4.8K0
Oracle创建Sequence时Order/NoOrder选项
Oracle创建Sequence时会有Order/NoOrder两个选项,那么到底什么场景用到Order,什么场景又用到NoOrder呢?
程序新视界
2022/11/30
7080
HttpWebRequest 在出错时获取response内容
HttpWebRequest 请求时,服务器会返回500 501这些错误 并包含错误信息,通过如下代码可以拿到错误信息
冰封一夏
2019/09/11
1.3K0
idea配置Tomcat时没有Artifacts选项
Artifacts是maven中的一个概念,表示某个module要如何打包,例如war exploded、war、jar、ear等等这种打包形式;
全栈程序员站长
2022/11/02
1.5K0
idea配置Tomcat时没有Artifacts选项
实战记录—PHP使用curl出错时输出错误信息
踩过的坑,实在不想再踩了,记录记录。 CURL错误列表 curl_exec($ch);//执行curl if (curl_errno($ch)) { echo 'Curl error: ' . curl_error($ch);//出错输出错误 } curl_close($ch);//关闭curl 同理,像正则,Json,数据库这些出错时基本都会有提供有帮助的错误信息 CURL状态码列表 状态码 状态原因 解释 0 正常访问 1 错误的协议 未支持的协议。此版cURL 不支持这一协议。 2 初始
房东的狗丶
2023/02/17
6.3K0
MyBatis集成到Spring时配置MapperScannerConfigurer出错
在web项目中同时集成了spring mvc和mybatis。 将jdbc配置参数独立在外部配置文件中,然后通过<context:property-placeholder>引入。 此时在Spring中注入org.mybatis.spring.mapper.MapperScannerConfigurer,如下所示:
编程随笔
2019/09/11
2.5K0
WordPress 建立数据库连接时出错
WordPress 网站,需要在一个运行PHP 7.4或更高版本;数据库软件可采用MySQL 5.6或更高版本的服务器中才能运行的。
.T.
2022/02/19
5.4K0
WordPress 建立数据库连接时出错
wordpress建立数据库连接时出错
1、表单信息正确无误 2、安全组配置已更改 3、数据库远程连接已开启 4、数据库在3306端口正常运行并可连接 5、本地无法远程连接数据库
李玺
2022/08/03
3.3K0
wordpress建立数据库连接时出错
Nginx编译安装以及选项
编译安装Nginx 1、安装常见的工具和库(GCC、PCRE、zlib、OpenSSL)
星哥玩云
2022/07/14
9520
导出文件时,responseType设置为'arraybuffer'出错?
由于请求的时候设置了responseType:’arraybuffer’,返回的是数据流,要取得json信息需要进行转换:
用户2323866
2021/06/23
2.7K0
安装python扩展包pylint出错
用VSCode作为python的IDE,VSCode会提示安装pylint。pylint是python代码风格控制插件,如果你写的代码不符合常见风格,就会报错。使用pip安装pylint时往往会报错,如图所示
fem178
2018/07/25
1.6K0
安装python扩展包pylint出错
WiX安装选项--环境变量
系统环境变量由 Windows 定义并应用到所有计算机用户。对系统环境的更改将写入注册表,而且通常需要重启计算机才能生效。通常我们的程序中也会使用环境变量,如何在WiX设置环境变量呢? 安装一个环境变量,我们就需要向Environment table中添加一条记录,其中有几个字段是必须设置的: Environment - public key to be referenced from other tables. Name - name of the environment variable we wan
张善友
2018/01/19
1.4K0
Windows 安装svn(出错已解决)和MySQL安装[通俗易懂]
1.https://tortoisesvn.net/downloads.html网站下载
全栈程序员站长
2022/09/23
1.4K0
Windows 安装svn(出错已解决)和MySQL安装[通俗易懂]
xampp linux_xampp安装出错
xampp是一套很好使用的web服务器组合软件,这里教大家如何在linux安装搭建xampp,希望能帮助到你
全栈程序员站长
2022/11/17
3.4K0
linux下安装mysql-python出错
命令 pip install mysql-python 然后出错了: Traceback (most recent call last): File "<string>", line 1, in <module> File "/tmp/pip-build-YEYPJp/mysql-python/setup.py", line 17, in <module> metadata, options = get_config() File "setup_posix.py", line 43, i
零式的天空
2022/03/22
1.3K0
点击加载更多

相似问题

尝试安装Acumos时出错

118

尝试安装shinyapps时出错

12

尝试安装MSMQ时出错

10

尝试安装cldr时出错

17

尝试安装PyCrypto时出错

141
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档