技術(shù)文章
中斷的概述
閱讀:1430 發(fā)布時(shí)間:2018-2-3中斷是為處理器對(duì)外界異步事件具有處理能力而設(shè)置的,中斷技術(shù)的引入把計(jì)算機(jī)的發(fā)展和應(yīng)用大大地推進(jìn)一步。因此中斷功能的強(qiáng)弱已成為衡量一臺(tái)計(jì)算機(jī)性能的重要指標(biāo)。
1、中斷
中斷是指計(jì)算機(jī)在執(zhí)行某一程序的過程中,由于計(jì)算機(jī)系統(tǒng)內(nèi)、外的某種原因,而必須終止原程序的執(zhí)行,轉(zhuǎn)去執(zhí)行相應(yīng)的處理程序,待處理結(jié)束之后,再回來繼續(xù)執(zhí)行被終止的原程序過程。
中斷技術(shù)能實(shí)現(xiàn)CPU與外部設(shè)備的并行工作,提高CPU的利用率以及數(shù)據(jù)的輸入/輸出效率;中斷技術(shù)也能對(duì)計(jì)算機(jī)運(yùn)行過程中突然發(fā)生的故障做到及時(shí)發(fā)現(xiàn)并進(jìn)行自動(dòng)處理如:硬件故障、運(yùn)算錯(cuò)誤及程序故障等;中斷技術(shù)還能使我們通過鍵盤向計(jì)算機(jī)發(fā)出請(qǐng)求,隨時(shí)對(duì)運(yùn)行中的計(jì)算機(jī)進(jìn)行干預(yù),而不用先停機(jī),然后再重新開機(jī)等等。
2、中斷源
中斷源是指在計(jì)算機(jī)系統(tǒng)中向CPU發(fā)出中斷請(qǐng)求的來源,中斷源可以人為設(shè)定,也可以是為響應(yīng)突發(fā)性隨機(jī)事件而設(shè)置。如定時(shí)器中斷,它的中斷源即是定時(shí)器。
3、中斷優(yōu)先級(jí)
由于在實(shí)際的系統(tǒng)中,往往有多個(gè)中斷源,且中斷申請(qǐng)是隨機(jī)的,有時(shí)可能會(huì)有多個(gè)中斷源同時(shí)提出中斷申請(qǐng),但CPU一次只能響應(yīng)一個(gè)中斷源發(fā)出的中斷請(qǐng)求,這時(shí)CPU應(yīng)響應(yīng)那個(gè)中斷請(qǐng)求?這就需要用軟件或硬件按中斷源工作性質(zhì)的輕重緩急,給它們安排一個(gè)優(yōu)先順序,即所謂的優(yōu)先級(jí)排隊(duì)。中斷優(yōu)先級(jí)越高,則響應(yīng)優(yōu)先權(quán)就越高。當(dāng)CPU正執(zhí)行中斷服務(wù)程序時(shí),又有中斷優(yōu)先級(jí)更高的中斷申請(qǐng)產(chǎn)生,如果CPU能夠暫停對(duì)原來的中斷處理程序,轉(zhuǎn)而去處理優(yōu)先級(jí)更高的中斷請(qǐng)求,處理完畢后,再回到原低級(jí)中斷處理程序,這一過程稱為中斷嵌套。具有這種功能的中斷系統(tǒng)稱為多級(jí)中斷系統(tǒng);沒有中斷嵌套功能的則稱為單級(jí)中斷系統(tǒng)。具有二級(jí)中斷服務(wù)程序嵌套的中斷過程如圖1所示。
圖1 中斷嵌套示意圖
4、中斷響應(yīng)的過程
(1)在每條指令結(jié)束后系統(tǒng)都自動(dòng)檢測(cè)中斷請(qǐng)求信號(hào),如果有中斷請(qǐng)求,相應(yīng)的中斷允許位為真(允許中斷),相應(yīng)的總中斷允許位為真(允許中斷),則響應(yīng)中斷。
(2)保護(hù)現(xiàn)場(chǎng),CPU一旦響應(yīng)中斷,中斷系統(tǒng)會(huì)自動(dòng)的保存當(dāng)前的PC和SR寄存器(入棧)進(jìn)入中斷服務(wù)程序地址入口,中斷服務(wù)程序中可以通過入棧保護(hù)原程序中用到的數(shù)據(jù),保護(hù)現(xiàn)場(chǎng)前,一般要關(guān)中斷以防止現(xiàn)場(chǎng)被破壞。保護(hù)現(xiàn)場(chǎng)一般是將堆棧指令將原程序中用到的寄存器推入堆棧,在保護(hù)現(xiàn)場(chǎng)之后要開中斷,以響應(yīng)更高優(yōu)先級(jí)的中斷申請(qǐng)。
(3)中斷服務(wù),即為相應(yīng)的中斷源服務(wù)。
(4)清相應(yīng)的中斷請(qǐng)求標(biāo)志位,以免CPU總是執(zhí)行該中斷。
(5)恢復(fù)現(xiàn)場(chǎng),用堆棧指令將保護(hù)在堆棧中的數(shù)據(jù)彈出來,在恢復(fù)現(xiàn)場(chǎng)前要關(guān)中斷,以防止現(xiàn)場(chǎng)被破壞,在恢復(fù)現(xiàn)場(chǎng)后應(yīng)及時(shí)開中斷。
(6)返回,此時(shí)CPU將PC指針和SR內(nèi)容出?;謴?fù)斷點(diǎn),從而使CPU繼續(xù)執(zhí)行剛才被中斷的程序。
在單片機(jī)中,中斷技術(shù)主要用于實(shí)時(shí)控制。所謂實(shí)時(shí)控制,就是要求單片機(jī)能及時(shí)地響應(yīng)被控對(duì)象提出的分析、計(jì)算和控制等請(qǐng)求,使被控對(duì)象保持在*工作狀態(tài),以達(dá)到預(yù)定的控制效果。由于這些控制參量的請(qǐng)求都是隨機(jī)發(fā)出的,而且要求單片機(jī)必須作出快速響應(yīng)并及時(shí)處理,對(duì)此,只有靠中斷技術(shù)才能實(shí)現(xiàn)。
歡迎光顧 蘇州伊洛自動(dòng)化科技有限公司 !
如有需要幫助,請(qǐng)致電或咨詢
蘇州伊洛自動(dòng)化科技有限公司 客服。
蘇州伊洛自動(dòng)化科技有限公司竭誠為您服務(wù)!