Я хочу рассчитать время цикла для одноканального канала данных. Затем из курса я знаю, что время должно быть временем выполнения самой длинной инструкции, которая в MIPS равна 'lw'. Поэтому я пытаюсь вычислить задержку времени для 'lw'.
Я думаю, что самый длинный путь / время для 'lw' будет:
PC -> I-Mem -> Read-Reg -> ALU -> Data-Mem -> Mux(to select Mem to Register) -> Write-Reg
(В пути я думаю the mux to choose read-register1 or write-register
, sing-extend for immediate value
и mux to choose read-data 2 or immediate value
все игнорируются, так как цепи параллельны, они будут занимать меньше времени, чем другие параллельные части.)
Но когда я попытался найти некоторые решения, естьнекоторые разные ответы, но ни один не идентичен моему.
Кто-то сказал, время / путь должны быть:
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
Я действительно не знаю, какой действительно правильный ответ. Может кто-нибудь помочь мне решить эту проблему?