溫馨提示×

溫馨提示×

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

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

CPU中斷響應過程的九大步驟分別是什么

發(fā)布時間:2022-01-11 10:20:56 來源:億速云 閱讀:318 作者:柒染 欄目:編程語言

本篇文章為大家展示了CPU中斷響應過程的九大步驟分別是什么,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

CPU響應中斷,就是CPU要去執(zhí)行相應的中斷服務程序,其響應過程是CPU將現(xiàn)在執(zhí)行程序的指令地址壓入堆棧,跳轉到中斷服務程序入口地址,中斷服務程序的入口地址就是中斷向量,這個中斷向量用2個16位寄存器存放。入口地址是22位的,地址的低16位保存在該向量的低16位,地址的高16位則保存在它的高6位,更高的10位保留。

步驟一:任何一個PIE中斷組的外設或外部中斷產(chǎn)生中斷。如果外設模塊內(nèi)的中斷被使能,中斷請求將被送到PIE模塊。

步驟二:PIE模塊將識別出別的PIE中斷組x內(nèi)的y中斷(INTx.y)申請,然后相應的PIE中斷標志位被鎖存:PIEIFRx.y=1。

步驟三:PIE的中斷如要送到CPU需滿足下面兩個條件:

1.相應的使能位必須被設置(PIEIERx.y=1)。

2.相應的PIEACKx位必須被清除。

步驟四:如果滿足步驟三中的兩個條件,中斷請求將被送到CPU并且相應的響應寄存器位被置1(PIEACKx=1)。PIEACKx位將保持不變,除非為了使本組中的其他中斷向CPU發(fā)出申請而清除該位。

步驟五:CPU中斷標志位被置位(CPUIFRx=1),表明產(chǎn)生一個CPU級的掛起中斷。

步驟六:如果CPU中斷被使能(CPUIERx=1,或DBGIERx=1),并且全局中斷使能(INTM=0),CPU將處理中斷INTx。

步驟七:CPU識別到中斷并且自動保存相關的中斷信息,清除使能寄存器(IER)位,設置INTM,清除EALLOW。CPU完成這些任務準備執(zhí)行中斷服務程序。

步驟八:CPU從PIE中獲取響應的中斷向量。

步驟九:對于復用中斷,PIE模塊用PIEIERx和PIEIFRx寄存器中的值確定響應中斷的向量地址。有以下兩種情況:

1.在步驟四中若有更高優(yōu)先級的中斷產(chǎn)生,并使能了PIEIERx寄存器,且PIEIFRx的相應位處于掛起狀態(tài),則首先響應優(yōu)先級更高的中斷。

2.如果在本組內(nèi)沒有掛起的中斷被使能,PIE將響應組內(nèi)優(yōu)先級最高的中斷,調(diào)轉地址使用INTx.1。這種操作相當于處理器的TRAP或INT指令。

CPU進入中斷服務程序后,將清除PIEIFRx.y位。需要說明的是,PIEIERx寄存器用來確定中斷向量,在清除PIEIERx寄存器時必須注意。

上述內(nèi)容就是CPU中斷響應過程的九大步驟分別是什么,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

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

cpu
AI