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



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

  

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

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

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

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

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




  

相关话题

  ARM 版处理器的 MacBook 推出后,你会选 X86 版还是 ARM 版? 
  如何看待英特尔 12 代酷睿 i9-12900HK 跑分曝光,超越苹果 M1 Max? 
  有没有一本从电路开始讲然后汇编再到C语言的书? 
  cpu —>内存—>硬盘这种方式是不是更慢? 
  芯片功耗年年降低,为什么还是会有火龙出现? 
  Cpu访问cache未命中,是否还需要访问一次cache? ? 
  可以预先将 X86 平台机器码译码到 micro operations 来解决 X86 译码效率低吗? 
  手机里塞两个处理器芯片运算能力会不会翻倍? 
  apple最新的A13处理器不考虑温控下,能大致等同于什么级别的PC领域的CPU和GPU? 
  英特尔(Intel)用大小核,大核刷单核跑分,小核刷多核跑分,为什么不用1个大核加无数小核? 

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





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