-
中斷號
鎖定
- 中文名
- 中斷號
- 外文名
- Interrupt number
- 所屬學科
- 計算機技術
- 相關概念
- 中斷
- 定 義
- 系統分配給每個中斷源的代號
中斷號中斷概念
中斷是指CPU在正常運行程序時,由於外部/內部隨機事件或由程序預先安排的事件,引起CPU暫時中斷正在運行的程序,而轉到為外部/內部事件或為預先安排的事件服務的程序中去,服務完畢,再返回去繼續執行被暫時中斷的程序。
例如,用户使用鍵盤時,每擊一鍵都發出一箇中斷信號,通知CPU有“鍵盤輸入”事件發生,要求CPU讀入該鍵的鍵值,CPU就暫時中止手頭的程序,轉去處理鍵值的讀取程序,在讀取操作完成後,CPU又返回原來的程序繼續運行。
可見,中斷的發生是事出有因,引起中斷的事件就是中斷源,中斷源各種各樣,因而出現多種中斷類型。CPU在處理中斷事件時必須針對不同中斷源的要求給以不同的解決方案,這就需要有一箇中斷處理程序(中斷服務程序)加以解決。
從程序的邏輯關係來看,中斷的實質就是程序的轉移。中斷提供快速轉移程序運行環境的機制,獲得CPU為其服務的程序段稱為中斷處理(服務)程序,被暫時中斷的程序稱為主程序(或調用程序)。程序的轉移由微處理器內部事件或外部事件啓動,並且一箇中斷過程包含兩次轉移,首先是主程序向中斷處理(服務)程序轉移,然後是中斷處理(服務)程序處理完畢之後向主程序轉移。由中斷源引起程序的轉移切換機制,用於快速改變程序運行路徑,這對實時處理一些突發事件很有效。
[1]
中斷號中斷號獲取
中斷號是系統分配給每個中斷源的代號,以便識別和處理。中斷號在中斷處理過程中起到很重要的作用,在採用向量中斷方式的中斷系統中,CPU必須通過它才可以找到中斷服務程序的入口地址,實現程序的轉移。為了在中斷向量表中查找中斷服務程序的入口地址,可由中斷號(n)×4得到一個指針,指向中斷向量(即中斷服務程序的入口地址)存放在中斷向量表的位置,從中取出這個地址(CS:IP),裝入代碼段寄存器CS和指令指針寄存器IP,即轉移到了中斷服務程序。
CPU對系統中不同類型的中斷源,獲取它們的中斷號的方法是不同的。可屏蔽中斷的中斷號是在中斷響應週期從中斷控制器獲取的。軟中斷INT nH的中斷號(nil)是由中斷指令直接給出的。不可屏蔽中斷NMI及CPU內部一些特殊中斷的中斷號是由系統預先設置好的,如NMI的中斷號為02H,非法除數的中斷號為0H,等等。
[1]
中斷號中斷號的使用
電腦上需要連接很多設備,如聲卡、打印機、Modem等,這些設備可以通過中斷請求的方式與CPU進行數據交換。當一個設備需要CPU來處理它的數據時,可以向CPU發出中斷請求信號,讓CPU暫停正在執行的工作,轉而處理該設備的操作請求,處理完畢後,再返回執行原來的工作。當一個設備向CPU發出中斷請求時,是通過IRQ值來告知CPU到底是哪一個外圍設備需要服務,因此每個設備都會佔用一個IRQ值。
在每台電腦的系統中,是由一個中斷控制器8259或是8259A的芯片(現在此芯片大都集成到其他的芯片內)來控制系統中每個硬件的中斷控制。共有16組IRQ,去掉其中用做橋接的一組IRQ,實際上只有15組IRQ可供硬件調用,而這些IRQ都有自己默認的配置。