Введение

Интегральная схема, обрабатывающая прерывания.

В вычислительной технике программируемый контроллер прерываний (PIC) — это интегральная схема, помогающая микропроцессору (или CPU) обрабатывать запросы на прерывание (IRQs), поступающие от различных источников (например, внешних устройств ввода-вывода), которые могут возникать одновременно. Он помогает расставлять приоритеты IRQ, чтобы CPU переключал выполнение на наиболее подходящий обработчик прерываний (ISR) после оценки PIC относительных приоритетов IRQ. Распространенные схемы приоритетов прерываний включают фиксированные приоритеты, циклические приоритеты и каскадные приоритеты. PIC часто позволяют конфигурируемо сопоставлять входы с выходами. В архитектуре ПК PIC обычно встроены в южный мост, внутренняя архитектура которого определяется стандартами, установленными производителем чипсета.

Общие черты

PIC обычно имеют общий набор регистров: регистр запросов прерываний (IRR), регистр "в обслуживании" (ISR) и регистр маски прерываний (IMR). IRR указывает, какие прерывания ожидают подтверждения, и обычно является символическим регистром, к которому нельзя получить прямой доступ. Регистр ISR указывает, какие прерывания были подтверждены, но все еще ожидают завершения прерывания (EOI). IMR указывает, какие прерывания следует игнорировать и не подтверждать. Такая простая схема регистров позволяет одновременно обрабатывать до двух различных запросов прерываний: один, ожидающий подтверждения, и один, ожидающий EOI. В PIC существует несколько распространенных схем приоритетов, включая фиксированные приоритеты, специфические приоритеты и циклические приоритеты. Прерывания могут быть задействованы по фронту или по уровню. Существует несколько распространенных способов подтверждения завершения прерывания при выдаче EOI. К ним относятся указание номера завершенного прерывания, использование неявного прерывания, которое завершилось (обычно прерывание с наивысшим приоритетом, ожидающее в ISR), и рассмотрение подтверждения прерывания как EOI.

Известные типы

Один из наиболее известных PIC, 8259A, был включен в состав ПК на архитектуре x86. В современных компьютерах он не используется в виде отдельной микросхемы, а интегрирован в чипсет южного моста материнской платы. В других случаях его заменили более новые продвинутые программируемые контроллеры прерываний, поддерживающие большее количество выходных линий прерываний и более гибкие схемы приоритетов.