什麼是中斷,處理器如何處理普通中斷和多箇中斷?


中斷是來自連線到計算機的裝置或計算機內程式的訊號,它要求作業系統停止並確定下一步該做什麼。

每當發生中斷時,它都會導致 CPU 停止執行當前程式。然後控制權轉移到中斷處理程式或中斷服務例程。

ISR 處理中斷的步驟如下:

  • 步驟 1 - 當發生中斷時,假設處理器正在執行第 i 條指令,程式計數器將指向下一條指令(第 i+1 條)。

  • 步驟 2 - 當發生中斷時,程式值儲存在程序棧中,程式計數器載入中斷服務例程的地址。

  • 步驟 3 - 中斷服務例程完成後,程序棧中的地址被彈出並放回程式計數器。

  • 步驟 4 - 現在,它執行第 (i+1) 行的後續操作。

多重中斷

多重中斷是在處理器處理先前中斷時可能發生的另一箇中斷事件。

例如 - 程式從通訊線路接收資料並列印結果,在印表機中斷正在處理時,通訊中斷可能會發生。

處理中斷的方法

處理器可以處理中斷的兩種方式

  • 停用中斷 - 處理器在處理一箇中斷時會忽略後續的中斷。中斷保持掛起狀態,並在第一個中斷處理完成後進行檢查。在此過程中,中斷按順序處理。

  • 定義優先順序 - 在此方法中,低優先順序中斷可以被高優先順序中斷打斷。在此,將先處理高優先順序中斷,然後處理器返回到之前正在處理的中斷。

中斷型別

中斷有兩種型別:

  • 硬體中斷 - 由外部裝置生成的中斷訊號。

  • 軟體中斷 - 由內部裝置生成的中斷訊號。

我們知道指令週期包括取指令、解碼、執行和讀/寫功能。

在每個指令週期之後,處理器都會檢查是否有需要處理的中斷。如果系統中沒有中斷,它將進入下一個指令週期,該週期由指令暫存器給出。

如果有中斷存在,則它將觸發中斷處理程式,處理程式將停止正在處理的當前指令,並將它的配置儲存到暫存器中,並從中斷表中給定的位置載入中斷的程式計數器。

處理中斷後,處理器中斷處理程式將從儲存的暫存器中載入指令及其配置,程序將從中斷處繼續執行。這也被稱為上下文切換。

更新時間: 2021年11月26日

12K+ 閱讀量

開啟你的 職業生涯

透過完成課程獲得認證

立即開始
廣告