假设一台带有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)我不确定这个。它让我困惑于以下方式,我们如何在不考虑依赖性的情况下在不同路径上执行指令?在这种情况下,双重路径是什么?你能更详细地解释一下这个问题是什么吗?。
答案 0 :(得分:0)
3.1 5条说明,没有绕过
3.2假设基础CPI = 1 CPI = 1 + 30%* 90%* 5 = 2.35 分支导致135%减速。 在这台机器上提取了2350条指令。