Advanced Programmable Interrupt Controller
# Advanced Programmable Interrupt Controller

Advanced Programmable Interrupt Controller o APIC es un controlador de interrupciones, incorporado en la unidad central de procesamiento y diseñado por y para el multiproceso, concretamente para poder incorporar múltiples microprocesadores a la placa madre. No confundir con el "I/O APIC" de la placa base que consiste en una mejora del PIC clásico de la arquitectura AT y la ventaja es que ofrece más de 16 IRQs y un manejo más rápido de las mismas.

## Resumen

Hay dos componentes en un sistema Intel APIC, el APIC Local (LAPIC) y el I/O APIC (de entrada/salida). El LAPIC está integrado en cada CPU del sistema y el I/O APIC se usa por el sistema de buses de periféricos. Normalmente hay un I/O APIC para cada bus de periféricos en el sistema. En el diseño del sistema original, los LAPICs y los I/O APIC están conectados por un bus dedicado APIC. Los sistemas más nuevos usan el bus del sistema para comunicación entre todos los componentes APIC.

En sistemas conteniendo un PIC 8259, el 8259 se puede conectar al LAPIC en el BSP (System's bootstrap processor), o en uno de las I/O APIC del sistema

### Local APIC

Las LAPIC gestionan todas las interrupciones externas para el procesador del que forman parte. Además, es capaz de aceptar y genera interrupciones interprocesador (IPIs) entre LAPICs. Puede soportar hasta vectores de 224 IRQ de una I/O LAPIC. Los números entre 0 al 31 se reservan para el manejo de excepciones de los procesadores x86.

### I/O APIC

I/O APIC contienen la tabla de redirección, que se usa para enrutar las interrupciones que reciben de los buses periféricos a una o más Local APIC.

