国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      總線仲裁方法

      文檔序號:6555288閱讀:405來源:國知局
      專利名稱:總線仲裁方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及一種總線仲裁方法。
      背景技術(shù)
      多媒體應(yīng)用的普及對計算機系統(tǒng)內(nèi)部數(shù)據(jù)傳輸?shù)膸?Bandwidth)以及實時性(Real-Time)有著越來越高的要求,這迫使設(shè)計者不斷提升總線頻率,同時提高總線效率。
      計算機系統(tǒng)包括多個單元(Unit),這些單元被分為主單元(Master)與從單元(Slave,一般為存儲器,如SDRAM)兩組,它們之間的數(shù)據(jù)交換通過總線(BUS)完成。當(dāng)一個主單元要對一個從單元進行訪問時,先向總線發(fā)出請求,總線仲裁器對收到的請求進行仲裁,選出優(yōu)先權(quán)最高的請求,對應(yīng)的主單元才能控制總線訪問相應(yīng)的從單元。
      傳統(tǒng)的總線架構(gòu)為一級仲裁,即所有主單元連接至一個總線仲裁器。從硬件實現(xiàn)的角度看,構(gòu)成仲裁器的基本單元是二選一的多路選擇器(MUX),當(dāng)然還包括計算和控制電路。主單元的數(shù)量越多就意味著仲裁器所需的多路選擇器越多,一個請求從仲裁器的輸入端到輸出端需要經(jīng)過的多路選擇器就越多,這個數(shù)據(jù)傳輸過程所需的時間也就越長;再者,主單元數(shù)量越多,仲裁器進行一次仲裁的計算量就越大,計算所需的時間也就越長,這兩個因素尤其是前者嚴重抑制了總線頻率的提升,影響了總線帶寬的提高。另外,所有主單元都連接到一個仲裁器會導(dǎo)致芯片上該仲裁器周圍的資源嚴重缺乏,為增強其驅(qū)動力就需要額外增加一些元件,例如在連線中增加兩個倒相器(Inverter),但這樣又進一步增加了電路的延時,成為另一個限制總線頻率提升的原因;所有主單元都連接到一個仲裁器還會使芯片內(nèi)部的連線過于復(fù)雜。最后,若采用傳統(tǒng)的一級仲裁,要增加主單元數(shù)量就需要重新設(shè)計整個仲裁系統(tǒng),其通用性不佳。
      為解決上述問題,業(yè)界采用了分級總線仲裁架構(gòu)(Hierarchical BUSArbitration)技術(shù)。分級仲裁是把主單元按一定數(shù)量N(N為大于1的整數(shù))進行分組,每組的N個主單元共享一個底層仲裁器,再把底層仲裁器按N分組,每組N個底層仲裁器共享一個次底層仲裁器,以此類推直到頂層仲裁器。在這種架構(gòu)中,對于上一級仲裁器而言,所有非頂層仲裁器都可被視為一個“主單元”參與競爭,根據(jù)需要也可以讓主單元與非頂層仲裁器一起參加上一級仲裁。如此,整個仲裁被打斷成為多級的樹狀仲裁架構(gòu)。這樣做有以下優(yōu)點第一,仲裁架構(gòu)成為流水線結(jié)構(gòu),一次完整的仲裁(一個請求從被主單元發(fā)出到被頂層仲裁器輸出)平均花費的時間比傳統(tǒng)的一級仲裁大幅減少;第二,每個仲裁器負責(zé)仲裁的主單元數(shù)量減少,一次仲裁所需的計算時間得以縮短;第三,可根據(jù)主單元在芯片內(nèi)的位置來分布仲裁器,使芯片內(nèi)的連線更加簡單;第四,仲裁器結(jié)構(gòu)相同,若需增加主單元數(shù)量只要對應(yīng)地增加仲裁級數(shù)以及仲裁器即可,無需重新設(shè)計仲裁架構(gòu),通用性好。總而言之,分級仲裁可有效提升頻率、提高總線仲裁架構(gòu)的通用性以及簡化芯片內(nèi)部的連線。例如,美國專利第6385678號的圖9,清楚地展示了一種多級仲裁的架構(gòu)。
      眾所周知,現(xiàn)今DRAM的讀寫大都采用突發(fā)(Burst)方式,為進一步提高數(shù)據(jù)傳輸效率,業(yè)界采用了串突發(fā)(Stream Burst)傳輸協(xié)議。這種協(xié)議規(guī)定,一個主單元與一個從單元之間多個特定的連續(xù)突發(fā)在通過一個仲裁器的過程中不被打斷,且只需要對第一個突發(fā)進行仲裁即可,這些連續(xù)的突發(fā)就是一個串突發(fā)。串突發(fā)傳輸協(xié)議的采用大幅節(jié)省了總線仲裁的時間,對多級仲裁架構(gòu)和數(shù)據(jù)吞吐量較大的系統(tǒng)而言效果尤為明顯。
      為便于說明,假設(shè)系統(tǒng)處于理想狀態(tài)(無堵塞),一次仲裁需要一個時鐘周期,一個突發(fā)的輸出需要一個時鐘周期(一般而言仲裁計算和輸出采樣無法在一個時鐘周期內(nèi)完成)。
      在現(xiàn)有的串突發(fā)傳輸協(xié)議中,當(dāng)存在兩個連續(xù)的串突發(fā)時,總線要等前一個串突發(fā)傳輸完畢后才能進行新的仲裁以決定接下來選通哪一路輸入,因為在前一串突發(fā)最后一個突發(fā)被輸出之前,仲裁電路無法得到緊接著所述的最后一個突發(fā)的另一突發(fā)的仲裁所需的信息,因此,對于每一串突發(fā)而言,其第一個突發(fā)從開始仲裁到突發(fā)被采樣輸出需要兩個時鐘周期,詳述如后。
      為實現(xiàn)串突發(fā)傳輸,需要為每個突發(fā)設(shè)置一個突發(fā)標(biāo)志,在現(xiàn)有的串突發(fā)傳輸機制中有兩種突發(fā)標(biāo)志,LAST表示串突發(fā)最后一個突發(fā),SAME表示除最后一個突發(fā)外的其余突發(fā)(特別地,若一個串突發(fā)只包含一個突發(fā),那該突發(fā)的突發(fā)標(biāo)志為LAST),總線仲裁器正是根據(jù)突發(fā)標(biāo)志來判斷是否需要改變仲裁器的選通狀態(tài)。
      下面對現(xiàn)有的串突發(fā)傳輸方式的一個實施例進行說明。參見圖10,仲裁器200包括多路選擇器MUX 201、多路選擇器MUX 202、仲裁計算模塊203以及寄存器204。多路選擇器201的輸入端口供請求輸入;寄存器204控制多路選擇器201的選通狀態(tài);多路選擇器202有兩個輸入端口,其中,第一輸入端口與多路選擇器201的輸出端耦合,第二輸入端口為無效輸入;仲裁計算模塊203進行仲裁計算,寄存器204的值與使能信號以及多路選擇器202的選通信號均由其提供。
      仲裁計算模塊203是組合邏輯,每個時鐘周期都會自動進行仲裁運算并且給出運算結(jié)果,但只有當(dāng)寄存器204的使能信號為有效時,該運算結(jié)果才能在遇到一個時鐘上升沿時被載入寄存器204,從而改變多路選擇器201當(dāng)前的選通狀態(tài)。當(dāng)一個串突發(fā)的第一個突發(fā)被一個仲裁器輸出后,該仲裁器就會一直保持當(dāng)前的選通狀態(tài),也就是說寄存器202的使能信號一直保持無效;當(dāng)突發(fā)標(biāo)志為LAST的突發(fā)被輸出的同時,仲裁計算模塊203控制多路選擇器202選通其第二輸入端口。如果存在另一個串突發(fā)緊接著所述突發(fā)標(biāo)志為LAST的突發(fā),那么,在所述突發(fā)標(biāo)志為LAST的突發(fā)被輸出后的第一個時鐘周期,仲裁計算模塊203發(fā)出有效的使能信號并控制多路選擇器202選通第一輸入端口,緊接著的一個時鐘周期,多路選擇器201將根據(jù)寄存器204的值改變選通狀態(tài)。這樣,在理想狀態(tài)下,第二個串突發(fā)的第一個突發(fā)的輸出就需要兩個時鐘周期。具體時序參考圖2,圖中SBURST表示各串突發(fā)輸出所花費的時間,GRANT為仲裁器的選通信號(高有效),MLAST表示各突發(fā)輸出所花費的時間,CLK為時鐘。圖2中第二串突發(fā)(標(biāo)為SBURST2的串突發(fā))包含4個突發(fā),如圖所示,在理想狀態(tài)下(無堵塞),第二串突發(fā)從仲裁到被輸出共需要5個時鐘周期。
      但是,對于現(xiàn)有技術(shù)多級仲裁架構(gòu)而言,一個串突發(fā)從底層仲裁器到頂層仲裁器,其第一個突發(fā)每經(jīng)過一個仲裁器所需的時間比其他突發(fā)多一個時鐘周期,總線架構(gòu)分級越多,串突發(fā)第一個突發(fā)由底層仲裁器到頂層仲裁器所需的額外時間就越多,這不利于總線效率的提高。為進一步提高總線效率,需要設(shè)計一種新的總線仲裁方法。

      發(fā)明內(nèi)容
      鑒于目前總線仲裁方法中存在的一系列缺陷,本發(fā)明的目的在于提供一種能夠進一步提升總線仲裁效率的總線仲裁方法。
      本發(fā)明提供了一種總線仲裁方法,適用于串突發(fā)數(shù)據(jù)傳輸,每個串突發(fā)由一個或一個以上突發(fā)組成,每個突發(fā)攜帶一個突發(fā)標(biāo)志,包括兩種突發(fā)標(biāo)志,即第一突發(fā)標(biāo)志與第二突發(fā)標(biāo)志,還包括第三突發(fā)標(biāo)志;當(dāng)系統(tǒng)檢測到攜帶第二突發(fā)標(biāo)志的突發(fā)后還有其他串突發(fā)時,則將該第二突發(fā)標(biāo)志轉(zhuǎn)換為第三突發(fā)標(biāo)志;當(dāng)仲裁器檢測到第三突發(fā)標(biāo)志時進行預(yù)仲裁。
      上述方法中,所述第二突發(fā)標(biāo)志表示串突發(fā)的最后一個突發(fā)所攜帶的突發(fā)標(biāo)志,所述第一突發(fā)標(biāo)志表示除所述最后一個突發(fā)之外所述串突發(fā)中的其余突發(fā)所攜帶的突發(fā)標(biāo)志。
      通過利用本發(fā)明的總線仲裁方法,帶來的效率提升是十分顯著的,而且仲裁級數(shù)越多效率的提升就越顯著。


      圖1為本發(fā)明總線仲裁裝置的結(jié)構(gòu)簡圖。
      圖2為采用突發(fā)標(biāo)志轉(zhuǎn)換機制前串突發(fā)的傳輸時序圖。
      圖3為采用突發(fā)標(biāo)志轉(zhuǎn)換機制后串突發(fā)的傳輸時序圖。
      圖4為本發(fā)明頂層仲裁器的狀態(tài)機圖。
      圖5為本發(fā)明第一仲裁器的狀態(tài)機圖。
      圖6為本發(fā)明第二仲裁器的功能模塊圖。
      圖7為本發(fā)明第一仲裁器的功能模塊圖。
      圖8為本發(fā)明頂層仲裁器的功能模塊圖。
      圖9為本發(fā)明緩存的功能模塊圖。
      圖10為仲裁器的選通功能模塊圖。
      具體實施例方式
      為克服現(xiàn)有串突發(fā)傳輸存在的缺陷,進一步提升總線效率,本發(fā)明的一方面提出了一種突發(fā)標(biāo)志轉(zhuǎn)換機制。本發(fā)明的突發(fā)標(biāo)志轉(zhuǎn)換機制相對于現(xiàn)有的串突發(fā)傳輸方式增加了一種突發(fā)標(biāo)志,以JOIN表示。當(dāng)系統(tǒng)發(fā)現(xiàn)一個突發(fā)標(biāo)志為LAST的突發(fā)后還跟著另一個突發(fā),即發(fā)現(xiàn)兩個連續(xù)的串突發(fā)時,就把該突發(fā)標(biāo)志由LAST轉(zhuǎn)換為JOIN(突發(fā)標(biāo)志的轉(zhuǎn)換有兩種情況,具體請參后述對緩存和仲裁器的描述,主單元也可直接發(fā)出JOIN的突發(fā)標(biāo)志)。
      當(dāng)仲裁器200(參見圖10)(本實施例中有三種仲裁器,包括第一仲裁器、第二仲裁器以及頂層仲裁器,具體可參見后述說明,為便于對突發(fā)標(biāo)志轉(zhuǎn)換機制進行闡述,根據(jù)選通功能把第一仲裁器和第二仲裁器統(tǒng)稱為仲裁器200進行說明)檢測到突發(fā)標(biāo)志為JOIN的突發(fā)時,仲裁計算模塊203發(fā)出有效的使能信號,在下一個時鐘上升沿,寄存器204將載入新的仲裁結(jié)果,這個仲裁結(jié)果是基于所述的突發(fā)標(biāo)志為JOIN的突發(fā)(若該突發(fā)對應(yīng)的輸入端口緊接著有另一突發(fā))的對應(yīng)信息(如優(yōu)先級信息等仲裁所需的信息)和另一輸入端口輸入的突發(fā)(如果存在)的對應(yīng)信息計算所得,多路選擇器201根據(jù)寄存器204的值改變選通狀態(tài)。因此,在理想狀態(tài)下(無堵塞),第二個串突發(fā)的第一個突發(fā)的輸出就只需要一個時鐘周期。具體時序請參圖3,圖中SBURST表示各串突發(fā)輸出所花費的時間,GRANT為仲裁器的選通信號(高有效),MLAST表示各突發(fā)輸出所花費的時間,CLK為時鐘。圖3中的第二個串突發(fā)(標(biāo)為SBURST2)包含4個突發(fā),在理想狀態(tài)下,第二個串突發(fā)從仲裁到被輸出共需4個時鐘周期,與圖2所示未采用突發(fā)標(biāo)志轉(zhuǎn)換機制的方案相比,本申請的突發(fā)標(biāo)志轉(zhuǎn)換機制節(jié)省了1個時鐘周期。顯然,對于分級仲裁而言,突發(fā)標(biāo)志轉(zhuǎn)換機制帶來的效率提升是十分顯著的,而且仲裁級數(shù)越多效率的提升就越顯著。
      突發(fā)標(biāo)志轉(zhuǎn)換機制是一種預(yù)仲裁機制,有兩種預(yù)仲裁方案可供選擇。第一種方案,仲裁時以突發(fā)標(biāo)志為JOIN的突發(fā)所攜帶的對應(yīng)信息(如優(yōu)先級信息等)代替同一路緊接著的突發(fā)(如果有的話,如果沒有則所述的突發(fā)標(biāo)志為JOIN的突發(fā)被過濾為無效突發(fā),不參加新的仲裁)所攜帶的相關(guān)信息進行仲裁,這種方案在硬件上比較容易實現(xiàn),但如果這兩個突發(fā)的對應(yīng)信號不一致的話,就可能使這一次仲裁的結(jié)果不符合標(biāo)準(zhǔn)。第二種方案,仲裁器的仲裁電路的輸入設(shè)計成可選擇,假設(shè)下級緩存深度為二,突發(fā)標(biāo)志為JOIN的突發(fā)位于該緩存的第一存儲體,而且第二存儲體存在另一突發(fā),此時的仲裁電路選擇第二存儲體中的突發(fā)所攜帶的相關(guān)信號進行仲裁,這種設(shè)計的仲裁結(jié)果符合標(biāo)準(zhǔn),但硬件實現(xiàn)較為復(fù)雜。本實施例所采用的是第一方案,以下將進行更詳細的說明。
      本發(fā)明的另一方面針對一種總線仲裁架構(gòu)。在一個計算系統(tǒng)中,大致可將主單元分為兩類,對延時要求高的主單元和對帶寬要求高的主單元。對延時要求高的主單元發(fā)出的請求需要系統(tǒng)及時響應(yīng),否則可能導(dǎo)致系統(tǒng)出錯,比如在數(shù)字電視解碼芯片中,中央處理器(CPU)、解復(fù)用模塊(DEMUX)是對延時要求高的主單元;對帶寬要求高的主單元的數(shù)據(jù)吞吐量大,比如在數(shù)字電視解碼芯片中,視頻解碼模塊是對帶寬要求高的主單元。為便于說明,以下稱對延時要求高的主單元為第一類主單元,其請求為第一類請求,其突發(fā)為第一類突發(fā),其串突發(fā)為第一類串突發(fā),而對帶寬要求高的主單元為第二類主單元,其請求為第二類請求,其突發(fā)為第二類突發(fā),其串突發(fā)為第二類串突發(fā)(需要注意的是,這里雖然將對延遲要求高的主單元稱為第一類主單元,對帶寬要求高的主單元稱為第二類主單元,但采用“第一”和“第二”的描述,僅僅是為了區(qū)別不同的主單元,也可以把對延遲要求高的主單元稱為第二類主單元,而把對帶寬要求高的主單元稱為第一類主單元,下文中的具體描述也可作相應(yīng)的變換)。
      系統(tǒng)設(shè)計時,SDRAM被劃分成若干個部分,分配給對應(yīng)的主單元作為專用的存儲空間。為提高數(shù)據(jù)傳輸效率,把分配給前述兩種主單元的存儲空間盡量安排在不同的邏輯存儲庫(BANK)中,因為在本實施例中,第一類串突發(fā)打斷第二類串突發(fā)的頻率較高,這樣分配可使不同的主單元對SDRAM的訪問盡量在邏輯存儲庫之間進行切換,以節(jié)省行預(yù)充電的時間。當(dāng)然,也可以根據(jù)對各主單元之間切換概率的分析來進行存儲空間的分配。
      本實施例把第一類主單元和第二類主單元進行分組分級仲裁,以便較為精確地控制兩種主單元對總線的控制時間。為盡量避免兩個連續(xù)的對SDRAM的操作在相同的邏輯存儲庫的不同行之間進行切換而引發(fā)的效率降低,同時也為使設(shè)計不過于復(fù)雜,本實施例還規(guī)定了以下仲裁原則組內(nèi)串突發(fā)不得相互打斷;在頂層仲裁器中第一類串突發(fā)可打斷第二類串突發(fā),第二類串突發(fā)不得打斷第一類串突發(fā)。
      仲裁級數(shù)取決于主單元的數(shù)量、仲裁器的仲裁接口數(shù)量以及耦接方式,為便于進行說明,本實施例的所有非頂層仲裁器的仲裁接口數(shù)量均為2,當(dāng)然這個數(shù)量可根據(jù)具體需求而改變,比如設(shè)置4個仲裁接口。參見圖1,圖1例示出本發(fā)明的總線仲裁架構(gòu)的實施例。本實施例中共有7個主單元,其中,主單元130、主單元131及主單元132是第一類主單元(即對延時要求高的主單元),而主單元133、主單元134、主單元135以及主單元136是第二類主單元(即對帶寬要求高的主單元)。本實施例的仲裁裝置包括頂層仲裁器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。因此,該實施例的總線仲裁裝置是一種包括頂層仲裁器、第一仲裁器和第二仲裁器的總線仲裁裝置,其中第一仲裁器用于對第一類主單元的請求進行仲裁,第二仲裁器用于對第二類主單元的請求進行仲裁,并且,第一仲裁器和第二仲裁器分別自所述頂層仲裁器向下形成分級仲裁結(jié)構(gòu)。因此,本實施例的總線仲裁裝置采用了一種分組分級的總線總裁架構(gòu)。本實施例中的緩存例如為先進先出緩存(FIFO),其深度為2,可存儲兩個請求。在圖1所示的仲裁架構(gòu)中,第一類請求和第二類請求只在頂層仲裁器100中進行競爭,從硬件角度來看,只有這種架構(gòu)才能較便捷地實現(xiàn)第一類串突發(fā)可打斷第二類串突發(fā),而第二類串突發(fā)不得打斷第一類串突發(fā)的仲裁方案,提高總線仲裁效率。
      本發(fā)明的一個實施例分配給第一類請求(第一類主單元的請求)HCREQ和LCREQ兩種優(yōu)先級,分配給第二類請求(第二類主單元的請求)HREQ和LREQ兩種優(yōu)先級,這四種優(yōu)先級的優(yōu)先級順序為HCREQ>HREQ>LREQ>LCREQ。第一類請求默認以HCREQ優(yōu)先級參與競爭,第二類請求默認以LREQ優(yōu)先級參與競爭。
      因為第一類請求默認以HCREQ的優(yōu)先級參與競爭,第二類請求默認以優(yōu)先級較低的LREQ的優(yōu)先級參與競爭,如果不設(shè)置一套限制機制,很可能出現(xiàn)第一類請求長時間占用頂層仲裁器使第二類請求在很長一段時間內(nèi)得不到頂層仲裁器的響應(yīng)的情況。為解決這個問題,本實施例可采用一種時間窗限制機制。時間窗限制機制針對某個第一類主單元或者第一仲裁器定義了一個時間段M,在滿足系統(tǒng)要求的前提下,規(guī)定該第一類主單元或者第一仲裁器輸出的請求在時間段M內(nèi)得到上級仲裁器的N次響應(yīng)后,其以后的第一類突發(fā)的優(yōu)先級就被降為LCREQ,同時該突發(fā)被賦予一個生命周期,當(dāng)進入第二個時間段M時,該低優(yōu)先級生命周期結(jié)束,其優(yōu)先級又被重新提升為HCREQ。只有當(dāng)沒有第二類請求參與競爭時,優(yōu)先級為LCREQ的第一類串突發(fā)才能得到頂層仲裁器的響應(yīng)。時間窗限制機制中的時間段長短M、響應(yīng)次數(shù)N以及是否采用時間窗限制機制等參數(shù)均可在第一仲裁器的寄存器中進行配置。
      本發(fā)明的一個實施例還可采用優(yōu)先級提升機制。前述已知,第二類串突發(fā)默認以LREQ的優(yōu)先級參與競爭,總線的架構(gòu)為樹狀結(jié)構(gòu),若一個第二類串突發(fā)被阻塞在某一第二仲裁器長時間得不到響應(yīng)的話,那么該節(jié)點以下的所有第二類串突發(fā)都將被堵塞,若這些被堵塞的第二類串突發(fā)中存在需要得到系統(tǒng)及時響應(yīng)的第二類串突發(fā)的話,這種堵塞狀況就可能導(dǎo)致系統(tǒng)運行不正常。為解決這個問題,在本實施例中,第二類串突發(fā)被存儲于某一緩存時,該緩存將根據(jù)上級第二仲裁器的寄存器配置賦予該第二類串突發(fā)一個低優(yōu)先級生命周期,生命周期可隨著突發(fā)傳遞,當(dāng)該生命周期結(jié)束時,該第二類串突發(fā)的優(yōu)先級就被提升為HREQ,而且這一支路中,所述的被提升優(yōu)先級的第二類串突發(fā)上面的所有第二類串突發(fā)的優(yōu)先級都將被提升為HREQ,這樣就能使被堵塞的需要得到系統(tǒng)及時響應(yīng)的第二類串突發(fā)盡量及時得到響應(yīng)。
      優(yōu)先級提升機制亦可應(yīng)用于第一類串突發(fā)。當(dāng)某個優(yōu)先級為LCREQ的第一類突發(fā)被某個第一仲裁器選通,而該第一仲裁器的另一輸入端口出現(xiàn)了一個優(yōu)先級為HCREQ的第一類串突發(fā),或者該優(yōu)先級為LCREQ的第一類串突發(fā)后緊接著有一個優(yōu)先級為HCREQ的串突發(fā),則該優(yōu)先級為LCREQ的第一類突發(fā)的優(yōu)先級將被提升為HCREQ,且這一支路中,所述的被提升優(yōu)先級的第一類突發(fā)上面的所有第一類串突發(fā)的優(yōu)先級都將被提升為HCREQ。如此,可防止因優(yōu)先級為LCREQ的第一類串突發(fā)在當(dāng)前仲裁器以上的仲裁器中被堵塞而導(dǎo)致后面的優(yōu)先級為HCREQ的第一類串突發(fā)被堵塞于當(dāng)前仲裁器。
      參見圖4,所示為頂層仲裁器的狀態(tài)機示意圖。圖中,IDLE表示空閑狀態(tài),CREQ表示選通第一類串突發(fā),REQ表示選通第二類串突發(fā)。圖中的各狀態(tài)轉(zhuǎn)換條件如下表所示

      參見圖5,所示為非頂層仲裁器(第一或第二仲裁器)的狀態(tài)機示意圖(第一仲裁器與第二仲裁器的狀態(tài)機相同),圖中,IDLE表示空閑狀態(tài),ArbitrateState表示仲裁狀態(tài)。圖中各狀態(tài)轉(zhuǎn)換條件如下表所示

      參見圖6,所示為第二仲裁器103的功能模塊圖。第二仲裁器103包括狀態(tài)機1031、寄存器組1032、計算模塊1033、第一多路選擇器1034、第二多路選擇器1035、第三多路選擇器1036及第四多路選擇器1037。狀態(tài)機1031控制第二仲裁器103的工作狀態(tài);寄存器組1032存儲系統(tǒng)對仲裁器的配置,這些配置包括采用固定優(yōu)先級算法還是加權(quán)循環(huán)算法,指示下級緩存是否采用優(yōu)先級提升機制,若采用優(yōu)先級提升機制生命周期設(shè)定為多長等等;計算模塊1033進行仲裁計算,決定選通哪一路輸入信號;第四多路選擇器1037對下級緩存輸入的請求類別信號進行選擇,該請求類別信號包括三種,分別為IDLE(表示無請求)、REQ(表示對帶寬要求高的主單元的請求)、CREQ(對延時要求高的主單元的請求);第三多路選擇器1036對下級緩存輸入的優(yōu)先級信號進行選擇,該優(yōu)先級信號包括高和低兩種,第三多路選擇器1036也能進行優(yōu)先級提升處理,至此可知,前述四種優(yōu)先級是由請求類別信號和優(yōu)先級信號組合而成;第二多路選擇器1035對下級緩存輸入的突發(fā)標(biāo)志信號進行選擇,第二多路選擇器1035也能進行突發(fā)標(biāo)志轉(zhuǎn)換處理;第一多路選擇器1034對下級緩存輸入的其他輸入信號進行選擇。
      計算模塊1033的仲裁計算步驟如下一,根據(jù)請求類別信號過濾出參與競爭的主單元或下級仲裁器;二,根據(jù)優(yōu)先級信號進一步過濾出最終參與固定優(yōu)先級算法或加權(quán)循環(huán)算法的主單元或者下級仲裁器;三,以固定優(yōu)先級算法或加權(quán)循環(huán)算法進行計算,決定最終選通哪一路輸入信號。整個仲裁計算過程只需要一個時鐘周期。
      以下對在第二仲裁器103中進行的突發(fā)標(biāo)志轉(zhuǎn)換處理和優(yōu)先級提升處理的幾種狀況進行說明。
      當(dāng)系統(tǒng)采用突發(fā)標(biāo)志轉(zhuǎn)換機制,若當(dāng)前被選通的是緩存110,且緩存110中只有一個突發(fā)標(biāo)志為LAST的第二類請求,若緩存112中有第二類請求,那么第二仲裁器103的第二多路選擇器1035就把當(dāng)前被選通的第二類請求的突發(fā)標(biāo)志轉(zhuǎn)換為JOIN,且該請求被過濾成無效請求,不參與新的仲裁,因此,新的仲裁中只有緩存112中的第二類請求參與競爭。
      當(dāng)系統(tǒng)采用優(yōu)先級提升機制,若當(dāng)前被選通的是緩存110,且當(dāng)前被選通的第二類請求的優(yōu)先級是低,如果緩存112中有第二類請求且其優(yōu)先級為高,那么第二仲裁器103的第三多路選擇器1036把當(dāng)前被選通的第二類請求的優(yōu)先級提升為高。
      參見圖7,所示為第一仲裁器101的功能模塊圖。第一仲裁器101包括狀態(tài)機1011、寄存器組1012、計算模塊1013、第一多路選擇器1014、第二多路選擇器1015、第三多路選擇器1016、第四多路選擇器1017及時間窗限制處理模塊1018。狀態(tài)機1031控制第一仲裁器101的工作狀態(tài);寄存器組1012存儲系統(tǒng)對仲裁器的配置,這些配置包括采用固定優(yōu)先級算法還是加權(quán)循環(huán)算法,是否采用時間窗限制機制,若采用時間窗限制機制,時間段M的長短以及響應(yīng)次數(shù)N等;計算模塊1013進行仲裁計算,決定選通哪一路輸入信號;第四多路選擇器1017對下級緩存輸入的請求類別信號進行選擇,該請求類別信號包括三種,分別為IDLE(表示無請求)、REQ(表示對帶寬要求高的主單元的請求)、CREQ(對延時要求高的主單元的請求);第三多路選擇器1016對下級緩存輸入的優(yōu)先級信號進行選擇,該優(yōu)先級信號包括高和低兩種,第三多路選擇器1016也能進行優(yōu)先級提升操作;第二多路選擇器1015對下級緩存輸入的突發(fā)標(biāo)志信號進行選擇,第二多路選擇器1015也能進行突發(fā)標(biāo)志轉(zhuǎn)換操作;第一多路選擇器1014對下級緩存輸入的其他輸入信號進行選擇;時間窗限制處理模塊1018對輸入優(yōu)先級信號進行時間窗限制處理。
      計算模塊1013的仲裁計算步驟如下一,根據(jù)請求類別信號過濾出參與競爭的主單元或下級仲裁器;二,根據(jù)經(jīng)過時間窗限制處理模塊的優(yōu)先級信號進一步過濾出最終參與固定優(yōu)先級算法或加權(quán)循環(huán)算法的主單元或者下級仲裁器;三,以固定優(yōu)先級算法或加權(quán)循環(huán)算法進行計算,決定最終選通哪一路輸入信號。整個仲裁計算過程只需要一個時鐘周期。
      以下對在第一仲裁器101中進行的突發(fā)標(biāo)志轉(zhuǎn)換處理和時間窗限制處理的幾種狀況進行說明。
      當(dāng)系統(tǒng)采用突發(fā)標(biāo)志轉(zhuǎn)換機制,若當(dāng)前被第一仲裁器101選通的是緩存106,而緩存106中只有一個突發(fā)標(biāo)志為LAST的第一類請求,且緩存108中有第一類請求的話,那么第二多路選擇器1015就會把當(dāng)前被選通的第一類請求的突發(fā)標(biāo)志轉(zhuǎn)換為JOIN,且該第一類請求被過濾為無效請求,不參與預(yù)仲裁,新的仲裁中只有緩存108中的第一類請求參與競爭。
      時間窗限制處理模塊1018(第一仲裁器101對應(yīng)緩存106和緩存108各設(shè)有一個時間窗限制處理模塊,此處為便于說明,將兩個時間窗限制處理模塊合并為一個時間窗限制處理模塊1018)根據(jù)寄存器組1012的配置,在規(guī)定的時間段M內(nèi)對緩存106和緩存108被響應(yīng)的次數(shù)(以請求為單位)進行計數(shù),當(dāng)計數(shù)超過規(guī)定的數(shù)值時,對應(yīng)的緩存的下一個第一類串突發(fā)的優(yōu)先級將被降為低并同時被賦予一個生命周期,該生命周期的值為當(dāng)前時刻(優(yōu)先級被降為低的時刻)至?xí)r間段M結(jié)束的時間。是否采用時間窗限制機制可通過配置寄存器組1012實現(xiàn),如果不采用時間窗限制機制,則通過時間窗限制處理模塊1018的優(yōu)先級信號保持不變。低優(yōu)先級生命周期隨著突發(fā)傳遞,當(dāng)突發(fā)獲得頂層仲裁器100的響應(yīng)或者低優(yōu)先級生命周期為0后,低優(yōu)先級生命周期結(jié)束,突發(fā)的優(yōu)先級將被重新提升為高。
      參見圖8,所示為頂層仲裁器100的功能模塊圖。頂層仲裁器100包括狀態(tài)機1001、計算模塊1003、第四多路選擇器1007、第二多路選擇器1005及第一多路選擇器1004。狀態(tài)機1001控制頂層仲裁器100的工作狀態(tài);計算模塊1003進行仲裁計算,決定選通哪一路輸入,在本實施例中只有兩路輸入信號供頂層仲裁器100選擇,就是次頂層第一仲裁器101的輸出緩存102以及次頂層第二仲裁器103的輸出緩存104;第四多路選擇器1007對輸入的請求類別信號進行選擇,該請求類別信號包括三種,分別為IDLE(表示無請求)、REQ(表示對帶寬要求高的主單元的請求)、CREQ(對延時要求高的主單元的請求);第二多路選擇器1005對突發(fā)標(biāo)志信號進行選擇;第一多路選擇器1004對其他輸入信號進行選擇。
      計算模塊1003的仲裁計算采用固定優(yōu)先級算法,即HCREQ>HREQ>LREQ>LCREQ,且頂層仲裁器100還有一條原則就是對延時要求高的主單元的串突發(fā)可打斷對帶寬要求高的主單元的串突發(fā),而對帶寬要求高的主單元的串突發(fā)不得打斷對延時要求高的主單元的串突發(fā),具體可參照上述頂層仲裁器100的狀態(tài)機介紹。
      參見圖9,所示為本發(fā)明的一個實施例的緩存的功能模塊圖,因本實施例所有緩存結(jié)構(gòu)相同,故在此僅以緩存102為例進行說明。緩存102包括緩存控制器1021、突發(fā)標(biāo)志轉(zhuǎn)換模塊1022、優(yōu)先級提升模塊1023、第一存儲模塊1024、第二存儲模塊1025及多路選擇器1026。緩存控制器1021用于控制兩個存儲模塊的先進先出順序;突發(fā)標(biāo)志轉(zhuǎn)換模塊1022在特定的條件下將緩存內(nèi)為LAST的突發(fā)標(biāo)志轉(zhuǎn)換為JOIN;優(yōu)先級提升模塊1023根據(jù)上級仲裁器的寄存器配置,對第二類請求進行賦予生命周期的操作,并對第一類請求和第二類請求的低優(yōu)先級生命周期進行計算,當(dāng)生命周期結(jié)束時進行優(yōu)先級提升,當(dāng)生命周期未結(jié)束而請求獲得響應(yīng)時,該生命周期隨著該請求被上傳到上級緩存。本實施例中,之所以利用上級仲裁器對緩存102進行配置是為了降低硬件的復(fù)雜程度;第一存儲模塊1024和第二存儲模塊1025分別用于存儲兩個請求;多路選擇器1026對第一存儲模塊1024和第二存儲模塊1025的輸出進行選擇。
      以下對在緩存中進行的突發(fā)標(biāo)志轉(zhuǎn)換操作和優(yōu)先級提升操作的幾種狀況進行說明。在本實施例中,緩存102只負責(zé)存儲和處理第二類突發(fā),為便于說明,第一類突發(fā)的存儲和處理也以緩存102為例進行說明。
      當(dāng)系統(tǒng)采用優(yōu)先級提升機制時,緩存的優(yōu)先級提升模塊根據(jù)上級第二仲裁器的配置,對第二類請求賦予生命周期。同時優(yōu)先級提升模塊對緩存內(nèi)第二類請求的生命周期進行倒計數(shù),生命周期結(jié)束時,優(yōu)先級提升模塊將通過緩存控制器把該優(yōu)先級提升為高。
      當(dāng)系統(tǒng)采用優(yōu)先級提升機制時,若緩存中當(dāng)前被選通的存儲模塊中的請求的優(yōu)先級為低,另一存儲模塊中的請求的優(yōu)先級為高,那么優(yōu)先級提升模塊就會通過緩存控制器把當(dāng)前被選通的存儲模塊中的請求的優(yōu)先級提升為高。
      當(dāng)系統(tǒng)采用優(yōu)先級提升機制時,若緩存輸入端有優(yōu)先級為高的請求,那么緩存中的請求的優(yōu)先級都將被提升為高。
      當(dāng)系統(tǒng)采用時間窗限制機制時,若緩存中有優(yōu)先級為低的第一類請求,優(yōu)先級提升模塊將對該等第一類請求的生命周期進行倒計數(shù),生命周期結(jié)束時,優(yōu)先級提升模塊將通過緩存控制器把該等第一類請求的優(yōu)先級提升為高。
      當(dāng)系統(tǒng)采用突發(fā)標(biāo)志轉(zhuǎn)換機制時,若緩存中最后輸入的請求的突發(fā)標(biāo)志為LAST,當(dāng)檢測到緩存的輸入端有請求輸入時,所述的最后輸入的請求的突發(fā)標(biāo)志就被轉(zhuǎn)換為JOIN。
      當(dāng)系統(tǒng)采用突發(fā)標(biāo)志轉(zhuǎn)換機制時,若某一緩存在當(dāng)前時鐘周期沒有獲得響應(yīng),該緩存的一個存儲單元中有一突發(fā)標(biāo)志為LAST的突發(fā)而另一存儲單元為空,且當(dāng)前時鐘周期該緩存的輸入端沒有請求輸入,如果該緩存收到下級仲裁器發(fā)出的下一個時鐘周期將會有請求輸入的指示時,該緩存將把所述的突發(fā)標(biāo)志由LAST轉(zhuǎn)換為JOIN。這樣可保證即使所述的突發(fā)標(biāo)志為LAST的突發(fā)將在下一個時鐘周期被輸出,該緩存的上一級仲裁器仍然來得及進行預(yù)仲裁,實現(xiàn)兩個串突發(fā)的連續(xù)輸出。
      如果當(dāng)前時鐘周期緩存獲得上級仲裁器的響應(yīng),則緩存當(dāng)前被選通的存儲模塊不作優(yōu)先級提升和串突發(fā)標(biāo)志轉(zhuǎn)換。
      另外,若系統(tǒng)不采用優(yōu)先級提升機制和時間窗限制機制,則只有兩種優(yōu)先級的請求在頂層仲裁器中競爭,即HCREQ和LREQ。在這種方案中,頂層仲裁器只要發(fā)現(xiàn)第一類請求就將其輸出,無論當(dāng)時是否有第二類串突發(fā)正在輸出。
      本發(fā)明可以用其它具體形式來實施,而不背離其精神或基本特征。所述的實施例在所有方面都被認為僅是說明性的而非限制性的。
      權(quán)利要求
      1.一種總線仲裁方法,適用于串突發(fā)數(shù)據(jù)傳輸,每個串突發(fā)由一個或一個以上突發(fā)組成,每個突發(fā)攜帶一個突發(fā)標(biāo)志,包括兩種突發(fā)標(biāo)志,即第一突發(fā)標(biāo)志與第二突發(fā)標(biāo)志,其特征在于還包括第三突發(fā)標(biāo)志;當(dāng)系統(tǒng)檢測到攜帶第二突發(fā)標(biāo)志的突發(fā)后還有其他串突發(fā)時,則將該第二突發(fā)標(biāo)志轉(zhuǎn)換為第三突發(fā)標(biāo)志;當(dāng)仲裁器檢測到第三突發(fā)標(biāo)志時進行預(yù)仲裁。
      2.如權(quán)利要求1所述的方法,其特征在于,所述第二突發(fā)標(biāo)志表示串突發(fā)的最后一個突發(fā)所攜帶的突發(fā)標(biāo)志,所述第一突發(fā)標(biāo)志表示除所述最后一個突發(fā)之外所述串突發(fā)中的其余突發(fā)所攜帶的突發(fā)標(biāo)志。
      全文摘要
      一種總線仲裁方法,適用于串突發(fā)數(shù)據(jù)傳輸,每個串突發(fā)由一個或一個以上突發(fā)組成,每個突發(fā)攜帶一個突發(fā)標(biāo)志,包括兩種突發(fā)標(biāo)志,即第一突發(fā)標(biāo)志與第二突發(fā)標(biāo)志,還包括第三突發(fā)標(biāo)志;當(dāng)系統(tǒng)檢測到攜帶第二突發(fā)標(biāo)志的突發(fā)后還有其他串突發(fā)時,則將該第二突發(fā)標(biāo)志轉(zhuǎn)換為第三突發(fā)標(biāo)志;當(dāng)仲裁器檢測到第三突發(fā)標(biāo)志時進行預(yù)仲裁。
      文檔編號G06F13/364GK101038573SQ20061002479
      公開日2007年9月19日 申請日期2006年3月17日 優(yōu)先權(quán)日2006年3月17日
      發(fā)明者張亞林, 鄧良策 申請人:上海奇碼數(shù)字信息有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1