跳轉至

中斷概述

中斷的概念

  • 中斷來源:指引起中斷的事件或發出中斷請求的來源。
  • 中斷請求:中斷來源向CPU發出的請求,要求暫停目前執行的任務並處理緊急任務。
  • 斷點:當中斷發生時,被打斷程式的暫停點,即程式暫停的地方。

中斷優先權和中斷屏蔽

中斷優先權

  • 中斷優先權是為了使系統能夠及時回應和處理所有中斷事件,系統會根據事件的重要性和緊急程度將中斷源分為不同的等級。
  • 一般情況下,中斷優先權的順序由高到低為:
    • 硬體故障中斷
    • 自願中斷
    • 程序性中斷
    • 外部中斷
    • 輸入輸出中斷

中斷屏蔽

  • 中斷屏蔽:為了防止低優先順序的中斷事件處理打斷高優先順序的中斷,電腦系統採用中斷屏蔽技術。根據是否可以屏蔽,中斷分為兩類:
  • 不可屏蔽中斷:一旦請求,CPU必須無條件回應。
  • 可屏蔽中斷:CPU可以選擇回應或忽略。

中斷的處理方式

  1. 順序處理方式

    • 在這種方式下,當處理機正在處理一個中斷時,屏蔽所有新的中斷請求,直到當前中斷處理完畢後再檢查是否有新的中斷。如果有新中斷,繼續依序處理。
  2. 巢狀處理方式

    • 當系統設定了中斷優先權時,多個不同優先權的中斷請求可能同時到達。系統會優先回應最高優先權的中斷請求。
    • 高優先權的中斷請求能夠搶佔低優先權的中斷處理,類似於行程調度中的搶佔式調度

中斷處理過程

  1. 喚醒被阻塞的驅動進程
    • 當中斷發生時,系統可能需要喚醒某些阻塞的程序來處理資源或完成特定任務。
  2. 保護被中斷程序的CPU環境
    • 儲存目前程序的狀態(如暫存器值),確保能夠在中斷處理完成後復原程序。
  3. 轉入對應的設備處理程序
    • 根據中斷來源,跳到對應的裝置處理程序。
  4. 中斷處理
    • 執行中斷處理程序,處理相關的中斷事件。
  5. 恢復被中斷程序的現場
    • 中斷處理完成後,恢復原程序的狀態,繼續執行中斷的任務。