Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Основной текст лекций.doc
Скачиваний:
4
Добавлен:
01.05.2025
Размер:
1 Мб
Скачать
☆
    1. Цикл команды.

Функционирование вычислительной машины можно описать как последовательность пересылок информации между ее узлами и элементарных действий, выполняемых в узлах. Любое элементарное действие производится при поступлении из микропрограммного автомата УУ соответствующего сигнала управления (СУ). Возможная частота формирования сигналов на выходе автомата определяется синхронизирующими импульсами (ТИ), поступающими от генератора тактовых импульсов (ГТИ). Элементарные пересылки или преобразования информации, выполняемые в течение одного такта сигналов синхронизации, называются микрооперациями. В течение одного такта могут одновременно выполняться несколько микроопераций. Совокупность сигналов управления, порождающих микрооперации, выполняемые в одном такте, называют микрокомандой. Относительно сложные действия, осуществляемые вычислительной машиной в процессе ее работы реализуются как последовательность микроопераций и могут быть заданы последовательностью микрокоманд, называемой микропрограммой. Реализует микропрограмму (вырабатывает управляющие сигналы, задаваемые ее микрокомандами) микропрограммный автомат (МПА).

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

  • выборка команды;

  • формирование адреса следующей команды

  • декодирование команды;

  • вычисление адресов операндов;

  • выборка операндов;

  • исполнение операции;

  • запись результата.

В зависимости от типа команды ряд этапов могут отсутствовать.

Рассмотрим более подробно каждый из этих этапов, имея в виду, что приводимые алгоритмы являются приближенными.

Этап выборки команды. По адресу, хранимому в счётчике команд (СК), двоичный код команды извлекается из памяти и помещается в регистр команд. На рис.3.3 приведен упрощенный алгоритм выборки команды и ее декодирования команд

. Здесь и далее на блок-схеме в левом верхнем углу функционального блока указывается номер соответствующего действия приведенного на фрагменте функциональной схемы фон-неймановской ВМ (рис.3.4), выдаваемые МПА сигналы управления указаны над пунктирными стрелками, название СУ состоит из двух частей – первые символы обозначают откуда будет передавать информация, а во второй части – куда (например: СУ СКРАП соответствует передачи адреса команды из СК на РАП).

Система команд многих ВМ предполагает несколько форматов команд, причем в различных форматах команда может занимать 1, 2 и более ячеек. Этап выборки команды может считаться завершенным лишь после того, как в РК будет помещен полный код команды. Информация о фактической длине команды содержится в полях кода операции и способа адресации. Обычно эти поля расположены в первом слове команды, для выяснения необходимости продолжения считывания команды требуется декодировать команду.

Этап формирование адреса следующей команды. Для фон-неймановских машин характерно размещение соседних команд программы в смежных ячейках памяти. Если извлечённая команда не нарушает естественного порядка выполнения программы, то для вычисления адреса следующей команды содержимое СК увеличивается на длину текущей команды. Длина команды вычисляется в ходе предварительного декодирования. Если извлечённая команда может изменить последовательность выполнения программы, то процесс формирования адреса следующей команды переносится на этап исполнения операции.

Этап декодирования команды. ЦП расшифровывает находящийся в РК код команды и выясняет:

  • длину команды (требуется ли дозагрузка остальных слов команды, например: дочитать адрес одного из операндов либо адрес хранения результата);

  • какие последующие действия нужны для выполнения данной команды;

  • местонахождение операндов (номера регистров, адрес ячейки ОП), т.е. способ адресации;

  • если команда формирует результат, то куда результат должен быть записан.

По результатам декодирования производится подготовка электронных схем ВМ к выполнению предписанных командой действий.

Этап вычисления адресов операндов. Этап имеет место, если в процессе декодирования выясняется, что команда использует операнды. Если операнды размещаются в ОП, то вычисляются их исполнительные адреса с учётом указанного в команде способа адресации.

Этап выборки операндов. Исполнительные адреса, вычисленные на предыдущем этапе, используются для считывания операндов из ОП и занесения их на определённые регистры процессора (чаще операнды предварительно заносятся на специальные вспомогательные регистры процессора, а их пересылка на вход АЛУ происходит на этапе исполнения операции).

Этап исполнения операции. На этом этапе реализуется указанная в команде операция, содержание этапа соответствует текущей команде.

Этап записи результата присутствует в цикле тех команд, которые предполагают занесение результата в регистр или ячейку ОП (РА ->РАП одновременно Акк ->РДП ->ОП).