问题
单项选择题
在流水线控制的计算机中,对于数据相关的处理,通常采用的方法是 (3) 。
A.暂停指令的执行,等待前面的指令输出运算结果
B.设置相关专用通路,从相关专用通路直接读出操作数
C.让已经进入流水线的指令继续执行
D.出现数据相关时采用猜测法来加快执行
答案
参考答案:B
解析: 在流水线控制的计算机中,数据相关是指共享资源访问的冲突,也就是后一条指令需要使用的数据与前一条指令发生的冲突,这会使得流水线失败。例如:前一条指令是写,后一条指令是读,当前一条指令保存结果没有完成时,后一条指令的读操作就已经开始,这样后一条指令读到的就是未改写的数据。
为了解决这个问题,当遇到资源冲突时,就只好暂停后读指令进入流水线,这样就降低了流水线的效率,显然,流水线步骤越多越容易引起资源冲突的发生。
对于数据相关的处理,通常采用的方法是设置相关专用通路,从相关专用通路直接读出操作数。也可以在编译系统上做文章,当发现相邻的语句存在资源共享冲突时,在两者之间插入其他语句,将两条指令进入流水线的时间拉开,以避免错误。