處理器間中斷

處理器間中斷(英語:Inter-Processor Interrupt,IPI)是一種特殊類型的中斷,即在多處理器系統中,如果中斷處理器需要來自其它處理器的動作,一個處理器向另一個處理器發出的中斷行為。可能要求採取的行動包括:

機制 編輯

OS/360M65MP選件使用S/360的直接控制功能生成另一個處理器上的中斷;在S/370及其後繼者,包括z/Architecture上,SIGNAL PROCESSOR指令提供了一個更正式的接口。

在使用高級可編程中斷控制器(APIC)的IBM PC兼容機上,常藉助APIC發出IPI信號。當CPU希望向另一個CPU發送中斷時,它會將中斷向量和目標的本地APIC標識符存儲在自己的本地APIC中斷命令寄存器(ICR)中。消息隨後經由APIC總線發送到目標的本地APIC,它因此發出一個相應的中斷至它自己的CPU。

示例 編輯

在運行Microsoft Windows的多處理器系統中,除了上面列出的,處理器還可以出於下列原因中斷另一個處理器:

  1. 排隊輪候DISPATCH_LEVEL中斷,以調度執行特定線程;
  2. 內核調試器斷點。

IPI的IRQL為29。[1]

參見 編輯

參考 編輯

  1. ^ Matt. Understanding IRQL. 2002-04-28 [2014-12-06]. (原始內容存檔於2019-10-14). 

外部連結 編輯