При запросе от внешнего устройства (прерывания) процессор заканчивает выполне-
ние текущей команды и выполняет действие, аппаратно реализованного вызова подпро-
граммы обслуживания прерывания (также записывается в стек счетчика команд, регистр
общего назначения) в счетчик команд записывается команда подпрограммы обработки
прерывания (подпрограмма работы с устройством, вызвавшим прерывание).
Различают прерывания по важности. В тексте программы существуют участки за-
прета прерываний, после этого участка вставляется команда разрешения прерывания
(маскирование прерываний). Однако, есть так называемые не маскируемые прерывания –
их нельзя запретить. Сигналы от них поступают на специальные входы процессора. Пре-
рывания могут приходить от разных устройств – необходимо определять, от какого уст-
ройства пришло прерывание. Используют три основных способа:
– векторный способ Процессор имеет число входов для приема прерывания = числу
устройств. При поступлении на определенный вход прерывания вызывается подпрограм-
ма обработки прерывания от этого устройства. Каждое прерывание имеет свой вектор, по
вектору определяют начальный адрес подпрограммы обработки прерываний. Недостатком
является большое число входов.
– радиальный используется внешнее устройство – контроллер, который осуществля-
ет распределение приоритетов прерываний от устройств.

CPU
IRQ
Шина данных
Контроль
прерываний
IRQ
IRQ
ВУ
ВУ
Контроллер выставляет запрос CPU и выставляет вектор прерываний (адрес подпрограм-
мы) на шину данных. Процессор избавляется от лишней работы, меньше число выводов,
возможно наращивать.
– режим опроса. Все устройства соединяются одной шиной с входом прерывания
процессора, и при выставлении прерываний запускается программа опроса всех возмож-
ных источников прерываний. После определения источника запроса прерывания, запуска-
ется программа обработки прерывания. Более медленный способ, но можно гибко реали-
зовать программно.