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



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

  

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

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

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

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

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




  

相关话题

  如何评价龙芯首款自主指令集 CPU 3A5000 发布:性能大涨 50%,逼近市场主流桌面处理器? 
  可以预先将 X86 平台机器码译码到 micro operations 来解决 X86 译码效率低吗? 
  至强CPU,都有哪些你不知道的小秘密? 
  CPU功率低于多少时,就可以不带风扇? 
  有无必要买台高端电脑,只为几年不换? 
  为什么 AMD 的推土机、打桩机失败了,锐龙却成功了? 
  龙芯现在怎么样? 
  有没有可能磁代替电做CPU,这样手机就不会发热了? 
  如何看 intel 4 工艺提前发布,是不是 AMD 给的压力太大,牙膏厂变身喷射勇士? 
  电脑 16G 内存升级成 32G 内存日常使用区别大么? 

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





© 2024-06-02 - tinynew.org. All Rights Reserved.
© 2024-06-02 - tinynew.org. 保留所有权利