中斷的階段和處理過程是什麼?


指令週期包括取指令、執行和中斷階段,如下圖所示:

如果發生任何中斷,則由中斷標誌指示。CPU 將轉到中斷處理程式例程。中斷處理程式然後檢查中斷型別並執行相應的函式。這會涉及開銷,但仍然比 CPU 等待 I/O 完成或其他活動要好。

中斷處理程式首先啟用優先順序最高的活動,然後處理可延遲的部分。

示例

網路線路上傳輸的資料塊。

核心標記資料的存在(緊急部分),並將 CPU 返回到之前正在執行的程序。

其餘處理可以在以後完成(將資料移動到接收方可以找到它的緩衝區)

中斷向量

記憶體中的指標表包含給定 CPU 固定位置的中斷服務例程的地址。

中斷處理

步驟 1 - 首先,裝置向 CPU 發出中斷。

步驟 2 - 然後,CPU 完成當前指令的執行。

步驟 3 - CPU 測試是否有掛起的中斷請求。如果有,則向裝置傳送確認訊號,從而刪除其中斷訊號。

步驟 4 - CPU 將程式狀態字儲存到控制堆疊。

步驟 5 - CPU 將中斷處理程式的位置載入到 PC 暫存器。

步驟 6 - 將所有暫存器的內容從控制堆疊儲存到記憶體。

步驟 7 - 找出中斷的原因或中斷型別,或呼叫相應的例程。

步驟 8 - 從堆疊恢復已儲存的暫存器。

步驟 9 - 將 PC 恢復為排程原始程序。

更新時間: 2021年11月26日

22K+ 瀏覽量

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告