專利名稱:基于中斷嵌套的中斷處理方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及中斷技術(shù)領(lǐng)域,尤其涉及一種基于中斷嵌套的中斷處理方法及系統(tǒng)。
背景技術(shù):
在 SOC (System on Chip,片上系統(tǒng))中,通常每個(gè)向量 IRQ (Interrupt Request, 中斷請求)都會有一定的優(yōu)先級,當(dāng)中斷處理系統(tǒng)正在執(zhí)行一個(gè)當(dāng)前中斷源的當(dāng)前中斷請求的中斷服務(wù)程序時(shí),有另一個(gè)優(yōu)先級更高的其他中斷源提出其他中斷請求,這時(shí)中斷處理系統(tǒng)會打斷(即暫時(shí)終止)當(dāng)前正在執(zhí)行的級別較低的當(dāng)前中斷源的中斷服務(wù)程序,去處理優(yōu)先級更高的其他中斷源,等到優(yōu)先級更高的其他中斷源的中斷服務(wù)程序執(zhí)行完畢以后,中斷處理系統(tǒng)再返回到剛才被打斷的優(yōu)先級低的中斷服務(wù)程序繼續(xù)執(zhí)行。圖1示出了現(xiàn)有技術(shù)中的中斷嵌套處理的流程,其包括步驟有步驟S101,當(dāng)前中斷源發(fā)出當(dāng)前中斷請求。步驟S102,中斷處理系統(tǒng)處理當(dāng)前中斷請求。步驟S103,判斷是否有高優(yōu)先級的其他中斷請求,若是則執(zhí)行步驟S104,否則執(zhí)行步驟S106。步驟S104,處理所述高優(yōu)先級的其他中斷請求。步驟S105,其他中斷請求處理完畢,返回處理當(dāng)前中斷請求,即返回步驟S102。步驟S106,當(dāng)前中斷請求處理完畢。若當(dāng)中斷處理系統(tǒng)正在執(zhí)行當(dāng)前中斷請求的中斷服務(wù)程序時(shí),中斷處理系統(tǒng)連續(xù)接收到若干個(gè)高優(yōu)先級的其他中斷請求,這樣可能導(dǎo)致中斷處理系統(tǒng)一直處于處理優(yōu)先級高的其他中斷請求的循環(huán)當(dāng)中,而最初被打斷的優(yōu)先級低的當(dāng)前中斷請求將一直無法得到處理,這種情況的出現(xiàn)在某些場合會導(dǎo)致SOC系統(tǒng)的中斷處理效率降低。綜上可知,現(xiàn)有中斷處理技術(shù)在實(shí)際使用上顯然存在不便與缺陷,所以有必要加以改進(jìn)。
發(fā)明內(nèi)容
針對上述的缺陷,本發(fā)明的目的在于提供一種基于中斷嵌套的中斷處理方法及系統(tǒng),其解決了低優(yōu)先級中斷請求長時(shí)間無法得到處理的問題,提高了中斷處理效率。為了實(shí)現(xiàn)上述目的,本發(fā)明提供一種基于中斷嵌套的中斷處理方法,各種優(yōu)先級的中斷源分別設(shè)有中斷計(jì)數(shù)器,各所述中斷計(jì)數(shù)器設(shè)有飽和值,所述中斷處理方法包括步驟如下處理當(dāng)前中斷源的當(dāng)前中斷請求過程中,若收到高優(yōu)先級的其他中斷源的其他中斷請求,則打斷所述當(dāng)前中斷請求,否則繼續(xù)處理所述當(dāng)前中斷請求直至處理完畢;所述當(dāng)前中斷源的中斷計(jì)數(shù)器統(tǒng)計(jì)所述當(dāng)前中斷請求被高優(yōu)先級的所述其他中斷請求打斷的打斷次數(shù),若所述打斷次數(shù)等于所述中斷計(jì)數(shù)器的所述飽和值,則將所述當(dāng)前中斷源的優(yōu)先級升高;
處理高優(yōu)先級的所述其他中斷請求直至完畢,返回處理該當(dāng)前中斷請求。根據(jù)本發(fā)明所述的中斷處理方法,所述處理當(dāng)前中斷源的當(dāng)前中斷請求過程中, 若收到高優(yōu)先級的其他中斷源的其他中斷請求,則打斷所述當(dāng)前中斷請求,否則繼續(xù)處理所述當(dāng)前中斷請求直至處理完畢的步驟包括在閑置狀態(tài)下收到當(dāng)前中斷源的當(dāng)前中斷請求時(shí),處理該當(dāng)前中斷請求;若收到所述其他中斷源的其他中斷請求,判斷所述其他中斷請求的優(yōu)先級是否高于所述當(dāng)前中斷請求的優(yōu)先級;若所述其他中斷請求的優(yōu)先級高于所述當(dāng)前中斷請求的優(yōu)先級,則打斷所述當(dāng)前中斷請求;若所述其他中斷請求的優(yōu)先級低于或等于所述當(dāng)前中斷請求的優(yōu)先級,則繼續(xù)處理所述當(dāng)前中斷請求直至處理完畢。根據(jù)本發(fā)明所述的中斷處理方法,所述當(dāng)前中斷源的中斷計(jì)數(shù)器統(tǒng)計(jì)所述當(dāng)前中斷請求被高優(yōu)先級的所述其他中斷請求打斷的打斷次數(shù),若所述打斷次數(shù)等于所述中斷計(jì)數(shù)器的所述飽和值,則將所述當(dāng)前中斷源的優(yōu)先級升高的步驟包括所述當(dāng)前中斷請求被打斷后,將該當(dāng)前中斷源的所述中斷計(jì)數(shù)器加1 ;判斷所述當(dāng)前中斷源的中斷計(jì)數(shù)器是否達(dá)到所述飽和值;若達(dá)到所述飽和值,則所述當(dāng)前中斷源的優(yōu)先級暫時(shí)升高1級,并且將所述中斷計(jì)數(shù)器清零。根據(jù)本發(fā)明所述的中斷處理方法,所述繼續(xù)處理所述當(dāng)前中斷請求直至處理完畢的步驟之后還包括判斷所述當(dāng)前中斷源的優(yōu)先級是否發(fā)生改變;若發(fā)生改變,則將所述當(dāng)前中斷源的優(yōu)先級恢復(fù)至初始值,并將所述當(dāng)前中斷源的中斷計(jì)數(shù)器清零后返回閑置狀態(tài);若未發(fā)生改變,則將所述當(dāng)前中斷源的所述中斷計(jì)數(shù)器清零后返回閑置狀態(tài)。根據(jù)本發(fā)明所述的中斷處理方法,所述各種優(yōu)先級的中斷源分別設(shè)有寄存器,所述寄存器用于存儲所述當(dāng)前中斷源的優(yōu)先級及其對應(yīng)的所述飽和值。根據(jù)本發(fā)明所述的中斷處理方法,還包括初始化時(shí),所述中斷源的所述中斷計(jì)數(shù)器被置零。根據(jù)本發(fā)明所述的中斷處理方法,所述方法應(yīng)用于SOC系統(tǒng)中。根據(jù)本發(fā)明所述的中斷處理方法,所述中斷源的中斷計(jì)數(shù)器的飽和值與其優(yōu)先級相對應(yīng)。根據(jù)本發(fā)明所述的中斷處理方法,所述當(dāng)前中斷源的優(yōu)先級發(fā)生改變后,所述當(dāng)前中斷源的中斷計(jì)數(shù)器的飽和值與所述改變后的優(yōu)先級相對應(yīng)。本發(fā)明還提供一種所述中斷處理方法的基于中斷嵌套的中斷處理系統(tǒng),所述中斷處理系統(tǒng)包括中斷處理器,用于處理當(dāng)前中斷源的當(dāng)前中斷請求,并且在處理當(dāng)前中斷源的當(dāng)前中斷請求過程中,若收到高優(yōu)先級的其他中斷源的其他中斷請求,則打斷所述當(dāng)前中斷請求,處理高優(yōu)先級的所述其他中斷請求直至完畢,再返回處理所述當(dāng)前中斷請求;若未收到高優(yōu)先級的其他中斷源的其他中斷請求,則繼續(xù)處理當(dāng)前中斷請求直至處理完畢;
中斷計(jì)數(shù)器,對應(yīng)設(shè)于各種優(yōu)先級的中斷源中,各所述中斷計(jì)數(shù)器設(shè)有飽和值,所述當(dāng)前中斷源的中斷計(jì)數(shù)器用于統(tǒng)計(jì)所述當(dāng)前中斷請求被高優(yōu)先級的所述其他中斷請求打斷的打斷次數(shù),若所述打斷次數(shù)等于所述中斷計(jì)數(shù)器的所述飽和值,則將所述當(dāng)前中斷源的優(yōu)先級升高。本發(fā)明在SOC系統(tǒng)的中斷嵌套基礎(chǔ)上,加入了內(nèi)部優(yōu)先級成長功能,即對中斷處理系統(tǒng)中的每一中斷源添加一中斷計(jì)數(shù)器,該中斷計(jì)數(shù)器可以統(tǒng)計(jì)當(dāng)前中斷請求在處理過程中,被高優(yōu)先級的其他中斷請求連續(xù)打斷的次數(shù);若優(yōu)先級低的當(dāng)前中斷請求多次被打斷,則該當(dāng)前中斷源的中斷計(jì)數(shù)器可能達(dá)到預(yù)定的飽和值,那么會在內(nèi)部暫時(shí)提高所述當(dāng)前中斷源的優(yōu)先級,使得低優(yōu)先級的當(dāng)前中斷源的當(dāng)前中斷請求獲得中斷處理的可能性增大。本發(fā)明解決了低優(yōu)先級中斷請求長時(shí)間無法得到處理的問題,從而提高了 SOC系統(tǒng)的中斷處理效率。
圖1是現(xiàn)有技術(shù)的中斷嵌套處理的流程圖;圖2是本發(fā)明基于中斷嵌套的中斷處理系統(tǒng)的示意圖;圖3是本發(fā)明基于中斷嵌套的中斷處理方法的流程圖;圖4是本發(fā)明優(yōu)選實(shí)施例中基于中斷嵌套的中斷處理方法的流程圖。
具體實(shí)施例方式為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。圖2是本發(fā)明基于中斷嵌套的中斷處理系統(tǒng)的示意圖,所述中斷處理系統(tǒng)100應(yīng)用于SOC系統(tǒng)中,包括中斷處理器10和若干各種優(yōu)先級的中斷源,中斷源的優(yōu)先級與所述中斷源發(fā)出的中斷請求的優(yōu)先級一致,所述每個(gè)中斷源中設(shè)有至少一中斷計(jì)數(shù)器20,其中中斷處理器10,用于處理當(dāng)前中斷源的當(dāng)前中斷請求,并且在處理當(dāng)前中斷源的當(dāng)前中斷請求過程中,若收到高優(yōu)先級的其他中斷源的其他中斷請求,則打斷當(dāng)前中斷請求,處理高優(yōu)先級的其他中斷請求直至完畢,再返回處理當(dāng)前中斷請求;若未收到高優(yōu)先級的其他中斷源的其他中斷請求,則繼續(xù)處理當(dāng)前中斷請求直至處理完畢。中斷計(jì)數(shù)器20,對應(yīng)設(shè)于各種優(yōu)先級的中斷源中。各中斷計(jì)數(shù)器20設(shè)有飽和值, 當(dāng)前中斷源的中斷計(jì)數(shù)器20用于統(tǒng)計(jì)當(dāng)前中斷請求被高優(yōu)先級的其他中斷請求打斷的打斷次數(shù),若打斷次數(shù)等于中斷計(jì)數(shù)器20的飽和值,則將當(dāng)前中斷源的優(yōu)先級升高,這時(shí)當(dāng)前中斷請求的優(yōu)先級自然也就升高了。實(shí)際上,中斷計(jì)數(shù)器20也可以獨(dú)立于所述中斷源設(shè)置。優(yōu)選的,中斷處理系統(tǒng)100初始化時(shí),中斷源的中斷計(jì)數(shù)器20被置零。更好的是,各種優(yōu)先級的中斷源分別設(shè)有寄存器30,優(yōu)選為可讀可寫的寄存器 30,用于存儲當(dāng)前中斷源的優(yōu)先級及其對應(yīng)的飽和值,該飽和值可以根據(jù)用戶需求來配置其大小。尤其是,中斷源的中斷計(jì)數(shù)器20的飽和值可與其優(yōu)先級相對應(yīng),不同的優(yōu)先級的飽和值可以不同,當(dāng)然也可以相同。而且,若當(dāng)前中斷源的優(yōu)先級發(fā)生改變后,當(dāng)前中斷源的中斷計(jì)數(shù)器20的飽和值與改變后的優(yōu)先級相對應(yīng)。相對于傳統(tǒng)的中斷嵌套方法,本發(fā)明的中斷處理系統(tǒng)100給每個(gè)中斷源都添加了一個(gè)中斷計(jì)數(shù)器20,用于統(tǒng)計(jì)在當(dāng)前中斷請求處理過程中,該當(dāng)前中斷請求被打斷的次數(shù), 該中斷計(jì)數(shù)器20對應(yīng)當(dāng)前中斷請求的優(yōu)先級預(yù)有一個(gè)飽和值,寄存器30來保存該飽和值的大小,若中斷計(jì)數(shù)器20達(dá)到飽和值大小時(shí),可以在內(nèi)部暫時(shí)提高該當(dāng)前中斷源的優(yōu)先級,使其等到中斷處理。這樣也可以在中斷應(yīng)用過程中,間接地控制中斷請求的優(yōu)先級,使得中斷請求的優(yōu)先級處理的可控性更強(qiáng)。從而本發(fā)明很好地解決了在中斷嵌套中優(yōu)先級低的中斷請求長時(shí)間得不到處理的問題,有效的提高了 SOC系統(tǒng)處理中斷的效率。圖3是本發(fā)明基于中斷嵌套的中斷處理方法的流程圖,該中斷處理方法應(yīng)用于 SOC系統(tǒng)中,各種優(yōu)先級的中斷源分別設(shè)有中斷計(jì)數(shù)器20,各中斷計(jì)數(shù)器20設(shè)有飽和值,所述中斷處理方法可通過如圖2所示的中斷處理系統(tǒng)100實(shí)現(xiàn),至少包括步驟如下步驟S301,處理當(dāng)前中斷源的當(dāng)前中斷請求過程中,若收到高優(yōu)先級的其他中斷源的其他中斷請求,則打斷當(dāng)前中斷請求,否則繼續(xù)處理當(dāng)前中斷請求直至處理完畢,本步驟可由中斷處理器10實(shí)現(xiàn)。步驟S302,當(dāng)前中斷源的中斷計(jì)數(shù)器20統(tǒng)計(jì)當(dāng)前中斷請求被高優(yōu)先級的其他中斷請求打斷的打斷次數(shù),若打斷次數(shù)等于中斷計(jì)數(shù)器20的飽和值,則將當(dāng)前中斷源的優(yōu)先級升高,這時(shí)當(dāng)前中斷請求的優(yōu)先級也就升高了,本步驟可由中斷計(jì)數(shù)器20實(shí)現(xiàn)。優(yōu)選的是,各種優(yōu)先級的中斷源分別設(shè)有寄存器30,寄存器30用于存儲當(dāng)前中斷源的優(yōu)先級及其對應(yīng)的飽和值。并且,中斷源的中斷計(jì)數(shù)器20的飽和值可與其優(yōu)先級相對應(yīng)。當(dāng)前中斷源的優(yōu)先級發(fā)生改變后,當(dāng)前中斷源的中斷計(jì)數(shù)器20的飽和值與改變后的優(yōu)先級相對應(yīng)。步驟S303,處理高優(yōu)先級的其他中斷請求直至完畢,返回處理該當(dāng)前中斷請求,本步驟可由中斷處理器10實(shí)現(xiàn)。圖4是本發(fā)明優(yōu)選實(shí)施例中基于中斷嵌套的中斷處理方法的流程圖,其可通過如圖2所示的中斷處理系統(tǒng)100實(shí)現(xiàn),包括步驟如下步驟S401,中斷處理系統(tǒng)100處于閑置狀態(tài)(IDLE),即中斷處理系統(tǒng)100處于未收到中斷請求的狀態(tài)。優(yōu)選的是,初始化時(shí),中斷源的中斷計(jì)數(shù)器20被置零。步驟S402,若收到當(dāng)前中斷源的當(dāng)前中斷請求,則執(zhí)行步驟S403,否則返回步驟 S401。步驟S403,處理該當(dāng)前中斷請求。即中斷處理系統(tǒng)100會進(jìn)入該當(dāng)前中斷請求的中斷服務(wù)程序,開始處理當(dāng)前中斷請求。步驟S404,在處理該當(dāng)前中斷請求的過程中,若收到其他中斷源的其他中斷請求, 判斷其他中斷請求的優(yōu)先級是否高于當(dāng)前中斷請求的優(yōu)先級,即其他中斷源的優(yōu)先級是否高于當(dāng)前中斷源的優(yōu)先級,若其他中斷請求的優(yōu)先級高于當(dāng)前中斷請求的優(yōu)先級則執(zhí)行步驟S405,若其他中斷請求的優(yōu)先級低于或等于當(dāng)前中斷請求的優(yōu)先級,則執(zhí)行步驟S410, 即繼續(xù)處理當(dāng)前中斷請求。步驟S405,中斷處理系統(tǒng)100打斷當(dāng)前中斷請求,將該當(dāng)前中斷源的中斷計(jì)數(shù)器 20 加 1。步驟S406,判斷當(dāng)前中斷源的中斷計(jì)數(shù)器20是否達(dá)到飽和值,若是則執(zhí)行步驟S407,否則執(zhí)行步驟S408。步驟S407,若達(dá)到飽和值,則將當(dāng)前中斷源的優(yōu)先級暫時(shí)升高1級,并將當(dāng)前中斷源的中斷計(jì)數(shù)器20清零。若該優(yōu)先級低的當(dāng)前中斷請求多次被斷,則該當(dāng)前中斷源的中斷計(jì)數(shù)器20可能達(dá)到飽和值,那么該當(dāng)前中斷請求的優(yōu)先級會被提高1級,那么不被高優(yōu)先級的其他中斷請求打斷的可能就增加了。步驟S408,中斷處理系統(tǒng)100處理高優(yōu)先級的其他中斷請求。步驟S409,高優(yōu)先級的其他中斷請求處理完畢,返回步驟S404,即處理之前的低優(yōu)先級的當(dāng)前中斷請求。步驟S410,繼續(xù)處理當(dāng)前中斷請求直至完畢。步驟S411,判斷當(dāng)前中斷源的優(yōu)先級是否發(fā)生改變,若發(fā)生改變則執(zhí)行步驟 S412,否則將當(dāng)前中斷源的中斷計(jì)數(shù)器20清零后返回步驟S401的閑置狀態(tài)。步驟S412,將當(dāng)前中斷源的優(yōu)先級恢復(fù)至初始值(即未升高之前的優(yōu)先級),并將當(dāng)前中斷源的中斷計(jì)數(shù)器20清零后返回步驟S401的閑置狀態(tài)。下面以一個(gè)優(yōu)先級從0到7的中斷處理系統(tǒng)100為實(shí)例,該中斷處理系統(tǒng)100的最高優(yōu)先級為7,最低優(yōu)先級為0,從0到7優(yōu)先級逐漸增高。表(a)顯示了各個(gè)中斷請求所對應(yīng)的優(yōu)先級及其飽和值。表(a)
權(quán)利要求
1.一種基于中斷嵌套的中斷處理方法,其特征在于,各種優(yōu)先級的中斷源分別設(shè)有中斷計(jì)數(shù)器,各所述中斷計(jì)數(shù)器設(shè)有飽和值,所述中斷處理方法包括步驟如下處理當(dāng)前中斷源的當(dāng)前中斷請求過程中,若收到高優(yōu)先級的其他中斷源的其他中斷請求,則打斷所述當(dāng)前中斷請求,否則繼續(xù)處理所述當(dāng)前中斷請求直至處理完畢;所述當(dāng)前中斷源的中斷計(jì)數(shù)器統(tǒng)計(jì)所述當(dāng)前中斷請求被高優(yōu)先級的所述其他中斷請求打斷的打斷次數(shù),若所述打斷次數(shù)等于所述中斷計(jì)數(shù)器的所述飽和值,則將所述當(dāng)前中斷源的優(yōu)先級升高;處理高優(yōu)先級的所述其他中斷請求直至完畢,返回處理該當(dāng)前中斷請求。
2.根據(jù)權(quán)利要求1所述的中斷處理方法,其特征在于,所述處理當(dāng)前中斷源的當(dāng)前中斷請求過程中,若收到高優(yōu)先級的其他中斷源的其他中斷請求,則打斷所述當(dāng)前中斷請求, 否則繼續(xù)處理所述當(dāng)前中斷請求直至處理完畢的步驟包括在閑置狀態(tài)下收到當(dāng)前中斷源的當(dāng)前中斷請求時(shí),處理該當(dāng)前中斷請求; 若收到所述其他中斷源的其他中斷請求,判斷所述其他中斷請求的優(yōu)先級是否高于所述當(dāng)前中斷請求的優(yōu)先級;若所述其他中斷請求的優(yōu)先級高于所述當(dāng)前中斷請求的優(yōu)先級,則打斷所述當(dāng)前中斷請求;若所述其他中斷請求的優(yōu)先級低于或等于所述當(dāng)前中斷請求的優(yōu)先級,則繼續(xù)處理所述當(dāng)前中斷請求直至處理完畢。
3.根據(jù)權(quán)利要求1所述的中斷處理方法,其特征在于,所述當(dāng)前中斷源的中斷計(jì)數(shù)器統(tǒng)計(jì)所述當(dāng)前中斷請求被高優(yōu)先級的所述其他中斷請求打斷的打斷次數(shù),若所述打斷次數(shù)等于所述中斷計(jì)數(shù)器的所述飽和值,則將所述當(dāng)前中斷源的優(yōu)先級升高的步驟包括所述當(dāng)前中斷請求被打斷后,將該當(dāng)前中斷源的所述中斷計(jì)數(shù)器加1 ; 判斷所述當(dāng)前中斷源的中斷計(jì)數(shù)器是否達(dá)到所述飽和值;若達(dá)到所述飽和值,則所述當(dāng)前中斷源的優(yōu)先級暫時(shí)升高1級,并且將所述中斷計(jì)數(shù)器清零。
4.根據(jù)權(quán)利要求3所述的中斷處理方法,其特征在于,所述繼續(xù)處理所述當(dāng)前中斷請求直至處理完畢的步驟之后還包括判斷所述當(dāng)前中斷源的優(yōu)先級是否發(fā)生改變;若發(fā)生改變,則將所述當(dāng)前中斷源的優(yōu)先級恢復(fù)至初始值,并將所述當(dāng)前中斷源的中斷計(jì)數(shù)器清零后返回閑置狀態(tài);若未發(fā)生改變,則將所述當(dāng)前中斷源的所述中斷計(jì)數(shù)器清零后返回閑置狀態(tài)。
5.根據(jù)權(quán)利要求1所述的中斷處理方法,其特征在于,所述各種優(yōu)先級的中斷源分別設(shè)有寄存器,所述寄存器用于存儲所述當(dāng)前中斷源的優(yōu)先級及其對應(yīng)的所述飽和值。
6.根據(jù)權(quán)利要求1所述的中斷處理方法,其特征在于,所述方法包括 初始化時(shí),所述中斷源的所述中斷計(jì)數(shù)器被置零。
7.根據(jù)權(quán)利要求1所述的中斷處理方法,其特征在于,所述方法應(yīng)用于SOC系統(tǒng)中。
8.根據(jù)權(quán)利要求1所述的中斷處理方法,其特征在于,所述中斷源的中斷計(jì)數(shù)器的飽和值與其優(yōu)先級相對應(yīng)。
9.根據(jù)權(quán)利要求8所述的中斷處理方法,其特征在于,所述當(dāng)前中斷源的優(yōu)先級發(fā)生改變后,所述當(dāng)前中斷源的中斷計(jì)數(shù)器的飽和值與所述改變后的優(yōu)先級相對應(yīng)。
10. 一種實(shí)現(xiàn)如權(quán)利要求1 9任一項(xiàng)所述中斷處理方法的基于中斷嵌套的中斷處理系統(tǒng),其特征在于,所述中斷處理系統(tǒng)包括中斷處理器,用于處理當(dāng)前中斷源的當(dāng)前中斷請求,并且在處理當(dāng)前中斷源的當(dāng)前中斷請求過程中,若收到高優(yōu)先級的其他中斷源的其他中斷請求,則打斷所述當(dāng)前中斷請求, 處理高優(yōu)先級的所述其他中斷請求直至完畢,再返回處理所述當(dāng)前中斷請求;若未收到高優(yōu)先級的其他中斷源的其他中斷請求,則繼續(xù)處理當(dāng)前中斷請求直至處理完畢;中斷計(jì)數(shù)器,對應(yīng)設(shè)于各種優(yōu)先級的中斷源中,各所述中斷計(jì)數(shù)器設(shè)有飽和值,所述當(dāng)前中斷源的中斷計(jì)數(shù)器用于統(tǒng)計(jì)所述當(dāng)前中斷請求被高優(yōu)先級的所述其他中斷請求打斷的打斷次數(shù),若所述打斷次數(shù)等于所述中斷計(jì)數(shù)器的所述飽和值,則將所述當(dāng)前中斷源的優(yōu)先級升高。
全文摘要
本發(fā)明公開了一種基于中斷嵌套的中斷處理方法及系統(tǒng),各種優(yōu)先級的中斷源分別設(shè)有中斷計(jì)數(shù)器,各所述中斷計(jì)數(shù)器設(shè)有飽和值,所述中斷處理方法包括處理當(dāng)前中斷源的當(dāng)前中斷請求過程中,若收到高優(yōu)先級的其他中斷源的其他中斷請求,則打斷所述當(dāng)前中斷請求,否則繼續(xù)處理所述當(dāng)前中斷請求直至處理完畢;所述當(dāng)前中斷源的中斷計(jì)數(shù)器統(tǒng)計(jì)所述當(dāng)前中斷請求被高優(yōu)先級的所述其他中斷請求打斷的打斷次數(shù),若所述打斷次數(shù)等于所述中斷計(jì)數(shù)器的所述飽和值,則將所述當(dāng)前中斷源的優(yōu)先級升高;處理高優(yōu)先級的所述其他中斷請求直至完畢,返回處理該當(dāng)前中斷請求。借此,本發(fā)明解決了低優(yōu)先級中斷請求長時(shí)間無法得到處理的問題,提高了中斷處理效率。
文檔編號G06F9/48GK102262566SQ20111020855
公開日2011年11月30日 申請日期2011年7月25日 優(yōu)先權(quán)日2011年7月25日
發(fā)明者張耀輝, 朱從義, 田勁 申請人:記憶科技(深圳)有限公司