【问题标题】:XOR instruction unicycle data path for MIPSMIPS 的 XOR 指令单周期数据路径
【发布时间】:2020-11-04 22:48:34
【问题描述】:

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

【问题讨论】:

    标签: assembly mips cpu-architecture xor


    【解决方案1】:

    我知道它可能类似于任何其他 R 类型指令,但它没有在任何地方显示。

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

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

    ALU Control 输出一个值告诉 ALU 执行 XOR 操作而不是其他一些 ALU 操作,例如 addand、@ 987654329@。 ALU Control 意识到 ALUOp(来自主 Control 的信号)仅指示 R-Type 指令,因此 ALU Control 将 func 字段指令位解码为 ALU 的指示符以执行 XOR

    控制信号值的选择通常没有显示(图表),而是通常在一些增加数据路径和控制信号图表的表格中找到这些值。

    【讨论】:

    • 我必须弄清楚控制信号发生了哪些变化才能进行异或运算,我看不清楚,但非常感谢您提供如此深入的回答。
    • 我提到了哪一个发生了变化,它是 ALU Control 的输出馈送到 ALU 本身。它通常没有标记,但有时标记为“ALU 操作”(不要与失控的 ALUOp 混淆)。
    • 你会改变 ALU 内部的任何东西吗?还是只是ALU控制的输出
    • 解码XOR控制信号,并激活(mux)xor函数的输出到主ALU输出(这也会关闭add/sub/and和其他ALU函数的输出..).
    • 这样还能维持以前的操作吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-10-30
    • 1970-01-01
    • 1970-01-01
    • 2011-11-19
    • 2011-09-01
    • 1970-01-01
    • 2017-03-15
    相关资源
    最近更新 更多