📜  门|门CS 2008 |第 76 题

📅  最后修改于: 2021-09-24 05:20:55             🧑  作者: Mango

延迟分支可以帮助处理控制危险。

对于所有延迟的条件分支指令,无论条件评估为真还是假,
(A)执行内存中条件分支指令之后的指令
(B) fall through 路径中的第一条指令被执行
(C)执行所取路径中的第一条指令
(D)分支的执行时间比任何其他指令都要长答案: (D)
说明:为了避免条件分支指令引起的流水线延迟,在条件分支指令的下方放置了一条合适的指令,这样无论是否进行分支,该指令都会被执行,并且不会影响程序的行为。

另一种解释:
流水线中分支指令之后的指令总是被执行,因为通常分支目标地址在 ID 处可用,这反过来会在流水线中引入停顿。这个停顿槽称为分支延迟槽。由于我们事先不知道分支是否会发生,所以我们需要用适当的指令填充延迟槽,例如,一条没有依赖关系的指令或一条 NOP 指令。
这个问题的测验