學習重點
- 程序查詢方式
- 流程
- 接口電路
- 程序中斷方式
- 中斷概念
- 中斷源
- 中斷電路
- INTR和MASK
- 排隊器
- 向量地址形成部件
- 接口基本電路
- 多重中斷
1.程序查詢方式
流程
-
查詢流程
-
單個設備
-
多個設備
-
-
程序流程
I/O—>CPU—>主存
接口電路
D:工作觸發器
B:完成觸發器
DBR:數據緩沖寄存器
2.程序中斷方式
-
中斷概念
-
中斷源(中斷的產生)
打印機為例
3.中斷電路
-
INTR和MASK
- INTR:中斷請求觸發器(1:有請求)
INTerrupt Request 可屏蔽中斷請求信號 - NMI:
Non Maskable Interrupt 不可屏蔽中斷請求信號 - MASK:中斷屏蔽觸發器(1:被屏蔽)
- D:完成觸發器(1:完成)
- cpu查詢 + 未屏蔽 + 設備工作結束(往DBR存數據)才能發送中斷請求
- INTR:中斷請求觸發器(1:有請求)
-
排隊器
-
實現方式:
- 硬件:
集中在CPU內中斷系統或分散在接口電路中 - 軟件:程序查詢
- 硬件:
-
部分電路:
-
完整電路:
- 某設備選擇,則之前優先級都有電(可中斷),后面優先級的都沒電
- 優先級高的設備可中斷優先級低的設備的操作
-
-
中斷向量地址形成部件:
-
入口地址查詢兩種方式:
- 程序查詢:按照D的值查找
- 硬件向量法:硬件產生向量地址,再由向量地址找到入口地址
-
向量地址形成部件:
-
主存存放入口地址或跳轉命令(JMP 跳轉命令):
-
-
程序中斷方式接口電路:
- 組件:
INTA:中斷響應信號
D:工作觸發器
B:完成觸發器
DBR:數據緩沖寄存器
ENIT:可被中斷觸發器 - 中斷響應且排隊器排到才能進行中斷服務程序
- 組件:
-
CPU響應中斷的條件和時間:
- 條件:
- 允許中斷觸發器ENIT=1
- 可用開中斷指令將ENIT置1,可以中斷
- 可用關中斷指令將ENIT置0,不可中斷
- 時間:
- D=1且MASK=0時,每條指令執行階段結束前,cpu發送中斷查詢信號
- 條件:
4.多重中斷
-
中斷基本流程:
- 保護現場
- 斷點保護(中斷隱指令)
- 寄存器內容保護(進棧指令)
- 執行中斷程序(設備服務程序)
- 恢復現場(出棧指令)
- 中斷返回(中斷返回指令)
- 保護現場
-
單重中斷:
不允許中斷現行的中斷服務程序 -
多重中斷概念:
允許更高級別的中斷源中斷現行中斷服務程序 -
示意圖:
-
流程:
開中斷:開啟中斷,可被中斷
關中斷:關閉中斷,不可被中斷