【发布时间】:2019-03-14 01:31:27
【问题描述】:
我在准备考试时遇到了一个问题。问题是
在回答以下关于在课堂上展示的 5 阶段管道中实现条件跳转的问题时,请考虑以下 y86 代码 sn-p,阶段 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
b.如果处理器假设条件跳转为 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
有人可以请,请解释一下这个过程。我有考试,我真的需要帮助。
【问题讨论】:
-
好吧,至少你已经承认这是一个家庭作业问题。
-
@thb 这不是作业问题。这个问题来自评论论文