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

Векторная приоритетная система прерываний

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

Адреса подпрограмм обслуживания прерываний находятся в специальной таблице и называются векторами прерывания.

В реальном режиме таблица векторов располагается в начале физической памяти; вектор имеет длину четыре байта

Организация векторного прерывания

Адрес, который загружается в программный счетчик при переходе к обработке прерывания, называется "вектор прерывания"

Типовая структура ЦП

Сигналы прерываний (на примере МП

К1821ВМ85А )

Вход TRAP – немаскируемый и имеет наивысший приоритет.

Приоритеты входов RSTn фиксированы (снижаются в

порядке RST7,5; RST6,5; RST5,5). Команды RSTn

заканчиваются загрузкой в программный счетчик числа 8n.

Система прерываний применит. к МП-ру

К1821 (Intel 8085A)

INTR (Interrupt Request) вход запроса векторного прерывания; сигнал INTR вызывает генерацию строба INTA.

INTA (Interrupt Acknowledge) – выход строба подтверждения векторного прерывания.

Система прерываний применит. к МП-ру

К1821 (Intel 8085A)

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

Источник, выставивший запрос, при получении INTA выдает на ШД свой № или адрес программы обслуж. Остальные источники на сигнал INTA не реагируют.

Входы запросов радиального прерывания

Вход TRAP – наивысшего приоритета

Входы RSTn (n = 7,5; 6,5; 5 ,5)

соответствуют начальным адресам

подпрограмм обслуживания прерываний 8n,

то есть 60; 52; 44.

Так нач. адрес RST5,5 равен 002CH = = 00…001011002 = 4410.

МаскированиеМаскированиесостоит в запрещении действия соответствующего входа запроса прерывания.

Вход TRAP является немаскируемым (принимаемым всегда). К этому входу подключают сигналы, оповещающие о событиях в МПС, появление которых требует безусловной реакции.

Прерывания по входам RSTn маскируемые, то есть могут быть разрешены или запрещены командами EI (Enable Interrupt) и

Команда RSTn (от слова Restart) позволяет ускорить реакцию микропроцессора на прерывания и упростить интерфейс с подсистемой прерываний.

Последовательность действий МП в режиме прерывания

1.Прием запроса прерывания и блокирование входа запроса прерывания.

2.Прием команды RSTn.

3.Сохранение адреса возврата (содержимого указателя команд) в стеке.

4.Формирование адреса подпрограммы обслуживания запроса.

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

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

содержимое PC загружается в стек. Для этого вводятся трехтактные циклы М2 и МЗ «ЗАПИСЬ В СТЕК»;

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

После указанных действий обычным образом вводится цикл «ВЫБОРКА КОДА ОПЕРАЦИИ» первой команды обработчика прерываний, и производятся необходимые действия по обмену данными с ПУ. Последней командой обработчика прерываний должна быть команда RETURN, которая возвращает в PC запомненный в стеке адрес возврата.