溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

計算機程序中斷處理過程的五個階段是什么

發(fā)布時間:2021-04-15 09:29:40 來源:億速云 閱讀:1366 作者:小新 欄目:互聯(lián)網(wǎng)科技

小編給大家分享一下計算機程序中斷處理過程的五個階段是什么,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

中斷處理過程的五個階段:1、中斷請求階段;2、中斷判優(yōu)階段,有硬件判優(yōu)和軟件判優(yōu)兩種方法;3、中斷響應(yīng)階段,CPU向中斷源發(fā)出中斷響應(yīng)信號;4、中斷服務(wù)階段;5、中斷返回階段,返回到原程序的斷點處,恢復(fù)硬件現(xiàn)場,繼續(xù)執(zhí)行原程序。

本教程操作環(huán)境:windows7系統(tǒng)、Dell G3電腦。

中斷處理的基本過程包括中斷請求、中斷判優(yōu)、中斷響應(yīng)、中斷服務(wù) 和中斷返回等五個階段。

1.中斷請求階段


1)發(fā)生在CPU內(nèi)部的中斷(內(nèi)部中斷),不需要中斷請求,CPU內(nèi)部的中斷控制邏輯直接接收處理。

2)外部中斷請求由中斷源提出。外部中斷源利用CPU的中斷輸入引腳 輸入中斷請求信號。一般CPU設(shè)有兩個中斷請求輸入引腳:可屏蔽中斷請求輸入引腳和不可屏蔽中斷請求輸入引腳。

1.1中斷請求觸發(fā)器

每個中斷源發(fā)中斷請求信號的時間是不確定的,而CPU在何時響應(yīng)中斷也 是不確定的。所以,每個中斷源都有一個中斷請求觸發(fā)器,鎖存自己的中斷請求信號,并保持到CPU響應(yīng)這個中斷請求之后才將其清除。

1.2中斷允許觸發(fā)器

在CPU內(nèi)部有一個中斷允許觸發(fā)器,當(dāng)其為“1”時,允許CPU響應(yīng)中斷, 稱為開中斷。若其為“0”,不允許CPU響應(yīng)中斷,中斷被屏蔽,稱為關(guān)中斷。

%%通常,當(dāng)CPU復(fù)位時,中斷允許觸發(fā)器也復(fù)位為“0”,即關(guān)中斷。當(dāng) CPU中斷響應(yīng)時,CPU自動關(guān)閉中斷,禁止接受另一個新的中斷。
%%中斷允許觸發(fā)器的狀態(tài)可以用開中斷或關(guān)中斷指令來設(shè)置。

2.中斷判優(yōu)階段


CPU一次只能接受一個中斷源的請求,當(dāng)多個中斷源同時向CPU提出中斷請求時,CPU必須找出中斷優(yōu)先級最高的中斷源,這一過程稱為中斷判優(yōu)。

中斷判優(yōu)可以采用硬件方法,也可采用軟件方法。

2.1軟件判優(yōu)

CPU檢測到中斷請求后,首先讀取中斷請求寄存器的內(nèi)容,逐位檢測它們的狀態(tài),檢測到某一位為1,就確定對應(yīng)的中斷源有中斷請求,轉(zhuǎn)去執(zhí)行它的中斷服務(wù)程序。

先檢測哪一個,哪一個的優(yōu)先級就高,后檢測哪一個,哪一個優(yōu)先級就低,檢測的順序就是各中斷源的優(yōu)先級順序。

計算機程序中斷處理過程的五個階段是什么
假設(shè)上圖中輸入端口地址為87FFH。有如下查詢程序:

MOV DX, 87FFH
IN AL, DX ;讀中斷請求寄存器內(nèi)容
SHR AL, 1
JC IR0 ;IRQ0有請求,轉(zhuǎn)IR0
SHR AL,1
JC IR1 ;IRQ1有請求,轉(zhuǎn)IR1
SHR AL,1
JC IR2 ;IRQ2有請求,轉(zhuǎn)IR2
… …
軟件判優(yōu)耗時較長。如果中斷源很多,中斷的實時性就很差,但是軟件判優(yōu)優(yōu)先權(quán)安排靈活。

2.2硬件判優(yōu)

利用專門的硬件電路確定中斷源的優(yōu)先級,有兩種常見的方式:菊花鏈判優(yōu)電路和中斷控制器判優(yōu)

2.2.1菊花鏈判優(yōu)電路

設(shè)計思想:每個中斷源都有一個中斷邏輯電路,所有的中斷邏輯電路形成一個鏈,猶如菊花鏈。排在鏈前端的中斷源優(yōu)先級最高,越靠后的設(shè)備優(yōu)先級越低。
計算機程序中斷處理過程的五個階段是什么
實現(xiàn)過程: CPU收到中斷請求,如果允許中斷,CPU發(fā)出中斷響應(yīng)信號。中斷響應(yīng)信號首先到達菊花鏈的前端,如果中斷源1提出了中斷請求,它就會截獲中斷響應(yīng)信號,封鎖它,使它不能向下一個中斷源傳送。不論下面的中斷源有沒有提出中斷請求,都不可能接收到中斷響應(yīng)信號,因此它們的中斷請求也不能被響應(yīng)。

2.2.2中斷控制器判優(yōu)

中斷控制器,如Intel8259A,可以以多種方式設(shè)置中斷源的中斷優(yōu)先級。 中斷控制器中有一個中斷優(yōu)先級判別器,它自動判別出目前提出中斷請求的優(yōu)先級最高的中斷源,并將它的中斷向量碼送到數(shù)據(jù)總線,CPU接收中斷向量碼并據(jù)此找到它的中斷服務(wù)程序。

計算機程序中斷處理過程的五個階段是什么

3.中斷響應(yīng)階段


經(jīng)過中斷判優(yōu),中斷處理就進入中斷響應(yīng)階段。中斷響應(yīng)時,CPU向中斷源發(fā)出中斷響應(yīng)信號,同時:

① 保護硬件現(xiàn)場;

② 關(guān)中斷;

③ 保護斷點;

④ 獲得中斷服務(wù)程序的入口地址。

4.中斷服務(wù)階段


中斷服務(wù)程序的一般結(jié)構(gòu)為:

1)保護現(xiàn)場。 在中斷服務(wù)程序的起始部分安排若干條入棧指令,將各寄存器的內(nèi)容壓入堆棧保存。

2)開中斷。 在中斷服務(wù)程序執(zhí)行期間允許級別更高的中斷請求中斷現(xiàn) 行的中斷服務(wù)程序,實現(xiàn)中斷嵌套。

3)中斷服務(wù)。 完成中斷源的具體要求。

4)恢復(fù)現(xiàn)場。 中斷服務(wù)程序結(jié)束前,必須恢復(fù)主程序的中斷現(xiàn)場。通常是將保存在堆棧中的現(xiàn)場信息彈出到原來的寄存器中。

5)中斷返回。 返回到原程序的斷點處,繼續(xù)執(zhí)行原程序。

5.中斷返回階段


返回到原程序的斷點處,恢復(fù)硬件現(xiàn)場,繼續(xù)執(zhí)行原程序。

中斷返回操作是中斷響應(yīng)操作的逆過程。

看完了這篇文章,相信你對“計算機程序中斷處理過程的五個階段是什么”有了一定的了解,如果想了解更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI