Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Metodicheskie_ukazania_k_kursovomu_proektu_VMSi....doc
Скачиваний:
4
Добавлен:
20.04.2019
Размер:
4.98 Mб
Скачать

4.4.2. Фаза выполнения

Следующий этап после выборки — это выполнение команды. Для одних команд выполнение завершается третьим оставшимся синхро­импульсом последнего машинного цикла, для других команд требу­ются дополнительные машинные циклы. Количество дополнительных циклов определяется в блоке управления и синхронизации в зависи­мости от выполняемой команды.

Рассмотрим фазу выполнения некоторых команд нашего микро­процессора. По ходу изложения следует обращаться к табл. 4.2.

Команды пересылки

Первой рассмотрим команду пересылки (MOV). По этой команде информация передается либо между двумя общими регистрами, либо между ячейкой главной памяти и общим регистром. На рис. 4.6 по­казаны информационные потоки в фазе выполнения команды MОV при передаче между регистрами.

Рис. 4.6 Информационные потоки в фазе выполнения команды MOV r from R при усло­вии R≠11112

В частности, если в команде задано d = l, то в соответствии с табл. 4.2 содержимое любого регистра от 016 до Е, указанного в поле R команды, передается в один из ре­гистров 016, 116, 216, указанный в поле r команды. Эта передача осу­ществляется третьим синхроимпульсом в том же машинном цикле, в котором был выбран первый байт команды. Таким образом, в рас­смотренном случае командный цикл состоит из одного машинного цикла.

При R = 111112 команда MOV выполняется иначе. В этом особом случае реализуется упомянутый в разнее механизм косвенной ад­ресации. На рис. 4.7 представлен случай, когда по-прежнему d = 1.

Рис. 4.7 Информационные потоки в фазе выполнения команды MOV r from R, когда R=11112

Содержимое общих регистров Н и L, содержащих соответственно старшие 8 и младшие 8 разрядов адреса, подаются на адресную шину. Затем после подачи импульса «чтение» содержимое адресуемой ячейки главной памяти принимается из шины данных в общий регистр r. Ввиду того что для выполнения команды потребовался внешний обмен, командный цикл занял два машинных цикла.

Команды с непосредственным адресом

Перейдем к рассмотрению команды загрузки регистра с непо­средственным адресом LRI R. Ее особенности, как впрочем, и всех команд с непосредственным адресом, состоит в том, что данные явля­ются частью самой команды. С помощью таких команд очень удобно задавать константы. Как уже говорилось раньше, на выборку коман­ды в данном случае затрачивается два машинных цикла.

Байт, выбранный в первом цикле, помещается в регистр команд, а байт, выбранный во втором — в регистр адреса данных. После этого, если только R не равен 11112, выполнение команды завершается по третьему синхроимпульсу на втором машинном цикле. А именно, как показано на рис. 8, младшие 8 битов регистра адреса данных, содержащие второй байт команды, передаются в общий регистр R. Если же R = 11112, то, как и в случае команды MOV, требуется еще один машинный цикл для обращения к памяти.

Рис. 4.8 Информационные потоки в фазе выполнения команды LRI R при R  11112

Команды обращения к памяти

Теперь рассмотрим группу команд обращения к памяти. Это трех­байтовые команды, с помощью которых информация передается меж­ду памятью и одним из общих регистров 016, 116, 216 обозначаемых через r. В качестве примера рассмотрим команду запоминания содер­жимого регистра в памяти STR г. Выполнение команды проиллюстри­ровано на рис. 4.9.

Рис.4.9. Информационные потоки в фазе выполнения команды STR r

Содержимое регистра адреса данных, загруженного в фазе выборки-дешифрации вторым и третьим байтами команды, подается на адрес­ную шину, а содержимое общего регистра r подается на шину данных. Затем устройство управления формирует сигнал «запись», стробирующий запись данных в адресуемую ячейку памяти. Фаза выполнения требует одного внешнего обмена и занимает один машинный цикл. Следовательно, полный командный цикл занимает четыре машинных цикла: три на фазу выборки-дешифрации и один на фазу выполнения.