Controlador de interrupção programável - Programmable interrupt controller
Na computação , um controlador de interrupção programável ( PIC ) é um circuito integrado que ajuda um microprocessador (ou CPU ) a lidar com solicitações de interrupção (IRQ) provenientes de várias fontes diferentes (como dispositivos de E / S externos) que podem ocorrer simultaneamente. Ele ajuda a priorizar os IRQs para que a CPU alterne a execução para o manipulador de interrupção mais apropriado (ISR) depois que o PIC avaliar as prioridades relativas do IRQ. Os modos comuns de prioridade de interrupção incluem prioridades rígidas, prioridades rotativas e prioridades em cascata. Os PICs geralmente permitem o mapeamento de entrada para saídas de uma forma configurável. Na arquitetura do PC, os PICs são normalmente embutidos em chips da ponte sul, cuja arquitetura interna é definida pelos padrões do fornecedor do chipset.
Características comuns
Os PICs geralmente têm um conjunto comum de registros: registro de solicitação de interrupção (IRR), registro em serviço (ISR) e registro de máscara de interrupção (IMR). A IRR especifica quais interrupções estão com confirmação pendente e é tipicamente um registro simbólico que não pode ser acessado diretamente. O registro ISR especifica quais interrupções foram reconhecidas, mas ainda estão aguardando o fim da interrupção (EOI). O IMR especifica quais interrupções devem ser ignoradas e não reconhecidas. Um esquema de registro simples como esse permite que até duas solicitações de interrupção distintas fiquem pendentes ao mesmo tempo, uma aguardando confirmação e outra aguardando EOI.
Existem vários esquemas de prioridade comuns em PICs, incluindo prioridades rígidas, prioridades específicas e prioridades rotativas.
As interrupções podem ser disparadas por borda ou por nível .
Existem várias maneiras comuns de reconhecer que uma interrupção foi concluída quando um EOI é emitido. Isso inclui a especificação de qual interrupção foi concluída, usando uma interrupção implícita que foi concluída (geralmente a prioridade mais alta pendente no ISR) e tratando o reconhecimento de interrupção como o EOI.
Tipos bem conhecidos
Um dos PICs mais conhecidos, o 8259A , foi incluído no PC x86 . Nos tempos modernos, isso não é incluído como um chip separado em um PC x86, mas sim como parte do chipset ponte sul da placa-mãe . Em outros casos, ele foi substituído pelos controladores de interrupção programáveis avançados mais recentes, que suportam mais saídas de interrupção e esquemas de prioridade mais flexíveis.
Veja também
- Intel 8259 - notável PIC da Intel
- OpenPIC e IBM MPIC
- Interrupção entre processadores (IPI)
- Interromper latência
- Interrupção não mascarável (NMI)
- IRQL (Windows)
Leitura adicional
Mais informações sobre o Intel APIC podem ser encontradas no IA-32 Intel Architecture Software Developer's Manual, Volume 3A: System Programming Guide, Part 1, Chapter 10 , disponível gratuitamente no site da Intel .