Точная задержка времени для команды 'lw' в канале данных с одним циклом - PullRequest
0 голосов
/ 11 октября 2019

Я хочу рассчитать время цикла для одноканального канала данных. Затем из курса я знаю, что время должно быть временем выполнения самой длинной инструкции, которая в 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

Я действительно не знаю, какой действительно правильный ответ. Может кто-нибудь помочь мне решить эту проблему?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...