5.2.1 中斷的基本概念
1.中斷的概念及中斷源分類
在CPU執(zhí)行程序過程中,由于某種事件發(fā)生,強迫CPU暫時停止正在執(zhí)行的程序而轉向對發(fā)生的事件進行處理,事件處理結束后又能回到原中止的程序,
接著中止前的狀態(tài)繼續(xù)執(zhí)行原來的程序,這一過程稱為中斷。外部中斷源產生引起中斷的事件。
INTR通常稱為可屏蔽中斷輸入信號,高電平有效——表示外部中斷源提出中斷請求。 NMI稱為非屏蔽中斷請求輸入信號,上升沿有效。
2. 中斷響應的一般過程
(1)中斷請求
(2)中斷承認
CPU在每條指令執(zhí)行的最后一個時鐘周期檢測中斷請求輸入端有無請求發(fā)生,而后決定是否對它做出響應。CPU承認一個中斷請求,必須滿足以下4個條件:
①一條指令執(zhí)行結束。
③沒有發(fā)生復位(RESET)、保持(HOLD)和非屏蔽中斷請求(NMI)。
④開中斷指令(STI)、中斷返回指令(IRET)執(zhí)行完,還需再執(zhí)行一條指令才能響應INTR請求。
(3) 斷點保護
(4)中斷源識別
有兩種常用的確定中斷源的方法:
①軟件查詢。
②中斷矢量法。


(5) 中斷服務
中斷服務程序分為兩種情況。如圖5.9所示,第一種是不允許被中斷的中斷服務程序。第二種是可以被中斷的中斷服務程序,其流程圖如圖5.10所示。
(6) 斷點恢復
(7) 中斷返回


3. 中斷優(yōu)先級及中斷嵌套
中斷優(yōu)先級控制應當解決這樣兩種可能出現(xiàn)的情況:
①當不同優(yōu)先級的多個中斷源同時提出中斷請求時,CPU首先響應最高優(yōu)先級的中斷源。
②當CPU正在對某一中斷源服務時,比它優(yōu)先級更高的中斷源提出中斷請求時,CPU能夠中斷正在執(zhí)行的中斷服務程序而去對優(yōu)先級更高的中斷源進行服務。

