Resumen
En computación, el Advanced Programmable Interrupt Controller (APIC) de Intel es una familia de controladores de interrupciones. Como su nombre sugiere, el APIC es más avanzado que el 8259 Programmable Interrupt Controller (PIC) de Intel, en particular permitiendo la construcción de sistemas multiprocesador. Es uno de varios diseños arquitectónicos destinados a resolver problemas de eficiencia en el enrutamiento de interrupciones en sistemas de computadoras multiprocesador.
El APIC es un diseño de arquitectura dividida, con un componente local (LAPIC) habitualmente integrado en el procesador mismo, y un I/O APIC opcional en un bus del sistema. El primer APIC fue el 82489DX, un chip discreto que funcionaba tanto como LAPIC como I/O APIC. El 82489DX permitió la construcción de sistemas multiprocesador simétricos (SMP) con los procesadores Intel 486 y los primeros Pentium; por ejemplo, el sistema de referencia SMP de dos vías 486 utilizó tres chips 82489DX, dos como LAPIC locales y uno como I/O APIC. A partir del procesador P54C, la funcionalidad LAPIC local se integró en el silicio de los procesadores Intel. El primer I/O APIC dedicado fue el Intel 82093AA, que estaba destinado a sistemas basados en PIIX3.
Descripción general
Hay dos componentes en el sistema APIC de Intel, el LAPIC local y el I/O APIC. Hay un LAPIC en cada CPU del sistema. En la primera implementación (82489DX), el LAPIC era un circuito discreto, a diferencia de su implementación posterior en el silicio de los procesadores Intel. Normalmente hay un I/O APIC por cada bus periférico del sistema. En los diseños de sistemas originales, los LAPIC y los I/O APIC estaban conectados por un bus APIC dedicado. Los sistemas más nuevos utilizan el bus del sistema para la comunicación entre todos los componentes APIC.
Cada APIC, ya sea un chip discreto o integrado en una CPU, tiene un registro de versión que contiene un número de versión de cuatro bits para su implementación APIC específica. Por ejemplo, el 82489DX tiene un número de versión APIC de 0, mientras que la versión 1 se asignó a la primera generación de LAPIC locales integrados en los procesadores Pentium 90 y 100.
De Wikipedia (CC BY-SA 4.0).