Mips '的准确时间延迟;lw';单周期数据路径中的指令

Mips '的准确时间延迟;lw';单周期数据路径中的指令,mips,cpu-architecture,processor,Mips,Cpu Architecture,Processor,我想计算单周期数据路径的周期时间。然后从课程中,我知道时间应该是最长指令的执行时间,在MIPS中是'lw'。 因此,我尝试计算“lw”的时间延迟 我认为“lw”的最长路径/时间是: PC -> I-Mem -> Read-Reg -> ALU -> Data-Mem -> Mux(to select Mem to Register) -> Write-Reg (在路径中,我认为选择读寄存器1或写寄存器的mux、选择立即值扩展和选择读取数据2或立即值的mux都

我想计算单周期数据路径的周期时间。然后从课程中,我知道时间应该是最长指令的执行时间,在MIPS中是'lw'。 因此,我尝试计算“lw”的时间延迟

我认为“lw”的最长路径/时间是:

PC -> I-Mem -> Read-Reg -> ALU -> Data-Mem -> Mux(to select Mem to Register) -> Write-Reg
(在路径中,我认为
选择读寄存器1或写寄存器
的mux、
选择立即值扩展
选择读取数据2或立即值
的mux都被忽略,因为电路是并行的,它们比并行的其他部分花费的时间更少。)

但当我试图找到一些解决方案时,有一些不同的答案,但没有一个与我的答案完全相同

有人说,时间/路径应该是:

PC -> I-Mem -> Read-Reg -> Mux(choose the input of ALU) -> ALU -> Data Memory -> Mux(select Mem to Register) -> Write-Reg
以及其他一些版本:

PC -> I-Mem -> Read-Reg -> ALU -> Data Memory -> Mux(select Mem to Register)
但是没有
Write Reg


我真的不知道哪一个才是真正正确的答案。有人能帮我解决这个问题吗?

如果您绕过转发,回写不是关键路径延迟的一部分。IDK,如果这对于一个非流水线实现通常是这样还是不这样。对于一个给定的ISA,有几种方法可以实现一个单周期处理器。实际答案取决于组件的实际遍历时间。没有一个示意图和这些时间,就没有办法给出一个明确的答案。