Итератор гипотетического цикла - PullRequest
0 голосов
/ 10 октября 2019

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

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

itr $ t6, цикл# if (R [rs]> 0) R [rs] = R [rs] -1 PC = PC + 4 + BranchAddr

a) Из доступных форматов команд [R, I, J], чтоявляется наиболее подходящим для itr?

b) Реализовать itr с использованием существующего набора команд MIPS.

c) Уточнить причину, по которой эта инструкция недоступна в наборе команд MIPS на основепринципы компьютерной архитектуры и компьютерной организации.

1 Ответ

0 голосов
/ 10 октября 2019

itr $ t6, цикл # if (R [rs]> 0) R [rs] = R [rs] -1 ПК = ПК + 4 + BranchAddr

Этонеформальный синтаксис и объяснение. Синтаксис состоит в том, что есть код операции (itr), который принимает два операнда: первый - регистр, а второй - метка.

Символ позади # указывает, что они ожидают от выполнения инструкции:Грубо говоря, эта инструкция является условной ветвью, которая проверяет, является ли значение в регистре rs> 0 - и, если оно больше нуля, она уменьшает этот регистр, а затем переносит ветвь на целевой адрес. Если не больше нуля, то не брать ветвь.

Эта инструкция может использоваться в цикле обратного отсчета.

Давайте выпишем условную ветвь, используя код C:

if ( rs > 0 ) {
    rs--;
    goto loop;
}
// ...else, fall thru to here...

(а) Затем они хотят, чтобы вы сказали, в каком формате это будет происходить, если бы это была настоящая инструкция MIPS. Вы должны нарисовать формат для инструкции, а затем посмотреть на указанные форматы, чтобы увидеть, какой из них наиболее близок.

(b) Они хотят, чтобы вы выполнили эту операцию, используя существующую последовательность инструкций MIPS. Вы могли бы перевести вышеупомянутую букву C. в сборку MIPS.

(c) Теоретически, почему эта инструкция может быть трудной или противоречащей целям разработки процессора MIPS (эти цели разработки включают в себя короткую продолжительность цикла и простоту).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...