【发布时间】:2014-11-13 01:50:46
【问题描述】:
我正在尝试添加 jal 指令,我了解它是如何工作的,但是我在硬件中实现它时遇到困难?
我有这个示意图,它显示 31 在寄存器之前连接到多路复用器,但不确定要连接什么。我看到 R[31] 等于 pc+8 或跳转地址,但是它们是 32 位,而多路复用器的入口只有 5 位。
【问题讨论】:
标签: mips instruction-set program-counter
我正在尝试添加 jal 指令,我了解它是如何工作的,但是我在硬件中实现它时遇到困难?
我有这个示意图,它显示 31 在寄存器之前连接到多路复用器,但不确定要连接什么。我看到 R[31] 等于 pc+8 或跳转地址,但是它们是 32 位,而多路复用器的入口只有 5 位。
【问题讨论】:
标签: mips instruction-set program-counter
这意味着常量31 被馈送到多路复用器。
该 5 位常量是 $ra 的寄存器号,如果 MIPS 延迟分支,则您要保存 $PC + 8 的值,如果没有延迟分支,则为 $PC + 4分支。
【讨论】: