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

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 .

Referências

links externos