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



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

  

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

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

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

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

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




  

相关话题

  如果将开发程度为 100% 的人脑作为电脑的 CPU,其运行速度能达到多快? 
  第一个汇编器是怎么来的,直接输入二进制编码吗? 
  Intel为什么不取消AMD的X86架构授权? 
  用了几年的华为p10稍微有点卡顿,cpu是麒麟960,我希望开启强制GPU渲染解决卡顿,请问可行吗? 
  函数调用带来的 cache miss 会对 cpu 性能带来多大的影响? 
  为什么4路CPU的服务器至少要配4个内存,只配2个内存会有什么影响,性能会降低多少? 
  Matlab/NumPy/C++Eigen 速度差距为什么很大? 
  14nm和16nm的手机处理器有哪些? 
  怎样写出一个更快的 memset/memcpy ? 
  Windows 上最小的「HelloWorld.exe」能有多小? 

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





© 2025-05-29 - tinynew.org. All Rights Reserved.
© 2025-05-29 - tinynew.org. 保留所有权利