12 计算机组成原理第七章 输入/输出系统 中断系统
文章目錄
- 1 中斷的基本概念
- 2 中斷請求的分類
- 3 中斷請求標記
- 4 中斷判優-實現
- 5 中斷處理過程
- 5.1 中斷處理過程-中斷隱指令
- 5.2 中斷處理過程-硬件向量法
- 5.3 中斷處理過程-中斷服務程序
- 6 單重中斷與多重中斷
- 6.1 單重中斷與多重中斷比較
- 7 中斷屏蔽技術
- 中斷屏蔽字例題
- 8 中斷系統小結
1 中斷的基本概念
程序中斷是指在計算機執行現行程序的過程中,出現某些急需處理的異常情況或特殊請求,CPU暫時中止現行程序,而轉去對這些異常情況或特殊請求進行處理,在處理完畢后CPU又自動返回到現行程序的斷點處,繼續執行原程序。
中斷工作流程:
中斷源向CPU發送中斷請求信號。
響應中斷的條件。
中斷判優:多個中斷源同時提出請求時通過中斷判優邏輯響應一個中斷源。
中斷隱指令。
中斷服務程序。
2 中斷請求的分類
回憶操作系統:
CPU如何識別是哪一類中斷呢?通過中斷請求標記
3 中斷請求標記
- 每個中斷源向CPU發出中斷請求的時間是隨機的。
- 為了記錄中斷事件并區分不同的中斷源,中斷系統需對每個中斷源設置中斷請求標記觸發器INTR,當其狀態為“1”時,表示中斷源有請求。
- 這些觸發器可組成中斷請求標記寄存器,該寄存器可集中在CPU中,也可分散在各個中斷源中。
對于外中斷,CPU是在統一的時刻即每條指令執行階段結束前向接口發出中斷查詢信號,(特殊情況:對于執行時間很長的指令,可在執行過程中設置若干個“查詢斷點”)以獲取l/O的中斷請求,也就是說,CPU響應中斷的時間是在每條指令執行階段的結束時刻。
CPU響應中斷必須滿足以下3個條件:
①中斷源有中斷請求。
②CPU允許中斷即開中斷。
③一條指令執行完畢,且沒有更緊迫的任務。
當有兩個中斷源發出中斷請求時,CPU要響應哪一個中斷請求? 中斷判優
4 中斷判優-實現
- 中斷判優既可以用硬件實現,也可用較件實現:
- 硬件實現是通過硬件排隊器實現的,它既可以設置在CPU中,也可以分散在各個中斷源中;
- 軟件實現是通過查詢程序實現的。
- 中斷優先級設置:
5 中斷處理過程
5.1 中斷處理過程-中斷隱指令
中斷隱指令的主要任務:
在中斷服務程序中,為了保護中斷現場(即CPU主要寄存器中的內容)期間不被新的中斷所打斷,必須關中斷,從而保證被中斷的程序在中斷服務程序執行完畢之后能接著正確地執行下去。
為了保證在中斷服務程序執行完畢后能正確地返回到原來的程序,必須將原來程序的斷點(即程序計數器(PC)的內容)保存起來。
可以存入堆棧,也可以存入指定單元。
引出中斷服務程序的實質就是取出中斷服務程序的入口地址并傳送給程序計數器(PC)。
引出方式:軟件查詢法,硬件向量法
5.2 中斷處理過程-硬件向量法
5.3 中斷處理過程-中斷服務程序
中斷服務程序的主要任務:
一是保存程序斷點(PC),已由中斷隱指令完成;二是保存通用寄存器和狀態寄存器的內容,由中斷服務程序完成。
可以使用堆棧,也可以使用特定存儲單元。
主體部分,如通過程序控制需打印的字符代碼送入打印機的緩沖存儲器中。
通過出棧指令或取數指令把之前保存的信息送回寄存器中。
通過中斷返回指令回到原程序斷點處。
6 單重中斷與多重中斷
單重中斷:執行中斷服務程序時不響應新的中斷請求。
多重中斷:又稱中斷嵌套,執行中斷服務程序時可響應新的中斷請求。
6.1 單重中斷與多重中斷比較
7 中斷屏蔽技術
中斷屏蔽技術主要用于多重中斷,CPU要具備多重中斷的功能,須滿足下列條件:
每個中斷源都有一個屏蔽觸發器,1表示屏蔽該中斷源的請求,0表示可以正常申請,所有屏蔽觸發器組合在一起,便構成一個屏蔽字寄存器,屏蔽字寄存器的內容稱為屏蔽字。
屏蔽字設置的規律:
中斷屏蔽字例題
設某機有4個中斷源A、B、C、D,其硬件排隊優先次序為A>B>C>D,現要求將中斷處理次序改為D>A>C>B。
1)寫出每個中斷源對應的屏蔽字。
2)按下圖所示的時間軸給出的4個中斷源的請求時刻,畫出CPU執行程序的軌跡。設每個中斷源的中斷服務程序時間均為20us。
(1)
1表示屏蔽,在哪一位置填1,則此列對應的中斷源可屏蔽
某個中斷源至少要屏蔽自己
(2)
8 中斷系統小結
總結
以上是生活随笔為你收集整理的12 计算机组成原理第七章 输入/输出系统 中断系统的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Django - AJAX
- 下一篇: java信息管理系统总结_java实现科