R类指令的控制信号

Control signals for a R-type instruction

我想找出多周期处理器的 R 型指令使用了哪些控制信号以及它们的值是多少,尤其是在取指阶段。

我推导出以下内容。在 F 阶段,我们必须获取指令并递增程序计数器。

要获取指令,我们必须访问内存。但是,R 类指令的控制信号table memRead 显示为 0和 memWrite。 因此,我不确定应该断言什么控制信号来获取指令。

Pattterson 和 Henessey 的 计算机组织教科书中,它指出 "controls signals to read instruction memory" 应该断言。

我的问题如下:

  1. 目前,我已经声明了PCsource和PCwritecond。我不确定哪些信号 必须 无效。
  2. 指令存储器与数据存储器不同吗?
  3. 应该激活哪些控制信号才能从内存中获取指令?

在多周期处理器中,指令存储器和数据存储器结合在一起,当然 memWritememRead 的控制信号为 0,并且 IRWrite 在获取步骤期间被断言。

根据 Harris & Harris 任何指令的第一步是从 PC 中保存的地址处的内存中获取指令.

FSM 在重置时进入此状态。 要读取内存,IorD = 0,所以地址是从PC上取的。 IRWrite断言 将指令写入指令寄存器,IR。同时,PC 应该增加 4 以指向下一条指令。因为 ALU 不用于任何其他用途,处理器可以使用它来计算 PC + 4 同时获取指令。 ALUSrcA = 0, 所以 SrcA 来自 PCALUSrcB = 01,所以SrcB就是常量4。 ALUOp = 00,所以 ALU 解码器产生 ALUControl = 010 使 ALU 添加。要使用此新值更新 PC,PCSrc = 0,以及 PCWrite 已声明。

获取步骤中的控制信号。

IorD = 0

AluSrcA = 0

ALUSrcB = 01

ALUOp = 00

PCSrc = 0

IRWrite = aseerted

PCWrite = asserted