分支预测练习

时间:2016-10-29 05:34:11

标签: pipeline cpu-architecture

假设一台带有7级管道的机器。假设分支在第六阶段得到解决。假设30%的指令是分支。

3.1在这台机器上每个分支误预测有多少浪费的工作指令?

3.2假设1000条指令位于程序的正确路径上,并假设分支预测精度为10%。在这台机器上提取了多少指令?

3.3假设我们修改了机器,使其使用双路径执行(从两个分支路径中的每一个获取相同数量的指令)。假设在获取新分支之前解析分支。写下在这种情况下将提取的指令数量,作为N的函数。(请出示您的工作以获得全部功劳。)

尝试解决方案

3.1)4假设绕过s6

3.2)30%的分支,预测精度:10%,1000 Ins,因此有300个分支和700个正常指令。设x是获取的指令总数,所以

0.1×$$ = 700 $$ $$ X = 7000 $ $

因此,提取了7000个内容

3.3)我不确定这个。它让我困惑于以下方式,我们如何在不考虑依赖性的情况下在不同路径上执行指令?在这种情况下,双重路径是什么?你能更详细地解释一下这个问题是什么吗?。

1 个答案:

答案 0 :(得分:0)

3.1 5条说明,没有绕过

3.2假设基础CPI = 1 CPI = 1 + 30%* 90%* 5 = 2.35 分支导致135%减速。 在这台机器上提取了2350条指令。