中斷的階段和處理過程是什麼?
指令週期包括取指令、執行和中斷階段,如下圖所示:
如果發生任何中斷,則由中斷標誌指示。CPU 將轉到中斷處理程式例程。中斷處理程式然後檢查中斷型別並執行相應的函式。這會涉及開銷,但仍然比 CPU 等待 I/O 完成或其他活動要好。
中斷處理程式首先啟用優先順序最高的活動,然後處理可延遲的部分。
示例
網路線路上傳輸的資料塊。
核心標記資料的存在(緊急部分),並將 CPU 返回到之前正在執行的程序。
其餘處理可以在以後完成(將資料移動到接收方可以找到它的緩衝區)
中斷向量
記憶體中的指標表包含給定 CPU 固定位置的中斷服務例程的地址。
中斷處理
步驟 1 - 首先,裝置向 CPU 發出中斷。
步驟 2 - 然後,CPU 完成當前指令的執行。
步驟 3 - CPU 測試是否有掛起的中斷請求。如果有,則向裝置傳送確認訊號,從而刪除其中斷訊號。
步驟 4 - CPU 將程式狀態字儲存到控制堆疊。
步驟 5 - CPU 將中斷處理程式的位置載入到 PC 暫存器。
步驟 6 - 將所有暫存器的內容從控制堆疊儲存到記憶體。
步驟 7 - 找出中斷的原因或中斷型別,或呼叫相應的例程。
步驟 8 - 從堆疊恢復已儲存的暫存器。
步驟 9 - 將 PC 恢復為排程原始程序。
廣告