50
лять с помощью команд STI (установка) и CLI (сброс). Кроме
того, программируемый контроллер прерываний может осуще-
ствлять селективное маскирование запросов прерывания от от-
дельных устройств, если в контроллер послан соответствующий
приказ.
Микропроцессор подтверждает запрос прерывания, вы-
полняя два последовательных цикла INTA.
Имеется несколько случаев, когда сигнал INTR распознает-
ся только при завершении следующей команды. Имеются два
особых случая, когда запрос прерывания распознается во время
выполнения команд, относящихся к цепочечной команде с по-
вторением и к команде WAIT, которые могут выполняться в те-
чение значительного времени. В этих случаях прерывания вос-
принимаются после любой законченной цепочечной операции
(т.е. после очередной операции с элементом цепочки) или после
цикла проверки сигнала на входе TEST (каждый цикл проверки
занимает время 5Т).
Запросы на немаскируемое прерывание поступают по
входу NMI и обычно используются для прерывания работы МП
при «катастрофических» событиях, требующих немедленной ре-
акции, таких как аварийное пропадание питания, обнаружение
ошибки памяти и т.д. Вход NMI воспринимает переход сигнала
от низкого уровня к высокому (положительный фронт), чтобы
текущая программа не прерывалась от одного сигнала NMI = 1
несколько раз. Запросы NMI запоминаются в МП и имеют более
высокий приоритет, чем прерывания по входу INTR. Обработка
немаскируемого прерывания не зависит от состояния флага IF.
Немаскируемому прерыванию присваивается фиксированный
код типа 2, который автоматически формируется внутри МП.
Поэтому в ответ на NMI циклы шипы подтверждения прерыва-
ния INTA не формируются, что ускоряет реакцию МП на запро-
сы немаскируемых прерываний.
Если, например, одновременно возникают немаскируемое
и маскируемое прерывания, МП начинает выполнение немаски-
руемого прерывания как имеющего высший приоритет и маски-
рует внешние прерывания сбросом флага IF. В этом случае за-