📜  门|门CS 2013 |第 65 题

📅  最后修改于: 2021-09-26 04:02:15             🧑  作者: Mango

考虑一个没有任何分支预测的具有五个阶段的指令流水线:取指令 (FI)、解码指令 (DI)、取操作数 (FO)、执行指令 (EI) 和写操作数 (WO)。 FI、DI、FO、EI 和 WO 的阶段延迟分别为 5 ns、7 ns、10 ns、8 ns 和 6 ns。每个阶段后都有中间存储缓冲区,每个缓冲区的延迟为1 ns。由 12 条指令 I1、I2、I3、……、I12 组成的程序在该流水线处理器中执行。指令I4是唯一的分支指令,其分支目标是I9。如果在该程序执行期间进行了分支,则完成该程序所需的时间(以 ns 为单位)为

(一) 132
(乙) 165
(三) 176
(四) 328答案:(乙)
解释:

Pipeline will have to be stalled till Ei stage of l4 completes, 
as Ei stage will tell whether to take branch or not. 

After that l4(WO) and l9(Fi) can go in parallel and later the
following instructions.
So, till l4(Ei) completes : 7 cycles * (10 + 1 ) ns = 77ns
From l4(WO) or l9(Fi) to l12(WO) : 8 cycles * (10 + 1)ns = 88ns
Total = 77 + 88 = 165 ns

这个问题的测验