百科问答小站 logo
百科问答小站 font logo



多核cpu多线程同时执行cmpxchg指令会发生什么? 第1页

  

user avatar   bei-ji-85 网友的相关建议: 
      

拿Intel的CPU作为例子(别的CPU不太了解),手头没有资料,全凭记忆回答:

CPU内部,多个核心之间有一条环形总线,当有某一个核心需要锁住cache的时候,这个总线会通知所有的核心,所以只要有某个核心使用了cmpxchg,那么其它的核肯定都会停下来,不会出现并发的情况。(关于环形总线的信息,看这个:zhihu.com/question/3463

这条总线的带宽非常高,相对延迟会比较小,但锁总线的开销也是很大的,我印象里好像是几十个指令周期的延迟。

所以不会有真正并发的操作,都是分开执行的。




  

相关话题

  2021年「矿难」什么时候来临? 
  如何看待 NVIDIA 称「我们的 GPU 显卡比 CPU 节能 42 倍」? 
  微处理器系统结构与嵌入式系统设计教材推荐? 
  三星宣布 3nm 芯片成功流片,这意味着什么?将对行业带来哪些影响与变化? 
  怎么看 Anandtech 实测骁龙 865 功耗表现不佳,会不会是下一个火龙? 
  如何看待在杨笠代言intel后,intel的11处理器全部拉跨? 
  32位保护模式下,段基地址应尽量选取16字节对齐的那些地址,可使访问的性能最大化? 
  为什么台式机CPU还没有整合芯片组(南桥)? 
  如何看待AMD INTEL现在的趋势以及未来的走向? 
  志强E5多核心较低频cpu(3.0Ghz)会成为游戏的瓶颈吗? 

前一个讨论
ARM架构怎样设计才能在指令执行性能上超越X86架构?
下一个讨论
汇编下call和ret指令是否有内存屏障的作用?





© 2024-12-22 - tinynew.org. All Rights Reserved.
© 2024-12-22 - tinynew.org. 保留所有权利