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



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

  

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

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

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

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

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




  

相关话题

  CPU供电为啥没有跟主板24PIN供电合并成一个接口? 
  CPU(为方便讨论,这里仅限32位X86指令)的各种构架,比如奔3,奔4,对纯加法运算速度有帮助吗? 
  三星猎户座处理器失败原因是什么? 
  办公用电脑CPU为什么几乎被Intel垄断? 
  8086CPU的16位数据线如何传送大于16位的数据? 
  rtx3060最低需要什么CPU搭配? 
  超威半导体锐龙(AMD Ryzen)系列的处理器有什么问题和缺陷? 
  年薪到手30万+,却舍不得给自己配一台台式机,是不是很可悲? 
  请问这是四核还是双核四线程? 
  8088/8086在响应中断保护断电的时候到底是将当前IP保存还是IP+1保存? 

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





© 2025-06-19 - tinynew.org. All Rights Reserved.
© 2025-06-19 - tinynew.org. 保留所有权利