-----中斷系統------
1.定義:CPU正常執行流程被某些外部事件的發生而打斷。
2.中斷系統的意義
能夠提升CPU利用率,使得CPU在執行程序指令時候,能夠兼顧到其餘的一些必要事件
的處理;好比IO操做,異常錯誤等。
3.引發中斷的事件---大致分爲軟件和硬件
*人爲設置引發的中斷
*程序執行過程當中的錯誤
*硬件故障
*IO設備傳輸數據引發
*其餘外部設備等
4.中斷系統要解決的問題---依靠軟件+硬件實現
*中斷源怎麼提出中斷請求
*存在多箇中斷請求時候如何處理
*CPU如何響應中斷
*保護程序斷點和程序現場
*中斷服務程序的入口地址
*中斷斷點恢復現場恢復
*多重中斷的處理
5.中斷判優具體實現
中斷源設置有中斷標誌INTR,CPU具備中斷信號查詢的線路鏈接到中斷源
每當有當中斷源INTR=1時候,中斷源的請求送入CPU中斷請求寄存器,進而
將這些中斷請求送入CPU內部的鏈式排隊器裏面,得到一箇中斷請求被CPU
響應,並將該中斷源的INTR=0--標準着該中斷被響應
6.中斷程序的入口地址的造成
中斷程序的入口地址--須要根據中斷向量得到。
中斷向量的產生兩種方式:硬件方式和軟件方式;一般硬件產生的中斷向量被
存儲在內存的某個固定的地方--中斷程序的入口地址就是中斷向量指向的內存
單元的地址:要麼是跳轉/要麼直接是地址。
硬件向量:根據幾個bit來產生。具體的位數根據系統中中斷源的個數。產生
一串二進制數--就標識一箇中斷服務程序。
7.單箇中斷處理過程
*中斷源提出中斷請求
*CPU響應中斷的條件:處於開中斷、指令執行的結束纔會查詢有沒有中斷
*中斷響應:保存程序斷點:由中斷隱指令完成--硬件完成保證正確
關中斷;將PC的值保存在內存/堆棧中;肯定中斷程序入口地址;
*進入中斷服務程序
保護現場--保存寄存器/內存中的值--中斷服務程序完成;
執行中斷服務程序;
恢復現場
開中斷
中斷返回--返回到中斷髮生的下條指令執行
8.中斷屏蔽技術
存在於多重中斷中,因爲開中斷的提早,致使CPU在處理一箇中斷的時候,
又來了新的中斷--對於這個中斷是否被響應要看其優先級;
注意:被響應的優先級是固定的,可是新的中斷是否被處理是能夠改變的;
處理優先級;能夠經過中斷屏蔽技術改變。
響應優先級:這個是由CPU中斷排隊器決定的不會改變。
中斷屏蔽技術:排隊器裏面含有集中的MASK標誌;經過設置這個標誌的值就能夠
實現某個中斷請求的處理被屏蔽。
中斷屏蔽字舉例:A B C 3箇中斷 對應的屏蔽字:111;011;001;
表示:A不會被屏蔽;B會被A屏蔽;C會被A/B屏蔽
中斷屏蔽字被存儲在CPU裏面的中斷屏蔽字寄存器中。
9.多重中斷的處理流程
關中斷;保護程序斷點;設置屏蔽字;開中斷;進入中斷服務程序
關中斷;恢復現場;恢復屏蔽字;開中斷;中斷返回。
10.多重中斷斷點的保護:斷點壓棧、斷點存入內存
事件