Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ответы на вопросы_ABC.doc
Скачиваний:
11
Добавлен:
17.09.2019
Размер:
6.14 Mб
Скачать
  1. Формат команды мп mips

  2. Этапы выполнения команд

Рассмотрев в предыдущей главе некоторую общую схему взаимодействия узлов ЭВМ при выполнении команд, мы можем сделать вывод, что та или иная команда выполняется как последовательность фаз, или состояний, основными из которых являются:

1) выборка; I-фаза (instruction phase)

2) декодирование; I-фаза (instruction phase)

3) фаза выборки операндов; O-фаза (operand phase)

4) выполнение; Е-фаза (execution phase)

5) запись результата. O-фаза (operand phase)

Эти фазы являются общими для всех типов команд. Более подробно их взаимосвязь можно представить с помощью следующей схемы, представленной на рисунке 11.

Р ассмотрим подробнее I - phase: назначение фазы выборки – чтение команды из памяти и ее декодирование. Она выполняется по руководством УУ и одинакова для всех инструкций. Для этого выделяется специальный регистр – счетчик команды РС (program counter). Назначение этого регистра – отслеживание адреса следующей исполняемой команды. В начале выполнения каждой новой команд содержимое РС выставляется устройством управлением на ША. В то время, когда выполняется чтение команды (цикл памяти), процессор простаивает, поэтому он может выполнить команду инкремента (РС:=РС+1). Ее уже на стадии I-phase, счетчик уже хранит адрес следующей команды, которую необходимо будет выполнить. Для произведения инкремента РС служит блок автоинкремента, с помощью которого модифицируется адрес, хранящихся в счетчике команд. Такая операция выполняется параллельно и автоматически, не требуя никакого вмешательства программиста.

Замечания:

1) В некоторых машинах во время инкремента PC может выполнятся команда РС:=РС+2. Это связано с тем, что код некоторых команд не может быть умещен в 1 байт, а содержится, например, в двух последовательных байтах. Тогда регистр? Хранящий код команды, является 16-разрядным и последовательно считывается сначала младший, а затем старший байты команды. Логично, что в данном случае содержимое РС необходимо увеличить на 2.

2) Как вариация на тему, вместо блока автоинкремента, в процессоре может содержатся блок автодекремента, т.е. на каждом ходе содержимое РС может не увеличиваться, а уменьшатся на 1 (т.е. в таких ЭВМ команды записываются в обратном порядке).

3) Кроме того, необходимо учитывать, что если последовательность команд должна быть нарушена, то соответствующим образом должно быть изменено и содержимое PC. Это может происходить, например, в результате прерывания программы. Тогда нужно перейти не другую область выполнения программы обработки прерываний. В некоторых процессорах, это производится с помощью команд типа JUMP.

Рассмотрим более подробно и регистр команд - IR(instruction registor). Его назначениям является хранить код выполняемой команды. Код команды выбирается из памяти и помещается в IR. Он храниться там все время выполнения команды. Выходы IR соединены с дешифратором, где команда декодируется. Дешифратор выполняется в виде некоторой программируемой логической матрицы. Далее генерируется последовательность управляющих сигналов, которые отвечают данной команде. На этом этап выборки команд завершается.

Замечание: последовательность и длительность фаз выполнения команд зависит от формата команды (подробнее будет рассмотрен ниже). Команды могут передавать 1 или 2 операнда, могут передавать как операнд и адрес, куда необходимо поместить результат, а могут вообще не передавать операндов. Но код операции (т.е. один байт) передается в любом случае.

Поэтому этап выборки повторяется, требуя прочтения от 1 до 4 слов памяти. И в любом случае в одном выбранном байте обязательно содержится код операции. Это поле определяет тип выполняемой команды. После выполнения декодирования УУ знает, сколько байт содержит эта команда и сколько нужно выбрать операндов для выполнения данной команды.

На рисунке 12 представлена работа устройств ЭВМ на этапе I-phase.

O

Рис. 12. Работа устройств ЭВМ при выборке и декодировании команды

-phase связана с вычислением данных и записью результатов. Иногда она может отсутствовать. Сложность фазы выборки операндов (O-фазы) зависит от выбранных методов адресации (они будут подробнее рассмотрены ниже).

С

IF ID OF OE OS

ложность и длительность выполнения команды зависит от особенностей той или иной ЭВМ. Для однопроцессорной архитектуры ЭВМ этапы выполнения команды по тактовым импульсам могут быть представлены следующим образом (рисунок 13.):

Рис.13. Соответствие тактовых импульсов фазам выполнения команды

Здесь каждому из этапов соответствует некоторый такт (время):

IF - instruction fatch - выборка команды

ID - instruction decode - декодирование команды

OF - operand fatch - выборка операндов

OE - operand execution - использование операндов

OS - operand store - запись результата