Penguin
Note: You are viewing an old revision of this page. View the current version.

APIC is an Acronym for Advanced Programmable Interrupt Controller. The APIC is split into two parts, the Local APIC and the IO-APIC.

The Local APIC is found on uniprocessor and mulitprocessor systems and built into recent x86 chips (PentiumPro? and up). The Local APIC can be used by the OS to program interrupts to wake up threads, on SMP machines it can be used to send interrupts to another processor. The Local APIC also has a handy timer in it, you can set the timer to whatever you want and it'll start generating interrupts.

The IO-APIC is only really useful for SMP systems. It is used for sending various interrupts to various CPUs in the system. Without an IO-APIC interrupts from hardware only get delivered to the boot CPU. Another advantage is that PCI interrupts can be sent around the system without overlapping IRQs.