Точная временная задержка для инструкции «lw» в однотактном тракте данных.

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

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

Ответы (1)

Нарисуй это. Graphviz отлично подходит для такого рода вещей.

Тактовый цикл начинается с ПК и заканчивается операцией записи регистратора, показанной здесь в виде квадратных прямоугольников. Все остальное (овалы) комбинаторно.

диаграмма потока данных

Обратите внимание, что между I_memory и ALU есть два пути (мы можем предположить, что WriteRegisterMux не находится на самом длинном пути). Можно возразить, что поскольку SignExtend на самом деле не использует никакой логики (это просто провода) и что простой мультиплексор работает быстрее, чем RegisterRead, последний является критическим путем.

Таким образом, задержки пути от фронта тактового сигнала к фронту тактового сигнала составляют:

  • Тактовая частота ПК к выходу
  • я память
  • Регистрация Читать
  • АЛУ
  • D-память
  • Мультиплексор записи данных
  • Зарегистрируйтесь Запись времени установки на часы

Ответ, который вы нашли, который помещает ALUmux в критический путь, сбивает с толку, какой порт чтения регистра используется для этой инструкции.

В другом ответе опущено время настройки записи в регистр, которое они могут просто принять равным нулю.

Большое спасибо. Я думаю, что ваш ответ действительно ясен, и он идентичен моему. Но на самом деле все решения и ответы домашних заданий или упражнений, которые я видел на университетских сайтах и ​​в учебниках, действительно разные, что меня так долго сбивало с толку. Спасибо за ваше объяснение. Я думаю, что наш ответ действительно правильный.