複製鏈接
請複製以下鏈接發送給好友

中斷

(計算機術語)

鎖定
中斷是指計算機運行過程中,出現某些意外情況需主機干預時,機器能自動停止正在運行的程序並轉入處理新情況的程序,處理完畢後又返回原被暫停的程序繼續運行。 [1] 
中文名
中斷
外文名
Interrupt Request
學    科
計算機
應    用
計算機編程
分    類
硬性中斷、軟性中斷
順    序
高級中斷優先

中斷術語解釋

指處理機處理程序運行中出現的緊急事件的整個過程.程序運行過程中,系統外部、系統內部或者現行程序本身若出現緊急事件,處理機立即中止現行程序的運行,自動轉入相應的處理程序(中斷服務程序),待處理完後,再返回原來的程序運行,這整個過程稱為程序中斷;當處理機接受中斷時,只需暫停一個或幾個週期而不執行處理程序的中斷,稱為簡單中斷.中斷又可分為屏蔽中斷和非屏蔽中斷兩類.可由程序控制其屏蔽的中斷稱為屏蔽中斷或可屏蔽中斷.屏蔽時,處理機將不接受中斷.反之,不能由程序控制其屏蔽,處理機一定要立即處理的中斷稱為非屏蔽中斷或不可屏蔽中斷.非屏蔽中斷主要用於斷電、電源故障等必須立即處理的情況.處理機響應中斷時,不需執行查詢程序.由被響應中斷源向CPU發向量地址的中斷稱為向量中斷,反之為非向量中斷.向量中斷可以提高中斷響應速度。 [2] 

中斷分類

硬件中斷(Hardware Interrupt) [3] 
  • 可屏蔽中斷(maskable interrupt)。硬件中斷的一類,可通過在中斷屏蔽寄存器中設定位掩碼來關閉。
  • 非可屏蔽中斷(non-maskable interrupt,NMI)。硬件中斷的一類,無法通過在中斷屏蔽寄存器中設定位掩碼來關閉。典型例子是時鐘中斷(一個硬件時鐘以恆定頻率—如50Hz—發出的中斷)。
  • 處理器間中斷(interprocessor interrupt)。一種特殊的硬件中斷。由處理器發出,被其它處理器接收。僅見於多處理器系統,以便於處理器間通信或同步。
  • 偽中斷(spurious interrupt)。一類不希望被產生的硬件中斷。發生的原因有很多種,如中斷線路上電氣信號異常,或是中斷請求設備本身有問題。
軟件中斷(Software Interrupt) [3] 
  • 軟件中斷。是一條CPU指令,用以自陷一箇中斷。由於軟中斷指令通常要運行一個切換CPU至內核態(Kernel Mode/Ring 0)的子例程,它常被用作實現系統調用(System call)。

中斷防止方法

要防止中斷衝突,其實就是要知道什麼設備容易產生中斷衝突,只要知道了這點,在使用這些設備時稍微注意一下就可以了。下面我列出一些容易衝突的設備,希望對讀者有用。
1、聲卡:一些早期的ISA型聲卡,系統很有可能不認,就需要用户手動設置(一般為5)
2、內置調制解調器和鼠標:一般鼠標用COM1,內置調制解調器使用COM2的中斷(一般為3),這時要注意此時COM2上不應有其它設備
3、網卡和鼠標:此問題一般發生在鼠標在COM1口,使用中斷為3,這時要注意通常網卡的默認中斷為3,兩者極有可能發成衝突。
4、打印機和EPP掃描儀:在安裝掃描儀驅動程序時應將打印機打開,因為兩個設備中串聯,所以為了防止以後掃描儀驅動程序設置有誤,一定要將打印機打開再安裝掃描儀驅動程序。
5、操作系統和BIOS:如果計算機使用了“即插即用”操作系統(例如win98),應將BIOS中PNP OS Installed設置為Yes這樣可讓操作系統重新設置中斷。
6、PS/2鼠標和BIOS:在使用PS/2鼠標時應將BIOS中PS/2 Mouse Function Control打開或設置為Auto,只有這樣BIOS才能將IRQ12分配給PS/2鼠標用。

中斷功能

現代計算機中採用中斷系統的主要目的是 [4] 
①提高計算機系統效率。計算機系統中處理機的工作速度遠高於外圍設備的工作速度。通過中斷可以協調它們之間的工作。當外圍設備需要與處理機交換信息時,由外圍設備向處理機發出中斷請求,處理機及時響應並作相應處理。不交換信息時,處理機和外圍設備處於各自獨立的並行工作狀態。
②維持系統可靠正常工作。現代計算機中,程序員不能直接干預和操縱機器,必須通過中斷系統向操作系統發出請求,由操作系統來實現人為干預。主存儲器中往往有多道程序和各自的存儲空間。在程序運行過程中,如出現越界訪問,有可能引起程序混亂或相互破壞信息。為避免這類事件的發生,由存儲管理部件進行監測,一旦發生越界訪問,向處理機發出中斷請求,處理機立即採取保護措施。
③滿足實時處理要求。在實時系統中,各種監測和控制裝置隨機地向處理機發出中斷請求,處理機隨時響應並進行處理。
④提供故障現場處理手段。處理機中設有各種故障檢測和錯誤診斷的部件,一旦發現故障或錯誤,立即發出中斷請求,進行故障現場記錄和隔離,為進一步處理提供必要的依據。

中斷中斷優先權

在某一時刻有幾個中斷源同時發出中斷請求時,處理器只響應其中優先權最高的中斷源。當處理機正在運行某個中斷服務程序期間出現另一箇中斷源的請求時,如果後者的優先權低於前者,處理機不予理睬,反之,處理機立即響應後者,進入所謂的“嵌套中斷”。中斷優先權的排序按其性質、重要性以及處理的方便性決定,由硬件的優先權仲裁邏輯或軟件的順序詢問程序來實現 [4] 

中斷中斷過程

按照事件發生的順序,中斷過程包括 [4] 
①中斷源發出中斷請求;
②判斷當前處理機是否允許中斷和該中斷源是否被屏蔽;
③優先權排隊;
④處理機執行完當前指令或當前指令無法執行完,則立即停止當前程序,保護斷點地址和處理機當前狀態,轉入相應的中斷服務程序;
⑤執行中斷服務程序;
⑥恢復被保護的狀態,執行“中斷返回”指令回到被中斷的程序或轉入其他程序。
上述過程中前四項操作是由硬件完成的,後兩項是由軟件完成的。

中斷向量中斷

對應每個中斷源設置一個向量。這些向量順序存在主存儲器的特定存儲區。向量的內容是相應中斷服務程序的起始地址和處理機狀態字。在響應中斷時,由中斷系統硬件提供向量地址,處理機根據該地址取得向量,並轉入相應的中斷服務程序 [4] 
參考資料
  • 1.    《教師百科辭典》編委會.教師百科辭典:社會科學文獻出版社 ,1987
  • 2.    《數學辭海》編輯委員會.數學辭海 第五卷:中國科學技術出版社 ,2002
  • 3.    Silberschatz, Abraham/ Galvin, Peter Baer/ Gagne, Greg. 2011,operating system concepts. John Wiley & Sons Inc,
  • 4.    《中國電力百科全書》編輯委員會.中國電力百科全書:中國電力出版社,2001