中斷的型別有哪些?
中斷是來自連線到計算機的裝置或計算機內程式的訊號,它要求作業系統停止並確定下一步該做什麼。
中斷系統是這樣的:當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發出中斷。
例如 - 在鍵盤上,如果我們按下某個鍵來執行某些操作,則按鍵會產生一個訊號,該訊號被髮送到處理器以執行操作,此類中斷稱為硬體中斷。
硬體中斷分為以下兩種型別:
可遮蔽中斷 - 當處理器發生最高優先順序中斷時,可以延遲的硬體中斷。
不可遮蔽中斷 - 不能被延遲並立即由處理器服務的硬體中斷。
軟體中斷
內部裝置和軟體程式產生的中斷訊號需要訪問任何系統呼叫,然後就會出現軟體中斷。
軟體中斷分為兩種型別:
普通中斷 - 由軟體指令引起的中斷稱為軟體中斷。
異常 - 異常是在執行程式時發生的意外中斷。例如 - 在執行程式時,如果我們得到一個被零除的值,則稱為異常。
廣告