專利名稱:存儲(chǔ)器存取要求優(yōu)先序列仲裁裝置及方法
技術(shù)領(lǐng)域:
本發(fā)明系一有關(guān)于存取要求的優(yōu)先權(quán)仲裁的方法與裝置,特別是一種用于存儲(chǔ)器存取界面仲裁器的優(yōu)先序列排序的方法與裝置。
背景技術(shù):
隨著消費(fèi)性多媒體電子商品需求量的增加,為了提升產(chǎn)品競爭力,集成電路(Integrated Circuit,IC)系統(tǒng)單芯片(System-on-Chip,SoC)化已演變成為一種趨勢(shì)。由于元件整合的關(guān)系,使得具SoC化的IC不論是耗電量、散熱或是信號(hào)傳輸方面都可以得到較佳的效能。此外,由于SoC的概念在于如何將更多的元件放入同一顆IC中,所以IC中的各元件勢(shì)必要整合或縮小其元件尺寸以達(dá)到SoC化的目的,且隨著元件的整合,伴隨而來的是元件以及基板使用減少,同時(shí)因?yàn)楦髟叽缈s小的關(guān)系,使得IC體積縮小,使得封裝也減少,因此具有SoC概念而設(shè)計(jì)的IC,其成本可以降低。在消費(fèi)性多媒體電子商品中最廣泛為家庭中使用的即為多媒體播放器(multi-media player)。
現(xiàn)有多媒體播放器為了應(yīng)付不同影音信號(hào)的處理需求,因此現(xiàn)有多媒體播放器可能包含有許多不同功能的微控制器以應(yīng)付不同的工作需求,如為了處理影像信號(hào),因此可能需要影像解碼器(Video Decoder Unit);為了處理聲音信號(hào),因此可能需要數(shù)字信號(hào)處理器(Digital Signal Processor,DSP)。除此之外,現(xiàn)有多媒體播放器也需要有與微控制器對(duì)應(yīng)的存儲(chǔ)器模塊,用以應(yīng)付大量的數(shù)據(jù)傳輸或是儲(chǔ)存韌體。
為了能處理微控制器與存儲(chǔ)器之間的存取,因此現(xiàn)有多媒體播放器各微控制器與存儲(chǔ)器模塊之間會(huì)有一個(gè)存儲(chǔ)器界面,用以聯(lián)系微控制器與存儲(chǔ)器間的運(yùn)作。同時(shí)為了有效管理每個(gè)微控制器與對(duì)應(yīng)存儲(chǔ)器之間的存取效能,因此存儲(chǔ)器界面中會(huì)包含有一仲裁器(Arbiter),用以仲裁(Arbitration)控制器所發(fā)出的存取要求(Request)哪一個(gè)有優(yōu)先權(quán)(Priority),仲裁匯流排頻寬(Bus Bandwidth)該給哪一個(gè)存取要求使用。在仲裁頻寬的使用權(quán)之前,必須先制定一個(gè)匯流排頻寬使用權(quán)順序的標(biāo)準(zhǔn),也就是優(yōu)先序列(Priority Queue),根據(jù)優(yōu)先序列決定當(dāng)存取要求同時(shí)間發(fā)出時(shí),哪一個(gè)存取要求有優(yōu)先使用頻寬的權(quán)利。
現(xiàn)有序列的排序如圖1所示,為一先進(jìn)先出(First In First Out,F(xiàn)IFO)的概念,最先發(fā)出存取要求的,有較高的優(yōu)先權(quán),排列在序列的最前端(front),因此要先被執(zhí)行,一旦最前面的存取要求被執(zhí)行之后,所有在優(yōu)先序列中等待的存取要求會(huì)往上移動(dòng)一個(gè)位置,而新的存取要求則添加至序列的最末端(Rear)空出的位置。
為了因應(yīng)系統(tǒng)單芯片化(System on Chip,SoC)的趨勢(shì)以及節(jié)省存儲(chǔ)器在系統(tǒng)中所占用的空間,因此先前提出了一種存儲(chǔ)器共用匯流排的發(fā)明。在此發(fā)明中將系統(tǒng)中功能相同可以共用的部分整合于一起。而由于共用的原因,因此在此系統(tǒng)中,所有的微控制器都必須經(jīng)由一個(gè)共用的存儲(chǔ)器界面存取共用存儲(chǔ)器匯流排的存儲(chǔ)器,因此存儲(chǔ)器界面必須要有一個(gè)更好的優(yōu)先序列排序方法以及更有效率的仲裁裝置用以決定擁有數(shù)目龐大存取要求系統(tǒng)的存取要求優(yōu)先順序,使得系統(tǒng)有最佳的工作效能。
發(fā)明內(nèi)容本發(fā)明提供一種優(yōu)先權(quán)仲裁方法,使得系統(tǒng)在不增加執(zhí)行速度以及匯流排頻寬之前提之下,能決定同時(shí)間若有大量的存取要求同時(shí)發(fā)出時(shí),哪一個(gè)存取要求要先被執(zhí)行,也即哪一個(gè)存取要求擁有使用匯流排頻寬的優(yōu)先權(quán)。
本發(fā)明另外提供一種優(yōu)先序列排序方法,可以使得在高優(yōu)先等級(jí)優(yōu)先序列中有更高優(yōu)先等級(jí)的存取要求存在時(shí),可以避免更高等級(jí)存取要求若在一定時(shí)間內(nèi)沒有被執(zhí)行,則達(dá)不到存取頻寬的要求,使得功能錯(cuò)誤(function fail)的缺點(diǎn)。
本發(fā)明較佳實(shí)施例首先先將多個(gè)存取要求劃分成多個(gè)優(yōu)先等級(jí),每一優(yōu)先等級(jí)多個(gè)存取要求再分別排序成為優(yōu)先序列,其排序方法包含下列步驟計(jì)算每個(gè)存取要求的周期數(shù)(cycles)與可等待時(shí)間(latency),計(jì)算總周期數(shù);比較每個(gè)存取要求的可等待時(shí)間與總周期數(shù);若可等待時(shí)間大于總周期數(shù),則依優(yōu)先序列排序分別執(zhí)行存取要求,反之若可等待時(shí)間小于總周期數(shù),則此一存取要求需在優(yōu)先序列中多排序一次。
本發(fā)明較佳實(shí)施列提供了一仲裁器包含有三個(gè)仲裁裝置依優(yōu)先等級(jí)的不同而區(qū)分;而每一個(gè)不同優(yōu)先等級(jí)的仲裁裝置都至少包含有多個(gè)存取要求多工器,用以選擇該優(yōu)先等級(jí)的多個(gè)存取要求;一所有權(quán)選擇器,用以排序優(yōu)先序列;此外不同優(yōu)先等級(jí)的仲裁裝置可能包含有一或閘,連結(jié)至高一優(yōu)先等級(jí)的仲裁裝置,用以告知該優(yōu)先等級(jí)是否有存取要求要發(fā)出,若有,則此一存取要求會(huì)排序至高一優(yōu)先等級(jí)優(yōu)先序列的最后一個(gè)位置中;此外,不同優(yōu)先等級(jí)的仲裁裝置也可能包含有一及閘,連結(jié)至下一優(yōu)先等級(jí)的所有權(quán)選擇器中,用以當(dāng)下一個(gè)欲執(zhí)行讀存取要求為優(yōu)先序列最后一個(gè)位置的存取要求時(shí),通知下一優(yōu)先等級(jí)出更換下一所有權(quán)的信號(hào)并將下一個(gè)存取要求指出。
圖1系顯示一般FIFO序列排序與存取示意圖;圖2系顯示本發(fā)明的不同優(yōu)先等級(jí)優(yōu)先序列執(zhí)行流程圖;圖3系顯示本發(fā)明的優(yōu)先序列排序方法的直流流程圖;圖4系顯示本發(fā)明的存取要求仲裁器的示意圖;圖5系顯示本發(fā)明的高優(yōu)先等級(jí)仲裁裝置的示意圖;圖6系顯示本發(fā)明的中優(yōu)先等級(jí)仲裁裝置的示意圖;圖7系顯示本發(fā)明的低優(yōu)先等級(jí)仲裁裝置的示意圖。
表一系顯示一般優(yōu)先序列排序一表二系顯示本發(fā)明優(yōu)先序列排序二具體實(shí)施方式本發(fā)明提供一種用于多媒體播放器的存儲(chǔ)器界面仲裁器的優(yōu)先序列排序方法以及不同優(yōu)先等級(jí)的仲裁裝置與方法。利用此一方法,當(dāng)同時(shí)間有數(shù)個(gè)存取要求下達(dá)時(shí),可以依據(jù)每個(gè)存取指令優(yōu)先權(quán)的不同,找出最立即需要被處理的存取要求,同時(shí)使得每個(gè)存取要求在最長可等待的時(shí)間中至少執(zhí)行完一次,避免存取要求來不及而導(dǎo)致系統(tǒng)功能失效。以下將列舉一較佳實(shí)施例用以說明本發(fā)明,然而熟悉該技術(shù)的人員皆知此僅為一舉例說明,而并非用以限定發(fā)明本身,有關(guān)此發(fā)明的較佳實(shí)施例詳敘如下。
本發(fā)明首先對(duì)于至少一個(gè)微處理器所發(fā)出的多個(gè)存取要求區(qū)分成三個(gè)不同優(yōu)先等級(jí)存取要求,分別為高優(yōu)先等級(jí),中優(yōu)先等級(jí)以及低優(yōu)先等級(jí),而每個(gè)不同優(yōu)先等級(jí)的多個(gè)存取要求分別排列成優(yōu)先序列,而每一個(gè)存取要求都有對(duì)應(yīng)的要求序號(hào)。其中,該存取要求可依照使用情況的不同而動(dòng)態(tài)調(diào)整其優(yōu)先等級(jí)。舉例來說,當(dāng)播放影音光盤(Video Compact Disk,VCD)時(shí),由于讀取要求的頻率較高,因此控制伺服器的存取要求優(yōu)先權(quán)就較播放數(shù)字影音光盤(Digital Versatile Disk,DVD)時(shí)高;但反之,當(dāng)播放DVD時(shí),由于影音解壓縮(Moving Picture Experts Group,MPEG)的需求較高,所以影音解壓縮的存取要求優(yōu)先權(quán)就較播放VCD時(shí)高。
其次,依照優(yōu)先等級(jí)的高低,由高優(yōu)先等級(jí)的存取要求順序開始執(zhí)行,同時(shí),下一個(gè)擁有優(yōu)先權(quán)的存取要求會(huì)被叫出等待,當(dāng)輪到要執(zhí)行某一存取要求時(shí),若此存取要求沒有發(fā)出存取要求,則直接換到下一個(gè)存取要求執(zhí)行。當(dāng)高優(yōu)先等級(jí)優(yōu)先序列輪完一周期之后(也即優(yōu)先序列的所有存取要求都執(zhí)行過一次),先詢問中優(yōu)先等級(jí)優(yōu)先序列是否有存取要求欲執(zhí)行,若無,則再回去執(zhí)行高優(yōu)先等級(jí)的存取要求,若有,則執(zhí)行中優(yōu)先等級(jí)其中一個(gè)存取要求,執(zhí)行完之后再回去執(zhí)行高優(yōu)先等級(jí)的存取要求。也就是說,每當(dāng)高優(yōu)先等級(jí)的優(yōu)先序列執(zhí)行完一周期之后,即執(zhí)行中優(yōu)先等級(jí)優(yōu)先序列其中的一個(gè)存取要求,接著再回去執(zhí)行高優(yōu)先等級(jí)的優(yōu)先序列;當(dāng)中優(yōu)先等級(jí)的優(yōu)先序列執(zhí)行完一周期之后,即執(zhí)行低優(yōu)先等級(jí)其中一個(gè)存取要求,執(zhí)行完后再回去執(zhí)行高優(yōu)先等級(jí)的優(yōu)先序列。
其流程示意如圖2所示假設(shè)高優(yōu)先等級(jí)、中優(yōu)先等級(jí)、低優(yōu)先等級(jí)的優(yōu)先序列分別都有N個(gè)存取要求,210初始值n=0;220執(zhí)行高優(yōu)先等級(jí)優(yōu)先序列的第n個(gè)存取要求;230判斷n是否等于N;若否,則n=n+1,回到步驟220;若是,則240初始值n′=0;250執(zhí)行執(zhí)行中優(yōu)先等級(jí)優(yōu)先序列的第n′個(gè)存取要求;260判斷n′是否等于N,若否,則n′=n′+1,回到步驟210;若是,則270初始值n″=0;以及280執(zhí)行低優(yōu)先等級(jí)優(yōu)先序列的第n″個(gè)存取要求,執(zhí)行完后回到步驟210。
現(xiàn)有優(yōu)先序列排序的方式以表一的高優(yōu)先等級(jí)優(yōu)先序列的第三個(gè)存取要求(排序位置H2,要求序號(hào)10)為例,在最糟糕每個(gè)存取要求都要執(zhí)行的情況下,要求序號(hào)10執(zhí)行完一次之后至少要等待其他存取要求行完畢之后才會(huì)再被執(zhí)行下一次,等候的時(shí)間至少是高優(yōu)先序列的總周期數(shù)26+10+5+13+6+20=80Ts(Tstera second,tera=1e+12),而總周期數(shù)80Ts較要求序號(hào)10的最長可等待時(shí)間76Ts大,也就是說在最糟糕的情況下,系統(tǒng)無法在76Ts時(shí)間內(nèi)執(zhí)行要求序號(hào)10的存取要求,因此要求序號(hào)10的存取要求無法滿足,導(dǎo)致功能失效。一般為了解決這個(gè)問題,可能會(huì)將位于高優(yōu)先序列其中一個(gè)較低優(yōu)先的存取要求(等待時(shí)間較大的)排入中優(yōu)先等級(jí)優(yōu)先序列中,但如此一來,可能使得中優(yōu)先等級(jí)的存取要求也失效;或者也可能需要加快系統(tǒng)執(zhí)行的速度,或增加匯流排的頻寬,使得每個(gè)存取要求的執(zhí)行周期數(shù)縮短,以解決此一個(gè)問題。
本發(fā)明在不需增加系統(tǒng)執(zhí)行速度和匯流排頻寬的前提下,將要求序號(hào)10的存取要求在高優(yōu)先等級(jí)優(yōu)先序列中多排列一次(如表二H5列所示),如此一來雖然使得總周期數(shù)增加成85Ts(26+10+5+13+6+5+20=85),但高優(yōu)先等級(jí)優(yōu)先序列中要求序號(hào)10因?yàn)楸粓?zhí)行了兩次的關(guān)系,所以每次被執(zhí)行之間隔周期數(shù)縮短了(如表二,間隔存取要求的周期數(shù)和分別為13+6=19Ts以及20+26+10=56Ts,皆小于新總周期數(shù)85Ts),因此就算在最糟糕的情況之下,要求序號(hào)10的存取要求也都能滿足。
本發(fā)明的優(yōu)先等級(jí)的優(yōu)先序列排序方法敘述如下分別計(jì)算每個(gè)優(yōu)先等級(jí)優(yōu)先序列中的所有存取要求的周期數(shù)與可等待時(shí)間(周期數(shù)意指每一個(gè)存取要求執(zhí)行完畢所需要花費(fèi)的時(shí)間;可等待時(shí)間(latency)意指每一個(gè)存取要求被接受前最多可以等待的時(shí)間,若在該時(shí)間內(nèi)沒有被接受,則存取要求會(huì)因無法滿足,到至功能無法正常工作,其時(shí)間單位為Ts);計(jì)算優(yōu)先序列中所有存取要求的總周期數(shù);考慮在最糟糕的情況下,分別比較存取要求的可等待時(shí)間與總周期數(shù);若有存取要求的可等待時(shí)間小于總周期數(shù),則此存取要求必須在優(yōu)先序列中多排序一次,若沒有,則依照優(yōu)先序列的排序分別執(zhí)行存取要求。然而,每在優(yōu)先序列中多增加一個(gè)存取要求,就需要計(jì)算兩相同存取要求間隔最長周期數(shù),接著比較可等待時(shí)間與兩相同存取要求間隔最長周期數(shù),若可等待時(shí)間小于兩相同存取要求間隔最長周期數(shù),則此存取要求需在優(yōu)先序列中再多排序一次,重復(fù)此一步驟(計(jì)算兩相同存取要求間隔最長周期數(shù)并與可等待時(shí)間比較),直到此存取要求可以在要求的時(shí)間執(zhí)行為止。最后,由于優(yōu)先序列中增加了數(shù)個(gè)存取要求,因此優(yōu)先序列的總周期數(shù)會(huì)增加,所以必須再重新計(jì)算新的總周期數(shù),再比較是否有存取要求的可等待時(shí)間小于新總周期數(shù),重復(fù)上述的步驟,直到優(yōu)先序列中所有存取要求在總周期間都可以被執(zhí)行而不會(huì)失效為止。此外,多加入排序的存取要求在優(yōu)先序列的位置為使得重復(fù)排列的相同存取要求每個(gè)間隔周期數(shù)平均的位置。
本發(fā)明的優(yōu)先序列排序方法如圖3所示310計(jì)算存取要求周期數(shù)以及可等待時(shí)間;320計(jì)算優(yōu)先序列中所有存取要求的總周期數(shù);330比較每個(gè)存取要求的可等待時(shí)間是否皆大于總周期數(shù);是,則340依優(yōu)先序列排序執(zhí)行存取要求;否,則350將不符合條件的存取要求多排序一次;360計(jì)算兩相同存取要求間隔最長周期數(shù);370比較可等待時(shí)間是否大于間隔最長周期數(shù);否,則執(zhí)行步驟350、步驟360以及步驟370是,則380計(jì)算新總周期數(shù);接著執(zhí)行步驟330。
每多排列一個(gè)存取要求,就需要重新計(jì)算新的總周期數(shù)再與可等待時(shí)間比較,直到優(yōu)先序列中的每一個(gè)存取要求都可以在時(shí)間內(nèi)被執(zhí)行為止。
上述的優(yōu)先序列的方法可用于一仲裁裝置中,而本發(fā)明的存取要求仲裁器的架構(gòu)400如圖4所示。包含有三個(gè)不同優(yōu)先等級(jí)的仲裁裝置,分別為高優(yōu)先等級(jí)仲裁裝置410、中優(yōu)先等級(jí)仲裁裝置420以及低優(yōu)先等級(jí)仲裁裝置430,其中每個(gè)仲裁裝置的架構(gòu)都很類似,只有部分的差異,其詳細(xì)說明如下。
如圖5所示,高優(yōu)先等級(jí)仲裁裝置410包含有多個(gè)存取要求多工器(multiplexer,MUX)501,每一個(gè)存取要求多工器501都分別接收所有的存取要求,同時(shí)每一個(gè)存取要求多工器501會(huì)從該些存取要求中選擇出一個(gè)要被歸類至高優(yōu)先等級(jí)中的存取要求;一高優(yōu)先權(quán)設(shè)定暫存器502,設(shè)定要求序號(hào),表何存取要求屬于高優(yōu)先等級(jí);一所有權(quán)選擇器503,用以接受由多個(gè)存取要求多工器501選擇出的高優(yōu)先等級(jí)存取要求,同時(shí)將此些存取要求排列成高優(yōu)先等級(jí)優(yōu)先序列,所有權(quán)選擇器503會(huì)預(yù)留最后一個(gè)排序空間給中優(yōu)先等級(jí)的存取要求做排序之用;一所有權(quán)多工器506,將下一個(gè)擁有優(yōu)先權(quán)的存取要求叫出以等待執(zhí)行。此外所有權(quán)選擇器503還包含有一個(gè)下一所有權(quán)選擇單元504,當(dāng)一存取要求正在執(zhí)行時(shí),會(huì)發(fā)出要指出下一個(gè)存取要求位置的信號(hào),而下一所有權(quán)選擇單元504就會(huì)將下一個(gè)欲執(zhí)行的存取要求的位置指出來,而所有權(quán)多工器506就會(huì)根據(jù)下一所有權(quán)選擇單元504所指出的位置于暫存器502中找出對(duì)應(yīng)的要求序號(hào)。
如圖6所示,中優(yōu)先等級(jí)仲裁裝置420包含有多個(gè)存取要求多工器(multiplexer,MUX)601,每一個(gè)存取要求多工器601都分別接收所有的存取要求,同時(shí)每一個(gè)存取要求多工器601會(huì)從該些存取要求中選擇出一個(gè)要被歸類至中優(yōu)先等級(jí)中的存取要求;一中優(yōu)先權(quán)設(shè)定暫存器602,設(shè)定要求序號(hào),表何存取要求屬于中優(yōu)先等級(jí);一所有權(quán)選擇器603,用以接受由多個(gè)存取要求多工器601選擇出的中優(yōu)先等級(jí)存取要求,同時(shí)將此些存取要求排列成中優(yōu)先等級(jí)優(yōu)先序列,所有權(quán)選擇器603會(huì)預(yù)留最后一個(gè)排序空間給低優(yōu)先等級(jí)的存取要求做排序之用;一所有權(quán)多工器606,將下一個(gè)擁有優(yōu)先權(quán)的存取要求叫出以等待執(zhí)行。此外所有權(quán)選擇器603還包含有一個(gè)下一所有權(quán)選擇單元604,當(dāng)一存取要求正在執(zhí)行時(shí),會(huì)發(fā)出要指出下一個(gè)存取要求位置的信號(hào),而下一所有權(quán)選擇單元604就會(huì)將下一個(gè)欲執(zhí)行的存取要求的位置指出來,而所有權(quán)多工器606就會(huì)根據(jù)下一所有權(quán)選擇單元604所指出的位置于暫存器602中找出對(duì)應(yīng)的要求序號(hào)。
如圖7所示,低優(yōu)先等級(jí)仲裁裝置430包含有多個(gè)存取要求多工器(multiplexer,MUX)701,每一個(gè)存取要求多工器701都分別接收所有的存取要求,同時(shí)每一個(gè)存取要求多工器701會(huì)從該些存取要求中選擇出一個(gè)要被歸類至低優(yōu)先等級(jí)中的存取要求;一低優(yōu)先權(quán)設(shè)定暫存器702,設(shè)定要求序號(hào)表何存取要求屬于低優(yōu)先等級(jí);一所有權(quán)選擇器703,用以接受由多個(gè)存取要求多工器701選擇出的低優(yōu)先等級(jí)存取要求,同時(shí)將此些存取要求排列成低優(yōu)先等級(jí)優(yōu)先序列;一所有權(quán)多工器706,將下一個(gè)擁有優(yōu)先權(quán)的存取要求叫出以等待執(zhí)行。此外所有權(quán)選擇器703還包含有一個(gè)下一所有權(quán)選擇單元704,當(dāng)一存取要求正在執(zhí)行時(shí),會(huì)發(fā)出要指出下一個(gè)存取要求位置的信號(hào),而下一所有權(quán)選擇單元704就會(huì)將下一個(gè)欲執(zhí)行的存取要求的位置指出來,而所有權(quán)多工器706就會(huì)根據(jù)下一所有權(quán)選擇單元704所指出的位置于暫存器702中找出對(duì)應(yīng)的要求序號(hào)。
此外,高優(yōu)先等級(jí)仲裁裝置410還包含有一兩輸入及閘505,其中一個(gè)輸入端連結(jié)到所有權(quán)選擇器503判斷是否有發(fā)出要指出下一個(gè)存取要求位置的信號(hào),另一個(gè)輸入端連結(jié)一個(gè)判斷信號(hào),用以判斷下一所有權(quán)選擇單元504是否指向優(yōu)先序列的最后一個(gè)位置(也就是中優(yōu)先等級(jí)的存取要求排序的位置),而及閘的輸出端連結(jié)至中優(yōu)先等級(jí)仲裁裝置420的所有權(quán)選擇器603,當(dāng)有發(fā)出要指出下一個(gè)存取要求位置的信號(hào)(高位準(zhǔn)),而下一所有權(quán)選擇單元504指出的位置為優(yōu)先序列最后一個(gè)位置時(shí)(高位準(zhǔn)),兩輸入及閘505輸出端會(huì)發(fā)出信號(hào)告知中優(yōu)先等級(jí)要指出下一個(gè)存取要求的位置。
此外,中優(yōu)先等級(jí)仲裁裝置420還包含有一多個(gè)輸入的或閘607,其輸入端分別連結(jié)至多個(gè)存取要求多工器601的每一個(gè)輸出端,其輸出則連結(jié)至高優(yōu)先等級(jí)仲裁裝置410的所有權(quán)選擇器503中,用以當(dāng)有中優(yōu)先等級(jí)的存取要求要發(fā)出時(shí),將此存取要求排序至高優(yōu)先等級(jí)優(yōu)先序列的最后一個(gè)位置中;以及一兩輸入及閘605,其中一個(gè)輸入端連結(jié)到所有權(quán)選擇器603判斷是否有發(fā)出要指出下一個(gè)存取要求位置的的信號(hào),另一個(gè)輸入端連結(jié)一個(gè)判斷信號(hào),用以判斷下一所有權(quán)選擇單元604是否指向優(yōu)先序列的最后一個(gè)位置(也就是低優(yōu)先等級(jí)的存取要求排序的位置),而及閘的輸出端連結(jié)至低優(yōu)先等級(jí)仲裁裝置430的所有權(quán)選擇器703,當(dāng)有發(fā)出要指出下一個(gè)存取要求位置的信號(hào)(高位準(zhǔn)),而下一所有權(quán)選擇單元604指出的位置為優(yōu)先序列最后一個(gè)位置時(shí)(高位準(zhǔn)),兩輸入及閘605輸出端會(huì)發(fā)出信號(hào)告知低優(yōu)先等級(jí)要指出下一個(gè)存取要求的位置。
此外,低優(yōu)先等級(jí)仲裁裝置430還包含有一多個(gè)輸入的或閘707,其輸入端分別連結(jié)至多個(gè)存取要求多工器701的每一個(gè)輸出端,其輸出則連結(jié)至中優(yōu)先等級(jí)仲裁裝置420的所有權(quán)選擇器603中,用以當(dāng)有低優(yōu)先等級(jí)的存取要求要發(fā)出時(shí),將此存取要求排序至中優(yōu)先等級(jí)優(yōu)先序列的最后一個(gè)位置中。
本發(fā)明在不需增加系統(tǒng)執(zhí)行速度以及匯流排頻寬的前提之下,提供了一種優(yōu)先序列排序方法以及權(quán)位仲裁裝置與方法,可以使得本發(fā)明的優(yōu)先序列排序方法概念的仲裁裝置可以有效率地仲裁大量的存取要求,同時(shí)倘若在高優(yōu)先等級(jí)優(yōu)先序列中有更高存取要求存取要求,則可以在更短的時(shí)間中執(zhí)行此一更高存取要求存取要求,使得系統(tǒng)不會(huì)因?yàn)槌^其可等待時(shí)間而導(dǎo)致功能失效。
本發(fā)明雖以包含三個(gè)優(yōu)先等級(jí)以及以多工器實(shí)現(xiàn)從多個(gè)存取要求選擇其中之一的較佳實(shí)施列闡明如上,然而其并分用以限定本發(fā)明的精神與發(fā)明實(shí)體僅止于上述實(shí)施例,其可包含至少一個(gè)以上的優(yōu)先等級(jí)的仲裁裝置或是其余可作為選擇之用的工具,皆涵蓋在本發(fā)明的精神的中。這樣,在不脫離本發(fā)明的精神與范圍內(nèi)所作的修改,均應(yīng)包含在權(quán)利要求書的范圍中。
高優(yōu)先等級(jí)中優(yōu)先等級(jí) 低優(yōu)先等級(jí)
6272總周期數(shù)805 300 5 1400362 1472表一高優(yōu)先等級(jí) 中優(yōu)先等級(jí) 低優(yōu)先等級(jí)
62 72總周期數(shù)855300 5 1400365 1472表二
權(quán)利要求
1.一種不同優(yōu)先等級(jí)存取要求的仲裁方法,其步驟至少包含輸入多個(gè)存取要求;將多個(gè)存取要求分類成為多個(gè)不同優(yōu)先等級(jí);以及將每一個(gè)優(yōu)先等級(jí)的多個(gè)存取要求分別排列成優(yōu)先序列;其中,該多個(gè)存取要求可視系統(tǒng)需求的不同,動(dòng)態(tài)調(diào)整該多個(gè)存取要求的優(yōu)先等級(jí)。
2.如權(quán)利要求1的不同優(yōu)先等級(jí)存取要求的仲裁方法,其特征在于,優(yōu)先序列的排序方法至少包含下列步驟計(jì)算多個(gè)存取要求每一個(gè)的可等待時(shí)間和周期數(shù);計(jì)算多個(gè)存取要求的總周期數(shù);以及將多個(gè)存取要求每一個(gè)可等待時(shí)間與總周期數(shù)比較;其中,若有存取要求的可等待時(shí)間小于總周期數(shù),則該存取要求需在優(yōu)先序列中多排序一次,若無,則依照優(yōu)先序列的排序執(zhí)行存取要求。
3.如權(quán)利要求2的不同優(yōu)先等級(jí)存取要求的仲裁方法,其特征在于,進(jìn)一步包含計(jì)算兩相同存取要求間隔最長周期數(shù),并與可等待時(shí)間比較,若可等待時(shí)間小于間隔最長周期數(shù),則該存取要求需在優(yōu)先序列中再多排序一次。
4.如權(quán)利要求2的不同優(yōu)先等級(jí)存取要求的仲裁方法,其特征在于,每多排序一個(gè)存取要求,則需重新計(jì)算新的總周期數(shù),重新與可等待時(shí)間比較,若有另一存取要求的可等待時(shí)間小于該總周期數(shù),則該存取要求需在該優(yōu)先序列中多排序一次。
5.如權(quán)利要求2的不同優(yōu)先等級(jí)存取要求的仲裁方法,其特征在于,新加入排序的存取要求在優(yōu)先序列的位置為使得重復(fù)排列的相同存取要求每個(gè)間隔周期數(shù)平均的位置。
6.如權(quán)利要求1的不同優(yōu)先等級(jí)存取要求的仲裁方法,其特征在于,每個(gè)存取要求以個(gè)別的要求序號(hào)排列于優(yōu)先序列中。
7.如權(quán)利要求1的不同優(yōu)先等級(jí)存取要求的仲裁方法,其特征在于,進(jìn)一步包含選擇其中的一個(gè)優(yōu)先序列的其中的一個(gè)存取要求執(zhí)行,同時(shí)叫出下一個(gè)擁有優(yōu)先權(quán)的存取要求等待。
8.如權(quán)利要求1的不同優(yōu)先等級(jí)存取要求的仲裁方法,其特征在于,當(dāng)一優(yōu)先等級(jí)優(yōu)先序列的所有存取要求都執(zhí)行完畢之后,執(zhí)行次一優(yōu)先等級(jí)優(yōu)先序列其中的一個(gè)存取要求,接著再回到最高等級(jí)的優(yōu)先序列中執(zhí)行存取要求。
全文摘要
一種存儲(chǔ)器存取要求優(yōu)先序列排序裝置及方法,包含將多個(gè)存取要求區(qū)分成多個(gè)優(yōu)先等級(jí),不同優(yōu)先等級(jí)的多個(gè)存取要求排列成為一優(yōu)先序列,排列方法包含下列步驟計(jì)算每個(gè)存取要求的周期與可等待時(shí)間;計(jì)算總周期數(shù);分別比較每個(gè)存取要求的可等待時(shí)間與總周期數(shù),若可等待時(shí)間小于總周期數(shù),則此一存取要求需在優(yōu)先序列中多排序一次;反之若大于總周期數(shù),則依優(yōu)先序列排序執(zhí)行。
文檔編號(hào)G06F13/18GK1555016SQ20031012391
公開日2004年12月15日 申請(qǐng)日期2003年12月22日 優(yōu)先權(quán)日2003年12月22日
發(fā)明者葉丁坤 申請(qǐng)人:威盛電子股份有限公司