專利名稱:共享資源的仲裁方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明有關(guān)于共享資源的仲裁方法及裝置。
背景技術(shù):
在一些例子中,一個數(shù)字信號處理(Digital Signal Processing, DSP)系統(tǒng)包括一共享系統(tǒng)總線,用于存取一共享資源,例如一共享內(nèi)存裝置。在兩個或多個主器件(master)同時競爭使用共享總線時,為了防止競爭或沖突,需要一仲裁器(arbiter)對主器件的請求進行仲裁,并準許一個主器件存取共享總線。仲裁器可利用一定的仲裁策略,比如說基于將時隙優(yōu)先(slot priorities)禾口循環(huán)分配(round robin distribution)相結(jié)合的仲裁策略。在每個仲裁周期(或時隙),仲裁器準許具有最高優(yōu)先級別的主器件存取該共享總線。在不同的仲裁時隙,不同的主器件具有最高優(yōu)先級別。令各仲裁時隙(其間特定的主器件具有最高優(yōu)先級別)具有不同之百分比,則可據(jù)此調(diào)整特定主器件使用共享總線的總量。
發(fā)明內(nèi)容
兩個或多個主器件同時競爭使用共享總線時,為了防止競爭或沖突,本發(fā)明提出共享資源仲裁的方法及裝置。 本發(fā)明的目的在于提供一種共享資源仲裁方法,包括監(jiān)視多個主器件中每個主器件對共享總線的利用;接收所述多個主器件中一個主器件使用所述共享總線的請求;將所述主器件對所述共享總線的利用與帶寬閾值進行比較;若所述主器件對所述共享總線的利用低于所述帶寬閾值,則仲裁所述請求;以及基于所述仲裁,準許所述請求,以使所述主器件使用所述共享總線。 本發(fā)明的目的在于提供另一種共享資源仲裁方法,包括監(jiān)視多個主器件的每一個主器件對共享總線的利用;從至少所述多個主器件中的幾個主器件接收使用所述共享總線的請求;對所述共享總線的利用低于對應(yīng)的帶寬閾值的主器件所發(fā)出的利用所述共享總線的請求指定正常加權(quán);對所述共享總線的利用高于或等于對應(yīng)的帶寬閾值的主器件所發(fā)出的利用所述共享總線的請求指定低加權(quán);考慮到所述多個請求的加權(quán),基于仲裁策略,對使用所述共享總線的請求進行仲裁,以及基于仲裁準許所述多個主器件中的一個主器件使用所述共享總線。 本發(fā)明的目的在于提供另一種共享資源仲裁方法,包括對多個主器件發(fā)出的使用共享總線的請求進行仲裁;以及基于回饋信息,控制所述多個主器件對所述共享總線帶寬的利用,所述回饋信息表明每個主器件對所述共享總線的利用,其中,對所述共享總線的利用高于或等于相應(yīng)閾值的主器件所發(fā)出的請求在仲裁之前被過濾出。 本發(fā)明的目的在于提供一種共享資源仲裁裝置,包括過濾器,用于對請求存取共享總線的多個主器件的請求進行過濾,所述過濾器將對所述共享總線的利用低于相應(yīng)帶寬閾值的多個主器件的請求予以通過;以及第一仲裁器,用于對通過所述過濾器的請求進行仲裁。 本發(fā)明的目的在于提供另一種共享資源仲裁裝置,包括第一過濾器,用于對請求存取共享總線的主器件所發(fā)出的請求進行過濾,所述第一過濾器對所述共享總線的利用低于相應(yīng)的帶寬閾值的主器件的請求指定正常加權(quán);第二過濾器,用于對請求存取所述共享總線的主器件所發(fā)出的請求進行過濾,所述第二過濾器對所述共享總線的利用高于或等于相應(yīng)的帶寬閾值的主器件的請求指定低加權(quán);以及仲裁器,考慮到所述多個請求的加權(quán),基于仲裁策略,對所述多個請求進行仲裁,并準許所述多個主器件中的一個主器件存取所述共享總線。 本發(fā)明的目的在于提供另一種共享資源仲裁裝置,包括多個主器件,每個主器件包括軟件應(yīng)用或硬件裝置;過濾器,用于對請求存取共享資源的所述多個主器件的請求進行過濾,所述過濾器僅將對所述共享資源的利用低于相應(yīng)帶寬閾值的主器件的請求予以通過;第一仲裁器,用以對通過所述過濾器的請求進行仲裁;第二仲裁器,用以對等待時間超過相應(yīng)潛伏閾值的主器件的請求進行仲裁;第三仲裁器,用以對主器件的請求進行仲裁,而不管所述共享總線的利用和等待時間的情況如何;以及合并單元,用以將所述第一仲裁器、所述第二仲裁器及所述第三仲裁器準許的請求進行合并。 本發(fā)明提出的共享資源仲裁的方法及裝置,對兩個或多個主器件同時競爭使用共享總線時所出現(xiàn)的競爭或沖突起到了改善的作用。
圖1A為具有帶寬控制仲裁的系統(tǒng)示意圖。 圖1B為仲裁電路的示意圖。 圖1C為具有優(yōu)先級別過濾器的仲裁電路的示意圖。 圖2為具有常數(shù)窗口長度的移動監(jiān)視窗口 (或歷史窗口)的示意圖。 圖3為可實施簡單移動平均過濾器的電路的示意圖。 圖4為用于實施指數(shù)加權(quán)移動平均過濾器的電路的示意圖。 圖5為顯示仲裁方案的示意圖。 圖6為包含一個仲裁模塊和一個優(yōu)先級別過濾器的系統(tǒng)的示意圖。 圖7為包含一個仲裁模塊和一個優(yōu)先級別過濾器的系統(tǒng)的示意圖。 圖8為定義多個優(yōu)先級的仲裁模塊的示意圖。 圖9為仲裁電路的示意圖。
具體實施方式
帶寬控制 參閱圖1A,圖1A為具有帶寬控制仲裁的系統(tǒng)示意圖。系統(tǒng)6包含多個主器件14,所述多個主器件14通過共享總線12存取共享資源8。為防止在多個主器件14間的沖突或競爭,仲裁電路IO對來自多個主器件14的請求進行仲裁,以決定在預(yù)設(shè)時間內(nèi)哪個主器件14能夠存取該共享資源8。例如,該多個主器件14可為多個硬件裝置(如多個數(shù)據(jù)處理器、多核處理器的多個處理器核心、多個信號處理器、多個直接內(nèi)存存取控制器、芯片組及/或多個微控制器)或多個軟件應(yīng)用(如多個信號編碼/譯碼應(yīng)用、多個媒體播放器及/或多個視頻會議應(yīng)用)。舉例而言,共享資源8可為內(nèi)存裝置或周邊裝置(如硬件加速器)。如下所述,仲裁電路10具有一些特性能夠?qū)崿F(xiàn)精確的帶寬控制、減少等待時間以及提高對于共享資源8的利用。 參閱圖1B,圖1B為仲裁電路的示意圖。仲裁電路10包含仲裁器22,以仲裁多個主器件14(圖中只顯示了一個主器件)對使用共享總線12的多個請求。在移動時間窗(moving time window)內(nèi),多個主器件14發(fā)出多個請求,根據(jù)該相應(yīng)的多個主器件14對共享總線12的利用量,優(yōu)先級別(priority)過濾器24則用來過濾這些請求。在該時間窗內(nèi),如果一個主器件對共享總線12的利用超過利用閾值(usage threshold),那么來自該主器件的請求則不會被發(fā)送至仲裁器22。隨著時間的推移,在移動時間窗期間,當(dāng)該主器件對共享總線12的利用降至低于該利用閾值時,那么來自該主器件的請求則被允許通過優(yōu)先級別過濾器24,并且與來自其它主器件的請求進行仲裁,其中其它主器件對共享總線12的利用低于相應(yīng)的利用閾值。通過監(jiān)視多個主器件14對共享總線12的利用(如根據(jù)在一個時間窗內(nèi)獲準主器件14存取該共享總線12的次數(shù),以監(jiān)視每個主器件14對共享總線12的利用,其中該時間窗可包括具有固定時間長度的移動時間窗),以及對未超過各自利用閾值的多個主器件14所發(fā)出的請求的仲裁,能夠?qū)Χ鄠€主器件14對共享總線12的利用進行更精確的控制。 對共享總線12的利用可從帶寬的觀點來看,如絕對帶寬(例如100MHz)或者總的總線帶寬的一個百分比??刂贫鄠€主器件14對共享總線12的利用可認為是控制多個主器件14的帶寬。因此,當(dāng)我們說"一個主器件14的帶寬",意思是主器件14所使用的共享總線12的帶寬。當(dāng)我們說主器件14具有50%的帶寬閾值,含義為主器件14對共享總線12的利用不應(yīng)超過共享總線12總帶寬的50%。 在這種描述中,依據(jù)系統(tǒng)6的實施,術(shù)語"帶寬"能夠有多種定義。例如,在一些實施例中,主器件的帶寬可指準許主器件存取預(yù)設(shè)接口 (interface)的時間量,可以測量這段時間作為時鐘周期(clock cycles)。在一些實施例中,主器件的帶寬可指在預(yù)設(shè)時間單位(given time unit)內(nèi)于接口之上轉(zhuǎn)移的字節(jié)數(shù)目。在一些實施例中,當(dāng)準許主器件存取一個接口 ,主器件的帶寬可指實際上數(shù)據(jù)于接口上傳送的時鐘周期的數(shù)目。對于任何預(yù)設(shè)的實施,帶寬的相同或不同的定義適用于所有主器件,相應(yīng)地,仲裁電路10精確的控制主器件的帶寬。 由于為了正常運作,每個主控器14可能需要使用一定量的總線帶寬,因此控制多個主控器14的帶寬非常有用。在一些例子中,通過對不同的多個主器件14適當(dāng)指定帶寬閾值,并控制每個主器件14的利用不超過相應(yīng)的帶寬閾值,所有的主器件14能夠擁有所分配的總線帶寬,例如至少兩個主器件具有不同的帶寬閾值或多個主器件具有相同帶寬閾值。這有利于不同開發(fā)者(developers)自行開發(fā)的應(yīng)用的整合。如果每個開發(fā)者設(shè)計的應(yīng)用在指定的帶寬工作,當(dāng)把這些應(yīng)用整合到系統(tǒng)6中時,這些應(yīng)用更有可能會正常運行。
舉例來說,仲裁電路10可為移動電話,一些主器件可為軟件應(yīng)用,例如,不同公司自行開發(fā)的調(diào)制解調(diào)器協(xié)議棧(modem protocol stack)、應(yīng)用操作系統(tǒng)(即plicationoperating system)以及音頻編解碼器(codec)或視頻編解碼器。當(dāng)把不同的軟件應(yīng)用安裝在移動電話中時,移動電話操作系統(tǒng)必須小心控制軟件應(yīng)用對共享總線12的利用,以便每個應(yīng)用有足夠的帶寬正常運作?;仞佇畔?feedback information)表明了多個主器件14對共享總線12的實際利用,通過這些回饋信息,移動電話能夠更精確的控制每個主器件14的帶寬,以確使所有的應(yīng)用正常運作。 優(yōu)先級別過濾器24包含多個監(jiān)視單元16(圖中僅顯示了一個),用于在一個移動時間窗內(nèi)連續(xù)監(jiān)視多個主器件14的帶寬,該移動時間窗也可認為是一個歷史窗口。在一些例子中,多個主器件14、仲裁器22、優(yōu)先級別過濾器24以及共享總線12是時鐘信號同步的,在該歷史窗口內(nèi),通過計算主器件14獲準存取共享總線12的時鐘周期的數(shù)目,監(jiān)視單元16估計出一個主器件14的帶寬。例如,如果通過仲裁器22的準許,主器件14對共享總線12的利用為具有512個時鐘周期的一個歷史窗口中的40個時鐘周期,那么主器件14的帶寬則估計為總線帶寬的7.8% (40/512*100%= 7.8% )。 比較單元(compare unit) 18將由監(jiān)視單元16所測定的總線的利用與利用閾值(如帶寬閾值)進行比較,并輸出信號26至過濾器20,過濾器20用于控制能否通過來自相應(yīng)主器件14的請求,以使請求進入仲裁器22進行仲裁。在圖1B的例子中,過濾器20是一個與門(AND gate),當(dāng)主器件14的帶寬低于(或高于或等于)對應(yīng)的帶寬閾值時,信號26為邏輯1 (或0)。當(dāng)信號26為邏輯1 ,來自主器件14的請求則通過過濾器20,并被送至仲裁器22。當(dāng)信號26為邏輯O,來自主器件14的請求則被過濾器20所阻止,并不能被送至仲裁器22。仲裁器22仲裁通過過濾器20的請求,并且根據(jù)仲裁使多個主器件14中的一個主器件獲準存取共享總線12。 根據(jù)每個主器件14使用共享總線12的時鐘周期的數(shù)目,測定主器件14的帶寬,并且對未超過帶寬閾值的主器件14的請求進行仲裁,實現(xiàn)了對帶寬的精確控制。這對于主要基于封包(packet)的交易(transaction)系統(tǒng)及在多個不同的主器件中具有非常不同的存取設(shè)定檔(access profiles)的系統(tǒng)是很有用處的。 相比之下,例如在通常系統(tǒng)中,可基于仲裁時隙(arbitration slots)來控制主器件的帶寬,因此,如果主器件獲準對X%的仲裁時隙存取共享總線,系統(tǒng)可以決定主器件具有XX的帶寬。然而,由于不同的操作會占用不同數(shù)目的時鐘周期,因此根據(jù)仲裁時隙監(jiān)視帶寬則會導(dǎo)致對總線的實際利用不準確的測量。例如,第一主器件可能耗用20多個時鐘周期發(fā)出請求,第二主器件可能耗用少于3個時鐘周期發(fā)出請求。如果第一主器件獲準對40%的仲裁時隙存取總線,第二主器件獲準對60%的時間存取總線,系統(tǒng)可能會作出錯誤的決定,即第二主器件具有比第一主器件更高的總線利用,而實際上第一主器件使用總線帶寬更大份額。 圖1C為具有優(yōu)先級別過濾器24的仲裁電路10的示意圖,其中優(yōu)先級別過濾器24用于過濾來自N個主器件14的請求。優(yōu)先級別過濾器24監(jiān)視主器件14對共享總線12的利用,并且只允許將對總線的利用低于對應(yīng)的帶寬閾值的主器件所發(fā)出的請求送至仲裁器22。對于每個主器件14具有一個對應(yīng)的監(jiān)視單元16、比較單元18以及過濾器20,這些部分的運作方式與圖IB中所舉例相似。 圖1C中則對應(yīng)主器件1、主器件i及主器件N分別有監(jiān)視單元1、監(jiān)視單元i及監(jiān)視單元N。對每個主器件14分配一定量的共享總線12利用。例如,14a表示的主器件l、14b表示的主器件i及14c表示的主器件N分別分配了 50% 、30%及20%的共享總線12的帶寬。當(dāng)每個主器件14所使用的共享總線12的量被精確控制,每個主器件14則能夠按照預(yù)期操作并利用分配的帶寬。
圖2為具有常數(shù)窗口長度的移動監(jiān)視窗口 (或歷史窗口)40的示意圖。在仲裁周期T = N期間,計算出在歷史窗口 40中準許每個主器件14存取共享總線12的時鐘周期的數(shù)目,即在窗口長度內(nèi)的獲準計數(shù)。該計算值代表對應(yīng)的主器件14對共享總線12的利用量。在下一個仲裁周期T二N+1期間(若為接下來第P個仲裁周期,則T二N+P,如圖2所示,P可為l),歷史窗口 40時移至下一仲裁周期,并且在歷史窗口 40中,對準許每個主器件14存取共享總線12的時鐘周期的數(shù)目進行更新。 在一些實施中,使用第一級移動平均數(shù)位過濾器(first order movingaveragedigital filter)監(jiān)視對共享總線12的利用?,F(xiàn)將該第一級移動平均數(shù)位過濾器的兩種變形描述如下。 簡單移動平均過濾器(Simple Moving Average Filter); 以下為關(guān)于一個簡單移動平均過濾器的描述,在N周期的總線平均獲準值計算如下
一 i /t S義0')其中x(i)為時間(i)的獲準值(方程式1) 在一些例子中,獲準值l(或O)意味著主器件獲準(未獲準)存取共享總線12。在一些例子中,時間i指的是時鐘周期i??偩€平均獲準值是范圍在0與1之間的數(shù)值。例如,總線平均獲準值為0.5,意味著在大概50%的時鐘周期內(nèi),主器件獲準存取共享總線12。平均獲準值也可代表在該時間窗內(nèi)每時鐘周期準許每個主器件14存取共享總線12的次數(shù)。 獲準值X(i)可以儲存在內(nèi)存中,該內(nèi)存具有N個入口,用于儲存長度為N或者N個時鐘周期的歷史窗口。隨著歷史窗口的時移,通過儲存最新的獲準值(如經(jīng)由入棧操作)并清除最早的獲準值(如經(jīng)由出棧操作)更新該內(nèi)存。決定平均獲準值包括在第一獲準值與第二獲準值之間決定差異,其中,第一獲準值(最新的獲準值)表明在最近時鐘周期,主器件是否獲準存取共享總線,第二獲準值(最早的獲準值)表明在時間窗的最早時鐘周期,主器件是否獲準存取共享總線。 上述的方程式1可重寫為下面的形式,以說明內(nèi)存入棧/出棧機制(mechanism):
= ^(A — 1) + ^ —義("AO) (方程式2) 在方程式2中,X(k)相當(dāng)于在時鐘周期k入棧一個獲準值至內(nèi)存,X(k-N)相當(dāng)于在時鐘周期k-N從內(nèi)存出棧一個獲準值。上述方程式2顯示了在時間k的平均獲準值依賴于時間k-N的獲準值,這意味著在方程式2中必須用大小為N的內(nèi)存實施計算。如果有M個仲裁器,則需要大小為MXN的內(nèi)存儲存M個歷史窗口 ,每個歷史窗口具有N個獲準值?;讷@準值和先前平均獲準值決定平均獲準值,獲準值表明在最近時鐘周期,主器件是否獲準存取共享總線,先前平均獲準值代表在最近時鐘周期之前,在時間窗的每時鐘周期,主器件獲準存取共享總線的平均次數(shù)。 為了支持涵蓋了大量時鐘周期N的歷史窗口,同時減少內(nèi)存大小,可以定義一個子窗口 (subiindow),并將子窗口作為過濾器移動增量。內(nèi)存的每個入口代表在一個子窗口期間,準許主器件存取的時鐘周期數(shù)目。 例如,假設(shè)歷史窗口具有128個時鐘周期的長度,利用的子窗口具有4個時鐘周期的長度,內(nèi)存的每個入口代表在4個時鐘周期的子窗口期間,準許主器件存取共享總線 12(認為是"獲準時鐘周期")的時鐘周期數(shù)目。通過這種方式,不是利用大小為128的內(nèi) 存儲存128個值1 (在每個時鐘周期內(nèi)得到獲準)或0 (在每個時鐘周期內(nèi)未得到獲準),而 是利用大小為32的內(nèi)存存儲32個范圍在0至4變化的值(每四個仲裁周期子窗口內(nèi)獲準 的時鐘周期的數(shù)目)。在一些例子中,子窗口的長度小于N/16,以減少子窗口在整體平均上 的影響。 當(dāng)使用子窗口時,上述方程式2中除了X(k)代表在子窗口周期獲準的時鐘周期的 數(shù)目,,代表在子窗口周期獲準的時鐘周期的平均數(shù)目,其它保持不變。
作為另一個例子,假設(shè)系統(tǒng)6具有8個競爭的主器件14,并且系統(tǒng)6利用長度為 N = 512個時鐘周期的歷史窗口和長度為16個時鐘周期的子窗口 (這意味著有32個子窗 口 )。主器件獲準子計數(shù)器(sub-counter)產(chǎn)生5位的計數(shù)值,以代表從0至16的計數(shù)值。 內(nèi)存的大小為8 X 5 = 40位,對每個子窗口 ,使用該內(nèi)存對8個主器件14儲存8個5位的 計數(shù)值。歷史窗口內(nèi)存大小為32X40 = 1280位,使用該歷史窗口內(nèi)存對32個子窗口儲存 8個主器件14的計數(shù)值。如果沒有使用子窗口 ,則需要大小為8 X 512 = 4096位的內(nèi)存。 因此,使用子窗口會相當(dāng)大的降低內(nèi)存大小和成本。通過使用子窗口時間增量,減少在執(zhí)行 主要窗口減法(subtraction)和內(nèi)存出棧操作時的頻率,以降低功率損耗。
圖3為可實施簡單移動平均過濾器的電路50的示意圖。邏輯單元(1ogicunit)51, 基于仲裁器22的信息,更新主器件獲準計數(shù)(master grant count)及主器件獲準子計數(shù) (master grant sub-count),其中該信息表明在每個時鐘周期內(nèi),是否準許主器件存取共 享總線12。仲裁器22發(fā)送信號52用以控制加法器(adder) 54,該加法器54添加1獲準值 (代表獲準)或0獲準值(代表未獲準)至主器件獲準子計數(shù)56,該主器件獲準子計數(shù)56 代表在最近的子窗口內(nèi)獲準的數(shù)目。在每一個子窗口期間,主器件獲準子計數(shù)56于每個時 鐘周期繼續(xù)添加1獲準值或0獲準值,僅當(dāng)子窗口的最后時鐘周期結(jié)束后,經(jīng)由入棧操作, 將主器件獲準子計數(shù)56儲存至內(nèi)存58。該入棧操作將主器件獲準子計數(shù)56入棧至內(nèi)存 58的入口 (entry)57,入口 57代表最近的子窗口?;讷@準子計數(shù)與先前平均獲準值決定 平均獲準值,子計數(shù)代表在最近子窗口期間,主器件獲準存取共享總線的次數(shù),先前平均獲 準值代表在最近子窗口期間之前,在時間窗的每時鐘周期,主器件獲準存取共享總線的平 均次數(shù),其中每個子窗口期間包括兩個或更多個時鐘周期。 信號52也會控制加法器60將當(dāng)前獲準值即1獲準值或0獲準值添加至主器件 獲準計數(shù)68,該主器件獲準計數(shù)68代表在歷史窗口 40內(nèi)獲準的時鐘周期的總數(shù)目。在子 窗口結(jié)束后,出棧操作將主器件獲準子計數(shù)62從內(nèi)存58的入口 64出棧(即內(nèi)存數(shù)據(jù)輸 出),入口64代表在歷史窗口40內(nèi)最早的子窗口。從主器件獲準計數(shù)68中減去(減去操 作66)主器件獲準子計數(shù)62,使用比較單元18將主器件獲準計數(shù)68與軟件定義分配限制 (defined allocationlimit) 72進行比較,比較結(jié)果74送至過濾器20。
邏輯單元(logic unit) 51可以作為圖IB中監(jiān)視單元16的一部分。對一個主器 件14,邏輯單元51更新主器件獲準計數(shù)68及主器件獲準子計數(shù)56。如果系統(tǒng)包含N個主 器件,如圖1C所示,則對N個主器件,要使用N個邏輯單元51更新主器件獲準計數(shù)及主器 件獲準子計數(shù)。 指數(shù)加權(quán)(exponentially weighted)移動平均過濾器
在一些實施中,使用指數(shù)加權(quán)移動平均過濾器。方程式2可通過對歷史窗口再增 加一個樣本(sample)來重寫,因此
単)
變?yōu)?br>
+1):
以及
+ 1)=
變?yōu)?br>
7(A: + 1)=
若定義"-
ZX(/)(方程式3)
(力鄰)+錄+ 1))
1
1
(A^X(A) + X(A + 1))(方程式4)
,得到:
= (1 — a)JT(/t — 1) +a (方程式5)
在這種形式下,總線平均獲準值取決于之前的平均值和當(dāng)前的總線獲準值,這意 味著計數(shù)器自身是必需的,而內(nèi)存不是。為了減少運行時的錯綜復(fù)雜的操作,選擇N使得
"=^。方程式5則可寫為 = -1) 4<(義(*) — -1)) >>尸),(方程式6) 其中,">>"表示一個邏輯移位操作。 通過引入長度為|3 = 2Q的子窗口計數(shù)器,可變換以上方程為^(A: + / ) =+ (0Sw6Cozmr(A: +釣》尸)—(I(A) (尸—0)),(方程式7) 由于運用移位操作,可能會引入一些舍入誤差(rounding error),但是這些舍入
誤差可通過使用更多位編碼:?來減少。 參閱圖4,圖4為用于實施指數(shù)加權(quán)移動平均過濾器的電路示意圖,使用電路80實 施指數(shù)加權(quán)移動平均過濾器。邏輯單元81基于仲裁器22的信息更新主器件獲準子計數(shù)及 平均帶寬,其中該信息表明在每個時鐘周期內(nèi),是否準許主器件存取共享總線12。仲裁器 22發(fā)送信號52用以控制加法器(adder) 54,該加法器54添加1獲準值或0獲準值至主器 件獲準子計數(shù)56,該主器件獲準子計數(shù)56代表在最近的子窗口內(nèi)獲準的時鐘周期的數(shù)目。 在一個子窗口結(jié)束后,通過使用移位器82,將主器件獲準子計數(shù)56移位P個位。移位器82 的輸出83代表方程式7中的值SubCount(k+l3) >>P。通過使用移位器86將平均帶寬 值84右移位P-Q個位。移位器86的輸出88代表方程式7中的值(J(/t) >> (尸-0)。從輸 出83中減去(減去操作90)輸出88以得到一個結(jié)果,將該結(jié)果與平均帶寬84相加(相加 操作92)。比較器94將平均帶寬84與軟件定義分配限制72相比較,并將比較結(jié)果100發(fā) 送至過濾器20。 在上述實施中,子窗口計數(shù)56降低了邏輯功率損耗。電路80的部分電路96用于計數(shù)主器件獲準子計數(shù),且與仲裁周期同步,而電路80的部分電路98用于計算平均帶寬, 且與子窗口邊界(subiindow boundaries)同步。相較于不使用子窗口 ,部分電路98在一 個更低的頻率下運作且消耗更少的功率。 在圖4的例子中,歷史窗口長度為2P時鐘周期,并且利用10位[P+9:P]值對平均 帶寬實施編碼(位編碼),如此可提供良好的監(jiān)視精確度。子窗口計數(shù)器設(shè)定為28時鐘周 期,其中Q < P。模擬顯示利用Q = P-S(S = 4或5)可以在功率與過濾器精確度之間提供 一種良好的平衡,其中,Q = P-S(S = 4或5)使得子窗口長度大約為歷史窗口長度的1/16 或1/32。 邏輯單元81可以作為圖IB中監(jiān)視單元16的一部分。對一個主器件14,邏輯單元 81更新主器件獲準子計數(shù)56及平均帶寬84。如果系統(tǒng)包含N個主器件,如圖1C所示,則 對N個主器件,要使用N個邏輯單元81更新主器件獲準子計數(shù)及平均帶寬。
仲裁 以下描述是在系統(tǒng)6中利用的仲裁方案(schemes)。根據(jù)系統(tǒng)的需求,對競爭的主 器件14所發(fā)的請求實施仲裁。 參閱圖5,圖5為顯示仲裁方案的示意圖。在一些實施中,可單獨使用循環(huán)(round robin)仲裁方案(如圖中102所示)及單獨使用固定優(yōu)先級別(如圖中104所示)仲裁方 案或使用兩種方案的結(jié)合。例如,在任一預(yù)設(shè)時間,若沒有主器件需要被賦予一個高于其它 主器件的優(yōu)先級別,那么則可使用簡單的循環(huán)方案或公平分配(fair-share)方案。
如果一些主器件相較于其它主器件具有更大的潛伏敏感(latencysensitive),那 么采用不均等的(uneven)優(yōu)先級別方案可能會有更好的結(jié)果。在一些例子中,通過使用固 定優(yōu)先級別仲裁可以實現(xiàn)不均等的優(yōu)先級別方案。如果敏感主器件連同請求同時提供了 "加權(quán)(weight)"或"優(yōu)先級(prioritylevel)"信息,那么在實施仲裁時則可使用這些信 息。例如,一個請求連同一個具有更高加權(quán)或優(yōu)先級的標志(flag),在仲裁期間該請求則可 能會被賦予更高的優(yōu)先級別。 如果不是所有的請求需要一個固定的優(yōu)先級別,那么可以使用在高優(yōu)先級別請求 間的固定優(yōu)先級別與請求間的循環(huán)回落相結(jié)合的方式。注意在一些實施中,當(dāng)所有主器件 請求總線時,循環(huán)仲裁方案能夠達到公平分享,當(dāng)一些主器件對某些仲裁時隙保持閑置時, 在那些仲裁時隙仲裁可能會偏重于一個或多個其它主器件。
也可使用不同于上述描述的其它仲裁方案。
最大潛伏控制(Maximum Latency Control): 應(yīng)用于系統(tǒng)6中的仲裁方案可以影響瞬時獲準決定(instantaneous grantingdecision),并且仲裁方案結(jié)合其它回饋控制能夠運作的很好。由于一些主器件可 能會停滯(未獲準總線)很長一段時間,因此除了利用帶寬,這對于監(jiān)視存取潛伏也是有 用的。停滯可能來自失去仲裁、長時間鎖定存取(long lockedaccesses)或帶寬限制。每 個主器件可有不同的約束,稱之為最大潛伏。例如,當(dāng)服務(wù)(servicing)從屬周邊(slave peripheral)時,如果潛伏超過閾值,會有數(shù)據(jù)丟失的危險。同樣的,當(dāng)處理處理器緩存 (cache)失誤時,如果潛伏超過閾值,可能會有性能損失,如進程間通信(interprocess communication, IPC)退化。 參閱圖6,圖6為包含一個仲裁模塊和一個優(yōu)先級別過濾器的系統(tǒng)的示意圖。在一些實施例中,系統(tǒng)110包含仲裁模塊126,用于對來自主器件14的請求進行仲裁,優(yōu)先級別 過濾器128,用于過濾發(fā)送至仲裁模塊126的請求。仲裁模塊126包含第一仲裁器122和第 二仲裁器116。第一仲裁器122對未超過其分配帶寬的主器件14所發(fā)出的請求進行仲裁, 且為其準許的請求指定預(yù)設(shè)(或正常)優(yōu)先級別。第二仲裁器116對等待時間高于閾值的 請求進行仲裁,且為其準許的請求指定高優(yōu)先級別。 第一仲裁器122產(chǎn)生輸出信號124,該輸出信號124包含由第一仲裁器122準許的 請求和標志,其中該標志表明準許請求具有預(yù)設(shè)優(yōu)先級別。第二仲裁器116產(chǎn)生輸出信號 118,該輸出信號118包含由第二仲裁器116準許的請求和標志,其中該標志表明準許請求 具有高優(yōu)先級別。 合并單元(merge unit) 120在輸出信號124與118之間進行仲裁,準許具有高優(yōu) 先級別的請求,并產(chǎn)生輸出信號136,該輸出信號136代表已經(jīng)準許的請求。如果高優(yōu)先級 別請求(即輸出信號118)和預(yù)設(shè)優(yōu)先級別請求(即輸出信號124)在同一仲裁周期到達合 并單元120,則準許發(fā)出高優(yōu)先級別請求的主器件14存取總線12。 需注意到主器件14發(fā)送相同的請求至第一仲裁器122與第二仲裁器116,那么可 能第一仲裁器122準許的請求與第二仲裁器116準許的請求相同。 優(yōu)先級別過濾器128包含監(jiān)視單元16、比較單元18及過濾器20,各部分的操作與 圖1B中的方法類似。過濾器20通過線路140接收比較單元18發(fā)出的比較結(jié)果,并通過線 路142接收請求。如果比較結(jié)果表明主器件的帶寬低于相應(yīng)的閾值,那么請求則通過過濾 器20,并被發(fā)送至仲裁器122,仲裁器122將該請求與其它帶寬低于相應(yīng)閾值的主器件14 所發(fā)出的請求一并進行仲裁。 優(yōu)先級別過濾器128包含"匱乏計數(shù)器(starvation counter) " 112,匱乏計數(shù)器 112可以為簡單的周期計數(shù)器(cycle counter),用于在主器件14請求共享總線12的時間 與主器件14獲準共享總線12的時間之間計算時鐘周期。當(dāng)匱乏計數(shù)器112超過軟件定義 限制時,則設(shè)定逾時(timeout)標志114,表明相應(yīng)的主器件發(fā)出的請求具有一個高優(yōu)先級 別。發(fā)送逾時標志114至過濾器138,過濾器138也通過信號線路144接收來自主器件14 的請求。當(dāng)逾時標志14具有邏輯高等級(level)時,發(fā)送請求至第二仲裁器116,第二仲裁 器116將其與其它等待時間超過對應(yīng)閾值的主器件14所發(fā)出的請求一并進行仲裁。在執(zhí) 行仲裁的過程中,仲裁器116不考慮主器件14是否超過其分配的帶寬。
由于第一仲裁器122對帶寬在控制之下(低于對應(yīng)的帶寬閾值)的主器件所發(fā)出 的請求予以仲裁,因此第一仲裁器122有時被認為是帶寬控制仲裁器。由于第二仲裁器116 對主器件所發(fā)出的請求予以仲裁,其中該主器件的潛伏在對應(yīng)的閾值之上且因此其請求具 有高優(yōu)先級別,因此第二仲裁器116有時被認為是匱乏(starvation)高優(yōu)先級別仲裁器。
即使仲裁模塊126內(nèi)部可有兩個仲裁器,仲裁模塊126能夠被視為單一固定優(yōu)先 級別仲裁器。優(yōu)先級別過濾器128能夠被視為一個結(jié)構(gòu),用于在發(fā)送請求至該單一固定優(yōu) 先級別仲裁器之前,附加加權(quán)(或優(yōu)先級)至請求,根據(jù)優(yōu)先級別過濾器128所指定的加 權(quán),該單一固定優(yōu)先級別仲裁器對請求進行仲裁。 在圖6的例子中,每個主器件14的等待時間閾值由軟件所設(shè)定。如果設(shè)定的等待 時間門坎過低,主器件14可能會連續(xù)地觸發(fā)(trigger)匱乏計數(shù)器112以設(shè)定高優(yōu)先級別 標志,使得主器件14獲準存取共享總線12,而不管其帶寬是否超過分配的帶寬。因此最好是設(shè)定適當(dāng)?shù)牡却龝r間閾值,以便盡少(sparingly)觸發(fā)匱乏計數(shù)器112。
帶寬最佳化(Bandwidth Optimization): 當(dāng)如圖1A、圖1B及圖2所利用帶寬控制總線仲裁時,總線資源可能未被完全使 用。例如,對于超過分配帶寬的一些主器件14可能需要使用共享總線12,但并沒有資格這 樣做,然而其它主器件14沒必要使用總線12卻有這樣的資格。因此,即使有主器件14需 要使用總線12,總線12卻成為空閑的。當(dāng)負責(zé)分配帶寬的軟件并未在全部時間準確預(yù)測多 個主器件14之間的實際帶寬分配時,則會發(fā)生這種情況。 在一些實施中,為了避免總線資源的利用率不高,只要應(yīng)用預(yù)測軟件模型時沒有
妨礙其對總線帶寬的控制,系統(tǒng)則允許在預(yù)測軟件模型之外使用總線帶寬。 參閱圖7,圖7為包含一個仲裁模塊和一個優(yōu)先級別過濾器的系統(tǒng)的示意圖。在一
些實施中,系統(tǒng)130包含仲裁模塊152,用于對來自主器件14的請求進行仲裁,以及優(yōu)先級
別過濾器128,用于對發(fā)送至仲裁模塊152的請求進行過濾。圖7中的優(yōu)先級別過濾器128
與圖6中的優(yōu)先級別過濾器128相同。 與圖6中的仲裁模塊相似,仲裁模塊152包含第一仲裁器122和第二仲裁器116。 此外,仲裁模塊152包含第三仲裁器132,用于對直接來自主器件14而未經(jīng)過優(yōu)先級別過濾 器154過濾的請求進行仲裁。這些請求可能由帶寬低于、等于或高于其分配的帶寬的主器 件14所發(fā)出。第三仲裁器132為其準許的請求指定低優(yōu)先級別。 如果沒有帶寬低于帶寬閾值的主器件發(fā)出請求或沒有潛伏高于閾值的主器件發(fā) 出請求,第三仲裁器132則允許帶寬高于帶寬閾值的主器件的請求,使之仍然使用共享總 線12,因此第三仲裁器132有時會被認為是資源最佳化仲裁器。 第三仲裁器132產(chǎn)生輸出信號134,該輸出信號134包含由第三仲裁器132準許的 請求和標志,其中該標志表明準許請求具有低優(yōu)先級別。合并單元120在輸出信號124U18 與134之間進行仲裁,準許具有高優(yōu)先級別的請求,并產(chǎn)生輸出信號136,該輸出信號136代 表已經(jīng)準許的請求(請求被獲準)。只有當(dāng)沒有其它具有更高優(yōu)先級別的請求(即預(yù)設(shè)優(yōu) 先級別的請求或高優(yōu)先級別的請求)時,合并單元120才會準許低優(yōu)先級別請求(即輸出 信號134)。 要注意到主器件14發(fā)送相同的請求至第一仲裁器122、第二仲裁器116與第三仲 裁器132,那么在相同的仲裁周期內(nèi)可能由第一仲裁器122、第二仲裁器116與第三仲裁器 132準許的請求是相同的。 當(dāng)沒有其它主器件14發(fā)出具有更高優(yōu)先級別的請求時,如果已經(jīng)使用了所有分 配帶寬的主器件14請求總線12,那么系統(tǒng)130允許該主器件14仍然獲準總線12。不管在 任何軟件模型預(yù)測下,只要總線12是可用的(available),則允許主器件14充分使用總線 12。這種"可用資源"最佳化可能會影響仲裁模塊152準確地分發(fā)共享總線12帶寬的能力, 這是因為低等級優(yōu)先級別存取仍然能夠在一段不容忽視的時間內(nèi)(相對于帶寬控制窗口) 鎖定總線。 在一些實施中,提供"軟模式(soft mode)"開/關(guān)切換器210以使能(enable)或 禁用(disable)對第三仲裁器132的使用,藉此來優(yōu)化總線帶寬的利用。例如,軟模式開/ 關(guān)切換器210可由軟件操作系統(tǒng)所控制。可為正在開發(fā)一種應(yīng)用(能夠作為主器件在系統(tǒng) 130上執(zhí)行)的開發(fā)者提供系統(tǒng)130。當(dāng)在系統(tǒng)130上僅安裝了一個應(yīng)用,可能沒有其它主器件(或僅有幾個主器件)與該應(yīng)用競爭使用共享資源,因此即使該應(yīng)用超過它的分配帶 寬,通過第三仲裁器132,該應(yīng)用也可經(jīng)常獲準存取共享資源。 當(dāng)有很多其它主器件競爭使用共享資源時,為精確決定應(yīng)用能否正常運作,開發(fā) 者可以關(guān)閉軟模式開/關(guān)切換器210,以使請求不能發(fā)送至第三仲裁器132。在這種情況 下,系統(tǒng)130被認為是在"硬模式(hard mode)"中進行操作。只有當(dāng)該應(yīng)用的帶寬利用未 超過預(yù)設(shè)(preset)閾值時,該應(yīng)用才能夠存取共享總線12。當(dāng)系統(tǒng)130在該硬模式下操作 時,如果該應(yīng)用能夠正常運作,那么當(dāng)系統(tǒng)130加載競爭共享資源的其它應(yīng)用時,該應(yīng)用正 常運作的可能性也很大。 即使仲裁模塊152內(nèi)部可能具有三個仲裁器,仲裁模塊152可認為是單一固定優(yōu) 先級別仲裁器。優(yōu)先級別過濾器128能夠被視為一個結(jié)構(gòu),用于在發(fā)送請求至該單一固定 優(yōu)先級別仲裁器之前,在請求上附加加權(quán)(或優(yōu)先級),根據(jù)優(yōu)先級別過濾器128所指定的 加權(quán),該單一固定優(yōu)先級別仲裁器對請求進行仲裁。 帶寬控制環(huán)路內(nèi)的潛伏最佳化(Latency Optimization in a BandwidthControlled Loop): 在一些實施中,系統(tǒng)利用了適用于自身的仲裁方案,以將未使用太多總線帶寬的 主器件14的潛伏最小化。利用了大部分的有效帶寬的主器件14由于具有更大份額的總線 時間,因此可能具有更低存取潛伏,而主器件14對總線12的偶爾請求或與歷史窗口 40相 比很短時間的請求卻可能停滯很長的時間,上述仲裁方案正是解決了這樣的問題。
帶寬控制環(huán)路連續(xù)的監(jiān)視和使用每個主器件14的帶寬利用。作為帶寬利用的一 個功能,同樣的信息可以回饋至仲裁方案,以扭轉(zhuǎn)偏差(bias)優(yōu)先級。在一些實施中,主器 件14發(fā)出的請求的優(yōu)先級別關(guān)于主器件14的帶寬具有反比(inverse)關(guān)系。因此,主器 件使用的帶寬越大,其請求具有的優(yōu)先級別越低。 例如,有一個較小的帶寬的第一主器件會早于具有更大帶寬的第二主器件獲準存 取該共享總線。由于第一主器件不必等待第二主器件,因此該第一主器件具有一個低潛伏。 由于第二主器件不得不等待第一主器件完成交易,因此第二主器件可有一個略高的潛伏, 但是因為第一主器件使用一個小帶寬,第一主器件的交易可以在很短的時間內(nèi)完成,因此 第二主器件的潛伏只是略有增加。 在一些實施中,為了減少在實施邏輯中的復(fù)雜度,可以在關(guān)于帶寬利用的反比關(guān) 系中動態(tài)指定優(yōu)先級別,根據(jù)主器件帶寬利用,對主器件進行分組,在相同組的主器件的請 求由相同的仲裁器仲裁,根據(jù)優(yōu)先級別與各組相關(guān)的帶寬利用的反比關(guān)系,來自不同組的 請求被賦予不同的優(yōu)先級別。 參閱圖8,圖8為定義多個優(yōu)先級的仲裁模塊的示意圖。在一些例子中,系統(tǒng)160 包含仲裁模塊164,該模塊定義了多個優(yōu)先級,以降低整體的潛伏。在這個例子中,定義了四 個優(yōu)先級。仲裁模塊164具有4個子仲裁器162a、 162b、 162c及162d,且每個子仲裁器使用 一個固定仲裁方案,如圖5中所示的那些仲裁方案。每個子仲裁器與一個帶寬范圍有關(guān),且 對帶寬利用落在此范圍內(nèi)的主器件發(fā)出的請求進行仲裁。 例如,子仲裁器162a對帶寬利用為0. 5至l(即50%至100% )的主器件所發(fā)出 的請求進行仲裁,子仲裁器162b對帶寬利用為0. 25至0. 5的主器件所發(fā)出的請求進行仲 裁,子仲裁器162c對帶寬利用為0. 125至0. 25的主器件所發(fā)出的請求進行仲裁,子仲裁器162d對帶寬利用為0至0. 125的主器件所發(fā)出的請求進行仲裁。 子仲裁器162a至162d的輸出的優(yōu)先級別與仲裁器相關(guān)帶寬范圍存在反比關(guān)系。 子仲裁器162a與最高的帶寬范圍有關(guān),因此子仲裁器162a準許的請求被指定具有最低優(yōu) 先級別。子仲裁器162d與最低的帶寬范圍有關(guān),因此子仲裁器162d準許的請求被指定具 有最高優(yōu)先級別。子仲裁器162c的輸出具有第二高優(yōu)先級別,子仲裁器162b的輸出具有 第三高優(yōu)先級別。 利用仲裁模塊164,可使具有較低帶寬的主器件所發(fā)出的請求具有較高的優(yōu)先級 別,并使具有較高帶寬的主器件所發(fā)出的請求具有較低的優(yōu)先級別。以這種方式,具有低帶 寬的主器件(其請求需要很短時間完成)將不必由于具有高帶寬的主器件(其請求需要很 長時間完成)正在使用總線12而等待很長時間以獲準存取共享總線12。
系統(tǒng)160包含帶寬利用監(jiān)視單元16,利用上述方法,帶寬利用監(jiān)視單元16對主器 件的帶寬予以監(jiān)視。比較單元18將主器件的帶寬利用與預(yù)定義(predefined)閾值(在此 例中例如0. 5、0. 25及0. 125)進行比較,以決定主器件與哪一個帶寬范圍相關(guān)聯(lián)。比較單 元18觸發(fā)器(flip-flop) 168,且觸發(fā)器168的輸出通過4位總線166上的四條線路分別傳 送至過濾器170a、170b、170c及170d。 如果主器件的帶寬利用在0. 5至1之間,那么在總線166上,觸發(fā)器168輸出二進 制(binary)信號1000,使得請求通過過濾器170a至子仲裁器162a。如果主器件的帶寬利 用在0. 25至0. 5之間,那么在總線166上,觸發(fā)器168輸出二進制信號0100,使得請求通 過過濾器170b至子仲裁器162b。如果主器件的帶寬利用在0. 125至0. 25之間,那么在總 線166上,觸發(fā)器168輸出二進制信號0010,使得請求通過過濾器170c至子仲裁器162c。 如果主器件的帶寬利用在0至0. 125之間,那么在總線166上,觸發(fā)器168輸出二進制信號 0001,使得請求通過過濾器170d至子仲裁器162d。 在圖8中顯示了一個主器件14、一個監(jiān)視單元16、一個比較單元18、一個觸發(fā)器 168及四個相應(yīng)的過濾器170a至170d。系統(tǒng)可以有多個主器件,每個主器件與一個監(jiān)視單 元、一個比較單元、一個觸發(fā)器及四個過濾器相關(guān)聯(lián),其中請求通過這四個過濾器且分別送 至子仲裁器162a至162d。 在一些實施中,可以對帶寬范圍做2的冪(power)的細分(sub-division),對于簡 單比較邏輯(只需要少數(shù)位),細分能夠行之有效。帶寬范圍也可分為其它任何數(shù)目的細 分。 在一些實施中,在圖7的系統(tǒng)130中,帶寬控制仲裁器(即第一仲裁器122)及資 源最佳化仲裁器(即第三仲裁器132)都可以由圖8中的仲裁模塊164所取代。當(dāng)?shù)却龝r 間超過閾值,由于匱乏高優(yōu)先級別仲裁器(即第二仲裁器116)可用作置換,因此匱乏高優(yōu) 先級別仲裁器(即第二仲裁器116)可以保持和之前一樣。 在圖8中仲裁模塊164對請求應(yīng)用不同的加權(quán)或優(yōu)先級,其中請求由帶寬利用屬 于不同范圍的主器件所發(fā)出。在一些實施中,針對分配帶寬利用(而非帶寬利用)對請求 應(yīng)用加權(quán)。每個帶寬閾值代表分配給相應(yīng)主器件的該總線帶寬的百分比。例如,第一仲裁 器對帶寬利用在50%與100%的分配帶寬之間的主器件發(fā)出的請求進行仲裁。比如可以包 含來自第一主器件的請求,該第一主器件分配了 5%的總的總線帶寬且使用了 50%或更多 的分配帶寬,還可包含來自第二主器件的請求,該第二主器件分配了 60%的總的總線帶寬且使用了 50%或更多的分配帶寬。第二仲裁器對帶寬利用在25%與50%的分配帶寬之間 的主器件發(fā)出的請求進行仲裁,第三仲裁器對帶寬利用在12.5%與25%的分配帶寬之間 的主器件發(fā)出的請求進行仲裁,以及第四仲裁器對帶寬利用在0與12. 5%的分配帶寬之間 的主器件發(fā)出的請求進行仲裁。 當(dāng)多個主器件競爭總線帶寬的類似份額時,可以有助于使用優(yōu)化潛伏分發(fā)帶寬。 然而,相較于使用了大量總線帶寬的主器件來說,可能無法幫助降低使用了非常少總線帶 寬的主器件的潛伏。 在一些實施中,一個系統(tǒng)包含兩種加權(quán)類型的結(jié)合基于使用的分配帶寬的百分 比及使用的總的總線帶寬的百分比。這可能會增加仲裁器邏輯復(fù)雜度和所需時間。作為一 種權(quán)衡,系統(tǒng)可在圖8例子中增加帶寬劃分的數(shù)目。例如,仲裁模塊164能夠有與五個帶寬 范圍相關(guān)聯(lián)的五個仲裁器,其中五個帶寬范圍為(50%至100% ) 、 (25%至50% ) 、 (12. 5% 至25% ) 、 (6. 25%至12. 5% )及(0%至6. 25% ),且仲裁模塊164具有指定了五個不同加 權(quán)或優(yōu)先級的輸出。 如果潛伏對一些主器件(如DSP核)至關(guān)重要,那么可對這些主器件的請求指定 最高優(yōu)先級別,并且可利用最終(final)固定方案仲裁,以允許具有最高優(yōu)先級別的請求 置換任何其它具有較低優(yōu)先級別的請求。 在一些實施中,一些請求具有內(nèi)建(built-in)加權(quán),如高速緩存行組填充(cache line fill),且此添加的信息能夠用于置換任何等級的仲裁優(yōu)先級別。若利用此種結(jié)構(gòu),由 于其優(yōu)先于帶寬控制環(huán)路,因此應(yīng)當(dāng)審查其在系統(tǒng)的其它部分所起的作用。由于有利于保 持帶寬控制系統(tǒng),因此在一些例子中,利用行組填充信息能夠置換請求加權(quán)的最后等級,但 不置換匱乏控制結(jié)構(gòu)或帶寬控制結(jié)構(gòu)。 參閱圖9,圖9為仲裁電路的示意圖。如上所述,用于仲裁主器件14的請求182的 仲裁電路180有多重仲裁方案。通過針對每一主器件14使用指數(shù)加權(quán)移動平均過濾器(如 圖4),總線通過監(jiān)視單元184監(jiān)視主器件14的帶寬利用,并且監(jiān)視單元184可發(fā)送請求帶 寬過濾信號至帶寬請求過濾器196,及發(fā)送請求帶寬加權(quán)信號至帶寬控制仲裁器192和非 帶寬控制仲裁器198。可調(diào)整過濾器長度(即歷史窗口40的長度),如由64個時鐘周期調(diào) 整至256個時鐘周期(例如,若封包大小或存取持續(xù)時間超過32個周期,則能夠上至512 時鐘周期)。為降低功率損耗,可利用具有1/16的過濾器長度的子窗口計數(shù)器來實施過濾 器。由于指數(shù)加權(quán)移動平均過濾器不需要內(nèi)存,因此其更易于實施,且具有接近簡單移動平 均過濾器的性能,尤其是在軟模式下。在軟模式下,若沒有來自帶寬低于相應(yīng)閾值的主器件 的請求,帶寬超過相應(yīng)閾值的主器件則仍然能夠存取共享總線12。 當(dāng)潛伏上升超過閾值時,利用匱乏計數(shù)器186提供優(yōu)先級別置換(高優(yōu)先級別請 求)。軟件可編程匱乏使能過濾器188將匱乏計數(shù)(starvation count)與可編程潛伏閾值 比較。軟件為匱乏使能過濾器188設(shè)定閾值,以防止故障情況,例如逾時(若逾時,匱乏計 數(shù)器186發(fā)送請求逾時信號至匱乏使能過濾器188)。選擇閾值,以降低對最小帶寬分配的 影響。 仲裁電路180包含仲裁器,以降低平均潛伏,達到更好的進程間通信 (interprocess communication, IPC)。仲裁在三個平行前端(front)執(zhí)行。利用簡單固定 優(yōu)先級別仲裁方案,匱乏高優(yōu)先級別仲裁器190對通過了匱乏使能過濾器188的請求進行。匱乏高優(yōu)先級別仲裁 器190準許的請求具有一個高優(yōu)先級別。 帶寬控制仲裁器192對通過帶寬請求過濾器196的請求進行仲裁,其中 由帶寬控制仲裁器192準許的請求具有預(yù)設(shè)優(yōu)先級別。在四個或五個加權(quán)子仲裁 (sub-arbitration)單元194間分配仲裁。另外,帶寬控制仲裁器192包含帶寬請求加權(quán)。 請求的加權(quán)反比于相應(yīng)主器件所使用的當(dāng)前帶寬。 非帶寬(non-bandwidth)控制仲裁器198對未過濾(即不管主器件的帶寬利用) 的主器件14的請求進行仲裁。由非帶寬控制仲裁器198準許的請求具有一個低優(yōu)先級別。 另外,非帶寬控制仲裁器196包含帶寬請求加權(quán),并且與帶寬控制仲裁器192類似,非帶寬 控制仲裁器198的仲裁也是在四個或五個加權(quán)子仲裁單元194間分配,且請求的加權(quán)關(guān)于 相應(yīng)主器件14所使用的當(dāng)前帶寬具有反比關(guān)系。這使得可用帶寬可達到最佳化。
合并單元200將來自匱乏高優(yōu)先級別仲裁器190、帶寬控制仲裁器192及非帶寬控 制仲裁器198的請求合并。 在一些實施中,為降低軟件控制需求,利用總線平均封包大小監(jiān)視單元202監(jiān)視 與請求相關(guān)的平均封包大小??偩€平均封包大小監(jiān)視單元202可與帶寬監(jiān)視單元(如184) 類似,但并非對每個主器件都要復(fù)制該總線平均封包大小監(jiān)視單元202。例如,即使有多個 主器件14,也只利用一個封包大小監(jiān)視單元202??偩€平均封包大小監(jiān)視單元202輸出過 濾器長度控制信號204,以控制指數(shù)加權(quán)移動平均過濾器184的歷史窗口 40的長度。通過 監(jiān)視平均封包大小,可調(diào)整過濾器長度至適合平均封包大小,以提高過濾精確度。在任一預(yù) 設(shè)時間,對于所有的指數(shù)加權(quán)移動平均過濾器來說,過濾器長度是相同的。模擬顯示,當(dāng)過 濾器長度大概為平均封包大小的16倍時,能夠達到可接受的過濾器精確度。
雖然本發(fā)明已用較佳實施例揭露如上,但其它實施及應(yīng)用也在本發(fā)明權(quán)利要求范 圍內(nèi)。例如,可利用操作流水線(pipelining)及上下文交換(contextsw即ping),以便在先 前準許的主器件實施的操作完成之前,準許主器件存取共享總線。共享總線12可以存取不 同于以上描述的一個資源。例如,該資源可為通信端口、串行(serial)或并行(parallel) 端口 、輸入/輸出端口 、硬件加速器、硬盤驅(qū)動器、光盤驅(qū)動器、閃存或其它類型儲存裝置。 對于不需要通過總線存取的資源,可利用上述仲裁方案對請求進行仲裁。例如,可無線存取 共享資源。主器件可以無線發(fā)送請求以存取一個儲存裝置。為利用無線通道(channel)接 收或發(fā)送數(shù)據(jù),主器件對該無線通道發(fā)送請求。 通過從屬(slave)裝置,利用主器件的請求可執(zhí)行某些動作。例如,主器件可以是 在具有多個致動器(actuators)的機器人上執(zhí)行的硬件模塊或軟件應(yīng)用,如用于控制機器 人胳膊和腿的致動器。主器件可為不同的控制結(jié)構(gòu),以根據(jù)各種不同的準則(guidelines) 控制機器人的移動,且不同的主器件可能會以不同的方式競爭調(diào)整致動器。例如,向前移動 控制主器件可能想要在某個方向控制機器人移動腿,以實現(xiàn)一個目的速度,同時碰撞避免 主器件(collision avoidance master)可能想要在另一方向控制機器人移動腿,以避免與 物體碰撞。利用上述仲裁方案,允許每個主器件各自具有對機器人腿控制的分配額度,其中 對于主器件降低了潛伏,提供匱乏置換以確保沒有主器件等待的長度超過相應(yīng)潛伏閾值。
本發(fā)明已揭示若干較佳實施例如上,僅用于幫助了解本發(fā)明的實施,非用以限定 本發(fā)明的精神,其專利保護范圍應(yīng)根據(jù)前述的權(quán)利要求范圍及其等同領(lǐng)域而定,而熟悉此領(lǐng)域的技術(shù)人員在領(lǐng)悟本發(fā)明的精神后,所作更動潤飾及等同的變化替換,仍不脫離本發(fā) 明的技術(shù)范圍。
權(quán)利要求
一種共享資源的仲裁方法,其特征在于,所述方法包括監(jiān)視多個主器件中每個主器件對共享總線的利用;接收所述多個主器件中一個主器件使用所述共享總線的請求;將所述主器件對所述共享總線的利用與帶寬閾值進行比較;若所述主器件對所述共享總線的利用低于所述帶寬閾值,則仲裁所述請求;以及基于所述仲裁,準許所述請求,以使所述主器件使用所述共享總線。
2. 如權(quán)利要求1所述的共享資源的仲裁方法,其特征在于,所述方法更包括利用所述 共享總線存取內(nèi)存裝置及周邊裝置中的至少一個。
3. 如權(quán)利要求1所述的共享資源的仲裁方法,其特征在于,所述方法更包括 連續(xù)地監(jiān)視所述多個主器件對所述共享總線的利用;以及在每個仲裁周期,接收從零個或多個主器件發(fā)出的對所述共享總線利用的零個或多個 請求,決定發(fā)送所述多個請求的所述多個主器件對所述共享總線的利用,以及對利用低于 相應(yīng)多個帶寬閾值的相應(yīng)多個主器件的請求進行仲裁。
4. 如權(quán)利要求1所述的共享資源的仲裁方法,其特征在于,根據(jù)在時間窗內(nèi)準許所述 主器件存取所述共享總線的次數(shù),監(jiān)視每個主器件對所述共享總線的利用。
5. 如權(quán)利要求4所述的共享資源的仲裁方法,其特征在于,所述方法包括決定平均獲 準值,所述平均獲準值代表在所述時間窗內(nèi)每時鐘周期準許每個主器件存取所述共享總線 的次數(shù)。
6. 如權(quán)利要求5所述的共享資源的仲裁方法,其特征在于,決定所述平均獲準值包括 在第一獲準值與第二獲準值之間決定差異,其中,所述第一獲準值表明在最近時鐘周期,所 述主器件是否獲準存取所述共享總線;所述第二獲準值表明在所述時間窗的最早時鐘周 期,所述主器件是否獲準存取所述共享總線。
7. 如權(quán)利要求5所述的共享資源的仲裁方法,其特征在于,基于獲準值和先前平均獲 準值決定所述平均獲準值,所述獲準值表明在最近時鐘周期,所述主器件是否獲準存取所 述共享總線;所述先前平均獲準值代表在最近時鐘周期之前,在所述時間窗的每時鐘周期, 所述主器件獲準存取所述共享總線的平均次數(shù)。
8. 如權(quán)利要求5所述的共享資源的仲裁方法,其特征在于,基于獲準子計數(shù)與先前平 均獲準值決定所述平均獲準值,所述子計數(shù)代表在最近子窗口期間,所述主器件獲準存取 所述共享總線的次數(shù);所述先前平均獲準值代表在最近子窗口期間之前,在所述時間窗的 每時鐘周期,所述主器件獲準存取所述共享總線的平均次數(shù),其中每個子窗口期間包括兩 個或更多個時鐘周期。
9. 如權(quán)利要求4所述的共享資源的仲裁方法,其特征在于,所述時間窗包括具有固定 時間長度的移動時間窗。
10. 如權(quán)利要求4所述的共享資源的仲裁方法,其特征在于,所述方法包括在所述時間 窗內(nèi)的每個時鐘周期,為每個主器件在內(nèi)存中儲存獲準值,所述獲準值表明在所述相應(yīng)的 時鐘周期,所述相應(yīng)主器件是否獲準存取所述共享總線。
11. 如權(quán)利要求4所述的共享資源的仲裁方法,其特征在于,所述方法包括在所述時間 窗內(nèi)的每個子窗口期間,為每個主器件在內(nèi)存中儲存獲準子計數(shù),所述獲準子計數(shù)表明在 所述相應(yīng)的子窗口期間,所述相應(yīng)主器件獲準存取所述共享總線的次數(shù),其中每一個子窗口期間包括兩個或更多個時鐘周期。
12. 如權(quán)利要求1所述的共享資源的仲裁方法,其特征在于,所述方法更包括對主器件的請求進行仲裁,其中所述請求等待時間高于相應(yīng)潛伏閾值,除此之外對所述共享總線的利用低于相應(yīng)帶寬閾值的主器件的請求進行仲裁,基于所述兩個仲裁,準許所述多個主器件的一個主器件使用所述共享總線。
13. 如權(quán)利要求12所述的共享資源的仲裁方法,其特征在于,所述方法更包括相對于等待時間低于或等于相應(yīng)潛伏閾值的主器件的請求,對等待時間高于相應(yīng)潛伏閾值的主器件的請求指定更高優(yōu)先級別。
14. 如權(quán)利要求1所述的共享資源的仲裁方法,其特征在于,所述方法更包括不管所述共享總線的利用對所有主器件的請求進行仲裁,除此之外對所述共享總線的利用低于相應(yīng)帶寬閾值的主器件的請求進行仲裁,基于所述兩個仲裁,準許所述多個主器件的一個主器件使用所述共享總線。
15. 如權(quán)利要求12所述的共享資源的仲裁方法,其特征在于,所述方法更包括相對于所述共享總線的利用高于或等于相應(yīng)帶寬閾值的主器件的請求,為對所述共享總線的利用低于相應(yīng)帶寬閾值得主器件的請求指定更高優(yōu)先級別。
16. 如權(quán)利要求1所述的共享資源的仲裁方法,其特征在于,至少兩個主器件具有不同的帶寬閾值。
17. 如權(quán)利要求1所述的共享資源的仲裁方法,其特征在于,所述多個主器件具有相同帶寬閾值。
18. 如權(quán)利要求1所述的共享資源的仲裁方法,其特征在于,每個帶寬閾值代表分配給相應(yīng)主器件的所述總線帶寬的百分比。
19. 如權(quán)利要求1所述的共享資源的仲裁方法,其特征在于,所述方法更包括從算一仲裁器的多個子仲裁器中選擇其中之一,以對所述請求進行仲裁,其中,每個子仲裁器對應(yīng)總線帶寬利用等級的一個范圍,以使對總線帶寬利用等級在相同范圍內(nèi)的主器件的請求由相同的子仲裁器來進行仲裁,及對總線帶寬利用等級在不同范圍內(nèi)的主器件的請求由不同的子仲裁器來進行仲裁。
20. 如權(quán)利要求19所述的共享資源的仲裁方法,其特征在于,所述方法更包括對由第一子仲裁器準許的第一請求指定高于第二子仲裁器準許的第二請求的優(yōu)先級別,其中相較于所述第二子仲裁器,所述第一子仲裁器對應(yīng)于總線帶寬利用等級的更低范圍。
21. —種共享資源的仲裁方法,其特征在于,所述方法包括監(jiān)視多個主器件的每一個主器件對共享總線的利用;從至少所述多個主器件中的部分主器件接收使用所述共享總線的請求;對所述共享總線的利用低于對應(yīng)的帶寬閾值的主器件所發(fā)出的使用所述共享總線的請求指定正常加權(quán);對所述共享總線的利用高于或等于對應(yīng)的帶寬閾值的主器件所發(fā)出的利用所述共享總線的請求指定低加權(quán);考慮到所述正常加權(quán)及低加權(quán),基于仲裁策略,對使用所述共享總線的請求進行仲裁,以及基于仲裁準許所述多個主器件中的一個主器件使用所述共享總線。
22. 如權(quán)利要求21所述的共享資源的仲裁方法,其特征在于,所述方法更包括監(jiān)視所 述多個主器件對所述共享總線的利用的等待時間,并對所述等待時間高于等待閾值的主器 件發(fā)出的利用所述共享總線的請求指定高加權(quán)。
23. 如權(quán)利要求21所述的共享資源的仲裁方法,其特征在于,指定正常加權(quán)包括根據(jù) 所述多個主器件對所述共享總線利用帶寬的反比關(guān)系,指定多個正常加權(quán),其中對具有更 低的所述共享總線利用帶寬的主器件發(fā)出的請求指定更高的正常加權(quán)。
24. 如權(quán)利要求21所述的共享資源的仲裁方法,其特征在于,所述方法包含提供選項, 用以禁用對于請求的低加權(quán)的指定,其中所述請求由對所述共享總線的利用高于或等于相 應(yīng)帶寬閾值的主器件所發(fā)出,以使得對所述共享總線的利用高于或等于相應(yīng)帶寬閾值的主 器件的請求不能夠參與仲裁。
25. —種共享資源的仲裁方法,其特征在于,所述方法包括 對多個主器件發(fā)出的利用共享總線的請求進行仲裁;以及基于回饋信息,控制所述多個主器件對所述共享總線帶寬的利用,所述回饋信息表明 每個主器件對所述共享總線的利用,其中,對所述共享總線的利用高于或等于相應(yīng)閾值的 主器件所發(fā)出的請求在仲裁之前被過濾出。
26. 如權(quán)利要求25所述的共享資源的仲裁方法,其特征在于,所述方法更包括通過分 別對等待時間超過相應(yīng)潛伏閾值的主器件發(fā)出的請求進行仲裁,控制利用所述共享總線的 潛伏,及合并所述兩個仲裁的準許。
27. 如權(quán)利要求25所述的共享資源的仲裁方法,其特征在于,所述方法更包括通過利 用多個仲裁器,對于對所述共享總線的利用低于相應(yīng)閾值的主器件發(fā)出的請求進行仲裁, 以改善利用所述共享總線的潛伏,每個仲裁器對應(yīng)總線帶寬利用等級的一個范圍,以便對 總線帶寬利用等級在相同范圍內(nèi)的主器件的請求由相同的仲裁器來進行仲裁,及對總線帶 寬利用等級在不同范圍內(nèi)的主器件的請求由不同的仲裁器來進行仲裁。
28. 如權(quán)利要求25所述的共享資源的仲裁方法,其特征在于,所述方法更包括分別對 所有主器件的請求進行仲裁,而不管所述共享總線的利用情況,增加所述共享總線的利用,及合并所述兩個仲裁的準許。
29. —種共享資源的仲裁裝置,其特征在于,所述裝置包括過濾器,用于對存取共享總線的多個主器件的請求進行過濾,所述過濾器允許對所述 共享總線的利用低于相應(yīng)帶寬閾值的多個主器件的請求通過;以及 第一仲裁器,用于對通過所述過濾器的請求進行仲裁。
30. 如權(quán)利要求29所述的共享資源的仲裁裝置,其特征在于,所述裝置更包括內(nèi)存裝 置,通過所述共享總線,所述多個主器件能夠存取所述內(nèi)存裝置。
31. 如權(quán)利要求29所述的共享資源的仲裁裝置,其特征在于,所述裝置更包括所述多 個主器件。
32. 如權(quán)利要求31所述的共享資源的仲裁裝置,其特征在于,所述多個主器件的每一 個主器件包括軟件應(yīng)用或硬件裝置。
33. 如權(quán)利要求29所述的共享資源的仲裁裝置,其特征在于,所述過濾器包括移動平 均過濾器,基于每個主器件在移動時間窗內(nèi)獲準存取所述共享總線的次數(shù),所述移動平均 過濾器用于對所述多個主器件的請求進行過濾。
34. 如權(quán)利要求33所述的共享資源的仲裁裝置,其特征在于,所述裝置更包括內(nèi)存,在每時鐘周期,對每一個主器件儲存獲準值,所述獲準值表明在所述相應(yīng)時鐘周期內(nèi),所述相應(yīng)主器件是否獲準存取所述共享總線。
35. 如權(quán)利要求34所述的共享資源的仲裁裝置,其特征在于,在每時鐘周期,對于每個主器件,所述移動平均過濾器在所述內(nèi)存內(nèi)的最近時鐘周期的所述獲準值與所述內(nèi)存內(nèi)的最早時鐘周期的所述獲準值之間決定差異。
36. 如權(quán)利要求33所述的共享資源的仲裁裝置,其特征在于,所述裝置更包括內(nèi)存,在所述時間窗內(nèi)的每一個子窗口 ,對每一個主器件儲存獲準子計數(shù),所述子計數(shù)表明對于所述相應(yīng)子窗口 ,所述相應(yīng)主器件獲準存取所述共享總線的次數(shù),每一個子窗口包括兩個或多個時鐘周期。
37. 如權(quán)利要求36所述的共享資源的仲裁裝置,其特征在于,在每時鐘周期,對每一個主器件,所述移動平均過濾器在所述內(nèi)存內(nèi)的最近子窗口的所述獲準子計數(shù)與所述內(nèi)存內(nèi)的最早子窗口的所述獲準子計數(shù)之間決定差異。
38. 如權(quán)利要求33所述的共享資源的仲裁裝置,其特征在于,對每一個主器件,所述過濾器決定平均獲準值,所述平均獲準值代表在所述時間窗內(nèi),每時鐘周期所述主器件獲準存取所述共享總線的所述平均次數(shù)。
39. 如權(quán)利要求38所述的共享資源的仲裁裝置,其特征在于,其中根據(jù)獲準值和先前平均獲準值,所述過濾器決定所述平均獲準值,其中,所述獲準值表明在最近時鐘周期所述主器件是否獲準存取所述共享總線,所述先前平均獲準值表明在最近時鐘周期之前,在所述時間窗的每時鐘周期,所述主器件獲準存取所述共享總線的平均次數(shù)。
40. 如權(quán)利要求30所述的共享資源的仲裁裝置,其特征在于,所述過濾器包括第一儲存裝置,用于儲存獲準子計數(shù),所述獲準子計數(shù)表明在最近子窗口期間,所述主器件獲準存取所述共享總線的次數(shù);第二儲存裝置,用于儲存先前平均獲準值,所述先前平均獲準值表明在最近子窗口期間之前,在所述時間窗的每時鐘周期,所述主器件獲準存取所述共享總線的平均次數(shù),每個子窗口期間包括兩個或多個時鐘周期;以及基于所述獲準子計數(shù)和所述先前平均獲準值,所述過濾器決定所述平均獲準值。
41. 如權(quán)利要求29所述的共享資源的仲裁裝置,其特征在于,所述裝置更包括第二仲裁器,用于對等待時間超過相應(yīng)潛伏閾值的主器件的請求進行仲裁。
42. 如權(quán)利要求41所述的共享資源的仲裁裝置,其特征在于,所述裝置更包括合并單元,用于合并所述第一仲裁器和所述第二仲裁器獲準的請求,其中,相對于所述第一仲裁器準許的請求,對所述第二仲裁器準許的請求賦予更高優(yōu)先級別。
43. 如權(quán)利要求29所述的共享資源的仲裁裝置,其特征在于,所述裝置更包括第二仲裁器,用于對所有主器件的請求進行仲裁,而不管所述共享總線的利用情況。
44. 如權(quán)利要求43所述的共享資源的仲裁裝置,其特征在于,所述裝置更包括合并單元,用于合并所述第一仲裁器和所述第二仲裁器準許的請求,其中,相對于所述第二仲裁器準許的請求,對所述第一仲裁器準許的請求賦予更高優(yōu)先級別。
45. 如權(quán)利要求29所述的共享資源的仲裁裝置,其特征在于,所述第一仲裁器包括多個子仲裁器,每個子仲裁器對應(yīng)總線利用等級范圍,每個子仲裁器對總線利用等級落入所述子仲裁器相應(yīng)的總線利用等級范圍內(nèi)的主器件的請求進行仲裁。
46. 如權(quán)利要求45所述的共享資源的仲裁裝置,其特征在于,相對于第二子仲裁器準 許的請求,對第一子仲裁器準許的請求賦予更高優(yōu)先級別,其中相較于所述第二子仲裁器, 所述第一子仲裁器對應(yīng)更低總線帶寬利用等級范圍。
47. —種共享資源的仲裁裝置,其特征在于,所述裝置包括第一過濾器,用于對請求存取共享總線的主器件所發(fā)出的請求進行過濾,所述第一過 濾器對所述共享總線的利用低于相應(yīng)的帶寬閾值的主器件的請求指定正常加權(quán);第二過濾器,用于對請求存取所述共享總線的主器件所發(fā)出的請求進行過濾,所述第 二過濾器對所述共享總線的利用高于或等于相應(yīng)的帶寬閾值的主器件的請求指定低加權(quán); 以及仲裁器,考慮到所述正常加權(quán)及低加權(quán),基于仲裁策略,對所述多個請求進行仲裁,并 準許所述多個主器件中的一個主器件存取所述共享總線。
48. 如權(quán)利要求47所述的共享資源的仲裁裝置,其特征在于,所述裝置更包括第三過 濾器,用于對請求存取所述共享總線的主器件所發(fā)出的請求進行過濾,所述第三過濾器對 等待時間超過等待閾值的主器件所發(fā)出的請求指定高加權(quán)。
49. 如權(quán)利要求47所述的共享資源的仲裁裝置,其特征在于,根據(jù)與所述多個主器件 的所述總線利用帶寬的反比關(guān)系,所述第一過濾器指定多個正常加權(quán),其中對具有更低的 所述總線利用帶寬的主器件發(fā)出的請求指定更高的正常加權(quán)。
50. 如權(quán)利要求47所述的共享資源的仲裁裝置,其特征在于,所述裝置更包括切換器, 用于禁用所述第二過濾器,以使對所述共享總線的利用高于或等于相應(yīng)帶寬閾值的主器件 的請求不能夠參與仲裁。
51. —種共享資源的仲裁裝置,其特征在于,所述裝置包括 多個主器件,每個主器件包括軟件應(yīng)用或硬件裝置;過濾器,用于對請求存取共享資源的所述多個主器件的請求進行過濾,所述過濾器僅 將對所述共享資源的利用低于相應(yīng)帶寬閾值的主器件的請求予以通過; 第一仲裁器,用以對通過所述過濾器的請求進行仲裁;第二仲裁器,用以對等待時間超過相應(yīng)潛伏閾值的主器件的請求進行仲裁; 第三仲裁器,用以對主器件的請求進行仲裁,而不管所述共享總線的利用和等待時間 的情況如何;以及合并單元,用以將所述第一仲裁器、所述第二仲裁器及所述第三仲裁器準許的請求進 行合并。
52. 如權(quán)利要求51所述的共享資源的仲裁裝置,其特征在于,對所述第一仲裁器準許 的請求賦予正常優(yōu)先級別,對所述第二仲裁器準許的請求賦予高優(yōu)先級別,對所述第三仲 裁器準許的請求賦予低優(yōu)先級別。
53. 如權(quán)利要求51所述的共享資源的仲裁裝置,其特征在于,所述共享資源包括內(nèi)存 裝置和硬件加速器中的至少一個。
54. 如權(quán)利要求51所述的共享資源的仲裁裝置,其特征在于,對于每個主器件,所述過 濾器監(jiān)視所述主器件獲準存取所述共享資源的次數(shù)或平均次數(shù)。
55. 如權(quán)利要求51所述的共享資源的仲裁裝置,其特征在于,所述第一仲裁器包括多個子仲裁器,每個子仲裁器對應(yīng)總線利用等級范圍,每個子仲裁器對總線利用等級落入所 述子仲裁器相應(yīng)的總線利用等級范圍內(nèi)的主器件的請求進行仲裁,相較于對應(yīng)更高總線帶 寬利用等級范圍的另一個子仲裁器準許的請求,對應(yīng)更低總線帶寬利用等級范圍的子仲裁 器準許的請求被賦予更高優(yōu)先級別。
全文摘要
本發(fā)明揭示了共享資源的仲裁方法及裝置。共享資源仲裁裝置包括過濾器,用于對請求存取共享總線的多個主器件的請求進行過濾,該過濾器將對該共享總線的利用低于相應(yīng)帶寬閾值的多個主器件的請求予以通過;以及第一仲裁器,用于對通過該過濾器的請求進行仲裁。本發(fā)明提出的共享資源仲裁的方法及裝置,對兩個或多個主器件同時競爭使用共享總線時所出現(xiàn)的競爭或沖突起到了改善的作用。
文檔編號G06F13/376GK101739372SQ20091016656
公開日2010年6月16日 申請日期2009年8月26日 優(yōu)先權(quán)日2008年11月5日
發(fā)明者約恩·瑟倫森, 讓-路易斯·塔爾迪厄 申請人:聯(lián)發(fā)科技股份有限公司