1. 程式人生 > >計算機組成原理--中斷系統

計算機組成原理--中斷系統

執行流程 設置 註意 定義 方式 過程 決定 處理 數根

-----中斷系統------
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.多重中斷斷點的保護:斷點壓棧、斷點存入內存


計算機組成原理--中斷系統