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