MIPS немедленные инструкции ori / addi / lui и т. Д. Требуют Зарегистрироваться Написать? - PullRequest
2 голосов
/ 12 июля 2011

Я изучаю конвейеризацию в MIPS. У меня был вопрос о немедленных инструкциях и процессе их обучения. Я продолжаю читать, что ori / addi / lui и являются непосредственными инструкциями или я типа. Я также продолжаю находить, что инструкции I-типа требуют только первых трех этапов 5-этапного процесса MIPS. Как показано ниже

     |instruction memory|register read|ALU op|DataMemory|Register Write|
     |------------------------------------------------------------------
 addi|         X        |       X     |    X |          |              |
 -----------------------------------------------------------------------
 ori |         X        |       X     |    X |          |              |
 -----------------------------------------------------------------------
 lui |         X        |       X     |   X  |          |              |
 -----------------------------------------------------------------------

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

1 Ответ

2 голосов
/ 04 сентября 2011

Непосредственные инструкции addi/ori/lui и так далее должны записывать свои результаты в файл реестра.Например: addi $dest, $src, immd_val.Для этой инструкции один из операндов является непосредственным значением.Таким образом, вычисление будет $dest = $src + immd_val.Как видите, результат должен быть записан обратно в регистр $dest.Вы на правильном пути, вам нужно соответствующим образом изменить таблицу.

Существуют некоторые инструкции, которым не нужно записывать результат в файл регистра, например, ветвь, хранилище, сравнение и т. Д.

...