Существуют два основных вида прерывания: программное прерывание и аппаратноепрерывание. Программное прерывание реализуется введением специальных команд прерывания всистему команд процессора. Введение таких специальных команд позволяет создаватьгибкие и мощные программные средства (например, операционные системы). Аппаратные прерывания могут инициироваться как операционными блокамимикропроцессора, так и устройствами внешними по отношению к нему. Аппаратныепрерывания подразделяются на маскируемые прерывания и немаскируемые прерывания. Маскируемые прерывания реализуется только при условии разрешения прерывания.Процессор реагирует на запросы маскируемых прерываний по линии INT, если установленвнутренний триггер разрешения прерываний INTE, называемой также маской. На рис.3.3приведена функциональная внутренняя схема прерываний. Состояние триггера разрешения прерывания INTE идентифицируется выходнымсигналом разрешения прерывания с такой же мнемоникой INTE. Если INTE=0, прерываниязапрещены (замаскированы) и процессор не реагирует на сигнал INT=1. С помощью командразрешения EI и запрещения DI прерываний можно программно управлять состояниемтриггера INTE, и пользователь может защитить от прерываний критические сегментыприкладной программы. При восприятии прерывания триггер прерывания IFF переводиться в нулевоесостояние, что приводит к запрещению инкремента программного счетчика и генерированиюсигнала подтверждения прерывания INTA. При этом сбрасывается триггер INTE и в дальнейшем разрешить прерывание можнотолько командой EI. Для программного управления ПУ в их регистрах управления исостояния предусмотрен специальный бит INTEN разрешения прерывания (маска). Иногдабиты масок всех устройств объединяются в специальный регистр. Наконец, в некоторыхмикропроцессорах бит маскирования прерывания входит в слово состояния процессора PSW. Немаскируемые прерывания реализуют режим безусловного прерывания.Микропроцессор воспринимает запросы прерывания независимо от того, в каком состояниинаходится триггер разрешения прерывания. Эти прерывания должны отражать ситуации, вкоторых желательно немедленное прерывание (например, ошибка аппаратуры контроля,уменьшение напряжения сети до критического уровня и т.д.). 3.3.3. Идентификация прерывающего устройства системы прерывания Когда в микропроцессорных системах имеется несколько ПУ, работающих в режимепрерываний, сигналы их запросов на обслуживание прерываний объединяются по схемеИЛИ и подаются на вход INT микропроцессора. В этом случае возникает задачаидентификации ПУ, т.е. однозначного перехода к определенной подпрограммеобслуживания. Решение этой задачи возлагается на систему прерывания. Разработанонесколько способов решения этой проблемы, различающихся скоростью реакциимикропроцессора и объемом дополнительных аппаратных средств. При реализации любогоспособа необходимо назначить устройствам определенные приоритеты.