题25
题目
【2016 统考真题】在无转发机制的五段基本流水线中,下列指令序列存在数据冒险的指令对是( )。
I1: add R1, R2, R3; (R2)+(R3)→R1
I2: add R5, R2, R4; (R2)+(R4)→R5
I3: add R4, R5, R3; (R5)+(R3)→R4
I4: add R5, R2, R6; (R2)+(R6)→R5
A. I1 和 I2
B. I2 和 I3
C. I2 和 I4
D. I3 和 I4
分析
数据冒险即数据相关, 指在一个程序中存在必须等前一条指令执行完才能执行后一条指令的情况, 此时这两条指令即为数据相关。
当多条指令重叠处理时就会发生冲突。
首先这两条指令发生写后读相关, 且两条指令在流水线中的执行情况 (发生数据冒险) 如下表所示。
解
B
| 时钟 指令 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
|---|---|---|---|---|---|---|---|
| I2 | 取指 | 译码/读寄存器 | 运算 | 访存 | 写回 | ||
| I3 | 取指 | 译码/读寄存器 | 运算 | 访存 | 写回 |