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



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

  

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

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

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

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

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




  

相关话题

  如何通俗易懂地说明 i7 真不一定比 i5 好? 
  现在应该买搭载麒麟990的集成5g的手机,还是搭载骁龙865的高性能外挂5g的手机啊? 
  为什么中国在芯片技术/工艺等落后的情况下,超算却一度超过美国? 
  为什么现在的芯片公司都在急需做编译器的人?这个职位是要去解决什么样的问题? 
  英特尔的处理器为什么不用 7 纳米的工艺? 
  如何评价 AMD 线程撕裂者 3990X? 
  在 AMD 工作是怎样的体验? 
  如何看待华为海思发布的 7nm 麒麟 810 新处理器,性能表现会如何?将产生哪些影响? 
  大一新生,刚买了搭载intel处理器的笔记本才得知AMD,yes。怎么办? 
  为何x86中“系统调用”要使用“内中断”实现? 

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





© 2025-02-23 - tinynew.org. All Rights Reserved.
© 2025-02-23 - tinynew.org. 保留所有权利