没想到在我们的computer中,整个中断系统是那么复杂……一时消化不了,等以后有时间慢慢咀嚼!
先写一点点点:
PIC:一般是2个8259A联级
APIC:分为Local APIC”(LAPIC)和“I/O APIC”(IOAPIC)。系统中每个(逻辑上的)CPU 一般都有一个片上的 LAPIC。因此,若系统有四个 CPU 则有四个 LAPICs(注意,因为是每个逻辑处理器有一个 LPIC,所以如果有两个超线程的 CPU 也会有四个 LPIC)。IOPIC 是 Intel 芯片组的一部分,Pentium IV 及以后的系统可以有任意数量的 IOAPICs。Pentium IV 之前的 CPU 则限制在8个。一个 IOPIC 可以设计为支持最多64条“中断输入线” (Interrupt Input Lines,INTINs),但是大多数标准的系统的 IOAPICs 都是24条 INTINs。INTINs 与 8259 里的 IRQs 作用相同。换句话说,每个产生中断的设备都会取得一个 INTIN。如你所见,在 APIC 的配置中可以使用足够多的 INTINs 来减少8259 中存在的共享问题。
IRQ:
中断级别 | 通常用途 | 说明 |
0 | 时钟 | |
1 | 键盘 | |
2 | 与IRQ 9级连 | |
3 | COM2或COM4 | |
4 | COM1或COM3 | |
5 | LPT2 | 因为许多用户没有第二个并行口,因此它常常空闲,声卡可以使用此中断 |
6 | 软盘控制器 | |
7 | LPT1 | 声卡可以使用此中断 |
8 | 实时时钟 | |
9 | 与IRQ 2级连 | 直接与2相连,有时通知软件9时意味着2 |
10 | 未使用 | 通常用于网卡 |
11 | 未使用 | 由SCSI控制器使用 |
12 | PS/2,总线鼠标 | 如果用户没有PS/2或总线鼠标,此中断空闲 |
13 | 协处理器 | 通知CPU协处理器错误 |
14 | 硬盘控制器 | 如果用户未使用IDE硬盘,可以将它用于其它设备 |
15 | 有些计算机将此中断分配为第二个IDE控制器 | I如果用户未使用第二个IDE硬盘控制器,可以将它用于其它设备 |
IRQL:windows搞出来的中断优先级,PIC时代是完全用软件虚拟出来的,APIC时代得到了一些硬件的支持所以比PIC的简单多!