一条指令流水线有五个阶段,即指令提取(IF)、指令译码和寄存器提取(ID/RF)、指令执行(EX)、内存访问(MEM)和寄存器写回(WB),阶段延迟为 1 ns,分别为 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 的值为 __________。
(一) 1.5
(二) 1.4
(三) 1.8
(四) 2.5答案:(一)
解释:
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
这个问题的测验