Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++11 原子操作的成本在不同的体系结构中如何变化?_C++11_Atomic_Cpu Architecture_C11_Compare And Swap - Fatal编程技术网

C++11 原子操作的成本在不同的体系结构中如何变化?

C++11 原子操作的成本在不同的体系结构中如何变化?,c++11,atomic,cpu-architecture,c11,compare-and-swap,C++11,Atomic,Cpu Architecture,C11,Compare And Swap,在普通体系结构(x86(版本)、arm(版本)和PowerPC(版本))上,原子操作的成本比较如何 如果您包括对周期的来源估计,并根据C11内存顺序进行解释,或包括架构上使用的指令,则会获得额外的分数 如果您可以包括诸如RISC-V或Mill architecture之类的不常见/建议的体系结构,则可获得额外的加分。我知道我的要求很高,即使您只能回答体系结构的一个子集,请回答。对我来说,这看起来像是家庭作业,很抱歉,我们不能为您完成家庭作业。x86还应该有“(版本)”,这两者之间存在巨大差异,例

在普通体系结构(x86(版本)、arm(版本)和PowerPC(版本))上,原子操作的成本比较如何

如果您包括对周期的来源估计,并根据C11内存顺序进行解释,或包括架构上使用的指令,则会获得额外的分数


如果您可以包括诸如RISC-V或Mill architecture之类的不常见/建议的体系结构,则可获得额外的加分。

我知道我的要求很高,即使您只能回答体系结构的一个子集,请回答。对我来说,这看起来像是家庭作业,很抱歉,我们不能为您完成家庭作业。x86还应该有“(版本)”,这两者之间存在巨大差异,例如,锁定指令(不是唯一的原子指令)在推土机上的速度大约是Ryzen上的两倍。@IsuruH我真的不认为这看起来像家庭作业。这个问题相对来说比较具体(至少到目前为止,我没有遇到过像这样的关于学校或大学中特定架构的问题)。他询问不常见的体系结构这一事实是另一个迹象,表明这个问题与解决这个家庭作业无关。如果你因为这个问题否决了这个问题,请考虑取消投票。在每个架构中,它取决于争用而不争用。对于自然对齐的共享变量,无争用情况甚至不必脱离核心。但对于争用情况,在双插槽多核Xeon上从另一个插槽获取缓存线可能比在单插槽四核桌面上慢得多。或者,如果线程运行在同一物理核心的不同逻辑核心上(SMT/hyperreading),则可能会降低开销。但是请参见x86原子存储->原子加载,而不是类似于RMW的
lock inc