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



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

  

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

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

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

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

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




  

相关话题

  从处理器架构的角度看,为什么超威半导体(AMD)相对英特尔(Intel)的中央处理器表现高分低能? 
  如何评价ARM新发布的 Cortex-A78以及Cortex-X1 ? 
  在同一个进程中,能否在一个线程用一个epoll大循环管理多个UdpServer+TcpServer? 
  目前预算不足,是选择廉价 CPU 和较好的 GPU,还是选择较好的 CPU 再整个亮机卡? 
  为什么修改esp寄存器会触发异常? 
  你们是如何评价联发科(MTK)处理器的? 
  对于 AMD 谈 CPU 市场份额目标:我们要夺回曾经失去的市场,你怎么看? 
  c语言程序经过编译后,每条指令都有一个内存地址,那两个程序如果有相同内存地址的指令怎么办? 
  Yoga14s 2021作为二奶机选酷睿还是锐龙? 
  为什么感觉酷睿 i7 8700 的 CPU 还没 8100 的速度快? 

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





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