周期性中斷

周期性中斷

在計算機科學中,中斷(Interrupt)是指處理器接收到來自硬體或軟體的信號,提示發生了某個事件,應該被注意,這種情況就稱為中斷。周期性中斷是按照一定時間間隔重複發生的中斷。在作業系統中,引起周期性中斷的原因主要有:進程或任務周期性調度;CPU讀取I/O設備數據(外部中斷)。

基本介紹

  • 中文名:周期性中斷
  • 外文名:cyclic interrupt
  • 學科:計算機
  • 定義:一定時間間隔重複發生的中斷
  • 原因:外部中斷、調度
  • 領域:作業系統
中斷,外部中斷引起的周期性中斷,查詢方式,中斷傳送方式,調度引起的周期性中斷,時間片輪轉法,多級反饋佇列調度算法,基於周期性中斷源的多串口管理,

中斷

處理機處理程式運行中出現的緊急事件的整個過程。程式運行過程中,系統外部、系統內部或者現行程式本身若出現緊急事件,處理機立即中止現行程式的運行,自動轉入相應的處理程式(中斷服務程式),待處理完後,再返回原來的程式運行,這整個過程稱為程式中斷。
計算機中的中斷可分成內部中斷外部中斷軟體中斷3種;
內部中斷是由CPU的某種內部因素引起的,通常稱為異常(Exception)。產生異常的原因有算術操作的異常(如上溢出和下溢出)、程式的錯誤、非法指令和越權操作、訪存中的異常(如虛存中的頁面失效)等,它們是在程式執行時由於指令或數據操作出錯或導常而產生的中斷。
外部中斷是由中斷信號引起的中斷,用於處理各種定時操作和其他外圍設備的操作。輸入/輸出中斷是由輸入/輸出設備產生的外部中斷。外部中斷可進一步分為可禁止中斷和不可禁止中斷。
由自陷(Trap)指令引起的中斷是軟體中斷,用於提供作業系統服務,有時也稱為系統調用。軟體中斷對處理機的影響類似於硬體中斷。

外部中斷引起的周期性中斷

查詢方式

查詢方式是通過執行輸入/輸出查詢程式來完成數據傳送的,工作原理是:當CPU啟動外設工作後,不斷地讀取外設的狀態信息進行測試,查詢外設是否準備就緒,如外設準備好,則可以進行數據傳送;否則,CPU繼續讀取外設的狀態信息進行查詢等待,直到外設準備好。
採用程式查詢方式進行數據傳送時,實際上在外設準備就緒之前,CPU一直處於等待狀態,致使CPU的利用率較低。倘若CPU按這種方式與多個外設傳送數據時,就需要周期性的依次查詢每個外設的狀態,浪費的時間就更多,CPU的利用率就更低。因此,這種方式適合於工作不太繁忙的系統。

中斷傳送方式

中斷傳送方式是指當外設需要與CPU進行信息交換時,由外設向CPU發出請求信號,使CPU暫停正在執行的程式,轉去執行數據的輸入/輸出操作,數據傳送結束後,CPU再繼續執行被暫停的程式。查詢傳送方式是由CPU來查詢外設的狀態,CPU處於主動地位,而外設處於被動地位。中斷傳送方式則是由外設主動向CPU發出請求,等候CPU處理,在沒有發出請求時,CPU和外設都可以獨立進行各自的工作。目前的微處理器都具有中斷功能,而且已經不僅僅局限於數據的輸入/輸出,而是在更多的方面有重要的套用。例如實時控制、故障處理以及BIOS和DOS功能調用等。有關中斷技術的具體內容將在下一節做介紹。
中斷傳送方式的優點是:CPU不必查詢等待,工作效率高,CPU與外設可以並行工作;由於外設具有申請中斷的主動權,故系統實時性比查詢方式要好得多。但採用中斷傳送方式的接口電路相對複雜,而且,每進行一次數據傳送就要中斷一次CPU。CPU每次回響中斷後,都要轉去執行中斷處理程式,都要進行斷點和現場的保護和恢復,浪費了很多CPU的時間。故這種傳送方式一般適合於少量的數據傳送。對於大批量數據的輸入/輸出,可採用高速的直接存儲器存取方式,即DMA方式。

