考虑运行在 2.5 GHz 的非流水线处理器。完成一条指令需要 5 个时钟周期。您将使用该处理器制作 5 级流水线。与流水线相关的开销迫使您以 2 GHz 的频率运行流水线处理器。在给定的程序中,假设 30% 是内存指令,60% 是 ALU 指令,其余是分支指令。由于高速缓存未命中,5% 的内存指令导致每个 50 个时钟周期的停顿,50% 的分支指令每个导致 2 个周期的停顿。假设没有与 ALU 指令的执行相关的停顿。对于这个程序,流水线处理器比非流水线处理器实现的加速(四舍五入到小数点后两位)是 __________ 。
注意——这个问题是数字类型。
(一) 2.16
(乙) 2.50
(C) 1.50
(四) 1.16答案:(一)
说明:假设指令总数为“m”。
对于非流水线处理器:
鉴于,
完成一条工作在 2.5GHz 的指令需要 5 个时钟周期。
一个时钟周期时间=1/(2.5*10 9 )= 0.4ns
对于 m 条指令,所需的时钟周期总数= 5m。
完成 5m 时钟周期所需的时间= 0.4*5m= 2m ns
对于流水线处理器:
鉴于,
流水线是 5 级的,与流水线强制相关的开销以 2 GHz 运行流水线处理器。
一个时钟周期时间= 1/(2*10 9 )= 0.5ns
对于 m 条指令所需的时钟周期总数= 0.3m*(0.05*(50+1)+0.95*(1))+0.6m*(1)+0.1m*(0.5*(2+1)+0.5* (1))= 1.85m。
完成 1.85m 时钟周期所需的时间= 0.5*1.85m= 0.925m ns
所以,
加速=没有流水线所用的时间/流水线所用的时间
= 2m ns/ 0.925m ns
= 2.16
此解决方案由Vinay Kumar Sajja 提供
这个问题的测验