中斷的概念

8.6 程序中斷控制方式

8.6.1 中斷的概念

概念:CPU 暫時停下現行程序的執行,轉向爲臨時發生的事件進行處理,處理完後,再返回執行原程序。中斷是一種在發生了一個外部的事件時調用相應的處理程序(或稱服務程序)的過程。中斷服務程序與中斷時CPU正在運行的程序是相互獨立的,相互不傳遞數據。

一. 中斷的作用:

1.實現主機和外設並行工作
2.故障的處理
3.實時處理基本概念

二.中斷處理中的問題:

(1)設備識別方式 (2)中斷處理程序入口地址的形成 (3)中斷裁決 (4)中斷屏蔽

三.中斷類型

內中斷:發生在主機內部的中斷稱爲內中斷
外中斷由主機外部事件引起的中斷稱外中斷
中斷的例子:復位,時鐘中斷,鍵盤中斷,頁面失效中斷
內部中斷(異常處理):算術操作異常、非法指令、越權指令、頁面失效
外部中斷(可屏蔽,不可屏蔽):鍵盤、鼠標、電源
軟件中斷 :自陷(系統調用)

 

8.6.2 中斷請求的發送與屏蔽

計算機中的中斷處理是由中斷請求引起的。

一. 外設發中斷請求如下:
(1)信息傳送:設備完成了一個數據的傳送,下一個數據的傳送工作已準備好。
(2)設備或接口發生故障:此時需 CPU 檢查狀態並進行相應處理
(3)DMA方式或通道方式:完成指定量數據的傳送,要求CPU進行結束處理工作。

二. 中斷(可屏蔽)申請的方法

1.中斷請求信號IRQ還要受到中斷屏蔽觸發器 INM 的控制(INM在各設備中)。CPU通過程序可以有選擇地使一些接口的INM 爲“1”另一些爲“0”。如:Z80系統中IFF1、IFF0受EI、DI指令的控制

2.多重中斷:中斷服務程序也可以被中斷—中斷嵌套。

實現方法一:給CPU及中斷請求都設置優先級。
實現方法二:採用中斷屏蔽寄存器,用軟件設置靈活的優先級。

 

8.6.3 中斷優先級

優先級:CPU 響應並處理中斷請求的先後次序,它根據中斷事件的重要性和迫切性而定。

8.6.4 單級處理和多級處理中斷(中斷嵌套)

單級處理:不同優先等級的設備同時請求中斷時,按照優先級一個一個處理。

多重處理(中斷嵌套):允許優先級高的中斷打斷優先級底的中斷服務程序。

 

8.6.5 屏蔽碼改變優先等級

屏蔽技術:CPU送往各設備接口的屏蔽觸發器狀態的信息集合稱爲屏蔽碼。

CPU通過控制各設備接口的屏蔽觸發器狀態達到改變處理次序的目的。

 

8.6.6 中斷的處理過程

中斷響應:爲公操作,將指令計數器和程序狀態字寄存器的內容保存到存儲器中。

中斷識別:確定中斷源,並轉向相應的中斷服務程序。

保存現場:在中斷服務中實現對有關寄存器內容的保護。

中斷服務:

恢復現場:

返回原程序:

 

8.6.7 中斷響應

1.執行完當前指令,若能響應,則進入中斷。

2.保護斷點:(返回地址)指令計數器、和程序狀態字寄存器進棧(不執行指令)稱中斷隱指令。

3.自動關中斷

 

8.6.8 中斷識別 (設備的識別)(問題1)

一.程序識別 P198 圖 8.17(軟件查詢)

先查詢的級別高

二.單線查詢法

硬件排隊

三.中斷向量法

中斷向量:中斷服務程序入口地址 稱爲中斷向量。中斷向量在主存中的第一個單元地址稱爲向量地址。每個中斷源都有一箇中斷向量和向量地址。
中斷向量法:CPU響應中斷後,中斷硬件機構自動將向量地址送入CPU,CPU實現程序切換,這種方法稱爲中斷向量法。
向量中斷: 採用中斷向量法的中斷叫向量中斷。
中斷優先權編碼電路(VIPE):其功能是--按照優先級次序選擇提出中斷請求的最優設備。而且將該設備向量地址送入CPU

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章