流水线处理器使用具有以下阶段的 4 级指令流水线:指令提取 (IF)、指令解码 (ID)、执行 (EX) 和回写 (WB)。算术运算以及加载和存储操作在 EX 阶段执行。下面给出了与语句 X = (S – R * (P + Q))/T 对应的指令序列。在执行指令序列之前,变量 P、Q、R、S 和 T 的值分别在寄存器 R 0 、R 1 、R 2 、R 3和 R 4 中可用。 指令序列中的Read-After-Write(RAW)依赖、Write-After-Read(WAR)依赖和Write-After-Write(WAW)依赖的数量分别为,
(一) 2, 2, 4
(B) 3、2、3
(C) 4 ,2, 2
(D) 3 ,3, 2答案: (C)
说明:写后读:
1. ADD -> MUL (R5)
2. MUL -> SUB (R6)
3. SUB -> DIV (R5)
4. DIV -> STORE (R6)
读后写:
1. MUL -> SUB (R5)
2. DIV -> STORE (R6)
写后写:
1. ADD -> SUB (R5)
2. MUL – DIV (R6)
这个问题的测验