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

技術(shù)普及篇|線纜屏蔽材料的主要作用
51單片機(jī)EA=0 這個(gè)中斷總開關(guān)不能真正屏蔽中斷

FREERTOS中斷組屏蔽實(shí)驗(yàn)

超六類屏蔽網(wǎng)線必須要用屏蔽水晶頭嗎
屏蔽技術(shù)是什么 屏蔽觸發(fā)器介紹

評(píng)論