Нужна помощь в добавлении большей функциональности в единый цикл данных MIPS - PullRequest
2 голосов
/ 18 сентября 2011

Я пытаюсь добавить функциональность JAL к следующему, но я застрял с тем, как это работает.Я знаю, что он сохраняет старое значение PC+4 в регистре $ra, а затем передает элемент управления в функцию, которая возвращает элемент управления путем возврата $ra, но как мне реализовать это в аппаратном обеспечении?enter image description here

Ответы [ 2 ]

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

Есть две вещи, которые вам нужно сделать.

  1. Добавить мультиплексор на входе регистров, чтобы в качестве данных для записи можно было выбрать значение ПК + 4.С соответствующим управляющим сигналом это позволит вам записать PC + 4 в качестве дополнительного эффекта инструкции "jal $ ra".
  2. Реализуйте инструкцию возврата "jr $ ra".Вам нужно будет добавить мультиплексор в цепочку логики, которая выбирает следующий ПК, чтобы «читать данные 1» из файла регистра можно было выбрать в качестве следующего ПК, когда инструкция «jr xxx».
0 голосов
/ 16 октября 2014

enter image description here Мы объявили новую строку, которая берет ПК + 4 и отправляет его на вход «Запись данных» файла реестра. Нам нужно добавить мультиплексор. Нам также нужно убедиться, что в поле «Write Register» указан адрес $ RA. Регистр $ RA является регистром номер 31 большую часть времени.

...