亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

PIE/CPU中斷響應(yīng)過程

chunquedong / 1089人閱讀

摘要:中斷服務(wù)函數(shù)入口響應(yīng)中斷,就是要去執(zhí)行相應(yīng)的中斷服務(wù)程序,其響應(yīng)過程是將現(xiàn)在執(zhí)行程序的指令地址壓入堆棧,跳轉(zhuǎn)到中斷服務(wù)程序入口地址,中斷服務(wù)程序的入口地址就是中斷向量,這個中斷向量用個位寄存器存放。完成這些任務(wù)準備執(zhí)行中斷服務(wù)程序。

A、開始;

B、PIEIFRx.y = 1 ?是,轉(zhuǎn)到C,否則等待;

C、PIEIERx.y = 1 ?是,轉(zhuǎn)到D,否則等待;

D、PIEACKx = 0 ?是,轉(zhuǎn)到E,否則等待;

E、中斷請求發(fā)送到CPU;

F、IFRx位置1;

G、IERx = 1 ?是,轉(zhuǎn)到H,否則等待;

H、INTM = 0 ?是,轉(zhuǎn)到I,否則等待;

I、CPU響應(yīng),進入中斷服務(wù)子程序前,DSP硬件自動將IFRx清0,然后將CPU內(nèi)一些關(guān)鍵寄存器如:ST0、ST1及IER等的內(nèi)容壓到堆棧保存起來,隨后硬件自動將IERx清0,INTM置1,以避免中斷嵌套,在中斷服務(wù)子程序執(zhí)行完返回后,這些保存的內(nèi)容會自動從堆棧中彈出,將原寄存器的內(nèi)容恢復(fù)。因此ISR中不需要再進行INTM清0和IER置1操作,但必須注意的是:在ISR中執(zhí)行完中斷響應(yīng)任務(wù)之后,返回前,必須將外設(shè)寄存器中的中斷標志軟件清0,這樣外設(shè)中斷才能再次產(chǎn)生;

J、從PIE處取中斷矢量,PIEIFRx.y被清除,CPU轉(zhuǎn)到ISR執(zhí)行。這里從PIE中斷向量表中可以取到中斷服務(wù)子程序的地址,它是一個32位的矢量,中斷矢量被取出后,PIE模塊中的中斷標志PIEIFRx.y被自動清0,但該中斷x對應(yīng)的PIE應(yīng)答位PIEACKx在中斷服務(wù)子程序ISR中必須軟件清0(寫1清0),這樣才能接受下一個外圍中斷。

K、中斷返回。

?

func :中斷服務(wù)函數(shù)入口;XINT3

?

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

?

?

上圖為外設(shè)復(fù)用中斷向CPU申請中斷的流程。

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

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

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

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

2.相應(yīng)的PIEACKx位必須被清除。

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

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

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

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

步驟八:CPU從PIE中獲取響應(yīng)的中斷向量。

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

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

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

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

附上百度文庫一篇文章鏈接。

?

?

?

?

?

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/120919.html

相關(guān)文章

  • RTOS系列——初識嵌入式實時操作系統(tǒng)

    摘要:嵌入式實時操作系統(tǒng)是一個特殊的程序通常稱為內(nèi)核,它可以創(chuàng)建,銷毀,控制所有任務(wù)。顯示處理函數(shù)運行過程中,定時器產(chǎn)生中斷,系統(tǒng)進入定時器中斷程序?qū)鞲衅鳂酥疚恢?。實時操作系的子系統(tǒng)將再后續(xù)持續(xù)更新。 ...

    不知名網(wǎng)友 評論0 收藏0
  • 身價過億的女王對小碼農(nóng)說中斷會了嗎

    摘要:復(fù)位后初值是子函數(shù)調(diào)用,中斷響應(yīng)過程調(diào)用子函數(shù)處理中斷響應(yīng)的時候,程序計數(shù)器的值以及相關(guān)數(shù)據(jù)會先壓入堆棧,然后去處理子函數(shù)中斷服務(wù)。聯(lián)動文章身家過億的帝都富豪對小碼農(nóng)說你時空復(fù)雜度會了嗎 ...

    Leck1e 評論0 收藏0
  • 詳細分析Java中斷機制

    摘要:沒有提供一種安全直接的方法來停止某個線程,但是提供了中斷機制。中斷的原理中斷機制是一種協(xié)作機制,也就是說通過中斷并不能直接終止另一個線程,而需要被中斷的線程自己處理中斷。線程的中斷狀態(tài)由該方法清除。測試線程是否已經(jīng)中斷。 1. 引言 當我們點擊某個殺毒軟件的取消按鈕來停止查殺病毒時,當我們在控制臺敲入quit命令以結(jié)束某個后臺服務(wù)時……都需要通過一個線程去取消另一個線程正在執(zhí)行的任務(wù)...

    bergwhite 評論0 收藏0
  • 深入淺出AQS之組件概覽

    摘要:原文地址深入淺出之獨占鎖模式深入淺出之共享鎖模式深入淺出之條件隊列前面三篇文章如果之前沒有基礎(chǔ)的話看起來會比較吃力,這篇文章說明一下的基礎(chǔ)知識,方便快速了解。當前節(jié)點由于超時或者中斷被取消,節(jié)點進入這個狀態(tài)以后將保持不變。 之前分析了AQS中的獨占鎖,共享鎖,條件隊列三大模塊,現(xiàn)在從結(jié)構(gòu)上來看看AQS各個組件的情況。 原文地址:http://www.jianshu.com/p/49b8...

    DDreach 評論0 收藏0
  • 線程間的同步與通信(4)——Lock 和 Condtion

    摘要:為了拓展同步代碼塊中的監(jiān)視器鎖,開始,出現(xiàn)了接口,它實現(xiàn)了可定時可輪詢與可中斷的鎖獲取操作,公平隊列,以及非塊結(jié)構(gòu)的鎖。 前言 系列文章目錄 前面幾篇我們學(xué)習(xí)了synchronized同步代碼塊,了解了java的內(nèi)置鎖,并學(xué)習(xí)了監(jiān)視器鎖的wait/notify機制。在大多數(shù)情況下,內(nèi)置鎖都能很好的工作,但它在功能上存在一些局限性,例如無法實現(xiàn)非阻塞結(jié)構(gòu)的加鎖規(guī)則等。為了拓展同步代...

    Aceyclee 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<