Описание процессора i8086 для программиста

         

Немаскируемые прерывания


Микропроцессор извещается о возникновении немаскируемого запроса внешнего прерывания с помощью сигнала, поступающего по линии NMI. Получив этот сигнал, он обычным образом заканчивает выполнение очередной инструкции и выполняет процедуру прерывания по вектору 2, постоянно назначенному для немаскируемых прерываний. В стеке будет сохранён адрес следующей инструкции, т.е. инструкции, которая выполнялась бы, если бы не возникло прерывание.

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

Когда происходит немаскируемое прерывание, микропроцессор блокирует обработку новых запросов немаскируемых прерываний до тех пор, пока не будет выполнена инструкция возврата из прерывания IRET. Таким образом, несколько немаскируемых прерываний не могут быть “вложенными” друг в друга.

Как явствует из названия, это прерывание средствами самого микропроцессора не может быть замаскировано. Однако в персональных компьютерах обычно имеются внешние по отношению к микропроцессору схемы, позволяющие запретить немаскируемые прерывания путём блокировки прохождения сигнала по линии NMI.



Содержание раздела