專利名稱:適用于全局異步局部同步片上互連網(wǎng)絡(luò)的路由器裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及ー種適用于全局異步局部同步片上互連網(wǎng)絡(luò)的路由器裝置。
背景技術(shù):
隨著集成電路エ藝的不斷進(jìn)步,單芯片上能夠集成的知識產(chǎn)權(quán)核越來越多,系統(tǒng)對通信帶寬的需求也越來越大。在傳統(tǒng)的芯片中,通常使用總線作為各個設(shè)備之間通信的主要結(jié)構(gòu),然而一條總線同時只能支持一對設(shè)備之間的通信,總線帶寬不會隨著總線設(shè)備數(shù)目的増加而增加,卻面臨著延遲和功耗增大等問題,已經(jīng)無法滿足各知識產(chǎn)權(quán)核之間的 通信需求。于是,研究人員借鑒并行計算機(jī)互連網(wǎng)絡(luò)技術(shù),提出片上互連網(wǎng)絡(luò)用于取代總線為片上各個知識產(chǎn)權(quán)核提供通信服務(wù)。片上互連網(wǎng)絡(luò)成為大規(guī)模片上互連的優(yōu)選解決方案之路由器是構(gòu)成片上互連網(wǎng)絡(luò)的核心部件,數(shù)據(jù)包以跳步的形式經(jīng)過路徑上的每ー個路由器到達(dá)目的地。在片上互連網(wǎng)絡(luò)中,通常采用蟲孔交換。數(shù)據(jù)包以微片為基本単位在網(wǎng)絡(luò)中傳輸,一個數(shù)據(jù)包可以劃分為ー個頭微片,若干個體微片和ー個尾微片,按順序依次在網(wǎng)絡(luò)中傳輸。數(shù)據(jù)包需要申請路由器中的資源以通過路由器向下一跳路由器傳輸,所需的資源包括下一跳路由器的虛通道緩存和本級路由器的交叉開關(guān)使用權(quán)。虛通道緩存的分配以數(shù)據(jù)包為單位,由數(shù)據(jù)包的頭微片申請,一個數(shù)據(jù)包內(nèi)的所有微片共用同一個虛通道緩存,并且只能使用該虛通道緩存,虛通道緩存被一個數(shù)據(jù)包使用時,其他數(shù)據(jù)包不能使用該虛通道緩存。交叉開關(guān)的分配以微片為單位,數(shù)據(jù)包中的每個微片都需要獨(dú)立地申請交叉開關(guān)的使用權(quán)。通常,數(shù)據(jù)包通過路由器包括如下5個步驟I)寫緩存路由器在輸入通道中提供緩存用于暫時存儲數(shù)據(jù)包中的微片。ー個輸入通道提供多個虛通道緩存用于存儲來自不同數(shù)據(jù)包的微片。虛通道之間共享路由器的物理鏈路。在路由器之間傳輸微片的同時,需要傳輸微片所要寫入的虛通道編號,路由器根據(jù)虛通道編號將微片寫入相應(yīng)的虛通道緩存。微片將一直保存在虛通道緩存中,直到它可以離開路由器繼續(xù)傳輸。2)路由計算數(shù)據(jù)包的頭微片包含路由信息,當(dāng)頭微片從虛通道緩存中讀取后,路由器提取頭微片中的路由信息,計算數(shù)據(jù)包的輸出端ロ。3)虛通道分配數(shù)據(jù)包根據(jù)路由計算的結(jié)果,向相應(yīng)輸出端ロ的虛通道分配器申請ー個與該輸出端ロ連接的下一跳路由器中的虛通道。可能同時存在多個虛通道請求,虛通道分配器將在請求之間做出仲裁,選擇出獲得仲裁的請求,并返回該請求可以使用的虛通道編號。4)交叉開關(guān)分配數(shù)據(jù)包獲得下一跳路由器虛通道的使用權(quán)后,頭微片向位于同ー個輸出端ロ的交叉開關(guān)分配器申請交叉開關(guān)的使用權(quán)??赡芡瑫r存在多個交叉開關(guān)請求,交叉開關(guān)分配器將在請求之間做出仲裁,選擇出獲得仲裁的請求,允許其使用交叉開關(guān)。5)通過路由器當(dāng)微片贏得了交叉開關(guān)仲裁后,離開虛通道緩存通過路由器向下一跳路由器傳輸對于體微片和尾微片,它們通過路由器時不需要經(jīng)過步驟2和3。同一個數(shù)據(jù)包內(nèi)的所有微片擁有相同的路由結(jié)果并使用同一條虛通道。尾微片離開虛通道時,將釋放由頭微片保留的虛通道。對上述5個步驟進(jìn)行流水化處理可提高路由器的工作頻率,每個步驟成為ー個流水級依次執(zhí)行,在網(wǎng)絡(luò)零負(fù)載的條件下,一個微片通過路由器需要5個時鐘周期。為了減小網(wǎng)絡(luò)的傳輸延遲,需要縮小微片通過路由器的延遲。在不影響路由器エ作頻率的前提下,縮短路由器的流水級數(shù)可以達(dá)到目的。縮短流水級的方法是流水級的并行執(zhí)行。與本發(fā)明相關(guān)的現(xiàn)有技術(shù)具體如下I、現(xiàn)有技術(shù)ー的技術(shù)方案現(xiàn)有的路由器為了使微片從虛通道中讀取后直接進(jìn)入虛通道分配階段,采用前瞻路由。前瞻路由要求在上一跳路由器中計算下一跳路由器中使用的路由結(jié)果,并通過路由器之間的物理通道把路由計算結(jié)果傳輸給下一跳路由器。路由計算結(jié)果和微片一起寫入虛通道緩存。微片從虛通道緩存讀取的同時,讀取路由計算結(jié)果,用于虛通道分配。該技術(shù)需要擴(kuò)展虛通道緩存的位寬,用于保存路由計算的結(jié)果,増加的位寬等于路由計算結(jié)果信號的位寬。微片和路由計算結(jié)果從虛通道緩存中讀取后,路由計算結(jié)果用于虛通道分配,如果微片是頭微片,則對微片在下一跳路由器中將使用的路由結(jié)果進(jìn)行計算。讀取后的微片和下一跳路由器中使用的路由計算結(jié)果一起傳輸至下一跳路由器。前瞻路由的實(shí)現(xiàn)如圖I所示,每個虛通道需要配置一個路由計算單元。與常見的5級流水路由器相比,前瞻路由的物理開銷在于路由器之間用于傳輸路由結(jié)果的物理連線和虛通道緩存中用于保存路由計算結(jié)果的寄存器開銷。其存在著以下缺點(diǎn)前瞻路由的缺點(diǎn)在于路由器之間額外的用于傳輸路由計算結(jié)果的物理連線開銷和虛通道緩存開銷。I)在全局異步局部同步的片上互連網(wǎng)絡(luò)中,由于對微片進(jìn)行時鐘域轉(zhuǎn)換需要3個讀時鐘周期,發(fā)明人發(fā)現(xiàn)可以利用這段時間進(jìn)行路由計算,即在本級路由器中進(jìn)行路由計算,從而不需要路由器之間的連線開銷,路由計算的結(jié)果可以在3個讀時鐘周期內(nèi)完成,當(dāng)微片可以從虛通道緩存讀端ロ讀取時,路由計算的結(jié)果也準(zhǔn)備就緒。2)前瞻路由要求擴(kuò)展虛通道緩存中的每ー項的位寬,用于存儲路由計算結(jié)果,増加了緩存的成本。發(fā)明人發(fā)現(xiàn)只有在傳輸頭微片時路由計算結(jié)果才是有效的,在傳輸其他微片時路由計算結(jié)果是無效的,虛通道緩存中的項用于存儲其他微片時,路由計算結(jié)果擴(kuò)展位是無效的。ー個數(shù)據(jù)包僅有ー個頭微片,路由計算結(jié)果擴(kuò)展位的利用率很低。3)前瞻路由不能減小對路由計算單元數(shù)量的需求。2、現(xiàn)有技術(shù)ニ的技術(shù)方案文獻(xiàn) I (L. S. Peh, W. J. Dal ly. A delay model and speculative architecturefor pipel ined routers.Proceedings of the 7th International Symposium onHigh-Performance Computer Architecture,2001. pp. 255-266)提出了交叉開關(guān)使用權(quán)的投機(jī)申請方式,交叉開關(guān)分配器同時接受投機(jī)的交叉開關(guān)請求和非投機(jī)的交叉開關(guān)請求,使用兩個仲裁器分別對投機(jī)的交叉開關(guān)請求和非投機(jī)的交叉開關(guān)請求進(jìn)行仲裁。非投機(jī)的交叉開關(guān)請求的優(yōu)先級高于投機(jī)的交叉開關(guān)請求。當(dāng)存在非投機(jī)的交叉開關(guān)請求時,投機(jī)的交叉開關(guān)請求被忽略。交叉開關(guān)使用權(quán)的投機(jī)申請允許數(shù)據(jù)包的頭微片在申請?zhí)撏ǖ朗褂脵?quán)的同時申請交叉開關(guān)的使用權(quán)。在網(wǎng)絡(luò)零負(fù)載的條件下,虛通道請求和交叉開關(guān)請求可以同時得到滿足。文獻(xiàn)I的交叉開關(guān)分配器如圖2所示,每個虛通道中的微片擁有兩種交叉開關(guān)請求,非投機(jī)交叉開關(guān)請求和投機(jī)交叉開關(guān)請求,同一時刻只能有ー種交叉開關(guān)請求有效,當(dāng)請求有效時,請求信號為高電平。每個虛通道都可以向交叉開關(guān)分配器申請交叉開關(guān)的使用,當(dāng)有多個虛通道中的微片申請交叉開關(guān)的使用權(quán)時,進(jìn)入交叉開關(guān)分配器的投機(jī)(非投機(jī))請求信號有多個比特為高電平,仲裁器對請求信號進(jìn)行仲裁,保證只有一個投機(jī)(非投機(jī))交叉開關(guān)請求可以獲得仲裁,仲裁器輸出的仲裁結(jié)果中,獲得仲裁的請求的相應(yīng)比特位為高電平,其余位均為低電平。非投機(jī)的交叉開關(guān)請求的仲裁結(jié)果經(jīng)過邏輯或門,判斷是否存在非投機(jī)的交叉開關(guān)請求。當(dāng)或門的輸出為高電平時,表示存在非投機(jī)的交叉開關(guān)請求,則選擇器選擇非投機(jī)的交叉開關(guān)仲裁結(jié)果做為交叉開關(guān)分配結(jié)果;當(dāng)或門的輸出為低電平時,表示不存在非投機(jī)的交叉開關(guān)請求,則選擇器選擇投機(jī)的交叉開關(guān)仲裁結(jié)果作為交叉開關(guān)分配結(jié)果。其存在著以下缺點(diǎn)在網(wǎng)絡(luò)零負(fù)載的條件下,當(dāng)數(shù)據(jù)包的頭微片出現(xiàn)在虛通道緩存的讀端ロ時,同時產(chǎn)生虛通道請求和投機(jī)的交叉開關(guān)請求。由于不存在競爭,虛通道分配和交叉開關(guān)分配的結(jié)果都是相同的,將許可授予了同一個微片。這樣,微片可以在下一個時鐘周期離開虛通道緩存向下一跳路由器傳輸。文獻(xiàn)I的虛通道分配器和交叉開關(guān)分配器之間是相互獨(dú)立的,即兩者擁有獨(dú)立的請求和仲裁,虛通道分配的結(jié)果和交叉開關(guān)分配的結(jié)果是不相關(guān)的。當(dāng)路由器中只有ー個數(shù)據(jù)包時,虛通道和交叉開關(guān)的使用權(quán)都將授予同一個微片,則微片虛通道申請是成功的,投機(jī)的交叉開關(guān)申請也是成功的。但是,當(dāng)路由器中同時存在多個數(shù)據(jù)包時,虛通道和交叉開關(guān)分配的結(jié)果可能是不同的。如有兩個數(shù)據(jù)包,數(shù)據(jù)包I和數(shù)據(jù)包2,分別緩沖在不同的虛通道緩存中。兩個數(shù)據(jù)包的頭微片在同一個時鐘周期到達(dá)各自虛通道緩存的讀端ロ,并產(chǎn)生虛通道請求和投機(jī)的交叉開關(guān)請求。由于虛通道分配和交叉開關(guān)分配的過程是相互獨(dú)立的,可能出現(xiàn)兩種分配結(jié)果。I)虛通道和交叉開關(guān)的使用權(quán)分配給了同一個微片,如數(shù)據(jù)包I的頭微片,則數(shù)據(jù)包I的頭微片的投機(jī)是成功的,下一個時鐘周期就可以離開當(dāng)前路由器。2)虛通道和交叉開關(guān)的使用權(quán)分配給了不同的微片,如虛通道的使用權(quán)授予了數(shù)據(jù)包I的頭微片,交叉開關(guān)的使用權(quán)授予了數(shù)據(jù)包2的頭微片。由于沒有一個微片能夠同時獲得虛通道和交叉開關(guān)的使用權(quán),下一個時鐘周期,兩個微片都不能離開當(dāng)前路由器,投機(jī)的目的沒有達(dá)到。在存在多個數(shù)據(jù)包同時投機(jī)的情況下,文獻(xiàn)I方案的投機(jī)成功率不能達(dá)到100%,原因是文獻(xiàn)I的設(shè)計不能保證虛通道分配和投機(jī)交叉開關(guān)分配的許可都授予同一個微片。文獻(xiàn)I的交叉開關(guān)分配器需要使用兩個仲裁器分別對非投機(jī)的交叉開關(guān)請求和投機(jī)的交叉開關(guān)請求進(jìn)行仲裁,而在普通的5級流水的路由器的交叉開關(guān)分配器中,只需要ー個仲裁器,與之間比増加了電路開銷。
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題是提供ー種適用于全局異步局部同步片上互連網(wǎng)絡(luò)的、路由器裝置,該路由器適用于全局異步局部同步的片上互連網(wǎng)絡(luò),采用路由計算和寫緩存并行執(zhí)行和交叉開關(guān)投機(jī)申請技術(shù),縮短路由器的流水級數(shù),減小微片通過路由器的延遲。為了解決上述技術(shù)問題,本發(fā)明提供ー種適用于全局異步局部同步片上互連網(wǎng)絡(luò)的路由器裝置,其特征是路由器具有3個流水級,分別為寫緩存和路由計算(BW/RC)、虛通道分配和交叉開關(guān)分配(VA/SA)、以及通過路由器(ST);該路由器在 BW/RC級對微片進(jìn)行緩存和時鐘域的轉(zhuǎn)換,并利用時鐘域轉(zhuǎn)換的延遲對數(shù)據(jù)包進(jìn)行路由計算和對計算結(jié)果的同步;在VA/SA級以投機(jī)的方式同時對虛通道和交叉開關(guān)的使用權(quán)進(jìn)行申請,虛通道分配器對虛通道請求做出仲裁,交叉開關(guān)分配器只對非投機(jī)微片的交叉開關(guān)請求進(jìn)行仲裁,并直接將虛通道請求的仲裁結(jié)果直接做為微片投機(jī)申請交叉開關(guān)的仲裁結(jié)果,交叉開關(guān)分配器優(yōu)先選擇非投機(jī)交叉開關(guān)請求的仲裁結(jié)果做為最終的交叉開關(guān)分配結(jié)果;在ST級,交叉開關(guān)選擇器根據(jù)交叉開關(guān)的仲裁結(jié)果,連通相應(yīng)虛通道的輸入端ロ至輸出端ロ,微片離開異步緩存通過路由器。作為本發(fā)明的適用于全局異步局部同步片上互連網(wǎng)絡(luò)的路由器裝置的改進(jìn)在全局異步局部同步的片上互連網(wǎng)絡(luò)路由器中,利用異步先入先出緩存對微片進(jìn)行時鐘域轉(zhuǎn)換的延遲對數(shù)據(jù)包頭微片進(jìn)行路由計算,并在微片可在異步先入先出緩存的讀端ロ被讀取時可供后續(xù)電路使用;在路由器的交叉開關(guān)分配器中,直接采用虛通道分配的結(jié)果做為投機(jī)交叉請求的仲裁結(jié)果。作為本發(fā)明的適用于全局異步局部同步片上互連網(wǎng)絡(luò)的路由器裝置的進(jìn)ー步改進(jìn)路由器在網(wǎng)絡(luò)中的最小傳輸單位是微片,微片由微片頭和載荷兩部分組成;微片頭包含微片的類型、源地址和目的地址信息,載荷為微片傳輸?shù)挠行?shù)據(jù);路由器根據(jù)每個數(shù)據(jù)包頭微片中的微片頭中的信息進(jìn)行路由計算。作為本發(fā)明的適用于全局異步局部同步片上互連網(wǎng)絡(luò)的路由器裝置的進(jìn)ー步改進(jìn)所述路由器裝置包括多個物理通道用于物理微片的傳輸,物理通道的寬度為ー個微片寬度,每個物理通道可以提供多個虛通道,在輸入通道中使用異步先入先出緩存構(gòu)建虛通道緩存,輸出通道不提供通道緩存,緩存寬度為ー個微片寬度,深度可為2的N次方;注物理通道中的一部分為輸入通道,剰余的為輸出通道;N為非負(fù)整數(shù),即深度可為1,2,4,8……;多個路由計算單元,分布在輸入通道的入口,根據(jù)輸入微片的微片頭信息決定微片的轉(zhuǎn)發(fā)方向,每個輸入通道中的虛通道之間共享ー個路由計算單元;多個輸入信號分配器,根據(jù)微片攜帯的虛通道編號將數(shù)據(jù)(微片數(shù)據(jù)信號114)和控制信號(微片寫使能信號112、路由計算結(jié)果127和路由結(jié)果有效信號132)傳遞給相應(yīng)的虛通道緩存和虛通道狀態(tài)寄存器;多組虛通道狀態(tài)寄存器,用于記錄虛通道的狀態(tài),并擁有相應(yīng)的邏輯電路根據(jù)虛通道狀態(tài)寄存器的值產(chǎn)生虛通道請求和交叉開關(guān)請求;每條虛通道都擁有獨(dú)立的虛通道狀態(tài)寄存器和請求產(chǎn)生邏輯;多個分布式虛通道分配器,每個輸出通道擁有ー個虛通道分配器,當(dāng)同時存在多個虛通道請求時,根據(jù)一定的仲裁策略選擇其中一個請求獲得虛通道的使用權(quán);虛通道分配器根據(jù)下ー跳路由器中虛通道的占用狀態(tài)維護(hù)一個可被分配的虛通道隊列,從中選擇ー條虛通道分配給贏得仲裁的請求;多個分布式交叉開關(guān)分配器,每個輸出通道擁有ー個交叉開關(guān)分配器,對非投機(jī)的交叉開關(guān)請求進(jìn)行仲裁,并使用虛通道分配器的仲裁結(jié)果作為投機(jī)交叉開關(guān)請求的仲裁 結(jié)果,交叉開關(guān)分配器優(yōu)先選擇非投機(jī)交叉開關(guān)請求的仲裁結(jié)果;多個分布式交叉開關(guān)選擇器,每個輸出通道擁有ー個交叉開關(guān)選擇器,根據(jù)交叉開關(guān)分配器的仲裁結(jié)果提供輸入虛通道到輸出通道的連接。作為本發(fā)明的適用于全局異步局部同步片上互連網(wǎng)絡(luò)的路由器裝置的進(jìn)ー步改進(jìn):路由器工作在多個時鐘域,適用于全局異步局部同步的片上互連網(wǎng)絡(luò);路由器每個輸入通道中的異步先入先出緩存的寫端ロ,路由計算單元、輸入信號分配器和部分虛通道狀態(tài)寄存器工作在各自的時鐘域,時鐘信號由與輸入通道相連的上一跳路由器提供;微片通過異步先入先出緩存同步到路由器本地時鐘域,即異步先入先出緩存的讀端ロ工作在路由器本地時鐘域;路由器中的另一部分虛通道狀態(tài)寄存器、虛通道分配器、交叉開關(guān)分配器、以及交叉開關(guān)選擇器等均工作在路由器的本地時鐘域;路由器中的微片、傳輸請求和控制信號都由路由器本地時鐘域同步后向下ー跳路由器輸出,路由器的本地時鐘也同時傳輸?shù)较乱惶酚善?;路由器的每ー個輸入通道都可以連接ー個不同時鐘域的信號,構(gòu)成全局異步局部同步的片上互連網(wǎng)絡(luò); 路由器為每個輸入通道提供ー個路由計算單元,使用一定的路由算法對數(shù)據(jù)包的頭微片進(jìn)行路由計算;當(dāng)數(shù)據(jù)包中的其他微片進(jìn)入輸入通道時,不需要進(jìn)行路由計算,直接使用頭微片獲得的路由計算結(jié)果;路由計算與微片寫入異步先入先出緩存在同一個時鐘周期進(jìn)行;在微片傳輸?shù)耐瑫r,上一跳路由器提供微片所使用的虛通道號,用于選擇本級路由器中的相應(yīng)虛通道緩存和狀態(tài)寄存器的控制信號;微片寫緩存和路由計算在BW/RC級完成;路由器為每個輸入通道提供ー個輸入信號分配器,根據(jù)微片攜帯的虛通道編號,將微片數(shù)據(jù)寫入相應(yīng)編號的虛通道緩存,并將路由計算結(jié)果寫入相應(yīng)編號的虛通道狀態(tài)寄存器;路由器為每個虛通道提供一組虛通道狀態(tài)寄存器,記錄數(shù)據(jù)包路由計算的結(jié)果、異步先入先出緩存的空滿指示、虛通道的占用狀態(tài)、虛通道申請的結(jié)果、以及得到的虛通道編號;保存路由結(jié)果的寄存器和虛通道滿狀態(tài)的寄存器工作在上一跳路由器的時鐘域,其他寄存器均工作在本地路由器的時鐘域;虛通道的滿信號和占用狀態(tài)需要反饋給上ー跳路由器,用于流量控制和虛通道分配;路由器為每組虛通道狀態(tài)寄存器提供相應(yīng)的邏輯產(chǎn)生虛通道的申請和交叉開關(guān)的申請,請求信號在VA/SA級產(chǎn)生;路由器提供多個虛通道分配器,用于為數(shù)據(jù)包分配一條下一跳路由器中的虛通道;虛通道分配器根據(jù)下ー跳路由器反饋的信號維護(hù)虛通道分配狀態(tài)的列表,虛通道占用狀態(tài)是產(chǎn)生于下ー跳路由器本地時鐘域的信號,虛通道分配器提供同步器將虛通道占用狀態(tài)同步到虛通道分配器所在的時鐘域;當(dāng)有多個數(shù)據(jù)包同時申請?zhí)撏ǖ罆r,虛通道分配器中的仲裁単元使用一定的算法選出優(yōu)先級最高的數(shù)據(jù)包獲得虛通道的使用權(quán),并將可用虛通道的編號反饋給該數(shù)據(jù)包所在虛通道的狀態(tài)寄存器;虛通道分配器將向交叉開關(guān)分配器提供虛通道分配的結(jié)果,用于交叉開關(guān)的投機(jī)申請;虛通道分配的過程在VA/SA級完成;路由器提供多個交叉開關(guān)分配器,每個交叉開關(guān)分配器分別控制ー個交叉開關(guān)選擇器;每個交叉開關(guān)分配器具有ー個仲裁単元,用于對非投機(jī)數(shù)據(jù)包的交叉開關(guān)請求做出仲裁;已經(jīng)獲得下一跳路由器中虛通道使用權(quán)的數(shù)據(jù)包稱為非投機(jī)數(shù)據(jù)包,未獲得下一跳路由器中虛通道使用權(quán)的數(shù)據(jù)包稱為投機(jī)數(shù)據(jù)包;交叉開關(guān)分配器使用虛通道分配器提供的虛通道分配結(jié)果做為投機(jī)交叉開關(guān)請求的仲裁結(jié)果;當(dāng)有非投機(jī)數(shù)據(jù)包參與交叉開關(guān)的分配時,選擇非投機(jī)的交叉開關(guān)請求的仲裁結(jié)果做為最終的交叉開關(guān)分配結(jié)果;當(dāng)沒有非投機(jī)數(shù)據(jù)包參與交叉開關(guān)分配吋,選擇投機(jī)交叉開關(guān)請求的仲裁結(jié)果做為最終的交叉開關(guān)分配結(jié)果;交叉開關(guān)分配的過程在VA/SA級完成;路由器提供多個全連接的交叉開關(guān)選擇器,每個交叉開關(guān)選擇器負(fù)責(zé)ー個路由器 輸出端ロ ;每條虛通道都擁有ー個交叉開關(guān)選擇器輸入端ロ,可以直接連接到任意ー個交叉開關(guān)選擇器的輸出端ロ ;每個交叉開關(guān)選擇器的連接配置由交叉開關(guān)分配器決定;獲得交叉開關(guān)使用權(quán)的微片在交叉開關(guān)配置完成后離開虛通道緩存到達(dá)路由器的輸出端ロ,該過程在ST級完成。本發(fā)明提供的適用于片上多處理器和多處理器系統(tǒng)芯片的片上互連網(wǎng)絡(luò)的路由
器裝置。本發(fā)明采用模塊化設(shè)計,路由器的路由計算單元、輸入信號分配器、虛通道狀態(tài)寄存器、申請產(chǎn)生邏輯、虛通道分配器、交叉開關(guān)分配器、以及交叉開關(guān)選擇器均設(shè)計成復(fù)用的可擴(kuò)展模塊。本發(fā)明采用路由計算和寫緩存并行執(zhí)行和交叉開關(guān)投機(jī)申請技術(shù),即將現(xiàn)有技術(shù)中的步驟2和步驟I并行執(zhí)行,微片從虛通道緩存中讀取后直接進(jìn)入步驟3,步驟4以投機(jī)的方式和步驟3并行執(zhí)行,如果步驟4投機(jī)成功,微片同時獲得下一跳路由器虛通道的使用權(quán)和本級路由器交叉開關(guān)的使用權(quán),在下一個時鐘周期進(jìn)入步驟5。采用上述技術(shù)后,在網(wǎng)絡(luò)零負(fù)載的條件下,一個微片通過路由器僅需要3個時鐘周期。本發(fā)明的路由器可用于全局異步局部同步的片上互連網(wǎng)絡(luò),虛通道緩存采用異步先入先出緩存,異步先入先出緩存工作在兩個時鐘域,寫端ロ時鐘域和讀端ロ時鐘域,數(shù)據(jù)從寫入異步先入先出緩存到可以從讀端ロ讀出需要3個讀時鐘周期,本發(fā)明利用這段時間,在數(shù)據(jù)可以被讀取前,完成對數(shù)據(jù)包的路由計算。本發(fā)明同時采用投機(jī)交叉開關(guān)申請技木,已經(jīng)獲得下一跳路由器虛通道使用權(quán)的數(shù)據(jù)包中的微片產(chǎn)生的交叉開關(guān)請求稱為非投機(jī)交叉開關(guān)請求,尚未獲得下一跳路由器虛通道使用權(quán)的數(shù)據(jù)包中的微片產(chǎn)生的交叉開關(guān)請求稱為投機(jī)交叉開關(guān)請求。本發(fā)明將虛通道分配的結(jié)果做為投機(jī)交叉開關(guān)請求的仲裁結(jié)果,交叉開關(guān)分配器僅對非投機(jī)交叉開關(guān)請求進(jìn)行仲裁,如果存在非投機(jī)交叉開關(guān)請求,則將非投機(jī)交叉開關(guān)請求的仲裁結(jié)果做為交叉開關(guān)的最終分配結(jié)果,如果不存在非投機(jī)的交叉開關(guān)請求,則將投機(jī)交叉開關(guān)請求的仲裁結(jié)果做為交叉開關(guān)的最終分配結(jié)果。投機(jī)的交叉開關(guān)請求優(yōu)先級低于非投機(jī)的交叉開關(guān)請求,當(dāng)采用投機(jī)交叉開關(guān)請求的仲裁結(jié)果做為交叉開關(guān)的最終分配結(jié)果吋,稱為交叉開關(guān)投機(jī)申請成功,由于虛通道分配的結(jié)果與之相同,允許數(shù)據(jù)包的頭微片在同一個時鐘內(nèi)同時獲得下一跳路由器中虛通道的使用權(quán)和本級路由器交叉開關(guān)的使用權(quán)。終上所述,本發(fā)明采用的路由計算和寫緩存并行執(zhí)行技術(shù),利用異步先入先出緩存對微片進(jìn)行時鐘域轉(zhuǎn)換的延遲,完成對數(shù)據(jù)包頭微片的路由計算,實(shí)現(xiàn)當(dāng)微片可以從先入先出緩存中讀取時,路由計算已經(jīng)完成,可供使用。本發(fā)明采用的這項技術(shù)實(shí)現(xiàn)了與前瞻路由相同的效果,但與前瞻路由相比具有明顯的優(yōu)點(diǎn)1)路由計算在本級路由器完成,不需要在路由器之間傳輸路由計算結(jié)果,從而不存在物理連線開銷;2)采用獨(dú)立于虛通道緩存的寄存器記錄路由計算結(jié)果,無需擴(kuò)展虛通道緩存的位寬,節(jié)約了存儲資源;3)路由計算單元的位置從虛通道讀端ロ之后調(diào)整到虛通道寫端ロ之前,由于每個時鐘周期路由器的一個輸入通道只能接收ー個微片,同一輸入通道中的各虛通道之間可以共享ー個路由計算單元而不會產(chǎn)生資源沖突和性能下降,從而減少路由計算單元的數(shù)量需求。
本發(fā)明采用的交叉開關(guān)投機(jī)申請技術(shù),關(guān)注虛通道請求的仲裁結(jié)果和投機(jī)交叉開關(guān)請求的仲裁結(jié)果之間的相關(guān)性,投機(jī)成功是指微片同時獲得虛通道使用權(quán)和交叉開關(guān)使用權(quán)。在網(wǎng)絡(luò)零負(fù)載的條件下,虛通道分配結(jié)果和交叉開關(guān)分配結(jié)果是一致的;當(dāng)網(wǎng)絡(luò)中出現(xiàn)多個數(shù)據(jù)包在申請?zhí)撏ǖ朗褂脵?quán)的同時投機(jī)申請交叉開關(guān)的使用權(quán)時,可能會出現(xiàn)虛通道分配結(jié)果和交叉開關(guān)分配結(jié)果不一致的情況,這會導(dǎo)致投機(jī)失敗。本發(fā)明消除了多數(shù)據(jù)包同時投機(jī)申請交叉開關(guān)使用權(quán)時可能出現(xiàn)的投機(jī)失敗的情況。本發(fā)明的交叉開關(guān)分配器只對非投機(jī)的交叉開關(guān)請求進(jìn)行仲裁,而將同一個時鐘周期的虛通道分配結(jié)果直接做為投機(jī)的交叉開關(guān)仲裁結(jié)果,保證了當(dāng)交叉開關(guān)分配器采用投機(jī)交叉開關(guān)仲裁結(jié)果做為最終交叉開關(guān)分配的結(jié)果時,獲得交叉開關(guān)使用權(quán)的微片和獲得虛通道使用權(quán)的微片是同一個微片,實(shí)現(xiàn)了 100%的投機(jī)成功率。在物理實(shí)現(xiàn)上,由于采用了將虛通道分配結(jié)果直接做為投機(jī)交叉開關(guān)仲裁的結(jié)果,虛通道不需要產(chǎn)生投機(jī)的交叉開關(guān)請求信號,交叉開關(guān)分配器的輸入中不存在投機(jī)交叉開關(guān)請求信號,也就不需要使用仲裁器對其進(jìn)行仲裁,因此本發(fā)明的交叉開關(guān)分配器只需要ー個仲裁器,與文獻(xiàn)I的實(shí)現(xiàn)相比,電路成本更低,速度更快。
下面結(jié)合附圖對本發(fā)明的具體實(shí)施方式
作進(jìn)ー步詳細(xì)說明。圖I為現(xiàn)有的前瞻路由的電路結(jié)構(gòu)示意圖;圖2為文獻(xiàn)I的交叉開關(guān)分配器的示意圖;圖3為本發(fā)明的系統(tǒng)結(jié)構(gòu)圖;圖4為本發(fā)明的路由計算單元電路圖;圖 4 中a為路由計算單元的整體結(jié)構(gòu)圖,b為路由計算單元中路由計算模塊的電路圖,c為路由計算單元中微片類型判斷模塊的電路圖;圖5為輸入信號分配器電路圖;圖5 中a為虛通道緩存的寫使能信號分配的電路圖,b為路由結(jié)果寫使能信號分配的電路圖;圖6為虛通道和交叉開關(guān)請求信號產(chǎn)生電路圖;圖7為仲裁器的電路圖;圖7 中
a為仲裁器的整體電路結(jié)構(gòu)圖,b為仲裁器中的譯碼電路圖,c為仲裁器中的編碼電路圖;圖8為交叉開關(guān)分配器電路圖;圖9為交叉開關(guān)選擇器電路圖。
具體實(shí)施例方式本發(fā)明的路由器在網(wǎng)絡(luò)中的最小傳輸單位是微片,由微片頭和載荷兩部分組成。微片頭包含微片的類型、源地址和目的地址信息,載荷為微片傳輸?shù)挠行?shù)據(jù)。路由器接收到微片后只對微片頭部分進(jìn)行路由計算,微片頭的長度為22位,其內(nèi)容如表I所示。表I中使用10位地址空間,支持1024個節(jié)點(diǎn)的片上互連網(wǎng)絡(luò),擴(kuò)展地址空間的長度可以支持更多節(jié)點(diǎn)的片上互連網(wǎng)絡(luò)。表2列出了微片類型的編碼。載荷長度可根據(jù)需要配置。表I
權(quán)利要求
1.適用于全局異步局部同步片上互連網(wǎng)絡(luò)的路由器裝置,其特征是 所述路由器具有3個流水級,分別為寫緩存和路由計算(BW/RC)、虛通道分配和交叉開關(guān)分配(VA/SA)、以及通過路由器(ST); 該路由器在BW/RC級對微片進(jìn)行緩存和時鐘域的轉(zhuǎn)換,并利用時鐘域轉(zhuǎn)換的延遲對數(shù)據(jù)包進(jìn)行路由計算和對計算結(jié)果的同步;在VA/SA級以投機(jī)的方式同時對虛通道和交叉開關(guān)的使用權(quán)進(jìn)行申請,虛通道分配器對虛通道請求做出仲裁,交叉開關(guān)分配器只對非投機(jī)微片的交叉開關(guān)請求進(jìn)行仲裁,并直接將虛通道請求的仲裁結(jié)果直接做為微片投機(jī)申請交叉開關(guān)的仲裁結(jié)果,交叉開關(guān)分配器優(yōu)先選擇非投機(jī)交叉開關(guān)請求的仲裁結(jié)果做為最終的交叉開關(guān)分配結(jié)果;在ST級,交叉開關(guān)選擇器根據(jù)交叉開關(guān)的仲裁結(jié)果,連通相應(yīng)虛通道的輸入端ロ至輸出端ロ,微片離開異步緩存通過路由器。
2.根據(jù)權(quán)利要求I所述的適用于全局異步局部同步片上互連網(wǎng)絡(luò)的路由器裝置,其特征是 在全局異步局部同步的片上互連網(wǎng)絡(luò)路由器中,利用異步先入先出緩存對微片進(jìn)行時鐘域轉(zhuǎn)換的延遲對數(shù)據(jù)包頭微片進(jìn)行路由計算,并在微片可在異步先入先出緩存的讀端ロ被讀取時可供后續(xù)電路使用; 在路由器的交叉開關(guān)分配器中,直接采用虛通道分配的結(jié)果做為投機(jī)交叉請求的仲裁結(jié)果。
3.根據(jù)權(quán)利要求2所述的適用于全局異步局部同步片上互連網(wǎng)絡(luò)的路由器裝置,其特征是 路由器在網(wǎng)絡(luò)中的最小傳輸單位是微片,所述微片由微片頭和載荷兩部分組成;微片頭包含微片的類型、源地址和目的地址信息,載荷為微片傳輸?shù)挠行?shù)據(jù);路由器根據(jù)每個數(shù)據(jù)包頭微片中的微片頭中的信息進(jìn)行路由計算。
4.根據(jù)權(quán)利要求1、2或3所述的適用于全局異步局部同步片上互連網(wǎng)絡(luò)的路由器裝置,其特征是 所述路由器裝置包括 多個物理通道用于物理微片的傳輸,物理通道的寬度為ー個微片寬度,每個物理通道可以提供多個虛通道,在輸入通道中使用異步先入先出緩存構(gòu)建虛通道緩存,輸出通道不提供通道緩存,緩存寬度為ー個微片寬度,深度可為2的N次方; 多個路由計算單元,分布在輸入通道的入ロ,根據(jù)輸入微片的微片頭信息決定微片的轉(zhuǎn)發(fā)方向,每個輸入通道中的虛通道之間共享一個路由計算單元; 多個輸入信號分配器,根據(jù)微片攜帯的虛通道編號將數(shù)據(jù)和控制信號傳遞給相應(yīng)的虛通道緩存和虛通道狀態(tài)寄存器; 多組虛通道狀態(tài)寄存器,用于記錄虛通道的狀態(tài),并擁有相應(yīng)的邏輯電路根據(jù)虛通道狀態(tài)寄存器的值產(chǎn)生虛通道請求和交叉開關(guān)請求;每條虛通道都擁有獨(dú)立的虛通道狀態(tài)寄存器和請求產(chǎn)生邏輯; 多個分布式虛通道分配器,每個輸出通道擁有ー個虛通道分配器,當(dāng)同時存在多個虛通道請求時,根據(jù)一定的仲裁策略選擇其中一個請求獲得虛通道的使用權(quán);虛通道分配器根據(jù)下ー跳路由器中虛通道的占用狀態(tài)維護(hù)一個可被分配的虛通道隊列,從中選擇一條虛通道分配給贏得仲裁的請求;多個分布式交叉開關(guān)分配器,每個輸出通道擁有ー個交叉開關(guān)分配器,對非投機(jī)的交叉開關(guān)請求進(jìn)行仲裁,并使用虛通道分配器的仲裁結(jié)果作為投機(jī)交叉開關(guān)請求的仲裁結(jié)果,交叉開關(guān)分配器優(yōu)先選擇非投機(jī)交叉開關(guān)請求的仲裁結(jié)果; 多個分布式交叉開關(guān)選擇器,每個輸出通道擁有ー個交叉開關(guān)選擇器,根據(jù)交叉開關(guān)分配器的仲裁結(jié)果提供輸入虛通道到輸出通道的連接。
5.根據(jù)權(quán)利要求4所述的適用于全局異步局部同步片上互連網(wǎng)絡(luò)的路由器裝置,其特征是 路由器工作在多個時鐘域,適用于全局異步局部同步的片上互連網(wǎng)絡(luò);路由器每個輸入通道中的異步先入先出緩存的寫端ロ,路由計算單元、輸入信號分配器和部分虛通道狀態(tài)寄存器工作在各自的時鐘域,時鐘信號由與輸入通道相連的上一跳路由器提供;微片通過異步先入先出緩存同步到路由器本地時鐘域,即異步先入先出緩存的讀端ロ工作在路由器本地時鐘域;路由器中的另一部分虛通道狀態(tài)寄存器、虛通道分配器、交叉開關(guān)分配器、以及交叉開關(guān)選擇器等均工作在路由器的本地時鐘域;路由器中的微片、傳輸請求和控制信號都由路由器本地時鐘域同步后向下ー跳路由器輸出,路由器的本地時鐘也同時傳輸?shù)较乱惶酚善?;路由器的每ー個輸入通道都可以連接ー個不同時鐘域的信號,構(gòu)成全局異步局部同步的片上互連網(wǎng)絡(luò); 路由器為每個輸入通道提供一個路由計算單元,使用一定的路由算法對數(shù)據(jù)包的頭微片進(jìn)行路由計算;當(dāng)數(shù)據(jù)包中的其他微片進(jìn)入輸入通道時,不需要進(jìn)行路由計算,直接使用頭微片獲得的路由計算結(jié)果;路由計算與微片寫入異步先入先出緩存在同一個時鐘周期進(jìn)行;在微片傳輸?shù)耐瑫r,上一跳路由器提供微片所使用的虛通道號,用于選擇本級路由器中的相應(yīng)虛通道緩存和狀態(tài)寄存器的控制信號;微片寫緩存和路由計算在BW/RC級完成;路由器為每個輸入通道提供ー個輸入信號分配器,根據(jù)微片攜帯的虛通道編號,將微片數(shù)據(jù)寫入相應(yīng)編號的虛通道緩存,并將路由計算結(jié)果寫入相應(yīng)編號的虛通道狀態(tài)寄存器; 路由器為每個虛通道提供一組虛通道狀態(tài)寄存器,記錄數(shù)據(jù)包路由計算的結(jié)果、異步先入先出緩存的空滿指示、虛通道的占用狀態(tài)、虛通道申請的結(jié)果、以及得到的虛通道編號;保存路由結(jié)果的寄存器和虛通道滿狀態(tài)的寄存器工作在上一跳路由器的時鐘域,其他寄存器均工作在本地路由器的時鐘域;虛通道的滿信號和占用狀態(tài)需要反饋給上一跳路由器,用于流量控制和虛通道分配;路由器為每組虛通道狀態(tài)寄存器提供相應(yīng)的邏輯產(chǎn)生虛通道的申請和交叉開關(guān)的申請,請求信號在VA/SA級產(chǎn)生; 路由器提供多個虛通道分配器,用于為數(shù)據(jù)包分配一條下一跳路由器中的虛通道;虛通道分配器根據(jù)下ー跳路由器反饋的信號維護(hù)虛通道分配狀態(tài)的列表,虛通道占用狀態(tài)是產(chǎn)生于下一跳路由器本地時鐘域的信號,虛通道分配器提供同步器將虛通道占用狀態(tài)同步到虛通道分配器所在的時鐘域;當(dāng)有多個數(shù)據(jù)包同時申請?zhí)撏ǖ罆r,虛通道分配器中的仲裁単元使用一定的算法選出優(yōu)先級最高的數(shù)據(jù)包獲得虛通道的使用權(quán),并將可用虛通道的編號反饋給該數(shù)據(jù)包所在虛通道的狀態(tài)寄存器;虛通道分配器將向交叉開關(guān)分配器提供虛通道分配的結(jié)果,用于交叉開關(guān)的投機(jī)申請;虛通道分配的過程在VA/SA級完成; 路由器提供多個交叉開關(guān)分配器,每個交叉開關(guān)分配器分別控制ー個交叉開關(guān)選擇器;每個交叉開關(guān)分配器具有ー個仲裁単元,用于對非投機(jī)數(shù)據(jù)包的交叉開關(guān)請求做出仲裁;已經(jīng)獲得下一跳路由器中虛通道使用權(quán)的數(shù)據(jù)包稱為非投機(jī)數(shù)據(jù)包,未獲得下ー跳路由器中虛通道使用權(quán)的數(shù)據(jù)包稱為投機(jī)數(shù)據(jù)包;交叉開關(guān)分配器使用虛通道分配器提供的虛通道分配結(jié)果做為投機(jī)交叉開關(guān)請求的仲裁結(jié)果;當(dāng)有非投機(jī)數(shù)據(jù)包參與交叉開關(guān)的分配時,選擇非投機(jī)的交叉開關(guān)請求的仲裁結(jié)果做為最終的交叉開關(guān)分配結(jié)果;當(dāng)沒有非投機(jī)數(shù)據(jù)包參與交叉開關(guān)分配吋,選擇投機(jī)交叉開關(guān)請求的仲裁結(jié)果做為最終的交叉開關(guān)分配結(jié)果;交叉開關(guān)分配的過程在VA/SA級完成; 路由器提供多個全連接的交叉開關(guān)選擇器,每個交叉開關(guān)選擇器負(fù)責(zé)ー個路由器輸出端ロ ;每條虛通道都擁有ー個交叉開關(guān)選擇器輸入端ロ,可以直接連接到任意ー個交叉開關(guān)選擇器的輸出端ロ ;每個交叉開關(guān)選擇器的連接配置由交叉開關(guān)分配器決定;獲得交叉開關(guān)使用權(quán)的微片在交叉開關(guān)配置完成后離開虛通道緩存到達(dá)路由器的輸出端ロ,該過程 在ST級完成。
全文摘要
本發(fā)明公開了一種適用于全局異步局部同步片上互連網(wǎng)絡(luò)的路由器裝置,具有3個流水級,在BW/RC級對微片進(jìn)行緩存和時鐘域的轉(zhuǎn)換,并利用時鐘域轉(zhuǎn)換的延遲對數(shù)據(jù)包進(jìn)行路由計算和對計算結(jié)果的同步;在VA/SA級以投機(jī)的方式同時對虛通道和交叉開關(guān)的使用權(quán)進(jìn)行申請,虛通道分配器對虛通道請求做出仲裁,交叉開關(guān)分配器只對非投機(jī)微片的交叉開關(guān)請求進(jìn)行仲裁,并直接將虛通道請求的仲裁結(jié)果直接做為微片投機(jī)申請交叉開關(guān)的仲裁結(jié)果,交叉開關(guān)分配器優(yōu)先選擇非投機(jī)交叉開關(guān)請求的仲裁結(jié)果做為最終的交叉開關(guān)分配結(jié)果;在ST級,交叉開關(guān)選擇器根據(jù)交叉開關(guān)的仲裁結(jié)果,連通相應(yīng)虛通道的輸入端口至輸出端口,微片離開異步緩存通過路由器。
文檔編號H04L12/56GK102629913SQ20121010496
公開日2012年8月8日 申請日期2012年4月11日 優(yōu)先權(quán)日2012年4月11日
發(fā)明者劉揚(yáng)帆, 劉鵬, 姚慶棟, 王維東, 鄔可俊, 錢盛濤, 黃春明 申請人:浙江大學(xué)