我在准备考试时遇到了一个问题。问题是
在回答以下有关在课堂上介绍的 5 阶段管道中实现条件跳转的问题时,请考虑以下 y86 代码片段,阶段为 F、D、E、M、WB。
1: irmovq $8, %rsi
2: irmovq $1, %r9
3: jmp label1
4: label2: addq %rsi, %r10
5: label1: subq %r9, %rsi
6: jne label2
7: andq %rbx, %rdx
8: irmovq $10, %r10
9: halt
一个。当 jne 指令完成 F 阶段时,下一条指令的地址在处理器中可用吗?圈一个
YES NO
湾。如果处理器假设条件跳转为 TAKEN,那么当 jne 指令完成 F 阶段时,下一条指令的地址在哪个流水线内部寄存器(变量)中?圈出一个 icode ifun rA rB valC valP valM valE
C。如果处理器假设条件跳转是 NOT TAKEN,那么当 jne 指令完成 F 阶段时,下一条指令的地址在哪个流水线内部寄存器(变量)中?圈一个
icode ifun rA rB valC valP valM valE
d。在哪个阶段之后管道会知道是否应该进行条件跳转?圈出正确的阶段
F D E M WB
我有没有解释的答案这里是答案:
1) 是的
2) valC
3) valP
4) E
有人可以请,请解释这个过程。我有考试,我真的需要帮助。