專利名稱:片上網(wǎng)絡(luò)設(shè)計(jì)用的一種自適應(yīng)打包方法
技術(shù)領(lǐng)域:
本發(fā)明屬于片上互連網(wǎng)絡(luò)設(shè)計(jì)領(lǐng)域。
背景技術(shù):
集成電路一直按照摩爾定律推進(jìn),單芯片所集成的TP(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ī)模增大所帶來的片上互連問題。
包交換方式由于其具有較高的鏈路利用率等優(yōu)點(diǎn)在片上網(wǎng)絡(luò)設(shè)計(jì)中被廣泛采用。蟲孔路由方式也因其在面積和延遲方面的優(yōu)勢(shì)被片上網(wǎng)絡(luò)研究者一致推薦。在蟲孔路由方式中,數(shù)據(jù)包被切割成一系列微片(基本的數(shù)據(jù)傳輸單元),數(shù)據(jù)包格式如圖1所示,包括頭微片、體微片和尾微片。頭微片包含地址信息,數(shù)據(jù)包的其他微片只是緊跟在頭微片的后面在網(wǎng)絡(luò)中傳輸。體微片中包含的是傳輸?shù)臄?shù)據(jù)。尾微片主要包含一些校驗(yàn)碼。每個(gè)微片的前兩個(gè)比特作為標(biāo)簽來區(qū)分不同類型的微片。
目前,片上網(wǎng)絡(luò)研究者們普遍采用定長打包方式。在定長打包方式中,當(dāng)數(shù)據(jù)源數(shù)據(jù)的目的地址改變或數(shù)據(jù)源沒有數(shù)據(jù)時(shí),當(dāng)前處于打包過程的數(shù)據(jù)包必須被強(qiáng)行結(jié)束,此時(shí),如果該數(shù)據(jù)包的包體仍沒有被填滿,那么數(shù)據(jù)包包體的剩余空間將被填入無效數(shù)據(jù)。這些無效數(shù)據(jù)在網(wǎng)絡(luò)中傳輸,將在某種程度上浪費(fèi)網(wǎng)絡(luò)的容量同時(shí)也增加了通信功耗。如果包長設(shè)置不當(dāng),將導(dǎo)致無效數(shù)據(jù)的增多,網(wǎng)絡(luò)容量的進(jìn)一步浪費(fèi),通信功耗的進(jìn)一步增加。如何根據(jù)業(yè)務(wù)的特點(diǎn)選擇最合適的包長是一個(gè)比較復(fù)雜的問題,目前仍沒得到很好解決。
發(fā)明內(nèi)容
本發(fā)明的目的在于提出一種片上網(wǎng)絡(luò)設(shè)計(jì)用的自適應(yīng)打包方法,以克服當(dāng)前定長打包方法存在的浪費(fèi)網(wǎng)絡(luò)容量和增加片上網(wǎng)絡(luò)功耗的缺點(diǎn)。
本發(fā)明的特征在于,依次按以下步驟執(zhí)行基于蟲孔路由方式的自適應(yīng)打包方法步驟(1).初始化在IP塊中設(shè)定一個(gè)數(shù)據(jù)源緩沖區(qū),內(nèi)含數(shù)據(jù)的目的地址以及空標(biāo)志信號(hào);在網(wǎng)絡(luò)接口,用硬件電路分別設(shè)定一個(gè)打包器和打包緩沖區(qū),該打包器的數(shù)據(jù)輸入端與所述的數(shù)據(jù)源緩沖區(qū)的數(shù)據(jù)輸出端相連,打包器的讀控制信號(hào)輸出端與數(shù)據(jù)源緩沖區(qū)的讀控制信號(hào)輸入端相連;所述打包緩沖區(qū)的數(shù)據(jù)輸入端與該打包器的數(shù)據(jù)輸出端相連,該打包緩沖區(qū)的寫控制信號(hào)輸入端與打包器的寫控制信號(hào)輸出端相連,所述打包器還有一個(gè)第一空標(biāo)志信號(hào)輸入端,對(duì)應(yīng)于該數(shù)據(jù)源的空標(biāo)志信號(hào)輸出端,所述打包器還分別設(shè)有一個(gè)第二空標(biāo)志信號(hào)輸入端和一個(gè)滿標(biāo)志信號(hào)輸入端,分別對(duì)應(yīng)于該打包緩沖區(qū)的空標(biāo)志信號(hào)輸出端與滿標(biāo)志信號(hào)輸出端;所述打包緩沖區(qū)的數(shù)據(jù)輸入/輸出端與片上網(wǎng)絡(luò)中的網(wǎng)絡(luò)路由器互連;步驟(2).依次按以下步驟執(zhí)行自適應(yīng)打包方法步驟(2.1).在系統(tǒng)剛初始化,數(shù)據(jù)源緩沖區(qū)未產(chǎn)生數(shù)據(jù),該打包器處于空閑狀態(tài);步驟(2.2).在每個(gè)時(shí)鐘周期,打包器檢測數(shù)據(jù)源緩沖區(qū)的空標(biāo)志信號(hào)和打包緩沖區(qū)的滿標(biāo)志信號(hào),當(dāng)數(shù)據(jù)源緩沖區(qū)不空且打包緩沖區(qū)不滿,打包器根據(jù)數(shù)據(jù)源緩沖區(qū)中數(shù)據(jù)的目的地址插入頭微片,并在下個(gè)打包緩沖區(qū)不滿的時(shí)鐘周期插入內(nèi)含數(shù)據(jù)的體微片,進(jìn)入忙碌狀態(tài);步驟(2.3).在忙碌狀態(tài)下,若數(shù)據(jù)源緩沖區(qū)不空,打包緩沖區(qū)仍不滿,且數(shù)據(jù)的目的地址不變,打包器繼續(xù)插入體微片;若數(shù)據(jù)源緩沖區(qū)中數(shù)據(jù)的目的地址改變,則在打包緩沖區(qū)不滿的情況下執(zhí)行下一步驟(2.4);若數(shù)據(jù)源緩沖區(qū)和打包緩沖區(qū)均為空,則打包器直接執(zhí)行下一步驟(2.4);其他情況打包器不做任何操作;步驟(2.4).打包器在體微片后插入內(nèi)含校驗(yàn)碼的尾微片,轉(zhuǎn)入步驟(2.2),根據(jù)新的數(shù)據(jù)目的地址插入新的頭微片。
仿真實(shí)驗(yàn)表明,該自適應(yīng)打包方式能有效的提高網(wǎng)絡(luò)的吞吐量,減少數(shù)據(jù)傳輸平均延遲,節(jié)省功耗并同時(shí)減少打包器的實(shí)現(xiàn)面積。
圖1.蟲孔路由的數(shù)據(jù)包格式。
圖2.與本發(fā)明所述相關(guān)的硬件框圖。
圖3.本發(fā)明所述方法的流程框圖。
具體實(shí)施例方式
針對(duì)定長打包方法存在的浪費(fèi)網(wǎng)絡(luò)容量和增加片上網(wǎng)絡(luò)功耗的缺點(diǎn),我們提出了自適應(yīng)的打包方法。
打包過程相關(guān)的硬件框圖如圖2所示,主要包括3部分?jǐn)?shù)據(jù)源緩沖區(qū)、打包器和打包緩沖區(qū)。在自適應(yīng)打包方式中,數(shù)據(jù)包沒有固定的包長,打包器根據(jù)數(shù)據(jù)源緩沖區(qū)中數(shù)據(jù)的目的地址、數(shù)據(jù)源緩沖區(qū)和打包緩沖區(qū)的空滿情況,自由的結(jié)束數(shù)據(jù)包,因此,數(shù)據(jù)包中不存在無效數(shù)據(jù),避免了網(wǎng)絡(luò)容量的浪費(fèi),而且,由于數(shù)據(jù)包沒有固定的包長,也不存在包長選擇的問題。
下面我們重點(diǎn)介紹自適應(yīng)打包方式的打包規(guī)則1)當(dāng)系統(tǒng)剛初始化,打包器處于空閑狀態(tài)。
2)當(dāng)打包器處于空閑狀態(tài),等待數(shù)據(jù)源緩沖區(qū)有數(shù)據(jù)且打包緩沖區(qū)不滿時(shí)才開始一個(gè)新的數(shù)據(jù)包,進(jìn)入忙碌狀態(tài)。
3)當(dāng)打包器處于忙碌狀態(tài),當(dāng)數(shù)據(jù)源數(shù)據(jù)的目的地址改變或者數(shù)據(jù)源緩沖區(qū)和打包緩沖區(qū)均為空時(shí),結(jié)束當(dāng)前的數(shù)據(jù)包,進(jìn)入空閑狀態(tài)。
實(shí)施方式圖3為打包器的打包過程流程圖。打包器初始化后,打包器處于空閑狀態(tài)。在空閑狀態(tài)下,在每個(gè)時(shí)鐘周期,打包器檢測數(shù)據(jù)源緩沖區(qū)的空標(biāo)志信號(hào)和打包緩沖區(qū)滿標(biāo)志信號(hào),如果數(shù)據(jù)源緩沖區(qū)不空且打包緩沖區(qū)不滿,則打包器根據(jù)數(shù)據(jù)源緩沖區(qū)中數(shù)據(jù)的目的地址插入頭微片,并在下個(gè)打包緩沖區(qū)不滿的時(shí)鐘周期插入內(nèi)含數(shù)據(jù)的體微片,打包器進(jìn)入忙碌狀態(tài)。在忙碌狀態(tài)下,若數(shù)據(jù)源緩沖區(qū)不空,打包緩沖區(qū)不滿,且數(shù)據(jù)源緩沖區(qū)中數(shù)據(jù)的目的地址不變,則打包器繼續(xù)插入體微片;若數(shù)據(jù)源數(shù)據(jù)的目的地址改變,則在打包緩沖區(qū)不滿的情況下插入尾微片,進(jìn)入空閑狀態(tài);若數(shù)據(jù)源緩沖區(qū)和打包緩沖區(qū)均為空,則插入尾微片,進(jìn)入空閑狀態(tài);在其他情況打包器不進(jìn)行任何操作并停留在忙碌狀態(tài)。
權(quán)利要求
1.片上網(wǎng)絡(luò)設(shè)計(jì)用的一種自適應(yīng)打包方法,其特征在于,依次按以下步驟執(zhí)行基于蟲孔路由方式的自適應(yīng)打包方法步驟(1).初始化在IP塊中設(shè)定一個(gè)數(shù)據(jù)源緩沖區(qū),內(nèi)含數(shù)據(jù)的目的地址以及空標(biāo)志信號(hào);在網(wǎng)絡(luò)接口,用硬件電路分別設(shè)定一個(gè)打包器和打包緩沖區(qū),該打包器的數(shù)據(jù)輸入端與所述的數(shù)據(jù)源緩沖區(qū)的數(shù)據(jù)輸出端相連,打包器的讀控制信號(hào)輸出端與數(shù)據(jù)源緩沖區(qū)的讀控制信號(hào)輸入端相連;所述打包緩沖區(qū)的數(shù)據(jù)輸入端與該打包器的數(shù)據(jù)輸出端相連,該打包緩沖區(qū)的寫控制信號(hào)輸入端與打包器的寫控制信號(hào)輸出端相連,所述打包器還有一個(gè)第一空標(biāo)志信號(hào)輸入端,對(duì)應(yīng)于該數(shù)據(jù)源的空標(biāo)志信號(hào)輸出端,所述打包器還分別設(shè)有一個(gè)第二空標(biāo)志信號(hào)輸入端和一個(gè)滿標(biāo)志信號(hào)輸入端,分別對(duì)應(yīng)于該打包緩沖區(qū)的空標(biāo)志信號(hào)輸出端與滿標(biāo)志信號(hào)輸出端;所述打包緩沖區(qū)的數(shù)據(jù)輸入/輸出端與片上網(wǎng)絡(luò)中的網(wǎng)絡(luò)路由器互連;步驟(2).依次按以下步驟執(zhí)行自適應(yīng)打包方法步驟(2.1).在系統(tǒng)剛初始化,數(shù)據(jù)源緩沖區(qū)未產(chǎn)生數(shù)據(jù),該打包器處于空閑狀態(tài);步驟(2.2).在每個(gè)時(shí)鐘周期,打包器檢測數(shù)據(jù)源緩沖區(qū)的空標(biāo)志信號(hào)和打包緩沖區(qū)的滿標(biāo)志信號(hào),當(dāng)數(shù)據(jù)源緩沖區(qū)不空且打包緩沖區(qū)不滿,打包器根據(jù)數(shù)據(jù)源緩沖區(qū)中數(shù)據(jù)的目的地址插入頭微片,并在下個(gè)打包緩沖區(qū)不滿的時(shí)鐘周期插入內(nèi)含數(shù)據(jù)的體微片,進(jìn)入忙碌狀態(tài);步驟(2.3).在忙碌狀態(tài)下,若數(shù)據(jù)源緩沖區(qū)不空,打包緩沖區(qū)仍不滿,且數(shù)據(jù)的目的地址不變,打包器繼續(xù)插入體微片;若數(shù)據(jù)源緩沖區(qū)中數(shù)據(jù)的目的地址改變,則在打包緩沖區(qū)不滿的情況下執(zhí)行下一步驟(2.4);若數(shù)據(jù)源緩沖區(qū)和打包緩沖區(qū)均為空,則打包器直接執(zhí)行下一步驟(2.4);其他情況打包器不做任何操作;步驟(2.4).打包器在體微片后插入內(nèi)含校驗(yàn)碼的尾微片,轉(zhuǎn)入步驟(2.2),根據(jù)新的數(shù)據(jù)目的地址插入新的頭微片。
全文摘要
片上網(wǎng)絡(luò)設(shè)計(jì)用的自適應(yīng)打包方法屬于片上互連網(wǎng)絡(luò)技術(shù)領(lǐng)域,其特征在于,在IP塊設(shè)立一個(gè)數(shù)據(jù)源緩沖區(qū),在網(wǎng)絡(luò)接口設(shè)立一個(gè)打包器和一個(gè)打包緩沖區(qū),系統(tǒng)初始化后,打包器處于空閑狀態(tài),當(dāng)數(shù)據(jù)源緩沖區(qū)不空且打包緩沖區(qū)不滿時(shí),打包器插入頭尾片和體微片,進(jìn)入忙碌狀態(tài);在忙碌狀態(tài)下,若數(shù)據(jù)源緩沖區(qū)不空,打包緩沖區(qū)不滿,且數(shù)據(jù)的目的地址不變,打包器插入體微片;若數(shù)據(jù)源緩沖區(qū)中數(shù)據(jù)的目的地址改變或者數(shù)據(jù)源緩沖區(qū)和打包緩沖區(qū)均為空,則打包器在打包緩沖區(qū)不滿的情況下插入尾微片,進(jìn)入空閑狀態(tài);其他情況打包器不做任何操作。本方法能有效的提高網(wǎng)絡(luò)通信性能,節(jié)省功耗并同時(shí)減少實(shí)現(xiàn)面積。
文檔編號(hào)H04L29/02GK101075961SQ200710117718
公開日2007年11月21日 申請(qǐng)日期2007年6月22日 優(yōu)先權(quán)日2007年6月22日
發(fā)明者林世俊, 曾烈光, 金德鵬, 蘇厲 申請(qǐng)人:清華大學(xué)