Windows操作系统运行的处理器架构中,硬件产生信号发给可编程中断控制器. 中断控制器发送中断请求 (IRQ)及相应的优先级给CPU,CPU设置一个掩码(mask)屏蔽低优先级的其他中断请求到挂起状态(pending state),直到CPU释放控制给中断控制器。如果到来的中断有更高优先级,那么当前中断被挂起,CPU处理高优先级的中断。
Windows把硬件中断与软件中断都映射到内部的中断表内。这就是中断请求级别IRQL。多核处理器的每个内核有自己单独的IRQL。异步过程调用、用户态线程、内核模式操作都可以被中断,因此它们的IRQL低于线程调度器(或称分派器)。
小知识点:
可编程中断控制器是微处理器与外设之间的中断处理的桥梁,由外设发出的中断请求需要中断控制器来进行处理。
分类:
PIC
早期PC/XT/AT机里使用的可编程中断控制器一般为Intel 8259系列产品,这种PIC只能够支持8个优先级,但是可以通过级联来最多能够支持64个优先级.
APIC
后来随着Intel于1997年公布Multiprocessor Specification,APIC(高级可编程控制器)的产生,可编程中断控制器已经渐渐为高级可编程控制器所取代.该种PIC应用于多处理器平台当中.注:多核单处理器也是使用高级可编程控制器.
SAPIC
x64平台使用的可编程中断控制器