專利名稱:一種快速中斷分級處理裝置及方法
技術領域:
本發(fā)明涉及數(shù)據(jù)通信技術領域,特別涉及中斷處理裝置及方法。
技術背景
中斷是指CPU對系統(tǒng)發(fā)生的某個事件所做出的反應,處理器會暫時停止當前正在執(zhí)行的某項任務,并將該任務暫時保存。轉(zhuǎn)向執(zhí)行相應的針對該事件的處理程序。處理完之后再返回到之前保存的任務繼續(xù)處理。
中斷處理一般包含中斷請求和中斷處理過程,CPU接收中斷請求對其進行響應,可能引起中斷請求的事件稱之為中斷源。CPU得到中斷請求之后需要查找到相應的中斷源才能進行相應對應處理,而系統(tǒng)需要盡快的將中斷事件形成中斷源通知給CPU進行處理。
通常,如圖1中所示,系統(tǒng)產(chǎn)生若干個中斷源,CPU在接收到中斷請求后,掃描多個中斷源,查看該請求來自于哪一個中斷源,然后進行處理。
現(xiàn)在,技術水平的發(fā)展帶來的是系統(tǒng)設計復雜性越來越高,中斷的數(shù)目以及原因也越來越多,例如在PTN設備中的OAM處理功能當中,OAM需要支持的條目數(shù)為32768條甚至于到達65536條,每一個條目都需要獨立的產(chǎn)生各種事件需要上報給CPU進行處理。
這些OAM處理當中的中斷,大部分都會涉及到數(shù)據(jù)業(yè)務的連通性,所以,必須要求這些中斷都必須被處理,不能丟失,并且,OAM連通性的中斷會涉及到業(yè)務的保護倒換的操作,對CPU響應的速度都有時間上的要求。
按照圖1中所示的方法,在CPU接收到中斷請求后,需要在65536個中斷源中尋找到實際產(chǎn)生中斷的單元,使得軟件的開銷變大,CPU占用率增加,并且需要耗費過多的時間。發(fā)明內(nèi)容
本發(fā)明要解決的技術問題是提供一種快速中斷分級處理裝置及方法,使得CPU 能夠快速的定位中斷源,加快處理時間,節(jié)省了 CPU占用率。
本發(fā)明為解決上述技術問題所采取的技術方案為一種快速中斷分級處理裝置, 其特征在于它包括
中斷事件存儲裝置,用于存儲中斷源產(chǎn)生的中斷事件;
中斷產(chǎn)生裝置,用于將同一中斷源的中斷事件轉(zhuǎn)換為Ibit的中斷標志;
中斷標志存儲裝置,用于存儲產(chǎn)生的所有中斷標志;以及
中斷匯聚裝置,用于將中斷標志進行分級壓縮和存儲,并交由CPU處理;
中斷匯聚裝置由N級級聯(lián)而成,每一級中斷匯聚裝置的結構相同,# = log $,n為ηCPU讀寫數(shù)據(jù)位寬,S為電路系統(tǒng)中中斷源的總數(shù);
其中中斷源為來自電路系統(tǒng)中有產(chǎn)生中斷事件需求的所有單元的集合,并按照一定特征進行編碼;中斷事件由中斷源產(chǎn)生,由多個比特位組成,其中特定的比特置1代表已經(jīng)定義的應上報中斷事件。
按上述方案,它還包括中斷事件屏蔽位裝置,包含應上報終端事件以外的所有中斷事件,用于與中斷事件存儲裝置中的所有中斷事件比較,僅將應上報中斷事件傳遞給中斷產(chǎn)生裝置。
按上述方案,所述的中斷產(chǎn)生裝置包括用于對中斷事件存儲裝置進行不間斷掃描的中斷產(chǎn)生掃描器;和用于控制每掃描η個中斷源產(chǎn)生一次η bit的中斷標志的移位寄存器。
按上述方案,所述的中斷標志存儲裝置的位寬為n,地址深度大于等于S/n。
按上述方案,所述的每一級中斷匯聚裝置包括用于對上一級產(chǎn)生的中斷標志進行不間斷掃描的匯聚掃描器;用于對本級掃描出的中斷標志并進行η 1壓縮的中斷壓縮裝置;和用于存儲本級經(jīng)過壓縮的中斷標志,提供給CPU作為分級查詢中斷源的依據(jù)的中斷壓縮存儲器。
一種快速中斷分級處理方法,其特征在于它包括以下步驟
1)存儲所有中斷源產(chǎn)生的中斷事件;
2)將同一中斷源的中斷事件轉(zhuǎn)換為Ibit的中斷標志;
3)存儲產(chǎn)生的所有中斷標志;
4)將中斷標志進行分級壓縮和存儲,并交由CPU處理;每一級壓縮存儲的過程相同,級數(shù)# = Iogn $,η為CPU讀寫數(shù)據(jù)位寬,S為電路系統(tǒng)中中斷源的總數(shù); η
其中中斷源為來自電路系統(tǒng)中有產(chǎn)生中斷事件需求的所有單元的集合,并按照一定特征進行編碼;中斷事件由中斷源產(chǎn)生,由多個比特位組成,其中特定的比特置1代表已經(jīng)定義的應上報中斷事件。
它還存儲應上報終端事件以外的所有中斷事件,用于與存儲的所有中斷事件比較,將應上報中斷事件以外的中斷事件屏蔽。
所述步驟2)對中斷事件存儲裝置進行不間斷掃描,每掃描η個中斷源產(chǎn)生一次η bit的中斷標志。
所述的每一級壓縮存儲的過程包括對上一級產(chǎn)生的中斷標志進行不間斷掃描; 對本級掃描出的中斷標志并進行η 1壓縮;存儲本級經(jīng)過壓縮的中斷標志,提供給CPU作為分級查詢中斷源的依據(jù)。
本發(fā)明的有益效果為
1、通過采用本裝置和方法,在CPU接收到中斷請求后僅需反向查找中斷標志進而查找對應的中斷事件即可,能夠快速的定位中斷源,加快處理時間,節(jié)省了 CPU占用率。
2、通過增加中斷事件屏蔽位裝置,能夠僅將應上報中斷事件產(chǎn)生中斷標志,進一步節(jié)約了 CPU的占用率。
圖1為傳統(tǒng)中斷處理方式。
圖2為本發(fā)明實施例的總體結構圖。
圖3為中斷事件存儲裝置的存儲方式。
圖4為中斷產(chǎn)生裝置結構圖。
圖5為加入中斷事件屏蔽位的結構圖。
圖6為中斷標志存儲示意圖。
圖7為中斷匯聚裝置結構圖。
圖8為CPU查詢中斷事件流程。
具體實施方式
下面根據(jù)附圖和具體實施例對本發(fā)明進行進一步闡述。
圖2為本發(fā)明實施例的總體結構圖,它包括中斷事件存儲裝置,用于存儲中斷源產(chǎn)生的中斷事件;中斷產(chǎn)生裝置,用于將同一中斷源的中斷事件轉(zhuǎn)換為Ibit的中斷標志; 中斷標志存儲裝置,用于存儲產(chǎn)生的所有中斷標志;以及中斷匯聚裝置,用于將中斷標志進行分級壓縮和存儲,并交由CPU處理。
中斷匯聚裝置由N級級聯(lián)而成,每一級中斷匯聚裝置的結構相同,考慮到CPU讀寫數(shù)據(jù)的位寬,所有的中斷通過一定級數(shù)的中斷匯聚裝置,最終會匯聚成一個匹配CPU讀寫數(shù)據(jù)位寬的最終壓縮數(shù)據(jù),并將該數(shù)據(jù)按位與得到最終的中斷信息,因此# = log f,n為ηCPU讀寫數(shù)據(jù)位寬,S為電路系統(tǒng)中中斷源的總數(shù)。以本實施例中CPU數(shù)據(jù)位寬16bit為例,總中斷源為S,中斷匯聚的級數(shù)N可以通過以下公式得到# = log16&16O
本實施例中η為16,總中斷源為64Κ,中斷匯聚裝置為3級級聯(lián)。
其中中斷源為來自電路系統(tǒng)中有產(chǎn)生中斷事件需求的所有單元的集合,并按照一定特征進行編碼;中斷事件由中斷源產(chǎn)生,由多個比特位組成,其中特定的比特置1代表已經(jīng)定義的應上報中斷事件。
圖3為中斷事件存儲裝置的存儲方式,行數(shù)為中斷源的總數(shù),每一行存儲同一個中斷源產(chǎn)生的所有中斷事件。
圖4為中斷產(chǎn)生裝置結構圖,包括用于對中斷事件存儲裝置進行不間斷掃描的中斷產(chǎn)生掃描器,和用于控制每掃描16個中斷源產(chǎn)生一次16bit的中斷標志的移位寄存器。 如圖5所示,還可以添加中斷事件屏蔽位裝置,包含應上報終端事件以外的所有中斷事件, 用于與中斷事件存儲裝置中的所有中斷事件比較,僅將應上報中斷事件傳遞給中斷產(chǎn)生裝置,用以控制各種中斷事件是否需要上報給CPU進行處理。
中斷標志存儲裝置用于存儲各個中斷源的中斷標志,該RAM的位寬為16bit,地址深度為S/16,存儲順序如圖6所示,RAM中任意地址的任意lbit,由RAM(addr,d[n])表示, 代表中斷源addrX16+n中產(chǎn)生了中斷事件。
中斷匯聚裝置作用是提取所有中斷標志并按照16 1的壓縮比進行壓縮存儲,如圖7所示,整個系統(tǒng)中含有多個匯聚裝置,下面,以第一級中斷匯聚裝置為例進行介紹,包含中斷掃描裝置、中斷壓縮裝置、中斷壓縮存儲裝置。
中斷掃描裝置是由計數(shù)器驅(qū)動,對中斷標志進行不間斷掃描,考慮到CPU獲取中斷的操作,本系統(tǒng)采用2個時鐘周期掃描一個地址的設計。地址空間為S/16,其中S為電路系統(tǒng)中中斷源的總數(shù),第一級中斷匯聚模塊的掃描周期為(S/16) X2f。lk其中f。lk*時鐘頻率。第N級中斷匯聚模塊的掃描周期為(S/16N)X2f。lk,以本次設計3級中斷匯聚模塊來計算,各級中斷掃描的總時間為Ifclkο
中斷壓縮裝置由一個移位寄存器構成,不間斷接收掃描出的中斷標志,由于上一級的中斷標志存儲中,一個地址為16bit,將其通過邏輯與操作壓縮為1個Ibit的中斷信息,并且送入移位寄存器當中,每掃描16個地址,即形成一個16bit的壓縮數(shù)據(jù)。
中斷壓縮存儲裝置存儲經(jīng)過壓縮的中斷標志,提供給CPU作為分級查詢中斷源的依據(jù),每一級中斷壓縮存儲的數(shù)據(jù)位寬都為16bit,地址深度為S/16N+1,對于該存儲裝置中任意比特RAM(addr,d[n])值為1,代表所對應的中斷源中區(qū)間[(addr X 16+n) X 16N, (addrX16+n+l)X16N]區(qū)間之中間含有中斷標志,其中,N為當前中斷匯聚裝置的級數(shù),以本實施例為例,第一級,第二級,第三級中斷壓縮存儲的地址深度分別為256、16、1。
以這種方式級聯(lián)的中斷匯聚系統(tǒng),CPU在查詢時,從最靠近CPU—側的中斷壓縮存儲開始查起,每一級中斷壓縮存儲都可以作為CPU查找上一級中斷壓縮存儲的依據(jù)。最終可以通過N+1級查詢即可得到最終的中斷源。從而獲得中斷事件。本實施例中,CPU可以通過4次查詢即可定位中斷源。
下面,將對CPU的操作模式進行說明,如圖8以幫助理解該設計對提高CPU處理速度帶來的優(yōu)勢。以三級中斷匯聚為例。
CPU在獲得中斷請求之后,首先查看中斷壓縮存儲3,第a比特位為1,即可獲得中斷壓縮存儲2的地址為a ;
進一步,查看中斷壓縮存儲2中的地址b,發(fā)現(xiàn)地址a中第χ比特位為1,則根據(jù)公式得到中斷壓縮存儲1的地址b = aX 16+x ;
進一步,查看中斷壓縮存儲1中的地址b,發(fā)現(xiàn)地址b中第y比特位為1,即可得到中斷標志存儲的地址c = bX16+y ;
進一步,查看中斷標志存儲中的地址C,發(fā)現(xiàn)地址c中第ζ比特位為1,即可得到中斷源的編號為s = cX16+z。
通過上述分析可知,不論65536個中斷源中的某一個產(chǎn)生了中斷事件,CPU都可以通過4步查找確切的定位出實際的中斷源,從而提高了 CPU的處理效率。
權利要求
1.一種快速中斷分級處理裝置,其特征在于它包括 中斷事件存儲裝置,用于存儲中斷源產(chǎn)生的中斷事件;中斷產(chǎn)生裝置,用于將同一中斷源的中斷事件轉(zhuǎn)換為Ibit的中斷標志;中斷標志存儲裝置,用于存儲產(chǎn)生的所有中斷標志;以及中斷匯聚裝置,用于將中斷標志進行分級壓縮和存儲,并交由CPU處理;中斷匯聚裝置由N級級聯(lián)而成,每一級中斷匯聚裝置的結構相同,^=Iogx- , η為CPU讀寫數(shù)據(jù)位寬,S為電路系統(tǒng)中中斷源的總數(shù);η其中中斷源為來自電路系統(tǒng)中有產(chǎn)生中斷事件需求的所有單元的集合,并按照一定特征進行編碼;中斷事件由中斷源產(chǎn)生,由多個比特位組成,其中特定的比特置1代表已經(jīng)定義的應上報中斷事件。
2.根據(jù)權利要求1所述的快速中斷分級處理裝置,其特征在于它還包括中斷事件屏蔽位裝置,包含應上報終端事件以外的所有中斷事件,用于與中斷事件存儲裝置中的所有中斷事件比較,僅將應上報中斷事件傳遞給中斷產(chǎn)生裝置。
3.根據(jù)權利要求1或2所述的快速中斷分級處理裝置,其特征在于所述的中斷產(chǎn)生裝置包括用于對中斷事件存儲裝置進行不間斷掃描的中斷產(chǎn)生掃描器;和用于控制每掃描η個中斷源產(chǎn)生一次η bit的中斷標志的移位寄存器。
4.根據(jù)權利要求3所述的快速中斷分級處理裝置,其特征在于所述的中斷標志存儲裝置的位寬為n,地址深度大于等于f{。
5.根據(jù)權利要求3所述的快速中斷分級處理裝置,其特征在于所述的每一級中斷匯聚裝置包括用于對上一級產(chǎn)生的中斷標志進行不間斷掃描的匯聚掃描器;用于對本級掃描出的中斷標志并進行η 1壓縮的中斷壓縮裝置;和用于存儲本級經(jīng)過壓縮的中斷標志, 提供給CPU作為分級查詢中斷源的依據(jù)的中斷壓縮存儲器。
6.一種快速中斷分級處理方法,其特征在于它包括以下步驟1)存儲所有中斷源產(chǎn)生的中斷事件;2)將同一中斷源的中斷事件轉(zhuǎn)換為Ibit的中斷標志;3)存儲產(chǎn)生的所有中斷標志;4)將中斷標志進行分級壓縮和存儲,并交由CPU處理;每一級壓縮存儲的過程相同,級數(shù)F= IogaI, η為CPU讀寫數(shù)據(jù)位寬,S為電路系統(tǒng)中中斷源的總數(shù);η其中中斷源為來自電路系統(tǒng)中有產(chǎn)生中斷事件需求的所有單元的集合,并按照一定特征進行編碼;中斷事件由中斷源產(chǎn)生,由多個比特位組成,其中特定的比特置1代表已經(jīng)定義的應上報中斷事件。
7.根據(jù)權利要求6所述的快速中斷分級處理方法,其特征在于它還存儲應上報終端事件以外的所有中斷事件,用于與存儲的所有中斷事件比較,將應上報中斷事件以外的中斷事件屏蔽。
8.根據(jù)權利要求6或7所述的快速中斷分級處理方法,其特征在于所述步驟2)對中斷事件存儲裝置進行不間斷掃描,每掃描η個中斷源產(chǎn)生一次η bit的中斷標志。
9.根據(jù)權利要求8所述的快速中斷分級處理方法,其特征在于所述的每一級壓縮存儲的過程包括對上一級產(chǎn)生的中斷標志進行不間斷掃描;對本級掃描出的中斷標志并進行η :1壓縮;存儲本級經(jīng)過壓縮的中斷標志,提供給CPU作為分級查詢中斷源的依據(jù)。
全文摘要
本發(fā)明提供一種快速中斷分級處理裝置及方法,它包括中斷事件存儲裝置,用于存儲中斷源產(chǎn)生的中斷事件;中斷產(chǎn)生裝置,用于將同一中斷源的中斷事件轉(zhuǎn)換為1bit的中斷標志;中斷標志存儲裝置,用于存儲產(chǎn)生的所有中斷標志;以及中斷匯聚裝置,用于將中斷標志進行分級壓縮和存儲,并交由CPU處理;中斷匯聚裝置由N級級聯(lián)而成,每一級中斷匯聚裝置的結構相同,n為CPU讀寫數(shù)據(jù)位寬,S為電路系統(tǒng)中中斷源的總數(shù)。通過采用本裝置和方法,在CPU接收到中斷請求后僅需反向查找中斷標志進而查找對應的中斷事件即可,能夠快速的定位中斷源,加快處理時間,節(jié)省了CPU占用率。
文檔編號G06F13/24GK102495816SQ20111036284
公開日2012年6月13日 申請日期2011年11月16日 優(yōu)先權日2011年11月16日
發(fā)明者傅昕, 林翔 申請人:武漢日電光通信工業(yè)有限公司