Как реализовать bgtz в диаграмме пути данных MIPS и найти соответствующие значения управления? - PullRequest
0 голосов
/ 23 февраля 2020

У меня есть схема пути данных MIPS с одним циклом, которая была разработана таким образом, чтобы она могла легко обрабатывать такие инструкции, как lw, sw и add, среди других.

Например, когда мы хотим определить контрольные значения, мы видим, что lw - это инструкция I-Type.

  1. Это означает, что у нас есть команда, идущая из «Памяти инструкций» в блок управления (с кодом OP), другая команда входит в «Чтение регистра 1», другая - в «Чтение». Зарегистрируйте 2 'и последний в' Расширение знака '.
  2. lw записывает из памяти в регистр, таким образом, «RegWrite» = 1 и, следовательно, «RegDst» также равен 1.
  3. MemtoReg также равен единице, так как мы идем из памяти для регистрации и ALUOp для lw равно 00.
  4. Наше значение ALUSr c также равно 1, потому что мы берем строку из 'Sign Extend' (из-за непосредственных инструкций I Type ).
  5. Нет branch или jump, поэтому Branch = Jump = 0. Это завершает контрольные значения для lw.

Однако lw не является сложной инструкцией и может быть легко реализована, а значения управления могут быть легко определены. Однако как это работает для более сложных инструкций, таких как bgtz? Из того, что я понимаю, bgtz - это инструкция I-типа, потому что она имеет регистр источника и регистр назначения, а также непосредственное значение (метка, где мы должны go, если утверждение истинно). Путь показан красным, но я не уверен, что он правильный. Я также уверен, что мне не хватает другого аппаратного обеспечения, которое сделает возможным bgtz. Однако для контрольных значений я уверен, что:

  1. ALUOp =
  2. RegWrite = 0
  3. MemtoReg = x
  4. MemWrite = x
  5. RegDst = x
  6. ALUSr c = 1
  7. Ветвь = 1
  8. Прыжок = 0

Мои данные Диаграмма пути выглядит следующим образом:

enter image description here

Мне нужно понять, как мы можем реализовать bgtz здесь и каковы будут контрольные значения. В более общем смысле, как мы можем реализовать различные инструкции в этой диаграмме пути данных, такие как lui, xor, et c ...

...