考虑以2.5 GHz运行的非流水线处理器。完成一个指令需要5个时钟周期。您将使用此处理器建立一个5级流水线。与流水线相关的开销迫使您必须在2 GHz上运行流水线处理器。在给定的程序中,假设30%是内存指令,60%是ALU指令,其余是分支指令。 5%的存储器指令由于高速缓存未命中而导致每个50个时钟周期的停顿,而50%的分支指令则导致每个2个周期的停顿。假定没有与ALU指令执行相关的停顿。对于此程序,流水线处理器在非流水线处理器上的加速(四舍五入到小数点后两位)是__________。
注–此问题为数值类型。
(A) 2.16
(B) 2.50
(C) 1.50
(D) 1.16答案: (A)
说明:假定指令总数为’m’。
对于非流水线处理器:
鉴于,
完成一个以2.5GHz运行的指令需要5个时钟周期。
1个时钟周期时间= 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.85百万。
完成1.85m个时钟周期所需的时间= 0.5 * 1.85m = 0.925m ns
所以,
加速=没有流水线花费的时间/有流水线花费的时间
= 2m ns / 0.925m ns
= 2.16
该解决方案由Vinay Kumar Sajja提供
这个问题的测验