調度引起的周期性中斷

時間片輪轉法

在早期的時間片輪轉法中,系統將所有的就緒進程按先來先服務的原則排成一個佇列,每次調度時,把 CPU 分配給隊首進程,並令其執行一個時間片。時間片的大小從幾 ms 到幾百 ms。當執行的時間片用完時,由一個計時器發出時鐘中斷請求,調度程式便據此信號來停止該進程的執行,並將它送往就緒佇列的末尾;然後,再把處理機分配給就緒佇列中新的隊首進程,同時也讓它執行一個時間片。這樣就可以保證就緒佇列中的所有進程在一給定的時間內均能獲得一時間片的處理機執行時間。換言之,系統能在給定的時間內回響所有用戶的請求。

多級反饋佇列調度算法

調度算法的實施過程如下所述。
(1) 應設定多個就緒佇列, 並為各個佇列賦予不同的優先權。 第一個佇列的優先權最高,第二個佇列次之,其餘各佇列的優先權逐個降低。該算法賦予各個佇列中進程執行時間片的大小也各不相同,在優先權愈高的佇列中,為每個進程所規定的執行時間片就愈小。例如,第二個佇列的時間片要比第一個佇列的時間片長一倍,……,第 i+1 個佇列的時間片要比第 i 個佇列的時間片長一倍。圖是多級反饋佇列算法的示意。
(2) 當一個新進程進入記憶體後,首先將它放入第一佇列的末尾,按 FCFS 原則排隊等待調度。當輪到該進程執行時,如它能在該時間片內完成,便可準備撤離系統;如果它在一個時間片結束時尚未完成,調度程式便將該進程轉入第二佇列的末尾,再同樣地按 FCFS原則等待調度執行;如果它在第二佇列中運行一個時間片後仍未完成,再依次將它放入第三佇列,……,如此下去,當一個長作業(進程)從第一佇列依次降到第 n 佇列後,在第 n 佇列中便採取按時間片輪轉的方式運行。
周期性中斷
(3) 僅當第一佇列空閒時,調度程式才調度第二佇列中的進程運行;僅當第 1~(i-1)佇列均空時,才會調度第 i 佇列中的進程運行。如果處理機正在第 i 佇列中為某進程服務時,又有新進程進入優先權較高的佇列(第 1~(i-1)中的任何一個佇列),則此時新進程將搶占正在運行進程的處理機, 即由調度程式把正在運行的進程放回到第 i 佇列的末尾,把處理機分配給新到的高優先權進程。

基於周期性中斷源的多串口管理

微機系統和嵌入式系統中, 處理器本身中斷引腳有限, 經常存在多個外部硬體中斷源共享一條中斷線的情況。 由於各中斷源中斷產生的時間彼此獨立, 必須採用軟體或硬體方法對多中斷源優先權排列和多級中斷嵌套等問題進行管理。 目前廣泛使用的多中斷源管理方式主要有兩種:軟體查詢排序和硬體排序。 軟體查詢排序的特點是: 查詢次序即優先權排序, 最先被詢問的中斷請求具有最高優先權。 軟體查詢的優點是節省硬體,修改方便, 只要改變程式中的查詢次序即可。 缺點是由開始查詢至轉到真正的服務程式入口時間長, 在中斷源較多的情況下執行速度較慢;並且由於中斷產生的時間間隔不確定性, 在中斷程式執行後的一段時間內如果有中斷請求, 可能會造成中斷的設備判斷混亂, 從而引起中斷衝突、丟失, 甚至使得設備無法正常工作。 硬體排序一般採用優先權的編碼電路, 對各種外部硬中斷進行排隊, 還有菊花鏈式硬體排序電路, 以及中斷控制集成晶片 8259A, 但是硬體排序的方法存在中斷服務程式編寫複雜,中斷次數較多的缺點 。
本研究針對異步串列通信的特點, 使用一個周期信號代替多個外部中斷源作為中斷信號, 稱為周期性中斷源。 系統中通過在周期性中斷源的服務程式中對多個串列通道進行軟體查詢, 從而減少了中斷產生的次數, 降低了處理器的負荷, 避免了數據的重複讀取, 並且滿足多路數據的無漏檢測和服務。

相關詞條

熱門詞條

聯絡我們