处理器间中断(,IPI)是一种特殊类型的中斷,即在多处理器系统中,如果中断处理器需要来自其它处理器的动作,一个处理器向另一个处理器发出的中断行为。可能要求采取的行动包括:
- 刷新其它处理器的内存管理单元缓存,如转译后备缓冲器,当一个处理器更改内存映射时;
- 停机,当系统被一个处理器关闭时。
机制
OS/360的M65MP选件使用S/360的直接控制功能生成另一个处理器上的中断;在S/370及其后继者,包括z/Architecture上,SIGNAL PROCESSOR指令提供了一个更正式的接口。
在使用高级可编程中断控制器(APIC)的IBM PC兼容机上,常借助APIC发出IPI信号。当CPU希望向另一个CPU发送中断时,它会将中断向量和目标的本地APIC标识符存储在自己的本地APIC中断命令寄存器(ICR)中。消息随后经由APIC总线发送到目标的本地APIC,它因此发出一个相应的中断至它自己的CPU。
示例
在运行Microsoft Windows的多处理器系统中,除了上面列出的,处理器还可以出于下列原因中断另一个处理器:
排队轮候DISPATCH_LEVEL中断,以调度执行特定线程;
内核调试器断点。
IPI的IRQL为29。
参见
- 中斷
- 中断处理程序
- 非可屏蔽中断(NMI)
参考
外部链接
*[http://linux.linti.unlp.edu.ar/images/0/0c/ULK3-CAPITULO4-UNNOBA.pdf 中断和异常]
评论 (0)