处理器间中断

处理器间中断(,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)

  • 还没有评论,来抢沙发吧。