專利名稱:總線仲裁裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種總線仲裁裝置。
背景技術(shù):
多媒體應(yīng)用的普及對(duì)計(jì)算機(jī)系統(tǒng)內(nèi)部數(shù)據(jù)傳輸?shù)膸?Bandwidth)以及實(shí)時(shí)性(Real-Time)有著越來越高的要求,這迫使設(shè)計(jì)者不斷提升總線頻率,同時(shí)提高總線效率。
計(jì)算機(jī)系統(tǒng)包括多個(gè)單元(Unit),這些單元被分為主單元(Master)與從單元(Slave,一般為存儲(chǔ)器,如SDRAM)兩組,它們之間的數(shù)據(jù)交換通過總線(BUS)完成。當(dāng)一個(gè)主單元要對(duì)一個(gè)從單元進(jìn)行訪問時(shí),先向總線發(fā)出請(qǐng)求,總線仲裁器對(duì)收到的請(qǐng)求進(jìn)行仲裁,選出優(yōu)先權(quán)最高的請(qǐng)求,對(duì)應(yīng)的主單元才能控制總線訪問相應(yīng)的從單元。
傳統(tǒng)的總線架構(gòu)為一級(jí)仲裁,即所有主單元連接至一個(gè)總線仲裁器。從硬件實(shí)現(xiàn)的角度看,構(gòu)成仲裁器的基本單元是二選一的多路選擇器(MUX),當(dāng)然還包括計(jì)算和控制電路。主單元的數(shù)量越多就意味著仲裁器所需的多路選擇器越多,一個(gè)請(qǐng)求從仲裁器的輸入端到輸出端需要經(jīng)過的多路選擇器就越多,這個(gè)數(shù)據(jù)傳輸過程所需的時(shí)間也就越長(zhǎng);再者,主單元數(shù)量越多,仲裁器進(jìn)行一次仲裁的計(jì)算量就越大,計(jì)算所需的時(shí)間也就越長(zhǎng),這兩個(gè)因素尤其是前者嚴(yán)重抑制了總線頻率的提升,影響了總線帶寬的提高。另外,所有主單元都連接到一個(gè)仲裁器會(huì)導(dǎo)致芯片上該仲裁器周圍的資源嚴(yán)重缺乏,為增強(qiáng)其驅(qū)動(dòng)力就需要額外增加一些元件,例如在連線中增加兩個(gè)倒相器(Inverter),但這樣又進(jìn)一步增加了電路的延時(shí),成為另一個(gè)限制總線頻率提升的原因;所有主單元都連接到一個(gè)仲裁器還會(huì)使芯片內(nèi)部的連線過于復(fù)雜。最后,若采用傳統(tǒng)的一級(jí)仲裁,要增加主單元數(shù)量就需要重新設(shè)計(jì)整個(gè)仲裁系統(tǒng),其通用性不佳。
為解決上述問題,業(yè)界采用了分級(jí)總線仲裁架構(gòu)(Hierarchical BUSArbitration)技術(shù)。分級(jí)仲裁是把主單元按一定數(shù)量N(N為大于1的整數(shù))進(jìn)行分組,每組的N個(gè)主單元共享一個(gè)底層仲裁器,再把底層仲裁器按N分組,每組N個(gè)底層仲裁器共享一個(gè)次底層仲裁器,以此類推直到頂層仲裁器。在這種架構(gòu)中,對(duì)于上一級(jí)仲裁器而言,所有非頂層仲裁器都可被視為一個(gè)“主單元”參與競(jìng)爭(zhēng),根據(jù)需要也可以讓主單元與非頂層仲裁器一起參加上一級(jí)仲裁。如此,整個(gè)仲裁被打斷成為多級(jí)的樹狀仲裁架構(gòu)。這樣做有以下優(yōu)點(diǎn)第一,仲裁架構(gòu)成為流水線結(jié)構(gòu),一次完整的仲裁(一個(gè)請(qǐng)求從被主單元發(fā)出到被頂層仲裁器輸出)平均花費(fèi)的時(shí)間比傳統(tǒng)的一級(jí)仲裁大幅減少;第二,每個(gè)仲裁器負(fù)責(zé)仲裁的主單元數(shù)量減少,一次仲裁所需的計(jì)算時(shí)間得以縮短;第三,可根據(jù)主單元在芯片內(nèi)的位置來分布仲裁器,使芯片內(nèi)的連線更加簡(jiǎn)單;第四,仲裁器結(jié)構(gòu)相同,若需增加主單元數(shù)量只要對(duì)應(yīng)地增加仲裁級(jí)數(shù)以及仲裁器即可,無需重新設(shè)計(jì)仲裁架構(gòu),通用性好??偠灾?,分級(jí)仲裁可有效提升頻率、提高總線仲裁架構(gòu)的通用性以及簡(jiǎn)化芯片內(nèi)部的連線。例如,美國專利第6385678號(hào)的圖9,清楚地展示了一種多級(jí)仲裁的架構(gòu)。
眾所周知,現(xiàn)今DRAM的讀寫大都采用突發(fā)(Burst)方式,為進(jìn)一步提高數(shù)據(jù)傳輸效率,業(yè)界采用了串突發(fā)(Stream Burst)傳輸協(xié)議。這種協(xié)議規(guī)定,一個(gè)主單元與一個(gè)從單元之間多個(gè)特定的連續(xù)突發(fā)在通過一個(gè)仲裁器的過程中不被打斷,且只需要對(duì)第一個(gè)突發(fā)進(jìn)行仲裁即可,這些連續(xù)的突發(fā)就是一個(gè)串突發(fā)。串突發(fā)傳輸協(xié)議的采用大幅節(jié)省了總線仲裁的時(shí)間,對(duì)多級(jí)仲裁架構(gòu)和數(shù)據(jù)吞吐量較大的系統(tǒng)而言效果尤為明顯。
為便于說明,假設(shè)系統(tǒng)處于理想狀態(tài)(無堵塞),一次仲裁需要一個(gè)時(shí)鐘周期,一個(gè)突發(fā)的輸出需要一個(gè)時(shí)鐘周期(一般而言仲裁計(jì)算和輸出采樣無法在一個(gè)時(shí)鐘周期內(nèi)完成)。
在現(xiàn)有的串突發(fā)傳輸協(xié)議中,當(dāng)存在兩個(gè)連續(xù)的串突發(fā)時(shí),總線要等前一個(gè)串突發(fā)傳輸完畢后才能進(jìn)行新的仲裁以決定接下來選通哪一路輸入,因?yàn)樵谇耙淮话l(fā)最后一個(gè)突發(fā)被輸出之前,仲裁電路無法得到緊接著所述的最后一個(gè)突發(fā)的另一突發(fā)的仲裁所需的信息,因此,對(duì)于每一串突發(fā)而言,其第一個(gè)突發(fā)從開始仲裁到突發(fā)被采樣輸出需要兩個(gè)時(shí)鐘周期,詳述如后。
為實(shí)現(xiàn)串突發(fā)傳輸,需要為每個(gè)突發(fā)設(shè)置一個(gè)突發(fā)標(biāo)志,在現(xiàn)有的串突發(fā)傳輸機(jī)制中有兩種突發(fā)標(biāo)志,LAST表示串突發(fā)最后一個(gè)突發(fā),SAME表示除最后一個(gè)突發(fā)外的其余突發(fā)(特別地,若一個(gè)串突發(fā)只包含一個(gè)突發(fā),那該突發(fā)的突發(fā)標(biāo)志為L(zhǎng)AST),總線仲裁器正是根據(jù)突發(fā)標(biāo)志來判斷是否需要改變仲裁器的選通狀態(tài)。
下面對(duì)現(xiàn)有的串突發(fā)傳輸方式的一個(gè)實(shí)施例進(jìn)行說明。參見圖10,仲裁器200包括多路選擇器MUX 201、多路選擇器MUX 202、仲裁計(jì)算模塊203以及寄存器204。多路選擇器201的輸入端口供請(qǐng)求輸入;寄存器204控制多路選擇器201的選通狀態(tài);多路選擇器202有兩個(gè)輸入端口,其中,第一輸入端口與多路選擇器201的輸出端耦合,第二輸入端口為無效輸入;仲裁計(jì)算模塊203進(jìn)行仲裁計(jì)算,寄存器204的值與使能信號(hào)以及多路選擇器202的選通信號(hào)均由其提供。
仲裁計(jì)算模塊203是組合邏輯,每個(gè)時(shí)鐘周期都會(huì)自動(dòng)進(jìn)行仲裁運(yùn)算并且給出運(yùn)算結(jié)果,但只有當(dāng)寄存器204的使能信號(hào)為有效時(shí),該運(yùn)算結(jié)果才能在遇到一個(gè)時(shí)鐘上升沿時(shí)被載入寄存器204,從而改變多路選擇器201當(dāng)前的選通狀態(tài)。當(dāng)一個(gè)串突發(fā)的第一個(gè)突發(fā)被一個(gè)仲裁器輸出后,該仲裁器就會(huì)一直保持當(dāng)前的選通狀態(tài),也就是說寄存器202的使能信號(hào)一直保持無效;當(dāng)突發(fā)標(biāo)志為L(zhǎng)AST的突發(fā)被輸出的同時(shí),仲裁計(jì)算模塊203控制多路選擇器202選通其第二輸入端口。如果存在另一個(gè)串突發(fā)緊接著所述突發(fā)標(biāo)志為L(zhǎng)AST的突發(fā),那么,在所述突發(fā)標(biāo)志為L(zhǎng)AST的突發(fā)被輸出后的第一個(gè)時(shí)鐘周期,仲裁計(jì)算模塊203發(fā)出有效的使能信號(hào)并控制多路選擇器202選通第一輸入端口,緊接著的一個(gè)時(shí)鐘周期,多路選擇器201將根據(jù)寄存器204的值改變選通狀態(tài)。這樣,在理想狀態(tài)下,第二個(gè)串突發(fā)的第一個(gè)突發(fā)的輸出就需要兩個(gè)時(shí)鐘周期。具體時(shí)序參考圖2,圖中SBURST表示各串突發(fā)輸出所花費(fèi)的時(shí)間,GRANT為仲裁器的選通信號(hào)(高有效),MLAST表示各突發(fā)輸出所花費(fèi)的時(shí)間,CLK為時(shí)鐘。圖2中第二串突發(fā)(標(biāo)為SBURST2的串突發(fā))包含4個(gè)突發(fā),如圖所示,在理想狀態(tài)下(無堵塞),第二串突發(fā)從仲裁到被輸出共需要5個(gè)時(shí)鐘周期。
但是,對(duì)于現(xiàn)有技術(shù)多級(jí)仲裁架構(gòu)而言,一個(gè)串突發(fā)從底層仲裁器到頂層仲裁器,其第一個(gè)突發(fā)每經(jīng)過一個(gè)仲裁器所需的時(shí)間比其他突發(fā)多一個(gè)時(shí)鐘周期,總線架構(gòu)分級(jí)越多,串突發(fā)第一個(gè)突發(fā)由底層仲裁器到頂層仲裁器所需的額外時(shí)間就越多,這不利于總線效率的提高。
為了充分利用總線帶寬,進(jìn)一步提高數(shù)據(jù)傳輸?shù)男?,需要結(jié)合主單元對(duì)從單元的訪問方式設(shè)計(jì)合理的總線仲裁方案。但目前業(yè)界已有的分級(jí)仲裁總線架構(gòu)還無法充分利用總線帶寬。
現(xiàn)今的SDRAM一般由多個(gè)邏輯存儲(chǔ)庫(Bank)構(gòu)成,支持多個(gè)邏輯存儲(chǔ)庫同時(shí)打開(一行),系統(tǒng)設(shè)計(jì)時(shí)就會(huì)根據(jù)這個(gè)特性進(jìn)行優(yōu)化,使兩個(gè)主單元對(duì)SDRAM的兩次連續(xù)讀/寫操作在邏輯存儲(chǔ)庫切換之前,另一個(gè)邏輯存儲(chǔ)庫已經(jīng)打開下一次要進(jìn)行讀/寫操作的行,這樣邏輯存儲(chǔ)庫之間的切換就無需額外的時(shí)間開銷,節(jié)省了行預(yù)充電的時(shí)間開銷。但如果兩個(gè)連續(xù)的讀/寫操作是在同一邏輯存儲(chǔ)庫的不同行之間進(jìn)行切換,那么還是無法節(jié)省行的預(yù)充電時(shí)間開銷,這種情況是要盡量避免的。若不設(shè)計(jì)一套有針對(duì)性的總線仲裁方案,就無法避免上述情況帶來的行預(yù)充電時(shí)間開銷。另外,通常對(duì)延時(shí)要求較高的主單元的串突發(fā)長(zhǎng)度較短,而對(duì)帶寬要求較高的主單元的串突發(fā)的長(zhǎng)度較長(zhǎng),要盡量避免對(duì)延時(shí)要求較高的主單元的串突發(fā)被對(duì)帶寬要求較高的主單元的串突發(fā)打斷,以免頻繁地相互打斷,使系統(tǒng)的設(shè)計(jì)過于復(fù)雜。
現(xiàn)有的多級(jí)總線仲裁架構(gòu)沒有根據(jù)主單元的特征設(shè)計(jì)總線仲裁方案,無法有效地避免兩個(gè)連續(xù)的讀/寫操作在同一邏輯存儲(chǔ)庫內(nèi)不同行間進(jìn)行切換的情況與串突發(fā)長(zhǎng)的請(qǐng)求打斷串突發(fā)短的請(qǐng)求的情況。現(xiàn)有的總線仲裁架構(gòu)限于自身架構(gòu)的缺陷,已經(jīng)無法更進(jìn)一步地為有效利用帶寬進(jìn)行優(yōu)化。
鑒于目前總線仲裁架構(gòu)存在的一系列缺陷,本發(fā)明的目的在于提供一種能夠進(jìn)一步提升總線仲裁和數(shù)據(jù)傳輸?shù)男实目偩€仲裁架構(gòu)。
發(fā)明內(nèi)容
鑒于目前總線仲裁架構(gòu)存在的一系列缺陷,本發(fā)明的目的在于提供一種能夠進(jìn)一步提升總線仲裁和數(shù)據(jù)傳輸?shù)男实目偩€仲裁架構(gòu)。
本發(fā)明提供一種總線仲裁裝置,包括頂層仲裁器,所述分級(jí)總線仲裁裝置還包括第一仲裁器,所述第一仲裁器用于對(duì)第一類請(qǐng)求進(jìn)行仲裁,其中第一類請(qǐng)求與第一類主單元有關(guān);第二仲裁器,所述第二仲裁器用于對(duì)第一類請(qǐng)求不同的第二類請(qǐng)求進(jìn)行仲裁,其中,第二類請(qǐng)求和與第一類主單元不同的第二類主單元有關(guān);其中,所述第一仲裁器和所述第二仲裁器分別自所述頂層仲裁器向下形成分級(jí)仲裁結(jié)構(gòu)。
如上所述的總線仲裁裝置,所述第一類主單元是對(duì)延遲要求高的主單元,所述第二類主單元是對(duì)帶寬要求高的主單元。
如上所述的總線仲裁裝置,所述分級(jí)仲裁結(jié)構(gòu)中,各級(jí)仲裁器之間以及主單元與仲裁器之間通過緩存相耦合。
如上所述的總線仲裁裝置,所述緩存為先進(jìn)先出緩存。
如上所述的總線仲裁裝置,所述緩存的深度為2。
如上所述的總線仲裁裝置,所述頂層仲裁器包含狀態(tài)機(jī),用于控制頂層仲裁器的工作狀態(tài),其中,所述狀態(tài)機(jī)包括三種狀態(tài)空閑狀態(tài)、選通第一類請(qǐng)求、選通第二類請(qǐng)求。
如上所述的總線仲裁裝置,采用串突發(fā)的數(shù)據(jù)傳輸方式,所述頂層仲裁器從選通第一類請(qǐng)求的狀態(tài)跳至選通第二類請(qǐng)求的狀態(tài)必須滿足以下條件,即當(dāng)前被選通的第一類請(qǐng)求的串突發(fā)傳輸完畢,且有第二類請(qǐng)求等待輸出。
本發(fā)明的總線仲裁裝置采用了分組分級(jí)的總線仲裁架構(gòu),提高了總線仲裁效率。
圖1為本發(fā)明總線仲裁裝置的結(jié)構(gòu)簡(jiǎn)圖。
圖2為采用突發(fā)標(biāo)志轉(zhuǎn)換機(jī)制前串突發(fā)的傳輸時(shí)序圖。
圖3為采用突發(fā)標(biāo)志轉(zhuǎn)換機(jī)制后串突發(fā)的傳輸時(shí)序圖。
圖4為本發(fā)明頂層仲裁器的狀態(tài)機(jī)圖。
圖5為本發(fā)明第一仲裁器的狀態(tài)機(jī)圖。
圖6為本發(fā)明第二仲裁器的功能模塊圖。
圖7為本發(fā)明第一仲裁器的功能模塊圖。
圖8為本發(fā)明頂層仲裁器的功能模塊圖。
圖9為本發(fā)明緩存的功能模塊圖。
圖10為仲裁器的選通功能模塊圖。
具體實(shí)施例方式
為克服現(xiàn)有串突發(fā)傳輸存在的缺陷,進(jìn)一步提升總線效率,本發(fā)明的一方面提出了一種突發(fā)標(biāo)志轉(zhuǎn)換機(jī)制。本發(fā)明的突發(fā)標(biāo)志轉(zhuǎn)換機(jī)制相對(duì)于現(xiàn)有的串突發(fā)傳輸方式增加了一種突發(fā)標(biāo)志,以JOIN表示。當(dāng)系統(tǒng)發(fā)現(xiàn)一個(gè)突發(fā)標(biāo)志為L(zhǎng)AST的突發(fā)后還跟著另一個(gè)突發(fā),即發(fā)現(xiàn)兩個(gè)連續(xù)的串突發(fā)時(shí),就把該突發(fā)標(biāo)志由LAST轉(zhuǎn)換為JOIN(突發(fā)標(biāo)志的轉(zhuǎn)換有兩種情況,具體請(qǐng)參后述對(duì)緩存和仲裁器的描述,主單元也可直接發(fā)出JOIN的突發(fā)標(biāo)志)。
當(dāng)仲裁器200(參見圖10)(本實(shí)施例中有三種仲裁器,包括第一仲裁器、第二仲裁器以及頂層仲裁器,具體可參見后述說明,為便于對(duì)突發(fā)標(biāo)志轉(zhuǎn)換機(jī)制進(jìn)行闡述,根據(jù)選通功能把第一仲裁器和第二仲裁器統(tǒng)稱為仲裁器200進(jìn)行說明)檢測(cè)到突發(fā)標(biāo)志為JOIN的突發(fā)時(shí),仲裁計(jì)算模塊203發(fā)出有效的使能信號(hào),在下一個(gè)時(shí)鐘上升沿,寄存器204將載入新的仲裁結(jié)果,這個(gè)仲裁結(jié)果是基于所述的突發(fā)標(biāo)志為JOIN的突發(fā)(若該突發(fā)對(duì)應(yīng)的輸入端口緊接著有另一突發(fā))的對(duì)應(yīng)信息(如優(yōu)先級(jí)信息等仲裁所需的信息)和另一輸入端口輸入的突發(fā)(如果存在)的對(duì)應(yīng)信息計(jì)算所得,多路選擇器201根據(jù)寄存器204的值改變選通狀態(tài)。因此,在理想狀態(tài)下(無堵塞),第二個(gè)串突發(fā)的第一個(gè)突發(fā)的輸出就只需要一個(gè)時(shí)鐘周期。具體時(shí)序請(qǐng)參圖3,圖中SBURST表示各串突發(fā)輸出所花費(fèi)的時(shí)間,GRANT為仲裁器的選通信號(hào)(高有效),MLAST表示各突發(fā)輸出所花費(fèi)的時(shí)間,CLK為時(shí)鐘。圖3中的第二串突發(fā)(標(biāo)為SBURST2)包含4個(gè)突發(fā),在理想狀態(tài)下,第二串突發(fā)從仲裁到被輸出共需4個(gè)時(shí)鐘周期,顯然,與圖2所示未采用突發(fā)標(biāo)志轉(zhuǎn)換機(jī)制的方案相比,本申請(qǐng)的突發(fā)標(biāo)志轉(zhuǎn)換機(jī)制節(jié)省了1個(gè)時(shí)鐘周期。顯然,對(duì)于分級(jí)仲裁而言,突發(fā)標(biāo)志轉(zhuǎn)換機(jī)制帶來的效率提升是十分顯著的,而且仲裁級(jí)數(shù)越多效率的提升就越顯著。
突發(fā)標(biāo)志轉(zhuǎn)換機(jī)制是一種預(yù)仲裁機(jī)制,有兩種預(yù)仲裁方案可供選擇。第一種方案,仲裁時(shí)以突發(fā)標(biāo)志為JOIN的突發(fā)所攜帶的對(duì)應(yīng)信息(如優(yōu)先級(jí)信息等)代替同一路緊接著的突發(fā)(如果有的話,如果沒有則所述的突發(fā)標(biāo)志為JOIN的突發(fā)被過濾為無效突發(fā),不參加新的仲裁)所攜帶的相關(guān)信息進(jìn)行仲裁,這種方案在硬件上比較容易實(shí)現(xiàn),但如果這兩個(gè)突發(fā)的對(duì)應(yīng)信號(hào)不一致的話,就可能使這一次仲裁的結(jié)果不符合標(biāo)準(zhǔn)。第二種方案,仲裁器的仲裁電路的輸入設(shè)計(jì)成可選擇,假設(shè)下級(jí)緩存深度為二,突發(fā)標(biāo)志為JOIN的突發(fā)位于該緩存的第一存儲(chǔ)體,而且第二存儲(chǔ)體存在另一突發(fā),此時(shí)的仲裁電路選擇第二存儲(chǔ)體中的突發(fā)所攜帶的相關(guān)信號(hào)進(jìn)行仲裁,這種設(shè)計(jì)的仲裁結(jié)果符合標(biāo)準(zhǔn),但硬件實(shí)現(xiàn)較為復(fù)雜。本實(shí)施例所采用的是第一方案,以下將進(jìn)行更詳細(xì)的說明。
本發(fā)明的另一方面針對(duì)一種總線仲裁架構(gòu)。在一個(gè)計(jì)算系統(tǒng)中,大致可將主單元分為兩類,對(duì)延時(shí)要求高的主單元和對(duì)帶寬要求高的主單元。對(duì)延時(shí)要求高的主單元發(fā)出的請(qǐng)求需要系統(tǒng)及時(shí)響應(yīng),否則可能導(dǎo)致系統(tǒng)出錯(cuò),比如在數(shù)字電視解碼芯片中,中央處理器(CPU)、解復(fù)用模塊(DEMUX)是對(duì)延時(shí)要求高的主單元;對(duì)帶寬要求高的主單元的數(shù)據(jù)吞吐量大,比如在數(shù)字電視解碼芯片中,視頻解碼模塊是對(duì)帶寬要求高的主單元。為便于說明,以下稱對(duì)延時(shí)要求高的主單元為第一類主單元,其請(qǐng)求為第一類請(qǐng)求,其突發(fā)為第一類突發(fā),其串突發(fā)為第一類串突發(fā),而對(duì)帶寬要求高的主單元為第二類主單元,其請(qǐng)求為第二類請(qǐng)求,其突發(fā)為第二類突發(fā),其串突發(fā)為第二類串突發(fā)(需要注意的是,這里雖然將對(duì)延遲要求高的主單元稱為第一類主單元,對(duì)帶寬要求高的主單元稱為第二類主單元,但采用“第一”和“第二”的描述,僅僅是為了區(qū)別不同的主單元,也可以把對(duì)延遲要求高的主單元稱為第二類主單元,而把對(duì)帶寬要求高的主單元稱為第一類主單元,下文中的具體描述也可作相應(yīng)的變換)。
系統(tǒng)設(shè)計(jì)時(shí),SDRAM被劃分成若干個(gè)部分,分配給對(duì)應(yīng)的主單元作為專用的存儲(chǔ)空間。為提高數(shù)據(jù)傳輸效率,把分配給前述兩種主單元的存儲(chǔ)空間盡量安排在不同的邏輯存儲(chǔ)庫(BANK)中,因?yàn)樵诒緦?shí)施例中,第一類串突發(fā)打斷第二類串突發(fā)的頻率較高,這樣分配可使不同的主單元對(duì)SDRAM的訪問盡量在邏輯存儲(chǔ)庫之間進(jìn)行切換,以節(jié)省行預(yù)充電的時(shí)間。當(dāng)然,也可以根據(jù)對(duì)各主單元之間切換概率的分析來進(jìn)行存儲(chǔ)空間的分配。
本實(shí)施例把第一類主單元和第二類主單元進(jìn)行分組分級(jí)仲裁,以便較為精確地控制兩種主單元對(duì)總線的控制時(shí)間。為避免兩個(gè)連續(xù)的對(duì)SDRAM的操作在相同的邏輯存儲(chǔ)庫的不同行之間進(jìn)行切換而引發(fā)的效率降低,同時(shí)也為使設(shè)計(jì)不過于復(fù)雜,本實(shí)施例還規(guī)定了以下仲裁原則組內(nèi)串突發(fā)不得相互打斷;在頂層仲裁器中第一類串突發(fā)可打斷第二類串突發(fā),第二類串突發(fā)不得打斷第一類串突發(fā)。
仲裁級(jí)數(shù)取決于主單元的數(shù)量、仲裁器的仲裁接口數(shù)量以及耦接方式,為便于進(jìn)行說明,本實(shí)施例的所有非頂層仲裁器的仲裁接口數(shù)量均為2,當(dāng)然這個(gè)數(shù)量可根據(jù)具體需求而改變,比如設(shè)置4個(gè)仲裁接口。參見圖1,圖1例示出本發(fā)明的總線仲裁架構(gòu)的實(shí)施例。本實(shí)施例中共有7個(gè)主單元,其中,主單元130、主單元131及主單元132是第一類主單元(即對(duì)延時(shí)要求高的主單元),而主單元133、主單元134、主單元135以及主單元136是第二類主單元(即對(duì)帶寬要求高的主單元)。本實(shí)施例的仲裁裝置包括頂層仲裁器100;分別耦接于該頂層仲裁器100的緩存102和緩存104;耦接于緩存102的第一仲裁器101;分別耦接于第一仲裁器101的緩存106和緩存108;耦接于緩存106的另一第一仲裁器105;分別耦接于該另一第一仲裁器105的緩存114和緩存116,其中,主單元130耦接于緩存114,主單元131耦接于緩存116,主單元132耦接于緩存108;耦接于緩存104的第二仲裁器103;分別耦接于第二仲裁器103的緩存110和緩存112;耦接于緩存110的另一第二仲裁器107;分別耦接于該另一第二仲裁器107的緩存118和緩存120;耦接于緩存112的又一第二仲裁器109;耦接于該又一第二仲裁器109的緩存122和緩存124,其中,主單元133耦接于緩存118,主單元134耦接于緩存120,主單元135耦接于緩存122,主單元136耦接于緩存124。因此,該實(shí)施例的總線仲裁裝置是一種包括頂層仲裁器、第一仲裁器和第二仲裁器的總線仲裁裝置,其中第一仲裁器用于對(duì)第一類主單元的請(qǐng)求進(jìn)行仲裁,第二仲裁器用于對(duì)第二類主單元的請(qǐng)求進(jìn)行仲裁,并且,第一仲裁器和第二仲裁器分別自所述頂層仲裁器向下形成分級(jí)仲裁結(jié)構(gòu)。因此,本實(shí)施例的總線仲裁裝置采用了一種分組分級(jí)的總線仲裁架構(gòu)。本實(shí)施例中的緩存例如為先進(jìn)先出緩存(FIFO),其深度為2,可存儲(chǔ)兩個(gè)請(qǐng)求。在圖1所示的仲裁架構(gòu)中,第一類請(qǐng)求和第二類請(qǐng)求只在頂層仲裁器100中進(jìn)行競(jìng)爭(zhēng),從硬件角度來看,只有這種架構(gòu)才能較便捷地實(shí)現(xiàn)第一類串突發(fā)可打斷第二類串突發(fā),而第二類串突發(fā)不得打斷第一類串突發(fā)的仲裁方案,提高總線仲裁效率。
本發(fā)明的一個(gè)實(shí)施例分配給第一類請(qǐng)求(第一類主單元的請(qǐng)求)HCREQ和LCREQ兩種優(yōu)先級(jí),分配給第二類請(qǐng)求(第二類主單元的請(qǐng)求)HREQ和LREQ兩種優(yōu)先級(jí),這四種優(yōu)先級(jí)的優(yōu)先級(jí)順序?yàn)镠CREQ>HREQ>LREQ>LCREQ。第一類請(qǐng)求默認(rèn)以HCREQ優(yōu)先級(jí)參與競(jìng)爭(zhēng),第二類請(qǐng)求默認(rèn)以LREQ優(yōu)先級(jí)參與競(jìng)爭(zhēng)。
因?yàn)榈谝活愓?qǐng)求默認(rèn)以HCREQ的優(yōu)先級(jí)參與競(jìng)爭(zhēng),第二類請(qǐng)求默認(rèn)以優(yōu)先級(jí)較低的LREQ的優(yōu)先級(jí)參與競(jìng)爭(zhēng),如果不設(shè)置一套限制機(jī)制,很可能出現(xiàn)第一類串突發(fā)長(zhǎng)時(shí)間占用頂層仲裁器使第二類請(qǐng)求在很長(zhǎng)一段時(shí)間內(nèi)得不到頂層仲裁器的響應(yīng)的情況。為解決這個(gè)問題,本實(shí)施例可采用一種時(shí)間窗限制機(jī)制。時(shí)間窗限制機(jī)制針對(duì)某個(gè)第一類主單元或者第一仲裁器定義了一個(gè)時(shí)間段M,在滿足系統(tǒng)要求的前提下,規(guī)定該第一類主單元或者第一仲裁器輸出的請(qǐng)求在時(shí)間段M內(nèi)得到上級(jí)仲裁器的N次響應(yīng)后,其以后的第一類突發(fā)的優(yōu)先級(jí)就被降為L(zhǎng)CREQ,同時(shí)該突發(fā)被賦予一個(gè)生命周期,當(dāng)進(jìn)入第二個(gè)時(shí)間段M時(shí),該低優(yōu)先級(jí)生命周期結(jié)束,其優(yōu)先級(jí)又被重新提升為HCREQ。只有當(dāng)沒有第二類請(qǐng)求參與競(jìng)爭(zhēng)時(shí),優(yōu)先級(jí)為L(zhǎng)CREQ的第一類串突發(fā)才能得到頂層仲裁器的響應(yīng)。時(shí)間窗限制機(jī)制中的時(shí)間段長(zhǎng)短M、響應(yīng)次數(shù)N以及是否采用時(shí)間窗限制機(jī)制等參數(shù)均可在第一仲裁器的寄存器中進(jìn)行配置。
本發(fā)明的一個(gè)實(shí)施例還可采用優(yōu)先級(jí)提升機(jī)制。前述已知,第二類串突發(fā)默認(rèn)以LREQ的優(yōu)先級(jí)參與競(jìng)爭(zhēng),總線的架構(gòu)為樹狀結(jié)構(gòu),若一個(gè)第二類串突發(fā)被阻塞在某一第二仲裁器長(zhǎng)時(shí)間得不到響應(yīng)的話,那么該節(jié)點(diǎn)以下的所有第二類串突發(fā)都將被堵塞,若這些被堵塞的第二類串突發(fā)中存在需要得到系統(tǒng)及時(shí)響應(yīng)的第二類串突發(fā)的話,這種堵塞狀況就可能導(dǎo)致系統(tǒng)運(yùn)行不正常。為解決這個(gè)問題,在本實(shí)施例中,第二類串突發(fā)被存儲(chǔ)于某一緩存時(shí),該緩存將根據(jù)上級(jí)第二仲裁器的寄存器配置賦予該第二類串突發(fā)一個(gè)低優(yōu)先級(jí)生命周期,生命周期可隨著突發(fā)傳遞,當(dāng)該生命周期結(jié)束時(shí),該第二類串突發(fā)的優(yōu)先級(jí)就被提升為HREQ,而且這一支路中,所述的被提升優(yōu)先級(jí)的第二類串突發(fā)上面的所有第二類串突發(fā)的優(yōu)先級(jí)都將被提升為HREQ,這樣就能使被堵塞的需要得到系統(tǒng)及時(shí)響應(yīng)的第二類串突發(fā)盡量及時(shí)得到響應(yīng)。
優(yōu)先級(jí)提升機(jī)制亦可應(yīng)用于第一類串突發(fā)。當(dāng)某個(gè)優(yōu)先級(jí)為L(zhǎng)CREQ的第一類突發(fā)被某個(gè)第一仲裁器選通,而該第一仲裁器的另一輸入端口出現(xiàn)了一個(gè)優(yōu)先級(jí)為HCREQ的第一類串突發(fā),或者該優(yōu)先級(jí)為L(zhǎng)CREQ的第一類串突發(fā)后緊接著有一個(gè)優(yōu)先級(jí)為HCREQ的串突發(fā),則該優(yōu)先級(jí)為L(zhǎng)CREQ的第一類突發(fā)的優(yōu)先級(jí)將被提升為HCREQ,且這一支路中,所述的被提升優(yōu)先級(jí)的第一類突發(fā)上面的所有第一類串突發(fā)的優(yōu)先級(jí)都將被提升為HCREQ。如此,可防止因優(yōu)先級(jí)為L(zhǎng)CREQ的第一類串突發(fā)在當(dāng)前仲裁器以上的仲裁器中被堵塞而導(dǎo)致后面的優(yōu)先級(jí)為HCREQ的第一類串突發(fā)被堵塞于當(dāng)前仲裁器。
參見圖4,所示為頂層仲裁器的狀態(tài)機(jī)示意圖。圖中,IDLE表示空閑狀態(tài),CREQ表示選通第一類串突發(fā),REQ表示選通第二類串突發(fā)。圖中的各狀態(tài)轉(zhuǎn)換條件如下表所示
參見圖5,所示為非頂層仲裁器(第一或第二仲裁器)的狀態(tài)機(jī)示意圖(第一仲裁器與第二仲裁器的狀態(tài)機(jī)相同),圖中,IDLE表示空閑狀態(tài),ArbitrateState表示仲裁狀態(tài)。圖中各狀態(tài)轉(zhuǎn)換條件如下表所示
參見圖6,所示為第二仲裁器103的功能模塊圖。第二仲裁器103包括狀態(tài)機(jī)1031、寄存器組1032、計(jì)算模塊1033、第一多路選擇器1034、第二多路選擇器1035、第三多路選擇器1036及第四多路選擇器1037。狀態(tài)機(jī)1031控制第二仲裁器103的工作狀態(tài);寄存器組1032存儲(chǔ)系統(tǒng)對(duì)仲裁器的配置,這些配置包括采用固定優(yōu)先級(jí)算法還是加權(quán)循環(huán)算法,指示下級(jí)緩存是否采用優(yōu)先級(jí)提升機(jī)制,若采用優(yōu)先級(jí)提升機(jī)制生命周期設(shè)定為多長(zhǎng)等等;計(jì)算模塊1033進(jìn)行仲裁計(jì)算,決定選通哪一路輸入信號(hào);第四多路選擇器1037對(duì)下級(jí)緩存輸入的請(qǐng)求類別信號(hào)進(jìn)行選擇,該請(qǐng)求類別信號(hào)包括三種,分別為IDLE(表示無請(qǐng)求)、REQ(表示對(duì)帶寬要求高的主單元的請(qǐng)求)、CREQ(對(duì)延時(shí)要求高的主單元的請(qǐng)求);第三多路選擇器1036對(duì)下級(jí)緩存輸入的優(yōu)先級(jí)信號(hào)進(jìn)行選擇,該優(yōu)先級(jí)信號(hào)包括高和低兩種,第三多路選擇器1036也能進(jìn)行優(yōu)先級(jí)提升處理,至此可知,前述四種優(yōu)先級(jí)是由請(qǐng)求類別信號(hào)和優(yōu)先級(jí)信號(hào)組合而成;第二多路選擇器1035對(duì)下級(jí)緩存輸入的突發(fā)標(biāo)志信號(hào)進(jìn)行選擇,第二多路選擇器1035也能進(jìn)行突發(fā)標(biāo)志轉(zhuǎn)換處理;第一多路選擇器1034對(duì)下級(jí)緩存輸入的其他輸入信號(hào)進(jìn)行選擇。
計(jì)算模塊1033的仲裁計(jì)算步驟如下一,根據(jù)請(qǐng)求類別信號(hào)過濾出參與競(jìng)爭(zhēng)的主單元或下級(jí)仲裁器;二,根據(jù)優(yōu)先級(jí)信號(hào)進(jìn)一步過濾出最終參與固定優(yōu)先級(jí)算法或加權(quán)循環(huán)算法的主單元或者下級(jí)仲裁器;三,以固定優(yōu)先級(jí)算法或加權(quán)循環(huán)算法進(jìn)行計(jì)算,決定最終選通哪一路輸入信號(hào)。整個(gè)仲裁計(jì)算過程只需要一個(gè)時(shí)鐘周期。
以下對(duì)在第二仲裁器103中進(jìn)行的突發(fā)標(biāo)志轉(zhuǎn)換處理和優(yōu)先級(jí)提升處理的幾種狀況進(jìn)行說明。
當(dāng)系統(tǒng)采用突發(fā)標(biāo)志轉(zhuǎn)換機(jī)制,若當(dāng)前被選通的是緩存110,且緩存110中只有一個(gè)突發(fā)標(biāo)志為L(zhǎng)AST的第二類請(qǐng)求,若緩存112中有第二類請(qǐng)求,那么第二仲裁器103的第二多路選擇器1035就把當(dāng)前被選通的第二類請(qǐng)求的突發(fā)標(biāo)志轉(zhuǎn)換為JOIN,且該請(qǐng)求被過濾成無效請(qǐng)求,不參與新的仲裁,因此,新的仲裁中只有緩存112中的第二類請(qǐng)求參與競(jìng)爭(zhēng)。
當(dāng)系統(tǒng)采用優(yōu)先級(jí)提升機(jī)制,若當(dāng)前被選通的是緩存110,且當(dāng)前被選通的第二類請(qǐng)求的優(yōu)先級(jí)是低,如果緩存112中有第二類請(qǐng)求且其優(yōu)先級(jí)為高,那么第二仲裁器103的第三多路選擇器1036把當(dāng)前被選通的第二類請(qǐng)求的優(yōu)先級(jí)提升為高。
參見圖7,所示為第一仲裁器101的功能模塊圖。第一仲裁器101包括狀態(tài)機(jī)1011、寄存器組1012、計(jì)算模塊1013、第一多路選擇器1014、第二多路選擇器1015、第三多路選擇器1016、第四多路選擇器1017及時(shí)間窗限制處理模塊1018。狀態(tài)機(jī)1031控制第一仲裁器101的工作狀態(tài);寄存器組1012存儲(chǔ)系統(tǒng)對(duì)仲裁器的配置,這些配置包括采用固定優(yōu)先級(jí)算法還是加權(quán)循環(huán)算法,是否采用時(shí)間窗限制機(jī)制,若采用時(shí)間窗限制機(jī)制,時(shí)間段M的長(zhǎng)短以及響應(yīng)次數(shù)N等;計(jì)算模塊1013進(jìn)行仲裁計(jì)算,決定選通哪一路輸入信號(hào);第四多路選擇器1017對(duì)下級(jí)緩存輸入的請(qǐng)求類別信號(hào)進(jìn)行選擇,該請(qǐng)求類別信號(hào)包括三種,分別為IDLE(表示無請(qǐng)求)、REQ(表示對(duì)帶寬要求高的主單元的請(qǐng)求)、CREQ(對(duì)延時(shí)要求高的主單元的請(qǐng)求);第三多路選擇器1016對(duì)下級(jí)緩存輸入的優(yōu)先級(jí)信號(hào)進(jìn)行選擇,該優(yōu)先級(jí)信號(hào)包括高和低兩種,第三多路選擇器1016也能進(jìn)行優(yōu)先級(jí)提升操作;第二多路選擇器1015對(duì)下級(jí)緩存輸入的突發(fā)標(biāo)志信號(hào)進(jìn)行選擇,第二多路選擇器1015也能進(jìn)行突發(fā)標(biāo)志轉(zhuǎn)換操作;第一多路選擇器1014對(duì)下級(jí)緩存輸入的其他輸入信號(hào)進(jìn)行選擇;時(shí)間窗限制處理模塊1018對(duì)輸入優(yōu)先級(jí)信號(hào)進(jìn)行時(shí)間窗限制處理。
計(jì)算模塊1013的仲裁計(jì)算步驟如下一,根據(jù)請(qǐng)求類別信號(hào)過濾出參與競(jìng)爭(zhēng)的主單元或下級(jí)仲裁器;二,根據(jù)經(jīng)過時(shí)間窗限制處理模塊的優(yōu)先級(jí)信號(hào)進(jìn)一步過濾出最終參與固定優(yōu)先級(jí)算法或加權(quán)循環(huán)算法的主單元或者下級(jí)仲裁器;三,以固定優(yōu)先級(jí)算法或加權(quán)循環(huán)算法進(jìn)行計(jì)算,決定最終選通哪一路輸入信號(hào)。整個(gè)仲裁計(jì)算過程只需要一個(gè)時(shí)鐘周期。
以下對(duì)在第一仲裁器101中進(jìn)行的突發(fā)標(biāo)志轉(zhuǎn)換處理和時(shí)間窗限制處理的幾種狀況進(jìn)行說明。
當(dāng)系統(tǒng)采用突發(fā)標(biāo)志轉(zhuǎn)換機(jī)制,若當(dāng)前被第一仲裁器101選通的是緩存106,而緩存106中只有一個(gè)突發(fā)標(biāo)志為L(zhǎng)AST的第一類請(qǐng)求,且緩存108中有第一類請(qǐng)求的話,那么第二多路選擇器1015就會(huì)把當(dāng)前被選通的第一類請(qǐng)求的突發(fā)標(biāo)志轉(zhuǎn)換為JOIN,且該第一類請(qǐng)求被過濾為無效請(qǐng)求,不參與預(yù)仲裁,新的仲裁中只有緩存108中的第一類請(qǐng)求參與競(jìng)爭(zhēng)。
時(shí)間窗限制處理模塊1018(第一仲裁器101對(duì)應(yīng)緩存106和緩存108各設(shè)有一個(gè)時(shí)間窗限制處理模塊,此處為便于說明,將兩個(gè)時(shí)間窗限制處理模塊合并為一個(gè)時(shí)間窗限制處理模塊1018)根據(jù)寄存器組1012的配置,在規(guī)定的時(shí)間段M內(nèi)對(duì)緩存106和緩存108被響應(yīng)的次數(shù)(以請(qǐng)求為單位)進(jìn)行計(jì)數(shù),當(dāng)計(jì)數(shù)超過規(guī)定的數(shù)值時(shí),對(duì)應(yīng)的緩存的下一個(gè)第一類串突發(fā)的優(yōu)先級(jí)將被降為低并同時(shí)被賦予一個(gè)生命周期,該生命周期的值為當(dāng)前時(shí)刻(優(yōu)先級(jí)被降為低的時(shí)刻)至?xí)r間段M結(jié)束的時(shí)間。是否采用時(shí)間窗限制機(jī)制可通過配置寄存器組1012實(shí)現(xiàn),如果不采用時(shí)間窗限制機(jī)制,則通過時(shí)間窗限制處理模塊1018的優(yōu)先級(jí)信號(hào)保持不變。低優(yōu)先級(jí)生命周期隨著突發(fā)傳遞,當(dāng)突發(fā)獲得頂層仲裁器100的響應(yīng)或者低優(yōu)先級(jí)生命周期為0后,低優(yōu)先級(jí)生命周期結(jié)束,突發(fā)的優(yōu)先級(jí)將被重新提升為高。
參見圖8,所示為頂層仲裁器100的功能模塊圖。頂層仲裁器100包括狀態(tài)機(jī)1001、計(jì)算模塊1003、第四多路選擇器1007、第二多路選擇器1005及第一多路選擇器1004。狀態(tài)機(jī)1001控制頂層仲裁器100的工作狀態(tài);計(jì)算模塊1003進(jìn)行仲裁計(jì)算,決定選通哪一路輸入,在本實(shí)施例中只有兩路輸入信號(hào)供頂層仲裁器100選擇,就是次頂層第一仲裁器101的輸出緩存102以及次頂層第二仲裁器103的輸出緩存104;第四多路選擇器1007對(duì)輸入的請(qǐng)求類別信號(hào)進(jìn)行選擇,該請(qǐng)求類別信號(hào)包括三種,分別為IDLE(表示無請(qǐng)求)、REQ(表示對(duì)帶寬要求高的主單元的請(qǐng)求)、CREQ(對(duì)延時(shí)要求高的主單元的請(qǐng)求);第二多路選擇器1005對(duì)突發(fā)標(biāo)志信號(hào)進(jìn)行選擇;第一多路選擇器1004對(duì)其他輸入信號(hào)進(jìn)行選擇。
計(jì)算模塊1003的仲裁計(jì)算采用固定優(yōu)先級(jí)算法,即HCREQ>HREQ>LREQ>LCREQ,且頂層仲裁器100還有一條原則就是對(duì)延時(shí)要求高的主單元的串突發(fā)可打斷對(duì)帶寬要求高的主單元的串突發(fā),而對(duì)帶寬要求高的主單元的串突發(fā)不得打斷對(duì)延時(shí)要求高的主單元的串突發(fā),具體可參照上述頂層仲裁器100的狀態(tài)機(jī)介紹。
參見圖9,所示為本發(fā)明的一個(gè)實(shí)施例的緩存的功能模塊圖,因本實(shí)施例所有緩存結(jié)構(gòu)相同,故在此僅以緩存102為例進(jìn)行說明。緩存102包括緩存控制器1021、突發(fā)標(biāo)志轉(zhuǎn)換模塊1022、優(yōu)先級(jí)提升模塊1023、第一存儲(chǔ)模塊1024、第二存儲(chǔ)模塊1025及多路選擇器1026。緩存控制器1021用于控制兩個(gè)存儲(chǔ)模塊的先進(jìn)先出順序;突發(fā)標(biāo)志轉(zhuǎn)換模塊1022在特定的條件下將緩存內(nèi)為L(zhǎng)AST的突發(fā)標(biāo)志轉(zhuǎn)換為JOIN;優(yōu)先級(jí)提升模塊1023根據(jù)上級(jí)仲裁器的寄存器配置,對(duì)第二類請(qǐng)求進(jìn)行賦予生命周期的操作,并對(duì)第一類請(qǐng)求和第二類請(qǐng)求的低優(yōu)先級(jí)生命周期進(jìn)行計(jì)算,當(dāng)生命周期結(jié)束時(shí)進(jìn)行優(yōu)先級(jí)提升,當(dāng)生命周期未結(jié)束而請(qǐng)求獲得響應(yīng)時(shí),該生命周期隨著該請(qǐng)求被上傳到上級(jí)緩存。本實(shí)施例中,之所以利用上級(jí)仲裁器對(duì)緩存102進(jìn)行配置是為了降低硬件的復(fù)雜程度;第一存儲(chǔ)模塊1024和第二存儲(chǔ)模塊1025分別用于存儲(chǔ)兩個(gè)請(qǐng)求;多路選擇器1026對(duì)第一存儲(chǔ)模塊1024和第二存儲(chǔ)模塊1025的輸出進(jìn)行選擇。
以下對(duì)在緩存中進(jìn)行的突發(fā)標(biāo)志轉(zhuǎn)換操作和優(yōu)先級(jí)提升操作的幾種狀況進(jìn)行說明。在本實(shí)施例中,緩存102只負(fù)責(zé)存儲(chǔ)和處理第二類突發(fā),為便于說明,第一類突發(fā)的存儲(chǔ)和處理也以緩存102為例進(jìn)行說明。
當(dāng)系統(tǒng)采用優(yōu)先級(jí)提升機(jī)制時(shí),緩存的優(yōu)先級(jí)提升模塊根據(jù)上級(jí)第二仲裁器的配置,對(duì)第二類請(qǐng)求賦予生命周期。同時(shí)優(yōu)先級(jí)提升模塊對(duì)緩存內(nèi)第二類請(qǐng)求的生命周期進(jìn)行倒計(jì)數(shù),生命周期結(jié)束時(shí),優(yōu)先級(jí)提升模塊將通過緩存控制器把該優(yōu)先級(jí)提升為高。
當(dāng)系統(tǒng)采用優(yōu)先級(jí)提升機(jī)制時(shí),若緩存中當(dāng)前被選通的存儲(chǔ)模塊中的請(qǐng)求的優(yōu)先級(jí)為低,另一存儲(chǔ)模塊中的請(qǐng)求的優(yōu)先級(jí)為高,那么優(yōu)先級(jí)提升模塊就會(huì)通過緩存控制器把當(dāng)前被選通的存儲(chǔ)模塊中的請(qǐng)求的優(yōu)先級(jí)提升為高。
當(dāng)系統(tǒng)采用優(yōu)先級(jí)提升機(jī)制時(shí),若緩存輸入端有優(yōu)先級(jí)為高的請(qǐng)求,那么緩存中的請(qǐng)求的優(yōu)先級(jí)都將被提升為高。
當(dāng)系統(tǒng)采用時(shí)間窗限制機(jī)制時(shí),若緩存中有優(yōu)先級(jí)為低的第一類請(qǐng)求,優(yōu)先級(jí)提升模塊將對(duì)該等第一類請(qǐng)求的生命周期進(jìn)行倒計(jì)數(shù),生命周期結(jié)束時(shí),優(yōu)先級(jí)提升模塊將通過緩存控制器把該等第一類請(qǐng)求的優(yōu)先級(jí)提升為高。
當(dāng)系統(tǒng)采用突發(fā)標(biāo)志轉(zhuǎn)換機(jī)制時(shí),若緩存中最后輸入的請(qǐng)求的突發(fā)標(biāo)志為L(zhǎng)AST,當(dāng)檢測(cè)到緩存的輸入端有請(qǐng)求輸入時(shí),所述的最后輸入的請(qǐng)求的突發(fā)標(biāo)志就被轉(zhuǎn)換為JOIN。
當(dāng)系統(tǒng)采用突發(fā)標(biāo)志轉(zhuǎn)換機(jī)制時(shí),若某一緩存在當(dāng)前時(shí)鐘周期沒有獲得響應(yīng),該緩存的一個(gè)存儲(chǔ)單元中有一突發(fā)標(biāo)志為L(zhǎng)AST的突發(fā)而另一存儲(chǔ)單元為空,且當(dāng)前時(shí)鐘周期該緩存的輸入端沒有請(qǐng)求輸入,如果該緩存收到下級(jí)仲裁器發(fā)出的下一個(gè)時(shí)鐘周期將會(huì)有請(qǐng)求輸入的指示時(shí),該緩存將把所述的突發(fā)標(biāo)志由LAST轉(zhuǎn)換為JOIN。這樣可保證即使所述的突發(fā)標(biāo)志為L(zhǎng)AST的突發(fā)將在下一個(gè)時(shí)鐘周期被輸出,該緩存的上一級(jí)仲裁器仍然來得及進(jìn)行預(yù)仲裁,實(shí)現(xiàn)兩個(gè)串突發(fā)的連續(xù)輸出。
如果當(dāng)前時(shí)鐘周期緩存獲得上級(jí)仲裁器的響應(yīng),則緩存當(dāng)前被選通的存儲(chǔ)模塊不作優(yōu)先級(jí)提升和串突發(fā)標(biāo)志轉(zhuǎn)換。
另外,若系統(tǒng)不采用優(yōu)先級(jí)提升機(jī)制和時(shí)間窗限制機(jī)制,則只有兩種優(yōu)先級(jí)的請(qǐng)求在頂層仲裁器中競(jìng)爭(zhēng),即HCREQ和LREQ。在這種方案中,頂層仲裁器只要發(fā)現(xiàn)第一類請(qǐng)求就將其輸出,無論當(dāng)時(shí)是否有第二類串突發(fā)正在輸出。
本發(fā)明可以用其它具體形式來實(shí)施,而不背離其精神或基本特征。所述的實(shí)施例在所有方面都被認(rèn)為僅是說明性的而非限制性的。
權(quán)利要求
1.一種總線仲裁裝置,包括頂層仲裁器,其特征在于,所述分級(jí)總線仲裁裝置還包括第一仲裁器,所述第一仲裁器用于對(duì)第一類請(qǐng)求進(jìn)行仲裁,其中第一類請(qǐng)求與第一類主單元有關(guān);第二仲裁器,所述第二仲裁器用于對(duì)第一類請(qǐng)求不同的第二類請(qǐng)求進(jìn)行仲裁,其中,第二類請(qǐng)求和與第一類主單元不同的第二類主單元有關(guān);其中,所述第一仲裁器和所述第二仲裁器分別自所述頂層仲裁器向下形成分級(jí)仲裁結(jié)構(gòu)。
2.如權(quán)利要求1所述的總線仲裁裝置,其特征在于,所述第一類主單元是對(duì)延遲要求高的主單元,所述第二類主單元是對(duì)帶寬要求高的主單元。
3.如權(quán)利要求1所述的總線仲裁裝置,其特征在于,所述分級(jí)仲裁結(jié)構(gòu)中,各級(jí)仲裁器之間以及主單元與仲裁器之間通過緩存相耦合。
4.如權(quán)利要求3所述的總線仲裁裝置,其特征在于,所述緩存為先進(jìn)先出緩存。
5.如權(quán)利要求4所述的總線仲裁裝置,其特征在于,所述緩存的深度為2。
6.如權(quán)利要求1所述的總線仲裁裝置,其特征在于,所述頂層仲裁器包含狀態(tài)機(jī),用于控制頂層仲裁器的工作狀態(tài),其中,所述狀態(tài)機(jī)包括三種狀態(tài)空閑狀態(tài)、選通第一類請(qǐng)求、選通第二類請(qǐng)求。
7.如權(quán)利要求6所述的總線仲裁裝置,其特征在于,系統(tǒng)采用串突發(fā)數(shù)據(jù)傳輸方式,所述頂層仲裁器從選通第一類請(qǐng)求的狀態(tài)跳至選通第二類請(qǐng)求的狀態(tài)必須滿足以下條件,即當(dāng)前被選通的第一類請(qǐng)求的串突發(fā)傳輸完畢,且有第二類請(qǐng)求等待輸出。
全文摘要
提供了一種總線仲裁裝置,包括頂層仲裁器,其特征在于,所述分級(jí)總線仲裁裝置還包括第一仲裁器,所述第一仲裁器用于對(duì)第一類請(qǐng)求進(jìn)行仲裁,其中第一類請(qǐng)求與第一類主單元有關(guān);第二仲裁器,所述第二仲裁器用于對(duì)第一類請(qǐng)求不同的第二類請(qǐng)求進(jìn)行仲裁,其中,第二類請(qǐng)求和與第一類主單元不同的第二類主單元有關(guān);其中,所述第一仲裁器和所述第二仲裁器分別自所述頂層仲裁器向下形成分級(jí)仲裁結(jié)構(gòu)。利用這種總線仲裁裝置,能夠提升總線仲裁效率的總線仲裁架構(gòu)。
文檔編號(hào)G06F13/364GK101038574SQ20061002479
公開日2007年9月19日 申請(qǐng)日期2006年3月17日 優(yōu)先權(quán)日2006年3月17日
發(fā)明者周振亞, 張亞林, 鄧良策 申請(qǐng)人:上海奇碼數(shù)字信息有限公司