【正确答案】
B
【答案解析】解析:相邻两条ALU运算指令之间,相隔一条的两条ALU运算指令之间和相隔一条的Load指令与ALU运算指令之间的数据冒险能通过转发解决。单纯依靠“插入nop指令”就能消除所有数据相关,但是这样做效率太低。如果通过调整指令顺序,再加上插入nop指令,则能提高流水线的效率。Load-Use数据相关是由于Load指令的目的寄存器等于后一条指令的源寄存器而导致的。对于五段流水线(取指、译码、执行、访存、写回),Load指令在最后一段写入目的寄存器,而后继指令在第三段读寄存器源,所以Load-Use数据相关至少要引起一个时钟周期的阻塞。通常,分支指令并不改变任何寄存器的值,所以与紧随其后的ALU运算指令根本不会发生数据相关。