中斷禁止

中斷禁止

中斷由異步的外部事件引起。外部事件及中斷回響與正在執行的指令不存在關係。80386有兩根引腳INTR和NMI接受外部中斷請求信號,INTR接受可禁止中斷請求。在80386中,標誌暫存器EFLAGS中的IF標誌決定是否禁止可禁止中斷請求。

基本介紹

  • 中文名:中斷禁止
  • 處理器:接受和處理來自NMI的中斷請求
  • 中斷向量號:固定為2
  • 結束以:IRET指令
簡介,示例,

簡介

處理器必須接受和處理來自NMI的中斷請求。在80386系統中,處理器在回響NMI的中斷向量號固定為2。為了避免不可禁止中斷的嵌套,當接受到一個NMI中斷請求時,處理器自動禁止所有的NMI的中斷請求,直到執行中斷指令IRET後才重新開放NMI中斷請求,所以,NMI處理程式應以IRET指令結束。
什麼叫禁止中斷?允許中斷?怎樣實現?
按照是否可以被禁止,可將中斷分為兩大類:不可禁止中斷(又叫非禁止中斷)和可禁止中斷。不可禁止中斷源一旦提出請求,CPU必須無條件回響,而對可禁止中斷源的請求,CPU可以回響,也可以不回響。CPU一般設定兩根中斷請求輸入線:可禁止中斷請求INTR(Interrupt Require)和不可禁止中斷請求NMI(NonMaskable Interrupt)。對於可禁止中斷,除了受本身的禁止位控制外,還都要受一個總的控制,即CPU標誌暫存器中的中斷允許標誌位IF(Interrupt Flag)的控制,IF位為1,可以得到CPU的回響,否則,得不到回響。IF位可以由用戶控制,指令STI或Turbo c的Enable()函式,將IF位置1(開中斷),指令CLI或Turbo_c 的Disable()函式,將IF位清0(關中斷)。

示例

典型的非禁止中斷源的例子是電源掉電,一旦出現,必須立即無條件地回響,否則進行其他任何工作都是沒有意義的。
典型的可禁止中斷源的例子是印表機中斷,CPU對印表機中斷請求的回響可以快一些,也可以慢一些,因為讓印表機等待會兒是完全可以的。
注意,可禁止中斷和非可禁止中斷都屬於硬體中斷(外部中斷)。軟中斷既不屬於可禁止中斷,也不屬於非可禁止中斷。

相關詞條

熱門詞條

聯絡我們