中斷屏蔽技術(shù):主要用于多重中斷
多重中斷:(中斷嵌套)當(dāng)CPU正在執(zhí)行某個中斷服務(wù)程序時,另一個中斷源又提出了新的中斷請求,而CPU又響應(yīng)了這個新的請求,暫時停止正在運行的服務(wù)程序,轉(zhuǎn)去執(zhí)行新的中斷服務(wù)程序,這稱為多重中斷,又稱中斷嵌套。
如果CPU對新的請求不予響應(yīng),待執(zhí)行完當(dāng)前的服務(wù)程序后再響應(yīng),即為單重中斷。
中斷系統(tǒng)若要具有處理多重中斷的功能,必須具備各項條件。
?1)提前設(shè)置“開中斷”指令:一般情況下,CPU進入中斷周期后,由中斷隱指令自動將EINT置“0”,即關(guān)中斷。
中斷隱指令指CPU響應(yīng)中斷之后,經(jīng)過某些操作,轉(zhuǎn)去執(zhí)行中斷服務(wù)程序的一種操作。
這就意味著CPU在執(zhí)行中斷服務(wù)程序中禁止響應(yīng)新的中斷請求。CPU若想再次響應(yīng)中斷請求,必須開中斷,
這一任務(wù)通常由中斷服務(wù)程序中的開中斷指令實現(xiàn)。
多重中斷示意圖如下:
?2)、優(yōu)先級別高的中斷源有權(quán)中斷優(yōu)先級別低的中斷源。
在滿足1的前提下,只有優(yōu)先級別更高的中斷源請求才可以中斷比其級別低的中斷服務(wù)程序,反之則不然。
為了保證級別低的中斷源不干擾比其級別高的中斷源的中斷處理過程,可采用屏蔽技術(shù)。
例如,有A、B、C、D4個中斷源,其優(yōu)先級按A-》B-》C-》D由高向低次序排列。在CPU執(zhí)行主程序期間,同時出現(xiàn)了B和C的中斷請求,由于B級別高于C,故首先執(zhí)行B的服務(wù)程序。
當(dāng)B的服務(wù)程序執(zhí)行完返回主程序后,由于C請求未撤銷,故CPU又再去執(zhí)行C的中斷服務(wù)程序。若此時又出現(xiàn)了D的請求,因為D級別低于C,故CPU不響應(yīng)。當(dāng)C的服務(wù)程序執(zhí)行完返回主程序后再去執(zhí)行D的服務(wù)程序。
若此時又出現(xiàn)了A請求,因A級別高于D,故CPU暫停對D級中斷服務(wù)程序的執(zhí)行,轉(zhuǎn)去執(zhí)行A級中斷服務(wù)程序,等A級服務(wù)程序執(zhí)行完后,再去執(zhí)行D級中斷服務(wù)程序。上述中斷處理示意圖如下:
-
cpu
+關(guān)注
關(guān)注
68文章
10863瀏覽量
211768 -
中斷
+關(guān)注
關(guān)注
5文章
898瀏覽量
41497 -
程序
+關(guān)注
關(guān)注
117文章
3787瀏覽量
81047 -
中斷源
+關(guān)注
關(guān)注
0文章
16瀏覽量
7995
發(fā)布評論請先 登錄
相關(guān)推薦
評論