在多周期 MIPS 上,所有 I 型指令是否占用相同数量的周期?

问题描述

在多周期数据路径中,所有 I 型 MIPS 指令是否采用相同数量的周期?我知道 R 型具有相同的循环数。

解决方法

在多周期数据路径中,所有 I 型 MIPS 指令是否采用相同数量的周期?

没有

首先,让我们看看 MIPS I-Type 类别中包含的一些指令:addilw。它们都是 I-Type 指令 — 具有相同的 16 位立即数以及 rs 和 rt 字段。它们使用相同的字段进行解码,这就是为什么它们都被视为 I-Type 指令的原因。

好的,接下来我们来看看多周期处理器。这不是流水线处理器,但一般来说,它在等效流水线版本中的每个阶段都有一个周期。

虽然我们通常会发现流水线处理器的性能在相同的兆赫下更胜一筹,但多周期处理器实现优于流水线处理器实现的一个优点是可以跳过不需要的“阶段”(跳过一个周期在流水线处理器,因为指令执行重叠;而多周期处理器不重叠指令执行)。

因此,在 IF、ID、EX、MEM、WB 阶段中,addi 不需要或使用 MEM 阶段,因此不跳过该循环是愚蠢的,使 {{1} } 一个 4 个周期的指令。

然而,addi 确实需要 MEM 阶段(所以所有阶段),因此它将比 lw 长 1 个周期。