模糊系統

[拼音]:zhongduan xitong

[英文]:interrupt system

處理機完成中斷功能的機構。在程式執行時,系統外部、系統內部或者現行程式本身若出現緊急事件,處理機必須立即強行中止現行程式的執行,改變機器的工作狀態並啟動相應的程式來處理這些事件,然後再恢復原來的程式執行。這一過程即為中斷。中斷系統由專門的硬體和有關軟體構成。中斷系統的硬體稱中斷部件。中斷軟體主要包括中斷控制程式和中斷服務程式等,它們是作業系統的重要組成部分。

在通用計算機中,為了提高系統的效率,採用中央處理器與外圍裝置並行工作的方式,中斷為外圍裝置和中央處理器之間連繫的手段。隨著計算機系列化產品和作業系統的出現,中斷系統的地位更加重要。大多數作業系統是由中斷系統驅動的。這是因為各種輸入-輸出裝置、操作人員和計時器訪問作業系統、使用者程式訪問作業系統甚至作業系統內部之間的聯絡,都必須先發中斷請求,再通過中斷進入作業系統。

功能

現代計算機中採用中斷系統的主要目的是:

(1)維持系統的正常工作,提高系統效率。一個計算機系統有一臺或多臺處理機、大量的輸入-輸出裝置和輔助儲存器。它們都是並行、獨立工作的。當外圍裝置需要處理機干預時,則向處理機發出中斷請求。處理機之間也要通過中斷來協調工作和交換資訊。現代計算機中,程式設計師不能直接干預和操縱機器,而是通過中斷向作業系統發出請求,由作業系統來完成。主儲存器中往往有多個程式,為了避免它們之間相互破壞資訊,需要採取硬體保護措施,凡發現可能破壞資訊的事件時,立即通過中斷進行相應的處理。

(2)滿足實時處理要求。在實時系統中,各種測量裝置和控制裝置以中斷形式向處理機發出請求,處理機立即做出響應並處理這些要求。

(3)為故障處理作準備。處理機中採用各種檢測故障和錯誤的手段,一旦發現故障和錯誤立即通過中斷系統進行故障現場記錄和隔離,為進一步處理提供必要的依據。

中斷源分類

中斷源是指能夠引起中斷的原因。一臺處理機可能有很多中斷源,但按其性質和處理方法,大致可分為如下五類。

(1)機器故障中斷。

(2)程式性中斷。現行程式本身的異常事件引起的,可分為以下三種:一是程式性錯誤,例如指令或運算元的地址邊界錯,非法操作碼和除數為零等;二是產生特殊的運算結果,例如定點溢位;三是程式出現某些預先確定要跟蹤的事件,跟蹤操作主要用於程式除錯。有些機器把程式性中斷稱為“異常”,不稱為中斷。

(3)輸入-輸出裝置中斷。

(4)外中斷。來自控制檯中斷開關、計時器、時鐘或其他裝置,這類中斷的處理較簡單,實時性強。

(5)呼叫管理程式。使用者程式利用專用指令“呼叫管理程式”發中斷請求,是使用者程式和作業系統之間的聯絡橋樑。

中斷優先權

幾個中斷請求可能同時出現,但中斷系統只能按一定的次序來響應和處理。可最先被響應的中斷具有最高優先權,按優先級別順序進行處理。優先權高低是由中斷部件的中斷排隊線路確定的。

中斷級

當機器設定很多中斷源時,為了簡化設計,對中斷源分組管理。具有相同中斷優先權的中斷源構成一箇中斷級。同一級中斷使用同一個中斷控制程式起點。

中斷遮蔽

對應於各中斷級設定相應的遮蔽位。只有遮蔽位為1時,該中斷級才能參加中斷優先權排隊。中斷遮蔽位可由專用指令建立,因而可以靈活地調整中斷優先權。有些機器針對某些中斷源也設定遮蔽位,只有遮蔽位為1時,相應的中斷源才起作用。

中斷響應和處理

大多數中斷系統都具有如下幾方面的操作,這些操作是按照中斷的執行先後次序排列的。

(1)接收中斷請求。

(2)檢視本級中斷遮蔽位,若該位為1則本級中斷源參加優先權排隊。

(3)中斷優先權選擇。

(4)處理機執行完一條指令後或者這條指令已無法執行完,則立即中止現行程式。接著,中斷部件根據中斷級去指定相應的主存單元,並把被中斷的指令地址和處理機當前的主要狀態資訊存放在此單元中。

(5)中斷部件根據中斷級又指定另外的主存單元,從這些單元中取出處理機新的狀態資訊和該級中斷控制程式的起始地址。

(6)執行中斷控制程式和相應的中斷服務程式。

(7)執行完中斷服務程式後,利用專用指令使處理機返回被中斷的程式或轉向其他程式。

程式狀態字和向量中斷

這是兩個與中斷響應和處理有密切關係的概念。

(1)程式狀態字:每個程式均有自己的程式狀態字。現行程式的程式狀態字放在處理機的程式狀態字暫存器中。程式狀態字中最主要的內容有指令地址、條件碼、地址保護鍵,中斷遮蔽和中斷響應時的中斷源記錄等。中斷響應和處理操作的第④步和第⑤步就是交換程式狀態字操作。

(2)向量中斷:對應每一級中斷都有一個向量,這些向量順序存放在主存的指定單元中。向量的內容是:相應的中斷服務程式起始地址和處理機狀態字(主要是指令地址)。在中斷響應時,由中斷部件提供中斷向量的地址,就可取出該向量。中斷響應和處理操作的第⑤步就是取中斷向量操作。在採用向量中斷的機器中一般不再使用程式狀態字。