Я хочу рассчитать время цикла пути данных с одним циклом. Затем из курса я знаю, что время должно быть временем выполнения самой длинной инструкции, которая в 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
Я действительно не знаю, какой ответ действительно правильный. Может ли кто-нибудь помочь мне решить эту проблему?
Нарисуй это. Graphviz отлично подходит для такого рода вещей.
Тактовый цикл начинается с ПК и заканчивается операцией записи регистратора, показанной здесь в виде квадратных прямоугольников. Все остальное (овалы) комбинаторно.
Обратите внимание, что между I_memory и ALU есть два пути (мы можем предположить, что WriteRegisterMux не находится на самом длинном пути). Можно возразить, что поскольку SignExtend на самом деле не использует никакой логики (это просто провода) и что простой мультиплексор работает быстрее, чем RegisterRead, последний является критическим путем.
Таким образом, задержки пути от фронта тактового сигнала к фронту тактового сигнала составляют:
Ответ, который вы нашли, который помещает ALUmux в критический путь, сбивает с толку, какой порт чтения регистра используется для этой инструкции.
В другом ответе опущено время настройки записи в регистр, которое они могут просто принять равным нулю.
Воля