腾讯云
开发者社区
文档
建议反馈
控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
登录/注册
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
1
回答
与
顺序
无关
的
透明度
-
内存
屏障
opengl
、
rendering
我正在阅读
的
示例来自opengl红皮书。源代码在这里:https://github.com/openglredbook/examples/blob/master/src/11-oit/11-oit.cpp 我读到图像加载存储是不一致
的
内存
访问,并且不保证2个渲染命令之间
的
顺序
。https://www.khronos.org/opengl/wiki/Memory_Mod
浏览 19
提问于2019-05-09
得票数 0
1
回答
数据存储
屏障
(DMB)指令是否阻止ARM多核体系结构中
的
核心?
arm
、
multicore
、
barrier
我阅读了ARM架构参考手册中
的
内存
屏障
,并看到了数据存储
屏障
(DMB)指令。或者dmb指令
与
这些部分毫
无关
系?在ARM参考手册()中,除
内存
访问(ld,st)外,DMB指令不影响其他指令
的
执行。但我
浏览 7
提问于2022-03-31
得票数 0
3
回答
互斥能取代
内存
屏障
吗?
memory
、
linux-kernel
、
mutex
、
memory-barriers
我试图理解
内存
障碍,并遇到了下面的维基百科链接,这很好地解释了这个概念,但我想这在系统中是否真的有帮助,因为我们在系统中有互斥锁
内存
部分。使用维基百科中提到
的
相同代码,下面的方法可以使用互斥解决问题吗?
浏览 0
提问于2015-02-26
得票数 1
3
回答
boost::atomic是否充当了硬件
内存
屏障
?
c++
、
boost
、
memory-barriers
据我所知,编译器(软件)和CPU (硬件)会出于性能原因对指令进行重新排序,而
内存
缓冲器可以防止重新排序,它们是在编译器级别或CPU级别。MSDN说"Interlockedxxxx函数生成一个完整
的
内存
屏障
(或栅栏)来确保
内存
操作按
顺序
完成“,我不知道”完整
内存
屏障
“是指硬件
屏障
还是软件
屏障
? boost::atomic做了什么?
浏览 2
提问于2013-08-28
得票数 1
1
回答
如何理解读
内存
障碍和易失性
multithreading
、
volatile
、
memory-barriers
一些语言提供了一个volatile修饰符,该修饰符被描述为在读取支持变量
的
内存
之前执行“读
内存
屏障
”。 读存储器
屏障
通常被描述为一种确保CPU在
屏障
之后执行所请求
的
读之前已经执行了所请求
的
读
的
方式。然而,使用这个定义,似乎仍然可以读取陈旧
的
值。换言之,以特定
顺序
执行读取似乎并不意味着必须咨询主存储器或其他CPU以确保读取
的
后续值实际上反映了在读取
屏障
时系统中<em
浏览 1
提问于2009-11-24
得票数 64
回答已采纳
2
回答
除了防止指令
的
重排外,
内存
障碍还会执行哪些任务?
c
、
multithreading
、
memory-barriers
我知道,
内存
障碍阻止了指令从前到后以及从后到后
的
重新排序,例如,如果我有以下说明:instruction 2memory barrierinstruction 5这些指令可以按以下
顺序
执行:instruction 1memory barrierinstruction 6instruction 4 但它们永远不会按以下
顺序</em
浏览 2
提问于2017-03-08
得票数 3
1
回答
除了防止指令
的
重排外,
内存
障碍还会执行哪些任务?
c
、
multithreading
、
x86
我知道,
内存
障碍阻止了指令从前到后以及从后到后
的
重新排序,例如,如果我有以下说明:instruction 2memory barrierinstruction 5这些指令可以按以下
顺序
执行:instruction 1memory barrierinstruction 6instruction 4 但它们永远不会按以下
顺序</em
浏览 0
提问于2018-05-10
得票数 3
1
回答
内存
障碍是否
与
某些特定
的
内存
位置有关?
concurrency
、
memory-model
我正在尝试学习有关低级并发
的
基础知识。我认为“所有的存储操作”肯定意味着特定
屏障
类型
的
实例比一个
屏障
类型
的
实例多,并且
屏障
实例和商店之间可能存在1:N关系。我在哪里可以找到对此的确认?
浏览 2
提问于2016-09-26
得票数 0
1
回答
中国数据自动化系统中
的
屏障
当量(CLK_GLOBAL_MEM_FENCE)
cuda
、
opencl
、
gpu
、
memory-barriers
、
barrier
它应该等到块中
的
所有线程都达到了
屏障
。和全局
内存
访问之前完成
的
屏障
,应该成为可见
的
所有线程在块后
的
屏障
。做__syncthreads()就足够了,还是__threadfence()对于全局
内存
围栏是必要
的
,还是两者都需要?如果是的话,两者应按什么
顺序
调用?
浏览 0
提问于2018-08-16
得票数 0
回答已采纳
1
回答
内存
屏障
/栅栏如何抑制CPU执行指令重排序?
multithreading
、
memory-barriers
所谓“由CPU执行”,我
的
意思是我不关心由编译器完成
的
指令重新排序,以及由存储缓冲区和CPU缓存引起
的
重新排序。对于由存储缓冲区和CPU缓存引起
的
重新排序(这在文章中已经讨论过),我已经了解了
内存
屏障
如何阻止这种重新排序(
内存
重新排序)。我在乎
的
是这样
的
重新排序:data=1; //statement1但是,运行在ThreadA上<e
浏览 6
提问于2015-12-23
得票数 2
回答已采纳
1
回答
使用
内存
屏障
强制按
顺序
执行
c
、
gcc
、
assembly
、
compilation
、
memory-barriers
预期
的
结果是,包含
内存
屏障
的
代码
的
输出文件将包含我在源代码中
的
所有赋值,其中包含mfence。后来: 但是,正如您所看到
的
,带
内存
屏障
的</
浏览 2
提问于2016-08-03
得票数 6
回答已采纳
4
回答
内存
屏障
是CPU执行
的
指令,还是仅仅是一个标记?
assembly
、
x86
、
cpu-architecture
、
memory-barriers
、
memory-fences
根据我目前所知,
内存
屏障
(例如:mfence)用于防止指令从
内存
屏障
之前到之后以及从之后到之前
的
重新排序。这是一个使用中
的
内存
屏障
的
示例:instruction 2mfenceinstruction 5现在我
的
问题是:mfence指令只是一个标记,告诉CPU按什么
顺序
执行指令?或者它
浏览 4
提问于2017-03-10
得票数 22
1
回答
障碍/栅栏以及获取、发布语义是如何在微观架构上实现
的
?
x86
、
x86-64
、
cpu-architecture
、
memory-barriers
、
micro-architecture
我
的
问题是这些障碍和
内存
排序语义是如何在x86和ARM微体系结构上实现
的
? 对于存储障碍,在x86上,存储缓冲区维护存储
的
程序
顺序
,并将它们提交给L1D(从而使它们在全局上以相同
的
顺序
可见)。如果未订购存储缓冲区(不按程序
顺序
维护它们),如何实现存储存储
屏障
?它只是“标记”存储缓冲区
的
方式,使存储在
屏障
之前提交到缓存连贯域之后存储?或者,
内存
屏障
是否确实刷新了存储
浏览 3
提问于2019-09-23
得票数 9
回答已采纳
1
回答
锁
与
记忆
屏障
multithreading
、
memory
、
synchronization
、
locks
、
memory-barriers
什么时候可以通过使用
内存
屏障
来避免锁?
与
本例中
的
情况一样: (最后一个实现是使用
内存
屏障
和rest,它们都使用锁或信号量)。 在这种情况下使用
内存
屏障
比使用锁更好吗?如果是,为什么?使用
内存
屏障
可以避免锁
的
最常见情况是什么?
浏览 2
提问于2016-08-01
得票数 2
2
回答
记忆
屏障
和松弛记忆模型
memory-barriers
目前,我正在努力提高对
内存
屏障
、锁和
内存
模型
的
理解。部分存储
顺序
(PSO)允许进一步
的
Write->Write松弛,而宽松存储
顺序
(RSO)允许所有上述松弛。print x 我目前
的
理解告诉我,如果我在TSO机器上运行这段代码,就不需要额外
的
内存
障碍。如果是PSO机,我需要在x=1和flag =1之间设置释放
屏障<
浏览 3
提问于2011-08-22
得票数 2
2
回答
内存
屏障
和缓存刷新
c
、
caching
、
memory-barriers
即使在缓存刷新
的
情况下,也有实现
内存
屏障
的
archs吗?我读到
内存
屏障
只影响CPU重新排序,但我读到了
与
内存
屏障
相关
的
语句:确保所有cpu都看到值.,但对我来说,这意味着缓存刷新/失效。
浏览 4
提问于2012-07-01
得票数 11
2
回答
缓存、分支预测器和TLB维护操作
caching
、
assembly
、
arm
、
cpu-cache
、
memory-barriers
关于ARM DSB
内存
屏障
数据同步
屏障
是一种特殊
的
内存
屏障
。在此指令完成之前,在此指令执行后,没有按程序
顺序
排列
的
指令。大家都很清楚,接下来: 在此指令完成之前,所有显式
内存
都将进行访问。 在本指令完成之前,所有Cache、分支预测器和TLB 维护操作。这是否意味着DSB指令本身可以触发这样
的
冲洗?还有什么被认为是维护?
浏览 2
提问于2018-10-17
得票数 1
回答已采纳
1
回答
无锁共享
内存
访问中
的
易失性和
内存
屏障
?
c
、
concurrency
、
shared-memory
、
volatile
、
memory-barriers
嗨,我有一个关于在C中使用易失性和
内存
屏障
的
一般问题,同时使共享
内存
中
的
内存
变化被多个线程并发访问而没有锁。据我所知,易失性和记忆障碍有以下一般用途: ( A)确保所有挂起
的
内存
访问(读/写(取决于
屏障
))在
屏障
之前已经正确完成,并且只有在随后执行该
屏障
之后
的
内存
访问。( B)当编译器将C代码转换为机器代码时,程序
浏览 13
提问于2022-02-16
得票数 1
回答已采纳
1
回答
memory_order_relaxed和原子RMW运行
c++
、
multithreading
、
memory-model
、
compare-and-swap
、
stdatomic
C++标准说,对atomics
的
RMW (读-修改-写)操作将对原子变量
的
最新值进行操作。因此,在这些操作中使用memory_order_relaxed不会影响从多个线程并发执行
的
RMW操作。我假设只有在RMW操作中存在一些
内存
屏障
或栅栏时,即使指定
的
内存
顺序
是“放松
的
”,这种行为才是可能
的
。如果我
的
理解是错误
的
,请纠正我,如果没有使用这样
的
内存
浏览 2
提问于2017-11-06
得票数 5
回答已采纳
1
回答
线程之间
的
内存
隔离/
屏障
如何与其他线程中
的
隔离/
屏障
交互?
multithreading
、
memory
、
memory-barriers
、
barrier
不同线程中
的
内存
屏障
之间
的
相互作用是什么? 更具体地说,线程中
的
内存
围栏是否只阻止线程内指令
的
重新排序,或者线程之间是否存在同步,就像一个线程等待到另一个线程中
的
相应围栏为止?如果多个线程具有相同类型
的
栅栏,并且多个线程具有成对
的
栅栏,会发生什么情况?哪种类型
的
栅栏需要在线程之间配对,以及如何使用它们?如果使用
内存
屏障
的
代码以单线程方式运行,会有
浏览 24
提问于2020-12-08
得票数 0
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
并发编程系列之volatile内存语义
(七)Volatile的作用及原理
Java 内存模型的基础(一)
Intel DPDK的内存屏障介绍
volatile关键字的实现原理深度解析
热门
标签
更多标签
云服务器
即时通信 IM
ICP备案
对象存储
实时音视频
活动推荐
运营活动
广告
关闭
领券