Логика маскирования прерываний Регистр
флагов
(IF)
Регистр
массок
(IE)
GIE
Общее разрешение
прерываний
Немаскируемый запрос
...
Приоритетная логика
(селектор приоритетов,
шифратор)
Регистр приоритетов (IP)
Вектор
Сброс вектора
Запрос прерывания
Селектор
уровня/
фронта
Селектор
уровня/
фронта
INT0
INT1
К
ядр
у
От
вс
тр
ое
н
ны
х
м
о
ду
лей
(та
й
м
еро
в/
сч
ет
чи
ко
в,
пр
и
ем
опер
еда
тч
ик
ов
и
др
.
Рисунок 11. Блок обработки запросов прерываний На рисунке селектор уровня/фронта внешнего сигнала запроса прерывания
выбирает событие, по которому вырабатывается запрос прерывания от
внешнего сигнала («внешнее прерывание»). Возможны следующие настройки:
по перепаду (фронт или спад сигнала) или по уровню. При возникновении
запроса прерывания в регистре флагов (Interrupt Flag, IF) устанавливается бит,
соответствующий источнику. Логика маскирования прерываний разрешает или
запрещает выработку запросов от определенных источников или от всех
источников сразу. Для разрешения прерывания необходимо установить в «1»
соответствующий бит регистра масок (Interrupt Enable, IE) и бит общего
разрешения прерываний (Global Interrupt Enable, GIE). Логика маскирования
никак не влияет на немаскируемый запрос прерывания (Non-Maskable Interrupt,
NMI). Приоритетная логика (Interrupt Priority, IP) вырабатывает вектор для
наиболее приоритетного запроса и передает его вычислительному ядру
синхронно с сигналом запроса прерывания; отслеживает приоритет запроса,
находящегося в обработке и вытесняет (прерывает) данных запрос, если
пришел другой запрос с более высоким приоритетом.