简答题

为了改进由于条件转移指令引起的流水线断续现象、减少条件转移指令造成的执行部件停顿时间,一般有哪几种措施?

正确答案

A.猜测法。指令部件发现条件转移指令后,在等待执行部件执行完指令队列中的指令并产生条件码后的这一段时间里,指令部件仍按固定的方向继续预取指令,或者按转移成功的方向预取,或者按转移不成功的方向预取。等到产生条件码后,如果同猜测的转移方向一致,指令缓冲寄存器组中预先取出的指令可以用,流水线停顿的时间可以缩短。如果未猜对,则指令缓冲寄存器组中的指令和已做的工作全部作废,重新按另一个方向读取指令,然后开始分析。这时流水线损失的时间仍较长。
B.预取转移目标。在发现条件转移指令后,同时向两个分支方向预取指令。即除了继续按原来方向预取指令外,还按转移成功方向预取指令,最后根据真正的方向取其中一个分支的指令继续运行,有的还可以对于原来分支内指令进行带条件执行(即译码、取数、运算,但不送结果)进一步提高转移指令效率
C.加快和提前形成条件码,有的指令的条件码并不一定要等执行完毕得到运算结果后才能形成。
D.推迟转移。在编译一个程序时,编译程序自动地调整条件转移指令的位置,把条件转移指令从原来的位置向后移一条或若干条,而把无关指令先运行,这样作可以改进流水线的效率,不影响结果。一般可采用以下三种调度方法:A.将转移指令前的那条指令调度到延迟槽中;B.将转移目标处的那条指令调度到延迟槽中;C.将转移不发生时该执行的那条指令调度到延迟槽中。
E.加快短循环程序的处理。循环是一种特殊的条件转移,它通常是按循环计数器内内容是否为0来判断是否已达到应有的循环次数,决定是否需要“向后”转移。短循环程序是指循环段的指令数目少于(或等于)指令缓冲寄存器组中可存放的指令数时的循环程序段。如果在执行这种短循环时,能把整个短循环程序段放在指令缓冲寄存器组中,让指令部件停止预取新的指令,重复使用这段短循环程序,就可减少访问主存次序,提高机器的效率。

答案解析

相似试题
  • 减少流水线处理分支指令时的暂停时钟周期数的技术途径是什么?其流水线数据通路应如何改进?

    简答题查看答案

  • 流水线中造成控制相关的原因是执行()指令而引起。

    单选题查看答案

  • 当流水线中数据和指令存在同一存储器中时,访存指令会引起存储器访问冲突,这种冲突是因为()相关引起的。

    填空题查看答案

  • 下列不会引起指令流水阻塞的是()。

    单选题查看答案

  • 为了提高计算机的运行速度和执行效率,在现代计算机系统中,引入了流水线控制技术,使负责取指令、分析指令、执行指令的部件串行工作。

    判断题查看答案

  • 转移指令分为条件转移指令和无条件转移指令,条件转移指令的转移目的地址只能是短标号,即转移范围不能超过()字节。

    填空题查看答案

  • 试比较无条件转移指令、条件转移指令、调用指令和中断指令有什么异同?

    简答题查看答案

  • 在条件转移指令中,结果为负数则转移的指令是()。

    单选题查看答案

  • 在执行条件转移指令前,不能形成条件的指令有()

    单选题查看答案