В процессе нормальной работы различные подключенные к ПК периферийные устройства ввода/вывода, такие как клавиатура и дисководы, требуют своего обслуживания со стороны микропроцессора. Хотя устройства ввода/вывода могут обслуживаться подобно ячейкам памяти, между ними существует одно большое различие: в общем случае устройства ввода/вывода способны прерывать работу микропроцессора во время выполнения им программы. Устройство ввода/вывода делает это, выдавая процессору сигнал запроса прерывания (interrupt request, IRQ). Каждому устройству в PC-совместимой системе, которое способно прерывать работу микропроцессора, должен быть присвоен собственный уникальный номер IRQ. Система использует этот номер для определения того, какое устройство нуждается в обслуживании. Если микропроцессор отвечает на сигналы INT и периферийное устройство выдает запрос на прерывание в линию IRQ, микропроцессор прекращает выполнение текущей инструкции и выдает в шину управления сигнал подтверждения прерывания (interrupt acknowledge, INTA). Микропроцессор приостанавливает свою обычную работу и сохраняет содержимое своих внутренних регистров в специальной области памяти, называемой стеком. Вызвавшее прерывание устройство отвечает, отправляя микропроцессору начальный адрес специальной программы, называемой подпрограммой обслуживания прерывания. Микропроцессор использует эту программу для обслуживания вызвавшего прерывание устройства. По завершении его обслуживания содержимое стека восстанавливается в исходных регистрах, и микропроцессор возвращается к выполнению исходной программы с того места, где она была прервана. Если одновременно поступают два сигнала прерывания, первым обслуживается прерывание с более высоким приоритетом.
Контроллер прерываний воспринимает наделенные приоритетом сигналы IRQ от одного до восьми периферийных устройств по линиям IRQ с номерами от 0 до 7. Когда одно из периферийных устройств собирается осуществить обмен данными с микропроцессором, оно посылает IRQ в контроллер прерываний. Контроллер отвечает, посылая микропроцессору сигнал INT. При получении одновременно двух запросов на прерывание вначале контроллер принимает и реагирует на тот из них, приоритет которого выше. Устройства, подключенные к линии IRQ-0 имеют наивысший приоритет, а подключенные к линии IRQ-7 — низший.
Из 16 доступных каналов прерываний (от IRQ0 до IRQ 15) 3 используются в основном внутри микропроцессорного набора системной платы, поэтому они не имеют внешних контактов IRQ. Входы остальных 13 каналов IRQ доступны для выполнения системой определяемых пользователем функций прерываний. Каждому входу IRQ присвоен уровень приоритета. IRQ0 имеет наивысший приоритет, IRQ 15 — низший. Внутренне подключенные каналы таковы:
- Канал О (IRQ0) Прерывание таймера/счетчика — ОК.
- Канал 1 (IRQ1) Буфер клавиатуры заполнен.
- Канал 2 (IRQ2) Каскадно соединен с INTC2.
- Канал 8 (IRQ8) Прерывание часов реального времени.
- Канал 9 (IRQ9) Каскад между INTC1 и INTC2
- Канал 13 (IRQ 13) Прерывание математического сопроцессора.