简述通过软件(编译器)来减少分支延迟的3种方法。这些方法的共同特点是什么?

大学 编译器,分支,特点 已帮助 人

简述通过软件(编译器)来减少分支延迟的3种方法。这些方法的共同特点是什么?

请帮忙给出正确答案和分析,谢谢!

热搜:二氧化碳灭火原理是通过减少空气中

答案解析

难度★★☆ 搜索
  • 正确答案:①预测分支失败。沿失败的分支继续处理指令就好像什么都没发生似的。当确定分支是失败时说明预测正确流水线正常流动;当确定分支是成功时流水线就把在分支指令之后取出的所有指令转化为空操作并按分支目标地址重新取指令执行。 ②预测分支成功。当流水线ID段检测到分支指令后一旦计算出了分支目标地址就开始从该目标地址取指令执行。 ③延迟分支。主要思想是从逻辑上“延长”分支指令的执行时间。把延迟分支看成是由原来的分支指令和若干个延迟槽构成。不管分支是否成功都要按顺序执行延迟槽中的指令。 3种方法的共同特点是它们对分支的处理方法在程序的执行过程中始终是不变的。它们要么总是预测分支成功要么总是预测分支失败。
    ①预测分支失败。沿失败的分支继续处理指令,就好像什么都没发生似的。当确定分支是失败时,说明预测正确,流水线正常流动;当确定分支是成功时,流水线就把在分支指令之后取出的所有指令转化为空操作,并按分支目标地址重新取指令执行。②预测分支成功。当流水线ID段检测到分支指令后,一旦计算出了分支目标地址,就开始从该目标地址取指令执行。③延迟分支。主要思想是从逻辑上“延长”分支指令的执行时间。把延迟分支看成是由原来的分支指令和若干个延迟槽构成。不管分支是否成功,都要按顺序执行延迟槽中的指令。3种方法的共同特点是,它们对分支的处理方法在程序的执行过程中始终是不变的。它们要么总是预测分支成功,要么总是预测分支失败。