MIPS 的 XOR 指令单周期数据路径

XOR instruction unicycle data path for MIPS

这是一个让我头疼了一段时间的问题。任务是描述 xor $s0, $s1, $s2 应该有的数据路径。我一直无法找到关于这条指令的数据路径应该是什么样子的任何信息。我知道它可能类似于任何其他 R 类型指令,但它没有在任何地方显示。 help/hint 关于如何实施它?

I know that it might be similar to any other R type instruction, but it's not shown anywhere.

可能不会在任何地方显示,因为所有 R-Type 指令共享相同的数据路径。 XOR 一条R-Type指令——与数据路径上的其他R-Type指令没有区别。

all R-Type 指令对数据路径有什么作用?它们根据指令中相应字段中的 rsrt 寄存器编号从寄存器文件中获取值,并将这些值转发给 ALU。他们获取 ALU 输出并将其重定向回寄存器,以将该结果写入 rd 寄存器编号。 (并且它们指示处理器增加顺序执行的程序计数器。)

存在单一控制信号(即非数据路径)差异,即 ALU Control 输出一个值,告诉 ALU 执行 XOR 操作而不是其他一些 ALU 操作,例如 addandor。 ALU 控制意识到 ALUOp(来自主控制的信号)仅指示 R-Type 指令,因此 ALU 控制将 func 字段指令位解码为 ALU 的指示符以执行 XOR

控制信号值的选择通常不显示(图表),但通常在一些 table 中找到这些值,这些值增加了数据路径和控制信号图。