什么是嵌入式開發培訓的中斷方式?
發布時間:2021-06-28 17:24:30 已幫助:129人 來源:成都粵嵌教育
中斷是一種硬件機制,在CPU在正常運行程序的過程中,中斷可以隨時發生。由預選安排或各種隨機的內外部事件,一般稱為中斷源,發出中斷請求,使CPU中斷正在運行的程序,并通過將控制權傳遞給服務設備的中斷處理程序來響應,這個過程稱為程序中斷。
嵌入式開發培訓中斷的本質
一般認為中斷是外部設備向處理器發起的請求事件,這還不夠徹底,中斷可以說是是處理器對外開放的實時受控接口。比如計算機系統中,如果沒有中斷,計算機所有的程序都是定論的,我們事先就可以知道其運行的全部過程,無法交互,相當于一個加速器。
有中斷后,外部服務程序可能打斷當前任務。CPU“正在執行的程序”與“隨時可能發生的服務”,二者形成了異步關系,由人實時控制的中斷輸入,是無法預測的。中斷可以看作是一種“硬件輪詢”。即本質上,CPU會通過讀取外部信號來判斷CPU的下一步狀態。
嵌入式開發培訓中斷處理方式
設備管理中,高速的處理器和低速的輸入輸出設備相對來說,會降低整體效率,為了減少程序直接控制方式中CPU的等待時間,提高系統的并行程度,采用中斷處理方式是很有必要的。
在I/O設備中斷方式下,CPU與I/O設備之間數據的傳輸步驟如下:
在某個進程需要數據時,發出指令啟動輸入輸出設備,準備要處理的數據;
在進程發出指令啟動設備之后,該進程放棄處理器,等待相關I/O操作完成。此時,進程調度程序會調度其他就緒進程使用處理器。
當I/O操作完成時,輸入輸出設備控制器通過中斷請求線向處理器發出中斷信號,處理器收到中斷信號之后,轉向預先設計好的中斷處理程序,對數據傳送進行相應的處理。
得到了數據的進程,轉入就緒狀態。在隨后的某個時刻,進程調度程序會選中該進程繼續。而這就是嵌入式開發培訓的中斷方式。