Обслуживание маскируемых аппаратных прерываний в компьютере IBM PC AT
Особенности обслуживания маскируемых аппаратных прерываний
Особенности обслуживания немаскируемых аппаратных прерываний
Действия процессора при возникновении прерывания или исключения
1.Подготовительные действия:
– _______________ __ ________:
– копии регистра (E)FLAGS;
– указателя CS:(E)IP*;
– кода ошибки (для некоторых исключений защищенного режима);
– определение номера вектора прерывания (0-255);
– ___________ ___________ из таблицы прерываний и загрузка регистров ____________.
2.Выполнение ISR**.
3.Завершение обслуживания прерывания:
– извлечение из стека кода ошибки (если он был сохранен);
– выполнение инструкции ______:
– восстановление из стека указателя CS:(E)IP;
– восстановление из стека ____________ _________.
Инициируются высоким уровнем сигнала NMI независимо от состояния флага IF.
Обработка:
– вызывается прерывание с номером 2, которое выполняется так же, как и маскируемое;
– не может прерываться под действием сигнала на входе NMI до выполнения ___________ ______.
1.Инициируются переходом в высокий уровень сигнала на входе INTR* при установленном флаге IF.
*Высокий уровень должен сохраняться, по крайней мере, до подтверждения прерывания.
2.Процессор сохраняет в стеке копию регистра флагов и _______________ ______ ___.
3.Процессор вырабатывает два следующих друг за другом (back-to-back) цикла ____________________ прерывания, сопровождающиеся генерацией управляющих сигналов INTA# (Interrupt Acknowledge):
1-й – холостой;
2-й – внешний контроллер прерываний передает по шине ________ ___________, обслуживающего аппаратное прерывание данного типа.
Обработка текущего прерывания может быть в свою очередь прервана:
– ____________________ прерыванием;
– другим маскируемым аппаратным прерыванием (если обработчик установит ______ ___).
Запросы на маскируемые внешние прерывания от устройств поступают на входы IRQ0-IRQ15 контроллера прерываний.
Контроллер выполнен на основе двух БИС ПКП i8259A, соединенных по ______________ ________: один является ведущим (MASTER), другой – ведомым (SLAVE).