中斷的型別有哪些?


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

中斷系統是這樣的:當CPU可以處理程式時,如果CPU需要任何IO操作,則將其傳送到佇列,並進行CPU處理。稍後,輸入/輸出(I/O)操作準備就緒。

I/O裝置中斷可用的資料並執行剩餘的處理;中斷就是這樣有用的。如果沒有中斷,CPU需要空閒一段時間,直到IO操作完成。因此,為了避免CPU等待時間,引入了中斷。

處理器處理中斷

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

以下是ISR處理中斷的步驟:

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

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

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

步驟4 - 現在它執行第(i+1)行的恢復。

中斷型別

中斷主要分為以下兩種型別:

硬體中斷

外部裝置和I/O裝置產生的中斷訊號,在指令準備就緒時向CPU發出中斷。

例如 - 在鍵盤上,如果我們按下某個鍵來執行某些操作,則按鍵會產生一個訊號,該訊號被髮送到處理器以執行操作,此類中斷稱為硬體中斷。

硬體中斷分為以下兩種型別:

  • 可遮蔽中斷 - 當處理器發生最高優先順序中斷時,可以延遲的硬體中斷。

  • 不可遮蔽中斷 - 不能被延遲並立即由處理器服務的硬體中斷。

軟體中斷

內部裝置和軟體程式產生的中斷訊號需要訪問任何系統呼叫,然後就會出現軟體中斷。

軟體中斷分為兩種型別:

  • 普通中斷 - 由軟體指令引起的中斷稱為軟體中斷。

  • 異常 - 異常是在執行程式時發生的意外中斷。例如 - 在執行程式時,如果我們得到一個被零除的值,則稱為異常。

更新於:2023年9月2日

83K+ 瀏覽量

開啟你的職業生涯

透過完成課程獲得認證

開始學習
廣告