指令流水线分为五个阶段,即阶段延迟为1 ns的指令获取(IF),指令解码和寄存器获取(ID / RF),指令执行(EX),内存访问(MEM)和寄存器写回(WB),分别为2.2 ns,2 ns,1 ns和0.75 ns(ns代表纳秒)。为了获得频率方面的收益,设计人员已决定将ID / RF阶段分为三个阶段(ID,RF1,RF2),每个阶段的等待时间为2.2 / 3 ns。此外,EX阶段分为两个阶段(EX1,EX2),每个阶段的等待时间为1 ns。新设计共有八个流水线阶段。程序中有20%的分支指令在EX阶段执行,并在旧设计的EX阶段末尾和新设计的EX2阶段末尾产生下一条指令指针。 IF阶段在提取一条分支指令后停顿,直到计算出下一条指令指针为止。在这两种设计中,除分支指令外的所有指令的平均CPI均为1。该程序在新旧设计上的执行时间分别为P和Q纳秒。 P / Q的值为__________。
(A) 1.5
(B) 1.4
(C) 1.8
(D) 2.5答案: (A)
解释:
Each one takes average 1CPI.
In 1st case 80% take 1 clock and 20% take 3 clocks so total time:
p = (.8*1 + .2*3)*2.2=3.08.
q = (.8*1 + 6*.2)*1=2
p/q = 1.54
这个问题的测验