Основы микропроцессорной техники

4.6. Работа  управляющего автомата в режимах прерывания и прямого доступа к памяти

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

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

Чтобы ускорить реакцию микропроцессора на прерывание и упростить интерфейс с подсистемой прерываний, в систему команд включена специальная однобайтная команда вызова, называемая рестартом с КОП 11ААА111.

Трехбитное поле ААА, называемое вектором, должно быть сформировано периферийным устройством, на запрос которого реагирует микропроцессор. В такте Т3 команда рестарт с шины данных загружается в регистр команд, а такты T4, T5 отведены на ее дешифрирование.

Команда рестарт инициирует выполнение двух действий:

1) содержимое счетчика команд загружается в стек; для этого введены два трехтактных машинных цикла ЗАПИСЬ В СТЕК;

2) в счетчик команд передается код 00ААА000, который направляет микропроцессор к начальному адресу обработчика прерываний. Таким образом, биты ААА однозначно идентифицируют периферийное устройство, сформировавшее запрос на обслуживание прерывания.

После указанных действий обычным образом вводится цикл ВЫБОРКА КОП обработчика прерываний, и производятся необходимые действия по обмену данными с периферийным устройством.

Последней командой подпрограммы обработчика прерываний должна быть команда возврата, которая возвращает в счетчик команд, запомненный в стеке адрес возврата.

Управляющее устройство микропроцессора позволяет выполнять операции с прямым доступом к памяти. При этом обмен данными между периферийным устройством и ОЗУ осуществляется без участия микропроцессора. Режим прерывания и прямого доступа к памяти (ПДП) целесообразен при обмене блоками данных.

В этом случае обмен данными производится быстрее, чем при программно управляемом (процессорно-управляемом) обмене.

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

Управляющий автомат при этом вырабатывает управляющие сигналы, переводящие буферные схемы шин адреса и данных микропроцессора в третье состояние.

Так реализуется принцип захвата машинных циклов микропроцессорной системы для ввода-вывода данных.

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

изменным. Периферийное устройство выставляет начальный адрес ОЗУ и количество байт в передаваемом блоке.