專利名稱:減少對(duì)處理器中斷次數(shù)的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種減少中斷次數(shù)的方法,特別是涉及一種用于一處理器中減少中斷次數(shù)的方法。
背景技術(shù):
一個(gè)現(xiàn)代的通訊系統(tǒng)通常包含一個(gè)數(shù)字訊號(hào)處理器、一個(gè)微控制單元和時(shí)間處理單元。在數(shù)字訊號(hào)處理器處理各種排程工作的過程中,使用者會(huì)突然下達(dá)執(zhí)行其它工作的指令,而這個(gè)工作是應(yīng)該立即處理的,因此,原本數(shù)字訊號(hào)處理器正在處理的工作必須先暫停,此時(shí),數(shù)字訊號(hào)處理器會(huì)收到一個(gè)中斷要求的訊息,開始進(jìn)入中斷模式。時(shí)間處理單元用來控制數(shù)字訊號(hào)處理器與微控制單元的中斷時(shí)間。微控制單元必須先將數(shù)字訊號(hào)處理器的中斷要求預(yù)先排程,以做為下一批中斷要求的依據(jù)。而數(shù)字訊號(hào)處理器執(zhí)行微控制單元排程后的中斷。
對(duì)于已知的技術(shù)來說,在一般實(shí)時(shí)系統(tǒng)中,當(dāng)外部裝置如輸出入裝置或總線,對(duì)一中央處理單元或數(shù)字訊號(hào)處理器等執(zhí)行單元提出一中斷要求時(shí),該執(zhí)行單元接收到該中斷,會(huì)立即去執(zhí)行該中斷要求所相對(duì)應(yīng)的中斷服務(wù)例程(Interrupt Service Routine,ISR)。但當(dāng)外部裝置一再地提出許多的中斷要求時(shí),而這些中斷要求并不一定都是需要執(zhí)行單元馬上處理,并且若是該執(zhí)行單元一再的處理中斷要求和執(zhí)行相對(duì)應(yīng)的中斷服務(wù)例程時(shí),容易造成中央處理單元執(zhí)行運(yùn)作過程或是數(shù)字訊號(hào)處理器處理程序一再被干擾,導(dǎo)致系統(tǒng)效能降低并且提高除錯(cuò)的困難度,會(huì)對(duì)整個(gè)系統(tǒng)造成不可預(yù)知的干擾并且可能影響整個(gè)系統(tǒng)的運(yùn)作效能。
發(fā)明內(nèi)容
本發(fā)明披露一種減少中斷次數(shù)的方法,適用于一處理器中,其包含下列步驟依據(jù)多個(gè)中斷要求的特性設(shè)定其優(yōu)先次序的層級(jí);依據(jù)該多個(gè)中斷要求的可執(zhí)行時(shí)間,將該多個(gè)中斷要求中的至少一個(gè)中斷要求與具有最高優(yōu)先次序的中斷要求排程為同一中斷要求群組;以及于中斷該處理器的操作時(shí),連續(xù)執(zhí)行該中斷要求群組的各個(gè)中斷要求。
依據(jù)本發(fā)明還披露了一種可減少中斷次數(shù)的計(jì)算機(jī)系統(tǒng),其包含一微控制單元,用來依據(jù)多個(gè)中斷要求的特性設(shè)定其優(yōu)先次序的層級(jí);一排程裝置,用來依據(jù)該多個(gè)中斷要求的可執(zhí)行時(shí)間,將該多個(gè)中斷要求中的至少一個(gè)中斷要求與具有最高優(yōu)先次序的中斷要求排程為同一中斷要求群組;以及一處理器,用來于其操作中斷時(shí),連續(xù)執(zhí)行該中斷要求群組的各個(gè)中斷要求。
圖1為本發(fā)明移動(dòng)通訊系統(tǒng)的功能方塊圖。
圖2為本發(fā)明的一種減少中斷次數(shù)的方法的流程圖。
圖3為本發(fā)明減少中斷次數(shù)的方法中,排定各個(gè)中斷要求的優(yōu)先次序的流程圖。
圖4為本發(fā)明一種減少中斷次數(shù)的方法中,排程中斷要求群組的流程圖。
圖5為本發(fā)明中斷列表的一實(shí)施例的示意圖。
圖6為本發(fā)明一種減少中斷次數(shù)的方法中,將中斷要求排程的一實(shí)施例的說明圖。
圖7為本發(fā)明的一種可減少中斷次數(shù)的計(jì)算機(jī)系統(tǒng)的方塊圖。
附圖符號(hào)說明10 通訊系統(tǒng) 12 微控制單元14 數(shù)字訊號(hào)處理器 16 時(shí)序處理單元20 中斷列表 17 重排程裝置18 基頻硬件50 計(jì)算機(jī)系統(tǒng) 52 微控制單元54 排程裝置 56 中斷要求列表58 卷標(biāo)插入裝置 60 處理器具體實(shí)施方式
請(qǐng)參考圖1,圖1為本發(fā)明移動(dòng)通訊系統(tǒng)10的功能方塊圖。通訊系統(tǒng)10包含一微控制單元12,一數(shù)字訊號(hào)處理器14,一時(shí)序處理單元16,一中斷列表20,一重排程裝置17以及一基頻硬件18(baseband hardware)。微控制單元12接收多個(gè)中斷要求后,對(duì)這多個(gè)中斷要求進(jìn)行排程(schedule)進(jìn)行解析,以決定各個(gè)中斷要求的優(yōu)先次序與可執(zhí)行時(shí)間。重排程裝置17依據(jù)微控制單元12排定各中斷要求的優(yōu)先次序與處理時(shí)間,重新加以排程,以做為數(shù)字訊號(hào)處理器14和微控制單元12執(zhí)行下一個(gè)處理工作的中斷依據(jù)。重排程裝置17是本發(fā)明最重要的特點(diǎn),它用來將某些可合并執(zhí)行的中斷要求合并成一個(gè)中斷要求群組,使得在執(zhí)行中斷的過程中是中斷要求群組的中斷,而非已知一個(gè)中斷要求的中斷。如此一來,就可以減少系統(tǒng)的中斷次數(shù),提升數(shù)字訊號(hào)處理器14的效率。重排程裝置17重新排程后的中斷要求被傳送到時(shí)序處理單元16來產(chǎn)生真正的中斷時(shí)間以及包含中斷識(shí)別、中斷參數(shù)等中斷信息,而中斷時(shí)間與中斷信息將被存放在中斷列表20。中斷列表20由微控制單元12和數(shù)字訊號(hào)處理器14共同分享使用。當(dāng)數(shù)字訊號(hào)處理器14接到中斷指令時(shí),會(huì)依據(jù)中斷列表20所儲(chǔ)存的中斷時(shí)間與中斷信息來執(zhí)行中斷?;l硬件18是移動(dòng)通訊系統(tǒng)10用來處理基頻訊號(hào)的裝置,包含了時(shí)間控制器,訊號(hào)傳輸接口,模擬基頻硬件(analog baseband hardware)和射頻硬件(RF hardware)。
請(qǐng)參考圖2,圖2為本發(fā)明的一種減少中斷次數(shù)的方法的流程圖。本發(fā)明的方法適用于一處理器中,首先在步驟100依據(jù)多個(gè)中斷要求的特性設(shè)定其優(yōu)先次序的層級(jí)。不同的中斷要求可執(zhí)行的時(shí)間長度與時(shí)間區(qū)段并不相同,具有愈嚴(yán)格的時(shí)間限制的中斷要求可執(zhí)行中斷的時(shí)間區(qū)段愈短。在設(shè)定優(yōu)先次序的過程中,對(duì)于愈嚴(yán)格時(shí)間限制的中斷要求,設(shè)定為愈高的優(yōu)先次序,換句話說,優(yōu)先次序愈高的中斷要求,在時(shí)間的處理上是愈不能更動(dòng)改變的,而優(yōu)先次序較低的中斷要求,在重新排程的過程中有比較大的自由度與彈性。步驟110,依據(jù)各個(gè)中斷要求的可執(zhí)行時(shí)間,以及各個(gè)中斷要求的優(yōu)先次序,將多個(gè)中斷要求排程為同一中斷要求群組。而欲將多個(gè)中斷要求排程為同一中斷要求群組時(shí),必須把握一個(gè)原則中斷要求群組中的各個(gè)中斷要求的中斷時(shí)間必須落于該各個(gè)中斷要求的可執(zhí)行時(shí)間內(nèi)。步驟120于中斷該處理器的操作時(shí),連續(xù)執(zhí)行該中斷要求群組的各個(gè)中斷要求。對(duì)于某些中斷要求無法合并成一個(gè)中斷要求群組時(shí),則單獨(dú)執(zhí)行這些中斷要求的中斷。對(duì)于步驟100與步驟110較詳細(xì)的說明請(qǐng)參考圖3與圖4。
請(qǐng)參考圖3,圖3為本發(fā)明減少中斷次數(shù)的方法中,排定各個(gè)中斷要求的優(yōu)先次序的流程圖。步驟200排定優(yōu)先次序開始。步驟210,將參數(shù)N設(shè)為0,參數(shù)N代表優(yōu)先次序,其中0表示最高優(yōu)先次序,1表示次高優(yōu)先次序,依此類推。在步驟220中,判斷是否有優(yōu)先次序?yàn)镹的中斷要求尚未排定其優(yōu)先次序,如果結(jié)果為「是」則于步驟230將該尚未排定其優(yōu)先次序的中斷要求排定為N的優(yōu)先次序,并重新執(zhí)行步驟220;反之,如果結(jié)果為「否」則于步驟240中判斷是否有優(yōu)先次序次高于N的中斷要求存在。在步驟240中判斷為是,則于步驟250中將N設(shè)定為次高的優(yōu)先次序,并重新執(zhí)行步驟220。在步驟240中判斷為否,則步驟260結(jié)束整個(gè)優(yōu)先次序的排定流程。圖3中排定各個(gè)中斷要求的優(yōu)先次序的流程圖僅為本發(fā)明的較佳實(shí)施例,排序的概念為將優(yōu)先次序最高的中斷要求先排定,之后,再排定優(yōu)先次序?yàn)榇胃叩闹袛嘁螅来祟愅?。其它種排序的方式一樣能達(dá)到排定中斷要求的優(yōu)先次序的目的,而涵蓋范圍應(yīng)依照本發(fā)明的權(quán)利要求而定。
請(qǐng)參考圖4,圖4為本發(fā)明一種減少中斷次數(shù)的方法中,排程中斷要求群組的流程圖。步驟300中斷要求群組排程開始。步驟310依據(jù)之前所排定各個(gè)中斷要求的優(yōu)先次序獲得各個(gè)中斷要求的可處理時(shí)間范圍。步驟320,判斷是否有任何已排程的中斷要求落于現(xiàn)在正要處理的中斷要求的可處理時(shí)間范圍內(nèi)。步驟320中判斷結(jié)果為「是」,執(zhí)行步驟330,判斷結(jié)果為「否」執(zhí)行步驟350。在步驟330中,將現(xiàn)在正要處理的中斷要求與落于該中斷要求的可處理時(shí)間范圍的已排程的中斷要求排程為一個(gè)中斷要求群組。接著步驟330后進(jìn)入步驟340,將包含該中斷要求的中斷識(shí)別、中斷參數(shù)等中斷信息增加至中斷列表中該已排程的中斷要求與一結(jié)束標(biāo)簽中。步驟350中,將現(xiàn)在正要處理的中斷要求排程一個(gè)新的獨(dú)立的中斷。步驟360中,將該新的獨(dú)立中斷的中斷信息增加至中斷列表中,并于其后插入一個(gè)結(jié)束標(biāo)簽。步驟370結(jié)束整個(gè)排程的流程??偨Y(jié)以上的流程,步驟320判斷是否將一個(gè)現(xiàn)在正要處理的中斷要求排程一個(gè)單獨(dú)的的中斷或是中斷要求群組。步驟330和步驟340產(chǎn)生一個(gè)中斷要求群組,置入中斷列表中,并于其后插入一個(gè)結(jié)束標(biāo)簽表示中斷的結(jié)束,而且,如之前所述,中斷要求群組中的各個(gè)中斷要求的中斷時(shí)間必須落于該各個(gè)中斷要求的可執(zhí)行時(shí)間內(nèi)。圖4中將各個(gè)中斷要求排程的流程圖僅為本發(fā)明的較佳實(shí)施例。其它種排序的方式一樣能達(dá)到將適合的中斷要求排程為一個(gè)中斷要求群組的目的,而涵蓋范圍應(yīng)依照本發(fā)明的權(quán)利要求而定。
請(qǐng)參考圖5,圖5為本發(fā)明中斷列表20的一實(shí)施例的示意圖。中斷列表20用來儲(chǔ)存多個(gè)中斷要求/中斷信息和多個(gè)結(jié)束標(biāo)簽,其中某些并排的中斷構(gòu)成一中斷要求群組。例如中斷要求群組1包含了中斷要求1和中斷要求2,中斷要求群組2包含了中斷要求4、中斷要求5和中斷要求6。至于中斷要求3則是一個(gè)獨(dú)立的中斷要求。各個(gè)中斷要求群組和各個(gè)獨(dú)立的中斷要求彼此的間都有一個(gè)結(jié)束標(biāo)簽加以分開。當(dāng)處理器依照中斷要求列表來執(zhí)行中斷時(shí),一個(gè)中斷要求群組內(nèi)的所有中斷會(huì)連續(xù)執(zhí)行,而遇到結(jié)束標(biāo)簽時(shí)才會(huì)停止中斷。
請(qǐng)參考圖6,圖6為本發(fā)明一種減少中斷次數(shù)的方法中,將中斷要求排程的一實(shí)施例的說明圖。圖6表示對(duì)一個(gè)處理器依序處理七個(gè)中斷要求A、B、C、D、E、F、G。圖中的橫軸表示處理時(shí)間,而標(biāo)示數(shù)字為0到3的橫線表示不同等級(jí)的優(yōu)先次序。A、B與C位于標(biāo)示于0的橫在線,表示具有最高的優(yōu)先次序,D與E位于標(biāo)示于1的橫在線,具有次高的優(yōu)先次序。而F和G分別屬于第三高和第四高的優(yōu)先次序。在所有的中斷要求中,優(yōu)先次序最高的而且于時(shí)間上較近的中斷要求A先進(jìn)行排程處理。因?yàn)橹袛嘁驛和中斷要求B的可處理時(shí)間有所重迭,所以將中斷要求A和中斷要求B合并成一個(gè)中斷要求群組。接著,繼續(xù)考慮同屬優(yōu)先次序?yàn)?的中斷要求C。因?yàn)橹袛嘁驡和中斷要求E的可處理時(shí)間包含中斷要求C,所以將中斷要求C、中斷要求E中斷要求G合并成一第二個(gè)中斷要求群組。由于優(yōu)先次序?yàn)?的所有中斷要求皆已排程完畢,接著檢查次高的優(yōu)先次序1的中斷要求,只有中斷要求D需要進(jìn)行排程,而且中斷要求F與中斷要求D的可處理時(shí)間有所重迭,因此把中斷要求F與中斷要求D排程第三個(gè)中斷要求群組。
請(qǐng)參考圖7,圖7為本發(fā)明的一種可減少中斷次數(shù)的計(jì)算機(jī)系統(tǒng)50的方塊圖。計(jì)算機(jī)系統(tǒng)50包含一微控制單元52、一排程裝置54、一中斷要求列表56、一卷標(biāo)插入裝置58以及一處理器60。微控制單元52用來依據(jù)多個(gè)中斷要求的特性設(shè)定其優(yōu)先次序的層級(jí),在設(shè)定優(yōu)先次序的過程中,對(duì)于愈嚴(yán)格時(shí)間限制的中斷要求,設(shè)定為愈高的優(yōu)先次序,因此,優(yōu)先次序愈高的中斷要求,在時(shí)間的處理上是愈不能更動(dòng)改變的,而優(yōu)先次序較低的中斷要求,在重新排程的過程中有比較大的自由度與彈性。處理器60用來于其操作中斷時(shí),連續(xù)執(zhí)行該中斷要求群組的各個(gè)中斷要求。排程裝置54用來依據(jù)該多個(gè)中斷要求的可執(zhí)行時(shí)間,將該多個(gè)中斷要求中某部分適宜合并的中斷要求組成一個(gè)中斷要求群組。合并后的中斷要求群組中的各個(gè)中斷要求的中斷時(shí)間必須落于該各個(gè)中斷要求的可執(zhí)行時(shí)間內(nèi)。中斷要求列表56用來依序儲(chǔ)存該排程裝置54排程后的中斷要求群組。卷標(biāo)插入裝置58用來將一結(jié)束標(biāo)簽插入于該中斷要求列表中的中斷要求群組之后,該結(jié)束標(biāo)簽用來于排程中暫停該處理器60的中斷執(zhí)行。總的來說,微處理單元12用來處理圖2的步驟100,排程裝置54用來執(zhí)行圖2的步驟110,而處理器60用來執(zhí)行圖2的步驟120。
對(duì)于已知的技術(shù)來說,在一般實(shí)時(shí)系統(tǒng)中,當(dāng)外部裝置如輸出入裝置或總線,對(duì)一中央處理單元或數(shù)字訊號(hào)處理器等執(zhí)行單元提出一中斷要求時(shí),該執(zhí)行單元接收到該中斷,會(huì)立即去執(zhí)行該中斷要求所相對(duì)應(yīng)的中斷服務(wù)例程。但當(dāng)外部裝置一再地提出許多的中斷要求時(shí),若是該執(zhí)行單元一再的處理中斷要求和執(zhí)行相對(duì)應(yīng)的中斷服務(wù)例程時(shí),容易造成中央處理單元執(zhí)行運(yùn)作過程或是數(shù)字訊號(hào)處理器處理程序一再被干擾,導(dǎo)致系統(tǒng)效能降低并且提高除錯(cuò)的困難度,會(huì)對(duì)整個(gè)系統(tǒng)造成不可預(yù)知的干擾并且可能影響整個(gè)系統(tǒng)的運(yùn)作效能。相較于已知技術(shù),本發(fā)明的減少中斷次數(shù)的方法中,依據(jù)多個(gè)中斷要求的特性先設(shè)定其優(yōu)先次序的層級(jí),后依據(jù)該多個(gè)中斷要求的可執(zhí)行時(shí)間,將該多個(gè)中斷要求中的至少一個(gè)中斷要求與具有最高優(yōu)先次序的中斷要求排程為同一中斷要求群組,并于中斷處理器的操作時(shí),連續(xù)執(zhí)行該中斷要求群組的各個(gè)中斷要求,因此,本發(fā)明的方法具有減少處理器中斷次數(shù),提升系統(tǒng)效能的優(yōu)點(diǎn)。
以上所述僅為本發(fā)明的較佳實(shí)施例凡依本發(fā)明申請(qǐng)專利范圍,所做的均等變化與修飾,皆應(yīng)屬本發(fā)明專利的涵蓋范圍。
權(quán)利要求
1.一種減少中斷次數(shù)的方法,適用于一處理器中,其包含下列步驟(a)依據(jù)多個(gè)中斷要求的特性設(shè)定其優(yōu)先次序的層級(jí);(b)依據(jù)該多個(gè)中斷要求的可執(zhí)行時(shí)間,將該多個(gè)中斷要求中的至少一個(gè)中斷要求與具有最高優(yōu)先次序的中斷要求排程為同一中斷要求群組;以及(c)于中斷該處理器的操作時(shí),連續(xù)執(zhí)行該中斷要求群組的各個(gè)中斷要求。
2.如權(quán)利要求1所述的方法,其中該多個(gè)中斷要求的特性包含該多個(gè)中斷要求的可執(zhí)行時(shí)間。
3.如權(quán)利要求2所述的方法,其中排定為愈高優(yōu)先級(jí)的中斷要求具有愈短的可執(zhí)行時(shí)間。
4.如權(quán)利要求1所述的方法,其還包含于執(zhí)行步驟(c)后,插入一結(jié)束標(biāo)簽,其用來于排程中暫停該處理器的中斷執(zhí)行。
5.如權(quán)利要求1所述的方法,其中該中斷要求群組中的各個(gè)中斷要求的中斷時(shí)間必須落于該各個(gè)中斷要求的可執(zhí)行時(shí)間內(nèi)。
6.如權(quán)利要求1所述的方法,其中步驟(b)是依據(jù)該多個(gè)中斷要求的可執(zhí)行時(shí)間,將該多個(gè)中斷要求中尚未排程的至少一個(gè)中斷要求與具有最高優(yōu)先次序的中斷要求排程為同一中斷要求群組。
7.如權(quán)利要求1所述的方法,其還包含于步驟(b)排程后,依據(jù)尚未排程的多個(gè)中斷要求的可執(zhí)行時(shí)間,將該尚未排程的多個(gè)中斷要求中至少一個(gè)中斷要求與該尚未排程的多個(gè)中斷要求中具有最高優(yōu)先次序的中斷要求排程為同一中斷要求群組。
8.一種可減少中斷次數(shù)的計(jì)算機(jī)系統(tǒng),其包含一微控制單元,用來依據(jù)多個(gè)中斷要求的特性設(shè)定其優(yōu)先次序的層級(jí);一排程裝置,用來依據(jù)該多個(gè)中斷要求的可執(zhí)行時(shí)間,將該多個(gè)中斷要求中的至少一個(gè)中斷要求與具有最高優(yōu)先次序的中斷要求排程為同一中斷要求群組;以及一處理器,用來于其操作中斷時(shí),連續(xù)執(zhí)行該中斷要求群組的各個(gè)中斷要求。
9.如權(quán)利要求8所述的計(jì)算機(jī)系統(tǒng),其還包含一中斷要求列表,用來依序儲(chǔ)存該排程裝置排程后的該中斷要求群組。
10.如權(quán)利要求9所述的計(jì)算機(jī)系統(tǒng),其還包含一卷標(biāo)插入裝置,用來將一結(jié)束標(biāo)簽插入于該中斷要求列表中的中斷要求群組之后,該結(jié)束標(biāo)簽用來于排程中暫停該處理器的中斷執(zhí)行。
全文摘要
一種減少中斷次數(shù)的方法,適用于一處理器中,其包含依據(jù)多個(gè)中斷要求的特性設(shè)定其優(yōu)先次序的層級(jí);依據(jù)該多個(gè)中斷要求的可執(zhí)行時(shí)間,將該多個(gè)中斷要求中的至少一個(gè)中斷要求與具有最高優(yōu)先次序的中斷要求排程為同一中斷要求群組;以及于中斷該處理器的操作時(shí),連續(xù)執(zhí)行該中斷要求群組的各個(gè)中斷要求。
文檔編號(hào)G06F13/24GK1746873SQ20041007705
公開日2006年3月15日 申請(qǐng)日期2004年9月10日 優(yōu)先權(quán)日2004年9月10日
發(fā)明者陳建瑜 申請(qǐng)人:明基電通股份有限公司