我相信在创建CPU时,分支预测是当选择错误的分支时的主要减速因素。为什么CPU设计人员选择一个分支而不是简单地执行这两个分支,然后一旦确定哪个被选择了,就切掉其中一个呢?
我意识到这只能在短时间内进行2或3个分支深度内的操作,否则并行阶段的数量将变得非常大,所以在某些时候,您仍然需要一些分支预测,因为您肯定会遇到更大的分支,但是像这样的几个阶段是否有意义呢?对我来说,这似乎可以显着加快速度,并且值得增加一些复杂性。
即使只有单个分支深度,也会减少近一半由错误分支消耗的时间,是吗?
或者可能已经部分地像这样完成了吗?当你转到汇编语言时,分支通常只选择两个选项,对吗?
我意识到这只能在短时间内进行2或3个分支深度内的操作,否则并行阶段的数量将变得非常大,所以在某些时候,您仍然需要一些分支预测,因为您肯定会遇到更大的分支,但是像这样的几个阶段是否有意义呢?对我来说,这似乎可以显着加快速度,并且值得增加一些复杂性。
即使只有单个分支深度,也会减少近一半由错误分支消耗的时间,是吗?
或者可能已经部分地像这样完成了吗?当你转到汇编语言时,分支通常只选择两个选项,对吗?