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



CPU 为什么要做分支预测而不是把两个分支都准备好? 第1页

  

user avatar   kerbalizer 网友的相关建议: 
      

你对分支预测的作用的理解有误。

分支预测不是为了实现指令预取。它和cache就没关系,它是用来优化流水线的。

想象一个没有分支预测的流水线:

取指-译码-重命名-分发-发射-执行-写回-提交

分支指令要到执行阶段才能知道分支目标是哪里,那么意味着取指到发射阶段都没有事情可以做,因为不知道应该用哪条指令。

如果加入分支预测:

取指-分支预测-译码-重命名-分发-发射-执行-写回-提交

那么分支指令只要到分支预测阶段就能继续取指,我们只浪费了一个流水线阶段。

注意,这个过程对cache毫无优化效果。

---------

如果你要把分支两个方向的指令都取来执行,CPU必须维护两个指令流。虽然很麻烦但是不是不能做(这样的技术会很类似于超线程)。

只不过CPU就要浪费一半的时间执行毫无用处的错误分支,从统计学上来说,相当于用了一个正确率仅有50%的垃圾分支预测器。




  

相关话题

  AMD 的 CPU 发展多年,为什么不能像 Intel 一样把针脚放在主板上,让主板通用呢? 
  CPU-Z如何识别CPU的制程呢? 
  CPU 为什么那么多引脚?都是什么作用的? 
  如果现在的CPU不集成核心显卡,将雕刻显卡的空间用于CPU是否能增强CPU的性能? 
  为什么英特尔和 AMD 的 CPU 缓存只有三级,而不做四级或者更多? 
  x86架构CPU的超线程技术是否会长期保持逻辑处理器数量为物理核心两倍的现状?未来可能会怎样发展? 
  双处理器系统有没有可能一个处理器处于实模式一个处理器处于保护模式? 
  Jim Keller 有什么有趣的故事吗? 
  如何评价高通宣布 2023 年推出下一代 Arm 处理器,对标苹果 M 系列,由苹果前员工负责开发? 
  AMD 锐龙 9 6900HX 曝光,集成全新 RX 680M 图形单元,还有哪些细节值得关注? 

前一个讨论
同是光纤输出数字信号,集成声卡与独立声卡到底音质有无差别?
下一个讨论
从音质上来说,耳机和音响那个好?





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