|
|
| Х
| 1-0
| МП IF=1
|
|
|
| Х
|
| EOI конец прерываний
|
|
|
| Х
|
|
|
|
| Х
|
|
|
|
| Х
|
|
|
|
| Х
|
|
|
|
| Х
|
|
|
|
| Х
|
|
| Регистр
Запросов
IRR
| Регистр
Маски
IMR
| Схема
Анализа
приоритетов
| Регистр
обслужив.
Запросов ISR
|
Сигнал по линии IRQ1 (от клавиатуры) поступает на вход регистра запросов и устанавливает в 1 соответствующий бит. Если в регистре маски соответствующий бит равен 0, прерывание не замаскировано и сигнал проходит схему анализа приоритетов. Стандартная настройка приоритетов: чем > N линий IRQ, тем ниже приоритет. Сигнал дает разрешение на установку бита в регистре обслуживаемых запросов и поступает на вход INTR МП. МП регистрирует поступление сигнала только в том случае, если IF=1. Получив сигнал ENTR, МП выдает сигнал INTA, который поступает в контроллер прерываний и выполняет 2 действия: 1. устанавливает нулевой бит в регистре обслуживания запросов и сбрасывает бит в регистре запросов.
По этой линии может прийти следующий сигнал прерываний.
2. в регистре обслуживания запросов воздействует на схему анализа приоритета т.о., что запрещены все прерывания с более низким приоритетом. Для разблокировки прерывания выдается сигнал EOI. Это выполняется в процедуре обработки прерываний. Сигнал INTA сбрасывает флаг IF, т.о. оказываются запрещенным все прерывания. Поэтому процедура обработки прерывания должна воздействовать на IF в начале своей работы.