技術文章
中斷的概述
閱讀:1422 發布時間:2018-2-3中斷是為處理器對外界異步事件具有處理能力而設置的,中斷技術的引入把計算機的發展和應用大大地推進一步。因此中斷功能的強弱已成為衡量一臺計算機性能的重要指標。
1、中斷
中斷是指計算機在執行某一程序的過程中,由于計算機系統內、外的某種原因,而必須終止原程序的執行,轉去執行相應的處理程序,待處理結束之后,再回來繼續執行被終止的原程序過程。
中斷技術能實現CPU與外部設備的并行工作,提高CPU的利用率以及數據的輸入/輸出效率;中斷技術也能對計算機運行過程中突然發生的故障做到及時發現并進行自動處理如:硬件故障、運算錯誤及程序故障等;中斷技術還能使我們通過鍵盤向計算機發出請求,隨時對運行中的計算機進行干預,而不用先停機,然后再重新開機等等。
2、中斷源
中斷源是指在計算機系統中向CPU發出中斷請求的來源,中斷源可以人為設定,也可以是為響應突發性隨機事件而設置。如定時器中斷,它的中斷源即是定時器。
3、中斷優先級
由于在實際的系統中,往往有多個中斷源,且中斷申請是隨機的,有時可能會有多個中斷源同時提出中斷申請,但CPU一次只能響應一個中斷源發出的中斷請求,這時CPU應響應那個中斷請求?這就需要用軟件或硬件按中斷源工作性質的輕重緩急,給它們安排一個優先順序,即所謂的優先級排隊。中斷優先級越高,則響應優先權就越高。當CPU正執行中斷服務程序時,又有中斷優先級更高的中斷申請產生,如果CPU能夠暫停對原來的中斷處理程序,轉而去處理優先級更高的中斷請求,處理完畢后,再回到原低級中斷處理程序,這一過程稱為中斷嵌套。具有這種功能的中斷系統稱為多級中斷系統;沒有中斷嵌套功能的則稱為單級中斷系統。具有二級中斷服務程序嵌套的中斷過程如圖1所示。
圖1 中斷嵌套示意圖
4、中斷響應的過程
(1)在每條指令結束后系統都自動檢測中斷請求信號,如果有中斷請求,相應的中斷允許位為真(允許中斷),相應的總中斷允許位為真(允許中斷),則響應中斷。
(2)保護現場,CPU一旦響應中斷,中斷系統會自動的保存當前的PC和SR寄存器(入棧)進入中斷服務程序地址入口,中斷服務程序中可以通過入棧保護原程序中用到的數據,保護現場前,一般要關中斷以防止現場被破壞。保護現場一般是將堆棧指令將原程序中用到的寄存器推入堆棧,在保護現場之后要開中斷,以響應更高優先級的中斷申請。
(3)中斷服務,即為相應的中斷源服務。
(4)清相應的中斷請求標志位,以免CPU總是執行該中斷。
(5)恢復現場,用堆棧指令將保護在堆棧中的數據彈出來,在恢復現場前要關中斷,以防止現場被破壞,在恢復現場后應及時開中斷。
(6)返回,此時CPU將PC指針和SR內容出棧恢復斷點,從而使CPU繼續執行剛才被中斷的程序。
在單片機中,中斷技術主要用于實時控制。所謂實時控制,就是要求單片機能及時地響應被控對象提出的分析、計算和控制等請求,使被控對象保持在*工作狀態,以達到預定的控制效果。由于這些控制參量的請求都是隨機發出的,而且要求單片機必須作出快速響應并及時處理,對此,只有靠中斷技術才能實現。
歡迎光顧 蘇州伊洛自動化科技有限公司 !
如有需要幫助,請致電或咨詢
蘇州伊洛自動化科技有限公司 客服。
蘇州伊洛自動化科技有限公司竭誠為您服務!