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

1.4.2. Выполнение команд в микропроцессоре

Каждая команда в МП выполняется на протяжении командного цикла (рис. 4.4). Командный цикл состоит из нескольких машинных циклов, обозначаемых M. В команде может быть от одного до пяти машинных циклов, в зависимости от формата команды и способа адресации операндов. Команды занимают от одного до трех байтов в программной памяти. Каждый машинный цикл представляет собой цикл обращения к системной шине (магистрали): выборку очередного байта команды или данных из памяти, запись в память, ввод или вывод данных.

Машинный цикл, в свою очередь, разбивается на некоторое количество машинных тактов (T), на протяжении каждого из которых выполняется элементарное действие (микрооперация) в процессоре. Количество тактов в цикле определяется кодом команды и лежит в пределах от 3 до 5. Продолжительность такта задается периодом импульсов синхронизации и определяется как интервал времени между фронтами двух соседних импульсов последовательности F1. Для данного МП продолжительность такта равна 0,5 мкс, т. е. тактовая частота равна 2 МГц.

В зависимости от действий, выполняемых МП, различают следующие типы машинных циклов:

  • выборка (чтение первого байта команды);

  • чтение памяти (чтение второго и третьего байтов команды, чтение операнда);

  • запись в память;

  • чтение стека;

  • запись в стек;

  • ввод данных из внешнего устройства;

  • вывод данных во внешнее устройство;

  • прерывание;

  • останов;

  • прерывание при останове.

Первым машинным циклом команды всегда является цикл «Выборка», на протяжении которого осуществляется выборка из памяти байта кода команды по адресу, определяемому содержимым PC. Содержимое программного счетчика в цикле увеличивается на единицу.

Для выполнения однобайтных команд с регистровой адресацией требуется лишь один цикл выборки. Для выборки двух- или трехбайтных команд, кроме цикла «Выборка», нужно выполнить еще один или два машинных цикла для чтения второго или второго и третьего байтов команды. Эти циклы определяются как циклы «Чтение памяти». Для записи операндов или сохранения адресов при выполнении команд пересылок используются машинные циклы «Запись в память». В командах с обращением к стеку выполняются циклы «Чтение стека» и «Запись в стек». Для выполнения команд ввода/вывода выполняются машинные циклы «Ввод» и «Вывод»; для организации прерываний программы и остановки процессора - циклы «прерывание», «останов» и «прерывание при останове».

Каждый машинный цикл процессора идентифицируется байтом, называемым байтом состояния (SW). Байт состояния выдается на шину данных в начале каждого машинного цикла и сопровождается одновременной выдачей сигнала SYNC. Байт состояния несет информацию о последующих действиях процессора. Его можно «запомнить» по сигналу SYNC и сформировать такие управляющие сигналы, которые не удалось вывести в явном виде на контакты БИС МП из-за ограниченного количества контактов микросхемы.

На рис. 4.5 изображены диаграммы выполнения по тактам цикла «Выборка» или «Чтение памяти». Такты отсчитываются по передним фронтам последовательности F1, а микрооперации в каждом такте определяются передним фронтом последовательности F2.

В такте T1 на шину адреса выдается адрес - содержимое PC (для цикла «Выборка») - или содержимое регистра «Указатель адреса» (для цикла «Чтение памяти»). На шину данных выдается байт состояния (SW) и также формируется сигнал SYNC.

В такте T2 заканчивается поступление байта состояния и сигнала SYNC, продолжительность которых равна одному такту. В машинном цикле «Выборка» содержимое PC увеличивается для адресации следующего байта команды или следующей команды. В этом же такте устройство управления МП производит анализ сигналов на входах READY и HOLD, а также контроль выполнения команды останова hlt. Если память или внешнее устройство не готовы к обмену (READY = 0) вследствие того, что поступил запрос прямого доступа к памяти (HOLD = 1) или выполняется команда останова hlt, то обмен данными осуществляться не может и процессор переходит в один из режимов: «Ожидание», «Захват шин» или «Останов». В этих режимах осуществляется ожидание сигнала на протяжении нескольких тактов ожидания Tw, количество которых определяется внешними сигналами.

В такте T3 в МП вводится байт команды, адреса или данных.

В зависимости от типа команды машинный цикл может содержать такты T4 и T5, например, если нужна обработка операндов. В последнем такте команды (T3, T4 или T5) анализируется наличие сигнала запроса прерывания INT. Если прерывание разрешено, то процессор переходит к машинному циклу «прерывание».

Временные диаграммы для всех типов машинных циклов, описание всех поддерживаемых команд рассматриваемого процессора привести в рамках данного пособия не представляется возможным. Для получения дополнительных сведений необходимо воспользоваться литературой [1-9].

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]