專利名稱:用于設(shè)計(jì)片上網(wǎng)絡(luò)的一種帶寬動(dòng)態(tài)分配方法
技術(shù)領(lǐng)域:
本發(fā)明屬于集成電路設(shè)計(jì)、尤其涉及片上互連網(wǎng)絡(luò)設(shè)計(jì)領(lǐng)域。
背景技術(shù):
集成電路一直按照摩爾定律推進(jìn),單芯片所集成的IP(Intellectual Property)塊數(shù)目越來越多,傳統(tǒng)的基于總線的片上互連結(jié)構(gòu)已經(jīng)在帶寬、功耗、可靠性、擴(kuò)展性等方面表現(xiàn)處越來越多的局限性,片上通信已經(jīng)取代計(jì)算成為集成電路設(shè)計(jì)的瓶頸。片上網(wǎng)絡(luò)(Network-on-Chip,NoC)作為集成電路設(shè)計(jì)領(lǐng)域的一項(xiàng)關(guān)鍵技術(shù),已用于解決芯片規(guī)模增大所帶來的片上互連問題。
由于片上網(wǎng)絡(luò)資源有限并對(duì)傳輸延遲比較敏感,目前片上網(wǎng)絡(luò)的研究者們多數(shù)推薦采用蟲孔路由方式。在蟲孔路由方式中,數(shù)據(jù)包被切割成一串?dāng)?shù)據(jù)微片(基本的數(shù)據(jù)傳輸單元),然后微片串以流水的方式在網(wǎng)絡(luò)中傳輸,因此極大的降低了傳輸延遲。數(shù)據(jù)包的第一個(gè)微片被稱為頭微片,只有它才包含路由信息。數(shù)據(jù)包的其他微片只是緊跟在頭微片的后面在網(wǎng)絡(luò)中傳輸。一旦頭微片被堵塞,其他微片原地等待,因此路由節(jié)點(diǎn)允許使用較小的緩沖區(qū)。
在蟲孔路由方式中,由于數(shù)據(jù)包可以同時(shí)占用幾個(gè)路由器的緩沖區(qū),因此可能出現(xiàn)的兩個(gè)問題是1)鏈路利用率低;2)死鎖。通過將物理鏈路分成若干虛通道,可以有效提高鏈路利用率和避免死鎖。
多個(gè)虛通道共享一個(gè)物理鏈路,必須合理分配各個(gè)虛通道的帶寬才能保證物理鏈路帶寬的有效利用。圖1所示為傳統(tǒng)的基于時(shí)隙的固定帶寬分配方法,在該方法中,物理鏈路的帶寬被固定分配給四個(gè)虛通道,當(dāng)某個(gè)發(fā)送虛通道緩沖區(qū)沒有數(shù)據(jù)或接收虛通道緩沖區(qū)已滿時(shí),都造成該虛通道時(shí)隙無法傳輸數(shù)據(jù),分配給該虛通道的帶寬將被浪費(fèi)。因此,固定帶寬分配方法不能很好的利用物理鏈路的帶寬。
發(fā)明內(nèi)容
本發(fā)明的目的在于提出一種可以克服固定帶寬分配方法的缺點(diǎn)的動(dòng)態(tài)帶寬分配方法。
本發(fā)明的特征在于,依次含有以下步驟步驟(1).初始化在發(fā)送端,設(shè)定一個(gè)仲裁器,在輸入端設(shè)有N個(gè)數(shù)據(jù)輸入端,N個(gè)讀使能信號(hào)輸出端,N為虛通道發(fā)送緩沖區(qū)的個(gè)數(shù),每個(gè)虛通道發(fā)送緩沖區(qū)設(shè)有一個(gè)數(shù)據(jù)輸出端,以及個(gè)讀使能信號(hào)輸入端,分別與所述仲裁器的相應(yīng)的數(shù)據(jù)信號(hào)輸入端、讀使能信號(hào)輸出端相連,每個(gè)虛通道發(fā)送緩沖區(qū)輸出的數(shù)據(jù)的帶寬為kW,W為物理鏈路總帶寬,k為每個(gè)虛通道發(fā)送緩沖區(qū)所輸出數(shù)據(jù)的帶寬占物理鏈路總帶寬之比,0≤k≤1;此外,還在每個(gè)虛通道發(fā)送緩沖區(qū)設(shè)有一個(gè)空標(biāo)志指示信號(hào),該信號(hào)為“0”,表示所述的虛通道發(fā)送緩沖區(qū)為空,否則,為不空,用“1”表示;在接收端,設(shè)定一個(gè)分路器,在輸出端設(shè)有N個(gè)數(shù)據(jù)輸出端以及N個(gè)寫使能信號(hào)輸出端,N為虛通道接收緩沖區(qū)的個(gè)數(shù),所述虛通道接收緩沖區(qū)的個(gè)數(shù)與虛通道發(fā)送緩沖區(qū)的個(gè)數(shù)相等,每個(gè)虛通道接收緩沖區(qū)都設(shè)有一個(gè)數(shù)據(jù)輸入端和一個(gè)寫使能信號(hào)輸入端;另外,在每個(gè)虛通道接收緩沖區(qū)設(shè)有一個(gè)滿標(biāo)志信號(hào),該信號(hào)為“0”,表示所述虛通道接收緩沖區(qū)已滿,否則,為不滿,用“1”表示;此外,在發(fā)送端,還設(shè)有N個(gè)與門電路,每個(gè)與門電路的兩個(gè)輸入端分別與所述虛通道發(fā)送緩沖區(qū)的空標(biāo)志指示信號(hào)輸出端以及虛通道接收緩沖區(qū)的滿標(biāo)志指示信號(hào)輸出端相連,每個(gè)與門電路的輸出端與仲裁器的多路選擇器的控制信號(hào)輸入端相連;步驟(2).依次按以下步驟執(zhí)行帶寬動(dòng)態(tài)分配方法步驟(2.1).所述仲裁器設(shè)置一個(gè)虛通道指示標(biāo)記,初始化為虛通道d;步驟(2.2).在第一個(gè)鏈路時(shí)鐘周期,該仲裁器在所述初試化虛通道的下一個(gè)虛通道開始搜索,直到找出某一個(gè)與門電路的輸出為“1”為止,此時(shí)表示該虛通道有相應(yīng)的帶寬請(qǐng)求,分配給相應(yīng)虛通道帶寬并傳送相應(yīng)虛通道的數(shù)據(jù);否則,如果沒有找到有帶寬請(qǐng)求的虛通道,則在該時(shí)鐘周期鏈路空閑,不傳送任何數(shù)據(jù);步驟(2.3).對(duì)于以后任何一個(gè)鏈路時(shí)鐘周期,仲裁器都在虛通道指示標(biāo)志所指示的下一個(gè)虛通道按步驟(2.2)所述方法開始搜索。
本發(fā)明保證了在任何時(shí)刻均能有效利用物理鏈路帶寬。
圖1.傳統(tǒng)的固定帶寬分配方法。
圖2.帶寬動(dòng)態(tài)分配方法中在時(shí)刻1的帶寬分配。
圖3.帶寬動(dòng)態(tài)分配方法中在時(shí)刻2的帶寬分配。
圖4.帶寬動(dòng)態(tài)分配方法的實(shí)施流程圖。
圖5.仲裁器工作流程圖。
具體實(shí)施例方式
針對(duì)固定帶寬分配方法在帶寬分配上的缺點(diǎn),我們提出了動(dòng)態(tài)帶寬分配方法,該方法在每個(gè)時(shí)鐘周期根據(jù)每個(gè)發(fā)送虛通道緩沖區(qū)和接收虛通道緩沖區(qū)的空滿情況,動(dòng)態(tài)將物理鏈路帶寬平均分配給發(fā)送緩沖區(qū)不空且接收緩沖區(qū)不滿的虛通道。例如在時(shí)刻1(如圖2所示),a、b、c、d四個(gè)虛通道的發(fā)送緩沖區(qū)都不空(有數(shù)據(jù)等待傳輸),接收緩沖區(qū)都不滿(可以接收數(shù)據(jù)),則a、b、c、d四個(gè)虛通道在時(shí)刻1分別被分配到1/4的物理鏈路帶寬。然而,在時(shí)刻2(如圖3所示),a虛通道的發(fā)送緩沖區(qū)為空(沒有數(shù)據(jù)等待傳輸),c虛通道的接收緩沖區(qū)為滿(不能接收數(shù)據(jù)),b、d虛通道的發(fā)送緩沖區(qū)不空且接收緩沖區(qū)都不滿,則在時(shí)刻2,b、d虛通道分別被分配到1/2的物理鏈路帶寬,而不分配給a、c虛通道任何帶寬。這樣保證了在任何時(shí)刻物理鏈路帶寬均能被有效利用。
實(shí)施方式如圖4所示,在發(fā)送端,動(dòng)態(tài)帶寬分配通過一個(gè)仲裁器來實(shí)現(xiàn)。虛通道的發(fā)送緩沖區(qū)設(shè)置了一個(gè)空標(biāo)志指示信號(hào),空用“0”表示,不空用“1”表示。虛通道的接收緩沖區(qū)設(shè)置了一個(gè)滿標(biāo)志指示信號(hào),滿用“0”表示,不滿用“1”表示。將虛通道發(fā)送緩沖區(qū)的空標(biāo)志指示信號(hào)和接收緩沖區(qū)的滿標(biāo)志指示信號(hào)相與的結(jié)果作為該虛通道的帶寬請(qǐng)求信號(hào)。仲裁器通過判斷每個(gè)虛通道的帶寬請(qǐng)求信號(hào)決定是否分配給該虛通道帶寬,當(dāng)虛通道帶寬請(qǐng)求信號(hào)為“1”時(shí),表示該虛通道有帶寬請(qǐng)求,則仲裁器分配給該虛通道帶寬,否則,當(dāng)該信號(hào)為“0”時(shí),仲裁器不分配給該虛通道帶寬。
仲裁器的具體工作流程如圖5所示(以四個(gè)虛通道a,b,c,d為例)仲裁器設(shè)置一個(gè)虛通道指示標(biāo)記,該標(biāo)記指示上一時(shí)鐘周期發(fā)送數(shù)據(jù)的虛通道,初始化為虛通道d,在每個(gè)時(shí)鐘周期,仲裁器從虛通道指示標(biāo)記指示的虛通道的下一個(gè)虛通道開始搜索,直到找到有帶寬請(qǐng)求的虛通道為止,然后為搜索到的虛通道的數(shù)據(jù)貼上標(biāo)簽(該標(biāo)簽指示數(shù)據(jù)所屬的虛通道)并將其發(fā)送出去,同時(shí)將虛通道指示標(biāo)記更新為在該時(shí)鐘周期發(fā)送數(shù)據(jù)的虛通道。如果搜索了所有虛通道仍沒有找到有帶寬請(qǐng)求的虛通道,則在該時(shí)鐘周期不發(fā)送數(shù)據(jù),虛通道指示標(biāo)記不變。
在接收端,分路器根據(jù)每個(gè)接收到數(shù)據(jù)的標(biāo)簽,將數(shù)據(jù)存入相應(yīng)的虛通道緩沖區(qū)。
綜上所述,動(dòng)態(tài)帶寬分配方法避免了傳統(tǒng)的固定帶寬分配方法在某些情況下浪費(fèi)帶寬的缺點(diǎn),保證了在任何時(shí)刻均能有效利用物理鏈路帶寬。
權(quán)利要求
1.用于設(shè)計(jì)片上網(wǎng)絡(luò)的一種帶寬動(dòng)態(tài)分配方法,其特征在于,依次含有以下步驟步驟(1).初始化在發(fā)送端,設(shè)定一個(gè)仲裁器,在輸入端設(shè)有N個(gè)數(shù)據(jù)輸入端,N個(gè)讀使能信號(hào)輸出端,N為虛通道發(fā)送緩沖區(qū)的個(gè)數(shù),每個(gè)虛通道發(fā)送緩沖區(qū)設(shè)有一個(gè)數(shù)據(jù)輸出端,以及一個(gè)讀使能信號(hào)輸入端,分別與所述仲裁器的相應(yīng)的數(shù)據(jù)信號(hào)輸入端、讀使能信號(hào)輸出端相連,每個(gè)虛通道發(fā)送緩沖區(qū)輸出的數(shù)據(jù)的帶寬為kW,W為物理鏈路總帶寬,k為每個(gè)虛通道發(fā)送緩沖區(qū)所輸出數(shù)據(jù)的帶寬占物理鏈路總帶寬之比,0≤k≤1;此外,還在每個(gè)虛通道發(fā)送緩沖區(qū)設(shè)有一個(gè)空標(biāo)志指示信號(hào),該信號(hào)為“0”,表示所述的虛通道發(fā)送緩沖區(qū)為空,否則,為不空,用“1”表示;在接收端,設(shè)定一個(gè)分路器,在輸出端設(shè)有N個(gè)數(shù)據(jù)輸出端以及N個(gè)寫使能信號(hào)輸出端,N為虛通道接收緩沖區(qū)的個(gè)數(shù),所述虛通道接收緩沖區(qū)的個(gè)數(shù)與虛通道發(fā)送緩沖區(qū)的個(gè)數(shù)相等,每個(gè)虛通道接收緩沖區(qū)都設(shè)有一個(gè)數(shù)據(jù)輸入端和一個(gè)寫使能信號(hào)輸入端;另外,在每個(gè)虛通道接收緩沖區(qū)設(shè)有一個(gè)滿標(biāo)志信號(hào),該信號(hào)為“0”,表示所述虛通道接收緩沖區(qū)已滿,否則,為不滿,用“1”表示;此外,在發(fā)送端,還設(shè)有N個(gè)與門電路,每個(gè)與門電路的兩個(gè)輸入端分別與所述虛通道發(fā)送緩沖區(qū)的空標(biāo)志指示信號(hào)輸出端以及虛通道接收緩沖區(qū)的滿標(biāo)志指示信號(hào)輸出端相連,每個(gè)與門電路的輸出端與仲裁器的多路選擇器的控制信號(hào)輸入端相連;步驟(2).依次按以下步驟執(zhí)行帶寬動(dòng)態(tài)分配方法步驟(2.1).所述仲裁器設(shè)置一個(gè)虛通道指示標(biāo)記,初始化為虛通道d;步驟(2.2).在第一個(gè)鏈路時(shí)鐘周期,該仲裁器在所述初試化虛通道的下一個(gè)虛通道開始搜索,直到找出某一個(gè)與門電路的輸出為“1”為止,此時(shí)表示該虛通道有相應(yīng)的帶寬請(qǐng)求,分配給相應(yīng)虛通道帶寬并傳送相應(yīng)虛通道的數(shù)據(jù);否則,如果沒有找到有帶寬請(qǐng)求的虛通道,則在該時(shí)鐘周期鏈路空閑,不傳送任何數(shù)據(jù);步驟(2.3).對(duì)于以后任何一個(gè)鏈路時(shí)鐘周期,仲裁器都在虛通道指示標(biāo)志所指示的下一個(gè)虛通道按步驟(2.2)所述方法開始搜索。
2.根據(jù)權(quán)利要求1所述的用于設(shè)計(jì)片上網(wǎng)絡(luò)的一種帶寬動(dòng)態(tài)分配方法,其特征在于,所述的N=4。
全文摘要
用于設(shè)計(jì)片上網(wǎng)絡(luò)的一種帶寬動(dòng)態(tài)分配方法屬于片上互連網(wǎng)絡(luò)設(shè)計(jì)領(lǐng)域,其特征在于,在發(fā)送端設(shè)定一個(gè)仲裁器,其輸入端與各虛通道發(fā)送緩沖區(qū)相連;在發(fā)送緩沖區(qū)設(shè)定一個(gè)空標(biāo)志指示信號(hào),指示信號(hào)為“0”,表示“空”,為“1”表示“不空”;在接收端設(shè)定一個(gè)分路器,其各數(shù)據(jù)輸出端與各虛通道接收緩沖區(qū)相連,在接收緩沖區(qū)也設(shè)定一個(gè)滿標(biāo)志指示信號(hào),若為“0”表示“滿”,為“1”表示“不滿”;把所述各發(fā)送或接收緩沖區(qū)的指示信號(hào)送往與緩沖區(qū)個(gè)數(shù)相應(yīng)的多個(gè)與門,當(dāng)某一個(gè)與門輸出為“1”時(shí),表示某個(gè)虛通道請(qǐng)求帶寬,由仲裁器為其分配帶寬。本方法保證在任何時(shí)刻都能有效利用物理鏈路的帶寬。
文檔編號(hào)H04L12/56GK101075959SQ20071011771
公開日2007年11月21日 申請(qǐng)日期2007年6月22日 優(yōu)先權(quán)日2007年6月22日
發(fā)明者林世俊, 曾烈光, 金德鵬, 蘇厲 申請(qǐng)人:清華大學(xué)