流水线处理器使用具有以下阶段的4级指令流水线:指令提取(IF),指令解码(ID),执行(EX)和写回(WB)。算术运算以及装入和存储运算在EX阶段中执行。下面给出与语句X =(SR – R *(P + Q))/ T对应的指令序列。在执行指令序列之前,变量P,Q,R,S和T的值分别在寄存器R 0 ,R 1 ,R 2 ,R 3和R 4中可用。 指令序列中的写后读(RAW)依赖项,写后读(WAR)依赖项和写后写(WAW)依赖项的数量分别为:
(A) 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)
这个问题的测验