以及時處理系統內部和外部的隨機事件,使系統能夠更加有效地發揮效能。
80x86系統中的中斷技術是由CPU的中斷管理機制、中斷控制器8259A和中斷處理程序共同實現的,稱之為中斷系統。它最多可以管理256種類型的中斷,能自動實現中斷源識別、中斷源優先權判優和中斷屏蔽等功能。
6.1.1 中斷與中斷系統的功能
所謂中斷,是指CPU在執行程序的過程中,由于某種外部或內部事件的作用(如外部設備請求與CPU傳送數據或CPU執行程序出現了異常),強迫CPU停止當前正在執行的程序,轉去為該事件服務,待事件服務結束后,能自動地返回到被中斷的程序中繼續執行。
中斷過程可以用來描述。當CPU正在執行現行程序A時,有一外部或內部事件請求CPU處理,當CPU響應中斷請求后,中斷正在執行的程序A而轉去為該事 件服務,執行一段事先編制好的中斷服務程序B;當中斷服務程序B執行結束后,又自動地返回到原來被中斷的現行程序A中繼續執行。把能實現這一過程的技術, 稱為中斷技術。
中斷技術是由硬件和軟件共同實現的,稱之為中斷系統。它應具備如下功能。
(1)設置中斷源。系統中允許請求中斷的事件,并確定它們的中斷請求方式。
(2)中斷源識別。當中斷源有請求時,CPU能夠正確地判別中斷源,并能夠轉去執行相應的中斷服務程序。
(3)中斷源判優。當有多個中斷源同時請求中斷時,系統能夠自動地進行中斷優先權判優,當前優先權最高的中斷請求優先得到CPU的響應和處理。
(4)中斷與返回。能自動地處理中斷程序與被中斷程序之間的跳轉及斷點保護問題。
中斷技術是現代計算機系統中很重要的一項功能,可以應用于以下幾個方面的處理。
1)故障檢測和自動處理
系統出現故障和程序執行錯誤都是隨機事件,無法預料。如電源掉電、存儲器出錯、運算溢出等,采用中斷技術可以有效地進行系統的故障檢測和自動處理。
2)實時信息處理
在實時信息處理系統中,需要對采集的信息立即做出響應,以避免信息的丟失,可以采用中斷方式進行實時信息處理。
3)并行操作
當外部設備與CPU以中斷方式傳送數據時,可以實現CPU與外部設備之間的并行操作,使系統更加有效合理地發揮效能和提高效率。
4)分時操作
現代操作系統具有多任務處理功能,使同一個微處理器可以同時運行多道程序,通過定時和中斷方式,將CPU按時間片分配給每道程序,從而實現多任務之間的定時切換和處理。
6.1.2 中斷源分類及其他
1.中斷源分類
能夠引起計算機中斷的事件稱為中斷源。在不同的計算機系統中,中斷源的設置與分類有所不同。按中斷源與CPU的位置關系,可分為外部中斷和內部中斷兩大類。
1)外部中斷
外部中斷是指由外部設備通過硬件觸發請求的方式產生的中斷,亦稱硬件中斷。外部中斷又分為不可屏蔽中斷和可屏蔽中斷。
不可屏蔽中斷(NonMaskable Interrupt, NMI)的特點是CPU對它的請求的響應是無條件的,一旦CPU查詢到NMI有請求,便 立即響應。NMI在外部中斷源中優先權級別最高,通常用于處理系統故障,如系統板上RAM的奇偶校驗錯、擴展槽中I/O通道錯和電源故障等。
可屏蔽中斷(Interrupt Reguest, INTR)的特點是CPU對它的請求的響應是有條件的,受中斷允許標志位(Interrupt Flag, IF)的控制。當IF1,允許CPU響應INTR請求;當IF0,禁止CPU響應INTR請求。INTR中斷通常用于CPU與外部設備,以中 斷方式進行I/O傳送。
2)內部中斷
內部中斷是由CPU運行程序錯誤或執行內部程序調用引起的一種中斷,亦稱軟件中斷。如在執行程序過程中檢測到內部異常,或執行中斷指令INT n產生的中斷。