天天看點

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

-----中斷系統------

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.多重中斷斷點的保護:斷點壓棧、斷點存入記憶體

繼續閱讀