多重中断的处理及其中断源屏蔽字
一。多重中斷也叫中斷嵌套(套娃)
1、多重中斷的定義
如果CPU在執(zhí)行某一中斷服務(wù)程序過(guò)程中,又遇到了新的更高級(jí)的中斷請(qǐng)求,CPU暫停原中斷的處理,而轉(zhuǎn)去處理新的中斷,待處理完畢后,再返回繼續(xù)處理原來(lái)的中斷,這種中斷稱為多重中斷,也稱中斷嵌套。
2、多重中斷的處理原則
若新的中斷的優(yōu)先級(jí)高于原中斷的優(yōu)先級(jí),CPU響應(yīng)新的中斷;否則,CPU不予響應(yīng),必須待原中斷處理完畢且返回主程序后,再響應(yīng)新的中斷。(這個(gè)地方其實(shí)可以參考一下計(jì)算機(jī)操作系統(tǒng)里面對(duì)動(dòng)態(tài)的優(yōu)先級(jí)算法)
3、單重中斷和多重中斷比較
在中斷響應(yīng)部分(中斷隱指令),兩者基本沒(méi)用區(qū)別
在中斷服務(wù)階段,多重中斷需要在有新的中斷請(qǐng)求時(shí),比較優(yōu)先級(jí),如果請(qǐng)求者優(yōu)先級(jí)低于正在執(zhí)行者,則繼續(xù)執(zhí)行中斷。如果高于,則需要中斷當(dāng)前的中斷,這里需要保護(hù)現(xiàn)場(chǎng)的同時(shí),需要保存屏蔽字
二。中斷屏蔽字
1. 中斷屏蔽技術(shù)
中斷屏蔽技術(shù)主要用于多重中斷,CPU要具備多重中斷的功能,須滿足下列條件
每個(gè)中斷源都有一個(gè)屏蔽觸發(fā)器,1表示屏蔽該中斷源的請(qǐng)求,0表示可以正常申請(qǐng),所有屏蔽觸發(fā)器組合在一起,便構(gòu)成一個(gè)屏蔽字寄存器,屏蔽字寄存器的內(nèi)容稱為屏蔽字。
2. 屏蔽字設(shè)置的規(guī)律
3. 多重中斷中,中斷的屏蔽字(舉例)
假設(shè)有A,B,C,D四個(gè)中斷源,其硬件排隊(duì)優(yōu)先次序位D>A>C>B
三。動(dòng)態(tài)的引入中斷源(中斷的執(zhí)行順序)
1.例題
繼續(xù)前面的例子,假設(shè)每個(gè)中斷的中斷服務(wù)時(shí)間需求均是20nsB在5ns時(shí)提出請(qǐng)求D在10ns時(shí)提出請(qǐng)求A在35ns時(shí)提出請(qǐng)求C在60ns時(shí)提出請(qǐng)求時(shí)間軸圖如下:
2.說(shuō)明
執(zhí)行的順序過(guò)程,類似于操作系統(tǒng)里面的動(dòng)態(tài)的優(yōu)先級(jí)調(diào)度算法。
若當(dāng)前沒(méi)用程序中斷請(qǐng)求時(shí),先到的(當(dāng)且僅當(dāng)只有一個(gè)同時(shí)到達(dá))直接進(jìn)行中斷服務(wù)。
根據(jù)中斷源的優(yōu)先級(jí)來(lái)執(zhí)行,若當(dāng)前的中斷程序優(yōu)先級(jí)低于等待隊(duì)列中(或剛進(jìn)入)的中斷程序,則當(dāng)前中斷程序進(jìn)行中斷,讓出資源給優(yōu)先級(jí)更高的中斷程序。
總結(jié)
以上是生活随笔為你收集整理的多重中断的处理及其中断源屏蔽字的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 单元测试实施方案
- 下一篇: 医院计算机软件是否是固定资产,加强固定资