相关疑难解决方法(0)

乱序执行与投机执行

我已阅读维基百科页面关于无序执行推测性的exectution.

我不能理解的是相似之处和不同之处.在我看来,当推测执行没有确定条件的值时,它会使用无序执行.

当我阅读Meltdown和Spectre的论文并做了进一步的研究时,出现了混乱.它在陈述消融纸即熔毁是基于乱序执行,而其他一些资源,包括对维基页面sepeculative执行状态消融是基于推测执行.

我想对此有所澄清.

cpu-architecture speculative-execution

8
推荐指数
2
解决办法
2628
查看次数

为什么要预测分支,而不是简单地并行执行?

我相信在创建CPU时,当选择错误的分支时,分支预测是一个主要的减速.那么为什么CPU设计师选择一个分支而不是简单地执行两个分支,然后一旦你知道哪一个被选中就切掉一个?

我意识到这只能在短数量的指令中深入2或3个分支,或者并行阶段的数量会变得非常大,所以在某些时候你仍然需要一些分支预测,因为你肯定会遇到更大的分支,但是不会像这样的几个阶段有意义吗?在我看来,它会显着加快速度,值得增加一点复杂性.

即使只是一个分支深度几乎有一半的时间被错误的分支吃掉,对吧?

或者它可能已经有点像这样?当您进行组装时,分支通常只在两种选择中进行选择,对吗?

cpu-architecture branch-prediction

3
推荐指数
1
解决办法
470
查看次数