專(zhuān)利名稱(chēng):提供用于多維網(wǎng)格拓?fù)涞臒o(wú)緩沖器傳輸方法
提供用于多維網(wǎng)格拓?fù)涞臒o(wú)緩沖器傳輸方法背景隨著較小且較快電路形式中半導(dǎo)體技術(shù)的進(jìn)步,可在單個(gè)半導(dǎo)體管芯中實(shí)現(xiàn)一個(gè)或多個(gè)組件。一種類(lèi)型的管芯是其中存在多個(gè)代理的所謂芯片上系統(tǒng)(Soc),其可被用于處理數(shù)據(jù)并執(zhí)行其他操作。這些代理之間的互連性是通過(guò)芯片上網(wǎng)絡(luò)來(lái)達(dá)成的,該芯片上網(wǎng)絡(luò)可基于包括分組路由網(wǎng)絡(luò)、總線、環(huán)等等的各種方法。然而,這些辦法可能具有關(guān)于設(shè)計(jì)復(fù)雜度、受限可縮放性、或面積/功率效率的問(wèn)題。此外,已知互連中的一些可能展現(xiàn)待解決的復(fù)雜死鎖/競(jìng)爭(zhēng)問(wèn)題。
給定由于業(yè)務(wù)量考慮因素、等待時(shí)間等等,在代理之間的傳輸機(jī)制中存在多個(gè)分組,因此大多數(shù)實(shí)現(xiàn)包括一些類(lèi)型的緩沖介質(zhì)作為代理之間的傳輸機(jī)制的一部分。雖然環(huán)可提供無(wú)緩沖器介質(zhì),但是此類(lèi)環(huán)在歷史上是單個(gè)維度的,使得環(huán)概念沒(méi)有用于多維。附圖簡(jiǎn)述圖I是根據(jù)本發(fā)明一個(gè)實(shí)施例的網(wǎng)絡(luò)互連系統(tǒng)的框圖。圖2是根據(jù)本發(fā)明一個(gè)實(shí)施例的配置成穿過(guò)狀態(tài)的網(wǎng)格互連系統(tǒng)的框圖。圖3是根據(jù)本發(fā)明一個(gè)實(shí)施例的配置成轉(zhuǎn)向狀態(tài)的網(wǎng)格互連系統(tǒng)的框圖。圖4是根據(jù)本發(fā)明一個(gè)實(shí)施例的互連系統(tǒng)的框圖。圖5是根據(jù)本發(fā)明實(shí)施例的節(jié)點(diǎn)的框圖。圖6是根據(jù)本發(fā)明實(shí)施例的根據(jù)靜態(tài)全局循環(huán)調(diào)度來(lái)傳達(dá)分組的方法的流程圖。詳細(xì)描述在各個(gè)實(shí)施例中,可提供所謂的“無(wú)路由器I環(huán)”的無(wú)緩沖器和無(wú)路由器環(huán)以實(shí)現(xiàn)芯片上節(jié)點(diǎn)(諸如可能存在于芯片上系統(tǒng)(Soc)或其他半導(dǎo)體器件中)的互連。此類(lèi)SOC可包括各種類(lèi)型的設(shè)計(jì),包括具有高代理數(shù)量(包括諸如核、高速緩存、加速計(jì)、存儲(chǔ)器控制器等)的多核和多個(gè)核中央處理單元(CPU)設(shè)計(jì)。根據(jù)本發(fā)明的實(shí)施例的互連網(wǎng)絡(luò)可被設(shè)計(jì)成有兩個(gè)或更多維度。一般而言,該網(wǎng)絡(luò)包括(i)無(wú)緩沖器傳輸介質(zhì);(ii)入口接入點(diǎn)(用于將分組調(diào)度到傳輸介質(zhì));以及
(iii)出口接收器點(diǎn)(用于從傳輸介質(zhì)拉取分組)。在許多實(shí)施例中,無(wú)緩沖器傳輸介質(zhì)可包括布置成nxm網(wǎng)格的一組同步時(shí)鐘控制的節(jié)點(diǎn)。每個(gè)此類(lèi)節(jié)點(diǎn)可包括聯(lián)網(wǎng)相關(guān)硬件,并且進(jìn)而可被耦合至相應(yīng)的代理,諸如核、高速緩存、加速計(jì)等。現(xiàn)在參見(jiàn)
圖1,所示為根據(jù)本發(fā)明的一個(gè)實(shí)施例的網(wǎng)格系統(tǒng)的框圖。如圖I中所示的,系統(tǒng)100可被實(shí)現(xiàn)為包括多個(gè)節(jié)點(diǎn)IlOui-IlOmm的兩維(2D)鏈路互連網(wǎng)格。在各個(gè)實(shí)施例中,系統(tǒng)100可以是芯片上系統(tǒng)(SoC),或者其他此類(lèi)形成于一個(gè)半導(dǎo)體管芯上的單芯片半導(dǎo)體器件,而在其他實(shí)施例中,系統(tǒng)可以由多層堆疊管芯形成,從而實(shí)現(xiàn)具有大于兩維的網(wǎng)格。在不同實(shí)現(xiàn)中,代理可以是異類(lèi)或同類(lèi)的,諸如處理器核、高速緩存塊、存儲(chǔ)器控制器、專(zhuān)用處理單元(諸如圖形處理器)、分組處理器等等。一般而言,節(jié)點(diǎn)可與代理(例如,核或其他處理或控制單元)相關(guān)聯(lián),并且可包括互連相關(guān)輸入/輸出(I/O)電路,如以下所描述的。仍參看圖1,每個(gè)節(jié)點(diǎn)110可經(jīng)由多個(gè)互連115 (其可以是雙向互連)被耦合至2D配置的多個(gè)其他節(jié)點(diǎn)。另外,邊緣節(jié)點(diǎn)(即,在系統(tǒng)的外圍處的節(jié)點(diǎn)河包括反饋互連120,其將相應(yīng)節(jié)點(diǎn)的輸出端口耦合至相同或其他邊緣節(jié)點(diǎn)的輸入端口。在圖I的高層視圖中,僅示出I/O電路(例如,路由結(jié)構(gòu))。即,在圖I中沒(méi)有示出代理的實(shí)際功能單元。一般而言,每個(gè)節(jié)點(diǎn)可包括多個(gè)輸入和輸出端口。一般而言,這些輸入和輸出端口可包括用于影響通過(guò)網(wǎng)格互連對(duì)接收到的信息(諸如分組)的選擇和傳遞的邏輯以及其他電路。注意圖I中所示的實(shí)現(xiàn)是代表性的,并且不完全反映節(jié)點(diǎn)內(nèi)可用的開(kāi)關(guān)或配置。即,如以下將進(jìn)一步描述的,每個(gè)節(jié)點(diǎn)可根據(jù)多個(gè)路由圖來(lái)配置,以將數(shù)據(jù)路由至給定節(jié)點(diǎn)可能被連接至的不同節(jié)點(diǎn)。如圖I中看到的,每個(gè)節(jié)點(diǎn)110具有至其毗鄰節(jié)點(diǎn)的四個(gè)雙向鏈路(且在邊緣節(jié)點(diǎn)上有特殊反饋規(guī)則)。鏈路的數(shù)目可隨著維度數(shù)目而增大。在每個(gè)時(shí)鐘周期,每個(gè)節(jié)點(diǎn)的多個(gè)輸入端口中的每一個(gè)可接收至少一個(gè)分組。傳入分組可被本地消費(fèi)或傳遞至每個(gè)節(jié)點(diǎn)的多個(gè)輸出端口中的一個(gè),其中這些分組在下一周期被傳送至毗鄰節(jié)點(diǎn)。由此,傳輸介質(zhì)因此是無(wú)緩沖器的。注意在圖I中未示出I/o電路的細(xì)節(jié)。替換地,僅多個(gè)輸出寄存器105a_d
被示出,多個(gè)輸出寄存器中的每一個(gè)與給定輸出端口相關(guān)聯(lián),并由此是節(jié)點(diǎn)從其發(fā)送所選分組的組件。由于輸出端口還可從除相應(yīng)多個(gè)輸入端口之外的耦合至節(jié)點(diǎn)的本地代理接收分組,因此多路復(fù)用器(未在圖I中示出)可存在于每個(gè)輸出寄存器105的前面。分組采取的路由是根據(jù)所定義的先驗(yàn)知識(shí)以及獨(dú)立于業(yè)務(wù)量的單個(gè)節(jié)點(diǎn)連接狀態(tài)序列來(lái)確定的。該序列可被選擇成對(duì)于所有節(jié)點(diǎn)相同或者為每個(gè)節(jié)點(diǎn)各自構(gòu)成的。在任何時(shí)間,如節(jié)點(diǎn)特定序列所確定的,網(wǎng)格的所有節(jié)點(diǎn)是將輸入端口映射至輸出端口的多個(gè)預(yù)定義業(yè)務(wù)量獨(dú)立連接狀態(tài)中的一個(gè)。雖然本發(fā)明的范圍并不限于此,但是在一個(gè)實(shí)施例中,所有節(jié)點(diǎn)可遵循從兩個(gè)連接狀態(tài)(即,穿過(guò)狀態(tài)和轉(zhuǎn)向狀態(tài))構(gòu)建的相同序列,這兩個(gè)連接狀態(tài)中的每一個(gè)實(shí)現(xiàn)不同維度中的通信?,F(xiàn)在參看圖2,示出的是其中所有節(jié)點(diǎn)處于穿過(guò)狀態(tài)的網(wǎng)格互連系統(tǒng)100’的框圖。在此穿過(guò)狀態(tài)中,每個(gè)節(jié)點(diǎn)可被配置(例如,通過(guò)控制多路復(fù)用器或其他開(kāi)關(guān)邏輯)成是將接收自第一相鄰節(jié)點(diǎn)的數(shù)據(jù)直接傳遞至第二相鄰節(jié)點(diǎn)。在圖2中所示的實(shí)現(xiàn)中,這些節(jié)點(diǎn)可以是水平或垂直相鄰節(jié)點(diǎn)。如本文中所用的,相鄰節(jié)點(diǎn)是在給定維度中與一節(jié)點(diǎn)直接毗鄰的節(jié)點(diǎn)。注意,在圖2中所示的實(shí)現(xiàn)中,邊緣節(jié)點(diǎn)被耦合至互連120,其提供直接反饋以使得在穿過(guò)操作模式中,由邊緣節(jié)點(diǎn)輸出的數(shù)據(jù)也在此同一邊緣節(jié)點(diǎn)中被直接接收。出于便于圖2中的例示起見(jiàn),諸如節(jié)點(diǎn)內(nèi)的內(nèi)部路由之類(lèi)的其他互連未被示出以免模糊圖2中所示的狀態(tài)。在此穿過(guò)狀態(tài)中,節(jié)點(diǎn)簡(jiǎn)單地轉(zhuǎn)發(fā)來(lái)自相反側(cè)的分組,并且由此網(wǎng)格被分解成一組水平或垂直重疊的、未連接的環(huán)。在一些實(shí)施例中,基于對(duì)系統(tǒng)的控制在兩個(gè)方向上發(fā)生的穿過(guò)通信由此潛在地實(shí)現(xiàn)更高效的通信,但是在此實(shí)例中復(fù)雜度可能增大。雖然如圖2中所表示的穿過(guò)狀態(tài)實(shí)現(xiàn)單個(gè)維度的相鄰代理之間的數(shù)據(jù)通信,但是為了實(shí)現(xiàn)不同維度的節(jié)點(diǎn)之間的通信,實(shí)施例可配置節(jié)點(diǎn)以提供一個(gè)或多個(gè)轉(zhuǎn)向狀態(tài)。此類(lèi)轉(zhuǎn)向狀態(tài)可被用于在不同維度的相鄰核之間傳達(dá)數(shù)據(jù)。注意,不管所選狀態(tài)如何,每個(gè)節(jié)點(diǎn)可每周期輸入和輸出相等數(shù)目個(gè)分組,因?yàn)閭鬏敊C(jī)制是無(wú)緩沖器的?,F(xiàn)在參看圖3,示出的是以轉(zhuǎn)向狀態(tài)配置的網(wǎng)格互連系統(tǒng)100。如圖3中所見(jiàn)的,系統(tǒng)100”現(xiàn)在被配置成使得在與穿過(guò)方向不同的方向上路由每個(gè)傳入分組。在此狀態(tài)中,每個(gè)節(jié)點(diǎn)向左路由傳入分組。這導(dǎo)致每個(gè)節(jié)點(diǎn)處的傳入分組在水平和垂直環(huán)(在穿過(guò)狀態(tài)中建立的)之間被互換。在圖3的例示中,此轉(zhuǎn)向狀態(tài)可向左轉(zhuǎn),以使得分組被傳達(dá)給下一相鄰節(jié)點(diǎn)。再次注意,關(guān)于圖3的例示,邊緣節(jié)點(diǎn)可經(jīng)由反饋互連120來(lái)配置成經(jīng)由節(jié)點(diǎn)的輸入端口直接接收從節(jié)點(diǎn)的輸出端口輸出的分組。雖然在圖3的例示中用左轉(zhuǎn)狀態(tài)示出,但是本發(fā)明的范圍不限于此方面,并且在其他實(shí)現(xiàn)中,此轉(zhuǎn)向狀態(tài)可以是右轉(zhuǎn)狀態(tài)。在一個(gè)實(shí)施例中,可根據(jù)可與介質(zhì)上的真實(shí)通信完全獨(dú)立的循環(huán)調(diào)度來(lái)選擇狀態(tài)。該調(diào)度必須保證在每個(gè)發(fā)送方節(jié)點(diǎn)處存在用于插入的一個(gè)時(shí)隙,以使得最終所插入的分組抵達(dá)預(yù)期目的地。一種滿足此約束的方案是時(shí)鐘循環(huán)調(diào)度(其中S-max (n, m)),其包括所有節(jié)點(diǎn)處于穿過(guò)狀態(tài)(圖2)的S-I個(gè)時(shí)鐘周期以及所有節(jié)點(diǎn)處于轉(zhuǎn)向狀態(tài)(例如,圖3,向左)的I個(gè)周期。更一般地,循環(huán)調(diào)度可以有S個(gè)時(shí)鐘(其中,S=max(n,m))并且S-x個(gè)時(shí)鐘周期處于穿過(guò)狀態(tài)(圖2),而X個(gè)周期處于轉(zhuǎn)向狀態(tài)(例如,圖3,向左)。此類(lèi)循環(huán)調(diào)度很可能可建立從每個(gè)發(fā)送方節(jié)點(diǎn)至每個(gè)其他節(jié)點(diǎn)的至少一個(gè)Manhattan路由。如本文中所使用 的,術(shù)語(yǔ)“Manhattan路由”被用于定義這樣的路由該路由具有代理之間的最小傳播距離,而沒(méi)有任何障礙、繞道、向后循跡等等。典型地,可存在不滿足Manhattan屬性的附加可行路徑。其他調(diào)度也是可行的,像S=2*max(n,m),再次地,其中在S-I個(gè)周期內(nèi)所有節(jié)點(diǎn)處于穿過(guò)狀態(tài),而單個(gè)周期處于轉(zhuǎn)向配置等等。雖然僅僅一個(gè)序列被應(yīng)用于所有節(jié)點(diǎn)可能是滿足的,但是可考慮多組序列應(yīng)用于相應(yīng)節(jié)點(diǎn)子集來(lái)改進(jìn)介質(zhì)的某些特性。作為一個(gè)示例,節(jié)點(diǎn)可具有導(dǎo)致在給定周期內(nèi)在網(wǎng)絡(luò)層上可見(jiàn)的多個(gè)不同連接狀態(tài)的各個(gè)連接狀態(tài)序列??煽紤]另外其他類(lèi)型的連接狀態(tài),像一個(gè)節(jié)點(diǎn)內(nèi)右轉(zhuǎn)或轉(zhuǎn)向和穿過(guò)配置的組合。一般而言,附加狀態(tài)可增加輸出端口的多路復(fù)用器的輸入的數(shù)量。應(yīng)當(dāng)理解,存在不同的拓?fù)渥凅w,諸如節(jié)點(diǎn)的邊緣處的其他反饋連接方案,或者將網(wǎng)格縮減成單向傳輸機(jī)制?,F(xiàn)在參見(jiàn)圖4,所示為根據(jù)本發(fā)明的另一個(gè)實(shí)施例的互連系統(tǒng)的框圖。如圖4中所示的,系統(tǒng)200包括多個(gè)節(jié)點(diǎn)21(^,注意,在此實(shí)現(xiàn)中,僅單向互連115將相鄰節(jié)點(diǎn)耦合在一起。另外,注意,作為邊緣節(jié)點(diǎn)的反饋路徑的替代,給出互連120以耦合公共維度的相鄰節(jié)點(diǎn)。在其他方面,可與以上所述的圖I的系統(tǒng)類(lèi)似地來(lái)配置系統(tǒng)200。往回參看圖1,在源節(jié)點(diǎn)處,對(duì)于每個(gè)維度,對(duì)于每個(gè)輸出階段而言存在插入時(shí)隙表(時(shí)隙表),用于確保所插入的分組至預(yù)期目的地節(jié)點(diǎn)的遞送。對(duì)于圖I的網(wǎng)格操作并假定固定S時(shí)鐘調(diào)度時(shí)段,有效插入的選項(xiàng)序列也變?yōu)橐灾芷赟進(jìn)行循環(huán),并且由此取決于源/目的地組合可在I與S之間改變。該表僅僅依賴(lài)于網(wǎng)格拓?fù)浜脱h(huán)調(diào)度,并且由此可通過(guò)不同方法來(lái)預(yù)先計(jì)算。在一些實(shí)施例中,可使用分析表達(dá)或經(jīng)由窮盡自發(fā)現(xiàn)來(lái)推導(dǎo)表。在一些實(shí)施例中,此表可在每個(gè)節(jié)點(diǎn)的非易失性存儲(chǔ)中實(shí)現(xiàn)。而且,可在進(jìn)行中通過(guò)由邏輯門(mén)實(shí)現(xiàn)的、用時(shí)鐘周期計(jì)數(shù)以及源和目的地信息作為輸入?yún)?shù)的相應(yīng)函數(shù)來(lái)構(gòu)造?;蛘撸稍谏想姇r(shí)將預(yù)定表動(dòng)態(tài)加載到節(jié)點(diǎn)的易失性存儲(chǔ)。在特定實(shí)施例中,節(jié)點(diǎn)的每個(gè)輸出端口可包括其自己的表,其被預(yù)定為反映網(wǎng)格系統(tǒng)內(nèi)其特定連接。在一個(gè)實(shí)施例中,表的每個(gè)條目可包括目的地標(biāo)識(shí)符以及去往該目的地的分組將經(jīng)由輸出端口被插入的相應(yīng)循環(huán)時(shí)隙。在一些其他實(shí)施例中,每目的地提供包含S比特寬向量的單個(gè)表?xiàng)l目,其中每個(gè)比特η標(biāo)記循環(huán)模式的相應(yīng)時(shí)鐘周期η中的插入是否可行。在一些實(shí)施例中,表還可包括啟發(fā)式數(shù)據(jù),用以幫助輸出端口邏輯確定分組是否將在給定時(shí)隙提供。例如,對(duì)于其中僅一個(gè)或兩個(gè)專(zhuān)用時(shí)隙可抵達(dá)目的地的那些目的地,可對(duì)具有多個(gè)選擇可用于達(dá)到其預(yù)期目的地的分組上的那些寶貴時(shí)隙建立用 于選擇分組的啟發(fā)式方法。由此,給定分組的優(yōu)先級(jí)可基于未決待傳輸?shù)姆纸M而動(dòng)態(tài)地改變。單個(gè)節(jié)點(diǎn)的連接狀態(tài)序列的全局同步可以基于提供給系統(tǒng)的每個(gè)多路復(fù)用器的主或全局控制信號(hào)。在一些其他實(shí)施例中,可通過(guò)在網(wǎng)絡(luò)初始化時(shí)發(fā)送的特殊分組來(lái)達(dá)成同步。當(dāng)經(jīng)由I/O電路在分組插入期間由與相應(yīng)節(jié)點(diǎn)相關(guān)聯(lián)的代理傳遞分組時(shí),其可被立即存儲(chǔ)在入口緩沖器中,直至達(dá)到用于傳輸?shù)那‘?dāng)時(shí)隙,且在相應(yīng)輸出端口處沒(méi)有分配數(shù)據(jù)。即,系統(tǒng)被配置成,由于其無(wú)緩沖器操作,使得至輸入端口的傳入分組獲得勝于本地生成的分組的優(yōu)越性,因?yàn)椴淮嬖趯⒔邮盏降姆纸M維護(hù)在緩沖器或其他存儲(chǔ)結(jié)構(gòu)中的能力。在一些實(shí)施例中,為了改進(jìn)每端口的最大注入速率,可并行地處理由本地代理提供的多個(gè)分組。由于對(duì)于要輸入網(wǎng)絡(luò)的分組典型地存在時(shí)隙和輸出端口的多個(gè)組合(或者多個(gè)分組可在同一時(shí)隙輸入),可應(yīng)用各種啟發(fā)式算法以改進(jìn)網(wǎng)絡(luò)性能。在這些算法中,可能偏好導(dǎo)致最優(yōu)Manhattan路由的選項(xiàng)。作為一個(gè)示例,可從表中移除其他可行但低效(由于網(wǎng)絡(luò)中的長(zhǎng)路徑)的路由(或降低其優(yōu)先級(jí))。在多個(gè)分組在同一時(shí)隙競(jìng)爭(zhēng)同一輸出端口的情形中,可使具有較少插入選項(xiàng)的分組優(yōu)先。此外,可動(dòng)態(tài)地適應(yīng)此類(lèi)啟發(fā)式規(guī)則。由于介質(zhì)的確定性行為,利用此網(wǎng)絡(luò)滿足實(shí)時(shí)需求容易達(dá)成。為此,可存在確定性時(shí)隙預(yù)先分配機(jī)制。對(duì)于每個(gè)輸入端口,可針對(duì)其目的地地址檢查傳入分組。此檢查可以基于不同的目的地編碼,例如,絕對(duì)值(諸如目的地標(biāo)識(shí)符)或每個(gè)傳遞跳躍處的下降遞減。在匹配的情形中,傳入分組被本地存儲(chǔ)在逐個(gè)輸入端口實(shí)例化的出口接收機(jī)隊(duì)列中,并且網(wǎng)格上的相應(yīng)時(shí)隙被標(biāo)記為空。為了實(shí)現(xiàn)此類(lèi)操作,接收機(jī)可具有本地超速時(shí)鐘,用以允許在給定周期從所有輸入端口并行接收分組。為了消除此類(lèi)超速,在一些其他實(shí)施例中,接收機(jī)可被限制成僅在給定時(shí)間觀測(cè)輸入端口的確定性子集,其在時(shí)隙表的相應(yīng)條目中相應(yīng)地得到反映。另外,輸入端口邏輯可將時(shí)隙標(biāo)記為空,以使得后繼節(jié)點(diǎn)可將該時(shí)隙用于數(shù)據(jù)插入(假定當(dāng)前節(jié)點(diǎn)不插入)。在一個(gè)實(shí)施例中,單比特指示符可被用于指示該時(shí)隙實(shí)際上被分配給數(shù)據(jù)還是空時(shí)隙。注意,接收機(jī)端口可選擇不匯集(sink)去往它的傳入分組(例如,出于功率、資源、或其他原因)。該構(gòu)造允許此類(lèi)“反彈”狀況,并確保在有限時(shí)段之后分組再次被重新遞送至其目的地。即,該構(gòu)造可支持以確定性方式將分組帶回其目的地節(jié)點(diǎn)的能力。在不同情形中,此最初不遞送的分組可回到其源,其中關(guān)于其不遞送的信息可被用于流控制或其他用途??筛鶕?jù)本發(fā)明的實(shí)施例將各種微架構(gòu)改進(jìn)技術(shù)應(yīng)用于I環(huán)互連。例如,物理定時(shí)可通過(guò)允許標(biāo)記空時(shí)隙的控制信號(hào)在同一操作網(wǎng)格上提前固定周期計(jì)數(shù)運(yùn)行,以實(shí)現(xiàn)接收機(jī)流水線化。而且,可通過(guò)將目的地解碼移至在前節(jié)點(diǎn)來(lái)使目的地解碼流水線化,如以下將進(jìn)一步描述的。實(shí)施例還是實(shí)現(xiàn)超過(guò)兩維的對(duì)環(huán)的縮放。例如,P個(gè)nxm網(wǎng)格的拓?fù)淇杀弧皩盈B”在一起。在此類(lèi)實(shí)現(xiàn)中,每個(gè)nxm網(wǎng)格可被定位半導(dǎo)體管芯的一個(gè)或個(gè)不同層上。替換地,在這些實(shí)現(xiàn)中,可存在多個(gè)層疊的管芯,其中每個(gè)管芯包括mxn網(wǎng)格。在每個(gè)節(jié)點(diǎn),可提供“開(kāi)關(guān)”狀態(tài)以允許在垂直維度上相交的3個(gè)環(huán)之間的“分組交換”。就像2狀態(tài)最小開(kāi)關(guān)機(jī)制滿足2-D網(wǎng)格,3狀態(tài)最小開(kāi)關(guān)機(jī)制將滿足3-D網(wǎng)格層疊。當(dāng)然,可創(chuàng)建附加狀態(tài)和循環(huán)調(diào)度以最優(yōu)化各個(gè)網(wǎng)絡(luò)參數(shù)?,F(xiàn)在參見(jiàn)圖5,所示為根據(jù)本發(fā)明實(shí)施例的網(wǎng)絡(luò)節(jié)點(diǎn)的單個(gè)輸入數(shù)據(jù)路徑的框圖。此路徑的多個(gè)實(shí)例可存在于NoC的每個(gè)節(jié)點(diǎn)中。具體地,在一個(gè)實(shí)施例中,四個(gè)此類(lèi)電路可存在以形成節(jié)點(diǎn),每個(gè)被配置成接收來(lái)自第一方向的傳入數(shù)據(jù)以及將數(shù)據(jù)輸出到與第一方向相反的第二方向或第三方向,即轉(zhuǎn)換方向。在圖5中所示的實(shí)現(xiàn)中,可在輸入端口寄存器310中接收傳入信息。在一些實(shí)施例中,基于存在或有效指示符(當(dāng)沒(méi)有分組要輸出時(shí)活躍),可發(fā)生對(duì)輸入寄存器的時(shí)鐘的控制,以通過(guò)在沒(méi)有有效數(shù)據(jù)傳入時(shí)禁用寄存器來(lái)減少功 耗。接收到的信息可包括有效載荷數(shù)據(jù)和狀態(tài)/控制信息。狀態(tài)/控制信息可被用來(lái)指示傳入數(shù)據(jù)是否有效以及其他控制信息,諸如相應(yīng)分組的目的地標(biāo)識(shí)符、諸如在給定連接上保持無(wú)隙的保留比特之類(lèi)的服務(wù)質(zhì)量(QoS)相關(guān)信息等等。如所見(jiàn)的,如果傳入有效載荷數(shù)據(jù)對(duì)應(yīng)于與節(jié)點(diǎn)相關(guān)聯(lián)的代理中的一個(gè),例如,由控制信息中存在的目的地指示符所指示的,有效載荷數(shù)據(jù)被提供給出口隊(duì)列320。數(shù)據(jù)可從此處被提供給與節(jié)點(diǎn)相關(guān)聯(lián)的代理中的一個(gè),諸如核、存儲(chǔ)器控制器或其他此類(lèi)處理單元。否則,數(shù)據(jù)和控制信息兩者傳遞至輸出數(shù)據(jù)選擇器330,其一般被用于選擇經(jīng)由輸入端口寄存器310接收的數(shù)據(jù)或節(jié)點(diǎn)中生成、從節(jié)點(diǎn)的代理接收到的數(shù)據(jù)。因而,如圖5中所示的,入口隊(duì)列350被耦合來(lái)接收代理的、期望將被去往另一節(jié)點(diǎn)的數(shù)據(jù)。進(jìn)而,入口隊(duì)列被稱(chēng)合至入口控制器340。一般而言,入口控制器340可基于時(shí)隙表345中存在的信息來(lái)選擇多個(gè)數(shù)據(jù)分組中的一個(gè)來(lái)插入到開(kāi)放時(shí)隙。如以上所討論的,時(shí)隙表345可通過(guò)相應(yīng)分組的目的地標(biāo)識(shí)符來(lái)訪問(wèn),并且可被用于指示用于插入分組的恰當(dāng)時(shí)隙。如所見(jiàn)的,被入口控制器340用來(lái)選擇用于插入的數(shù)據(jù)分組的附加信息是從靜態(tài)全局循環(huán)調(diào)度器365接收的時(shí)隙標(biāo)識(shí)符,其進(jìn)一步細(xì)節(jié)在以下進(jìn)行討論。因此,基于對(duì)入口控制器340的控制,輸出數(shù)據(jù)選擇器330將輸出接收自輸入端口寄存器310的有效載荷或接收自入口控制器340的數(shù)據(jù)(即,源自節(jié)點(diǎn)本身的數(shù)據(jù))。仍參看圖5,輸出數(shù)據(jù)選擇器330被耦合至輸出端口選擇器360,其由表示節(jié)點(diǎn)連接狀態(tài)序列的靜態(tài)全局循環(huán)調(diào)度器365來(lái)控制。具體地,在其中存在兩個(gè)狀態(tài)(即,穿過(guò)狀態(tài)和轉(zhuǎn)向狀態(tài))的實(shí)現(xiàn)中,對(duì)于每個(gè)時(shí)隙,調(diào)度器將生成控制信號(hào),用以導(dǎo)致輸出端口選擇器將控制和有效載荷數(shù)據(jù)轉(zhuǎn)發(fā)到第一或第二輸出端口 370和375中的一個(gè)。在一個(gè)實(shí)施例中,輸出端口 370可在穿過(guò)時(shí)隙期間輸出信息,而輸出端口 375可在轉(zhuǎn)向時(shí)隙期間輸出信息。盡管在圖5的實(shí)施例中示出了該特定實(shí)現(xiàn),但應(yīng)理解本發(fā)明的范圍在這方面不受限制。例如,如以上所討論的,可存在附加狀態(tài),并且相應(yīng)地,可存在更多輸出端口,每個(gè)端口被配置成將信息輸出至本節(jié)點(diǎn)被耦合至的不同相鄰節(jié)點(diǎn)。此外,雖然在許多實(shí)現(xiàn)中,傳入業(yè)務(wù)量取得優(yōu)先級(jí)以使得當(dāng)其存在時(shí),輸出邏輯僅傳遞傳入分組,并且不將新分組插入下一時(shí)隙中,但是實(shí)施例不限于此。即,在一些實(shí)施例中,覆蓋配置可存在,以使得可替代傳入分組,以有利于新分組(可能是更高業(yè)務(wù)量類(lèi)別)的插入。例如,節(jié)點(diǎn)可匯集分組(例如,至高速緩存)并且基于流控制方案稍后注入分組,或者可例如通過(guò)無(wú)確認(rèn)消息通知被替代的分組的原始發(fā)送者,使得可重新發(fā)送分組。
現(xiàn)在參看圖6,其示出的是根據(jù)本發(fā)明實(shí)施例的根據(jù)靜態(tài)全局循環(huán)調(diào)度傳達(dá)分組的方法的流程圖。如圖6中所示的,方法400可通過(guò)確定有效傳入分組是否已被接收到(菱形410)來(lái)開(kāi)始。此確定可以例如在接收有效載荷數(shù)據(jù)和多種控制信息的輸入端口寄存器中作出,并且據(jù)此可確定此傳入有效載荷數(shù)據(jù)是否有效。如果有效,則可進(jìn)一步確定分組是否是去往當(dāng)前節(jié)點(diǎn)相關(guān)聯(lián)的代理(菱形415)。也可在輸入端口寄存器中作出的此確定可以基于與分組相關(guān)聯(lián)的目的地標(biāo)識(shí)符。如果是,則控制傳遞至框420,在那里,將分組提供給出口隊(duì)列。另外,可更新與此時(shí)隙相關(guān)聯(lián)的狀態(tài)信息。例如,有效指示符可被重置,以指示在此時(shí)隙中不存在有效數(shù)據(jù),并且因此,此時(shí)隙可用于插入數(shù)據(jù)。仍參看圖6,如果替代地確定傳入分組并非是去往當(dāng)前節(jié)點(diǎn)的,則控制從菱形415傳遞至框430,在那里,根據(jù)全局調(diào)度將分組傳遞給所選輸出端口(框430)。此全局調(diào)度可指示分組是在第一方向上還是在第二方向上被傳遞到節(jié)點(diǎn)之外。隨后基于此全局調(diào)度,控制傳遞至435,在那里,在互連上輸出分組。仍參看圖6,如果在菱形410處,確定未接收到有效分組(或者在那里接收到的分 組并非是給相關(guān)聯(lián)代理的),則控制傳遞至菱形450,在那里,可確定在入口隊(duì)列中是否存在一個(gè)或多個(gè)分組。若否,則控制傳遞至框470,在那里,可將空分組傳遞給輸出端口。此空分組,即空數(shù)據(jù)有效載荷和用于指示無(wú)效分組的控制信息,可由此被提供給另一節(jié)點(diǎn),該另一節(jié)點(diǎn)隨后將其自己的分組插入此時(shí)隙中。如果在菱形450,確定存在一個(gè)或多個(gè)分組,則控制傳遞至菱形460,在那里,可確定全局調(diào)度時(shí)隙是否匹配諸分組中的一個(gè)。若否,則如上所討論的,控制傳遞至框470。如果存在匹配,則控制替代地傳遞至框480,在那里,可根據(jù)全局調(diào)度將分組從入口隊(duì)列提供到所選輸出端口。注意關(guān)于多個(gè)未決分組中的哪一個(gè)將被傳送的確定可以基于表中的信息,以及對(duì)全局調(diào)度的當(dāng)前時(shí)隙的理解。例如,表信息可將時(shí)隙標(biāo)識(shí)符與目的地進(jìn)行關(guān)聯(lián)。各個(gè)啟發(fā)式方法也可考慮選擇多個(gè)分組中的一個(gè)來(lái)輸出。由此,優(yōu)先級(jí)信息可以是確定基礎(chǔ)的一部分。此外,對(duì)于要插入到網(wǎng)絡(luò)中的給定分組,多個(gè)時(shí)隙的可用性(或不可用)的啟發(fā)式方法可用作確定基礎(chǔ)的一部分。因此,在兩個(gè)分組之間,與具有更多可用時(shí)隙以將分組插入的分組相比,提早地選擇具有較少時(shí)隙以將分組插入的分組。因而,在基本實(shí)現(xiàn)中,對(duì)多個(gè)分組是否將被選擇的確定可基于時(shí)隙標(biāo)識(shí)符和目的地標(biāo)識(shí)符,而在更高級(jí)實(shí)現(xiàn)中,關(guān)于各個(gè)啟發(fā)式方法的附加細(xì)節(jié)可被計(jì)及。隨后,如所見(jiàn)的,控制傳遞至框435,以便在互連上輸出此分組。雖然示出圖6的這個(gè)特定實(shí)現(xiàn),但是應(yīng)理解,本發(fā)明的范圍不限于此。例如,在一些實(shí)施例中,可存在流水線實(shí)現(xiàn),其中在相鄰(例如,前一)節(jié)點(diǎn)中執(zhí)行分組是否是去往給定節(jié)點(diǎn)的確定。即,此確定可在前一節(jié)點(diǎn)中作出,并且可例如經(jīng)由一比特線路以預(yù)見(jiàn)(look ahead)方式或作為一般控制信息來(lái)轉(zhuǎn)發(fā)。在任一事件中,通過(guò)使用流水線實(shí)現(xiàn),可確定入口控制器可開(kāi)始選擇分組來(lái)插入可用時(shí)隙的時(shí)間提前。用于在前一節(jié)點(diǎn)中關(guān)于分組是否是去往下一節(jié)點(diǎn)作出確定的一種機(jī)制可以經(jīng)由倒計(jì)時(shí)機(jī)制。例如,于對(duì)應(yīng)于預(yù)期節(jié)點(diǎn)的目的地標(biāo)識(shí)符不同,目的地標(biāo)識(shí)符可以采用分組在源與目的地之間穿過(guò)的節(jié)點(diǎn)的計(jì)數(shù)的形式。因此,在分組穿過(guò)的每個(gè)節(jié)點(diǎn)中,確定此倒計(jì)時(shí)值。因此,當(dāng)此分組在前一節(jié)點(diǎn)中被接收時(shí),可確定計(jì)數(shù)值,例如,為零或一,指示分組是去往下一節(jié)點(diǎn)。相應(yīng)地,以預(yù)見(jiàn)方式,一比特線路可指示由預(yù)期節(jié)點(diǎn)接收到的下一分組是去往該節(jié)點(diǎn)的。為此,一些實(shí)現(xiàn)可包括分開(kāi)的路徑,用于將此目的地信息作為可通過(guò)IO電路提供以使得可提前作出這些確定的單獨(dú)的控制信息來(lái)傳遞。各實(shí)施例可以用代碼實(shí)現(xiàn),并可存儲(chǔ)在其上存儲(chǔ)有指令的存儲(chǔ)介質(zhì)上,這些指令可用來(lái)對(duì)系統(tǒng)編程以執(zhí)行這些指令。存儲(chǔ)介質(zhì)可包括但不限于任何類(lèi)型的盤(pán),包括軟盤(pán)、光盤(pán)、光碟、固態(tài)驅(qū)動(dòng)器(SSD)、緊湊盤(pán)只讀存儲(chǔ)器(⑶-ROM)、可重寫(xiě)緊湊盤(pán)(⑶-RW)和磁光盤(pán)、諸如只讀存儲(chǔ)器(ROM)的半導(dǎo)體器件、諸如動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DRAM)、靜態(tài)隨機(jī)存取存儲(chǔ)器(SRAM)之類(lèi)的隨機(jī)存取存儲(chǔ)器(RAM)、可擦除可編程只讀存儲(chǔ)器(EPR0M)、閃存、電可擦除可編程只讀存儲(chǔ)器(EEPR0M)、磁卡或者光學(xué)卡、或適于存儲(chǔ)電子指令的任意其它類(lèi)型的介質(zhì)。盡管本發(fā)明已針對(duì)有限數(shù)量的實(shí)施例作了描述,然而本領(lǐng)域技術(shù)人員將會(huì)從其中領(lǐng)會(huì)到許多修改和變型。所附權(quán)利要求旨在覆蓋所有這樣的修改和變型,只要其落在本發(fā)明的真實(shí)精神和范圍內(nèi)。·
權(quán)利要求
1.一種系統(tǒng),包括 nxm網(wǎng)格系統(tǒng),包括多個(gè)節(jié)點(diǎn),所述多個(gè)節(jié)點(diǎn)在第一維度和第二維度上布置;以及 多個(gè)互連,各自用于耦合所述多個(gè)節(jié)點(diǎn)中的一對(duì),其中所述網(wǎng)格系統(tǒng)在業(yè)務(wù)量調(diào)度時(shí)段的第一周期內(nèi)以第一業(yè)務(wù)量獨(dú)立連接狀態(tài)來(lái)配置,而在所述業(yè)務(wù)量調(diào)度時(shí)段的第二周期內(nèi)以第二業(yè)務(wù)量獨(dú)立連接狀態(tài)來(lái)配置。
2.如權(quán)利要求I所述的系統(tǒng),其特征在于,所述第一業(yè)務(wù)量獨(dú)立連接狀態(tài)包括穿過(guò)狀態(tài),其中分組是在所述第一維度上的相鄰節(jié)點(diǎn)之間通信的。
3.如權(quán)利要求2所述的系統(tǒng),其特征在于,所述第二業(yè)務(wù)量獨(dú)立連接狀態(tài)包括轉(zhuǎn)向狀態(tài),其中分組是在所述第二維度上的相鄰節(jié)點(diǎn)之間通信的。
4.如權(quán)利要求I所述的系統(tǒng),其特征在于,所述網(wǎng)格系統(tǒng)包括無(wú)緩沖器傳輸介質(zhì)。
5.如權(quán)利要求I所述的系統(tǒng),其特征在于,所述業(yè)務(wù)量調(diào)度時(shí)段是S時(shí)鐘固定循環(huán)調(diào)度,其中S為max(n,m),并且所述網(wǎng)格系統(tǒng)在所述固定循環(huán)調(diào)度的S-χ個(gè)周期內(nèi)以所述第一業(yè)務(wù)量獨(dú)立連接狀態(tài)來(lái)配置,而在所述固定循環(huán)調(diào)度的χ個(gè)周期內(nèi)以所述第二業(yè)務(wù)量獨(dú)立連接狀態(tài)來(lái)配置。
6.如權(quán)利要求I所述的系統(tǒng),其特征在于,所述多個(gè)節(jié)點(diǎn)中的每一個(gè)包括多個(gè)輸入端口和多個(gè)輸出端口,所述多個(gè)輸入端口中的每一個(gè)被耦合至所述多個(gè)互連中的至少一個(gè)。
7.如權(quán)利要求6所述的系統(tǒng),其特征在于,所述多個(gè)輸入端口中的每一個(gè)用于將去往相應(yīng)節(jié)點(diǎn)的分組引導(dǎo)到耦合至與所述相應(yīng)節(jié)點(diǎn)相關(guān)聯(lián)的代理的出口隊(duì)列。
8.如權(quán)利要求6所述的系統(tǒng),其特征在于,所述多個(gè)輸出端口中的每一個(gè)用于基于時(shí)隙表中的條目選擇從所述相應(yīng)節(jié)點(diǎn)接收的分組來(lái)從所述輸出端口輸出,所述時(shí)隙表存儲(chǔ)與所述分組的目的地相對(duì)應(yīng)的目的地標(biāo)識(shí)符和時(shí)隙標(biāo)識(shí)符。
9.如權(quán)利要求8所述的系統(tǒng),其特征在于,多個(gè)多個(gè)輸出端口中的每一個(gè)用于進(jìn)一步基于靜態(tài)全局循環(huán)調(diào)度器的控制來(lái)選擇分組。
10.如權(quán)利要求8所述的系統(tǒng),其特征在于,所述輸出端口包括用于將所述分組輸出到耦合在第一節(jié)點(diǎn)與第一相鄰節(jié)點(diǎn)之間的第一互連的第一輸出端口,以及用于將所述分組輸出到耦合在所述第一節(jié)點(diǎn)與第二相鄰節(jié)點(diǎn)之間的第二互連的第二輸出端口。
11.一種方法,包括 確定在節(jié)點(diǎn)中接收到的分組是否是去往與所述節(jié)點(diǎn)相關(guān)聯(lián)的代理的,并且若否,則將所述分組提供給所述節(jié)點(diǎn)的出口隊(duì)列; 如果所接收到的分組是去往所述代理的,則確定在所述節(jié)點(diǎn)的入口隊(duì)列中是否存在一個(gè)或多個(gè)分組,并且若是,則根據(jù)全局調(diào)度將所述一個(gè)或多個(gè)分組中所選的一個(gè)從所述入口隊(duì)列提供到所述節(jié)點(diǎn)的第一輸出端口或第二輸出端口,所述全局調(diào)度獨(dú)立于業(yè)務(wù)量流;以及 否則根據(jù)所述全局調(diào)度將所述接收到的分組提供到所述第一輸出端口或所述第二輸出端口。
12.如權(quán)利要求11所述的方法,其特征在于,還包括如果所述入口隊(duì)列中存在的一個(gè)或多個(gè)分組中沒(méi)有一個(gè)匹配當(dāng)前時(shí)隙的全局調(diào)度,則將空分組提供到所選第一或第二輸出端口。
13.如權(quán)利要求11所述的方法,其特征在于,還包括在所述節(jié)點(diǎn)中接收所接收到的分組之前從相鄰節(jié)點(diǎn)接收所收到的分組是去往所述代理的指示。
14.如權(quán)利要求11所述的方法,其特征在于,還包括在所述節(jié)點(diǎn)中接收所接收到的分組之前接收所收到的分組是在所述全局調(diào)度的時(shí)隙中去往所述代理的指示。
15.如權(quán)利要求11所述的方法,其特征在于,還包括在所述全局調(diào)度的S-x個(gè)周期內(nèi)從所述第一輸出端口轉(zhuǎn)發(fā)所接收到的分組,以及在所述全局調(diào)度的χ個(gè)周期內(nèi)從所述第二輸出端口轉(zhuǎn)發(fā)所接收到的分組。
16.一種裝置,包括 節(jié)點(diǎn)的輸入端口寄存器,用于從第一相鄰節(jié)點(diǎn)接收有效載荷數(shù)據(jù)和相應(yīng)的控制信息; 耦合至所述輸入端口寄存器的出口隊(duì)列,用于接收所述有效載荷數(shù)據(jù)以及將所述有效載荷數(shù)據(jù)轉(zhuǎn)發(fā)到與所述節(jié)點(diǎn)相關(guān)聯(lián)的代理; 輸出數(shù)據(jù)選擇器,用于選擇來(lái)自所述輸入端口寄存器或來(lái)自所述代理的有效載荷數(shù)據(jù),以從所述節(jié)點(diǎn)輸出;以及 耦合至所述輸出數(shù)據(jù)選擇器的輸出端口選擇器,用于在業(yè)務(wù)量調(diào)度時(shí)段的第一周期期間將所選有效載荷數(shù)據(jù)和相應(yīng)的控制信息輸出到耦合至第二相鄰節(jié)點(diǎn)的第一輸出端口,以及在所述業(yè)務(wù)量調(diào)度時(shí)段的第二周期期間將所選有效載荷數(shù)據(jù)和相應(yīng)的控制信息輸出到耦合至第三相鄰節(jié)點(diǎn)的第二輸出端口,其中所述業(yè)務(wù)量調(diào)度時(shí)段獨(dú)立于所述節(jié)點(diǎn)之間的業(yè)務(wù)量。
17.如權(quán)利要求16所述的裝置,其特征在于,所述第一周期對(duì)應(yīng)于其中分組在第一維度上在所述節(jié)點(diǎn)與所述第二相鄰節(jié)點(diǎn)之間通信的穿過(guò)狀態(tài),而所述第二周期對(duì)應(yīng)于其中分組在第二維度上在所述節(jié)點(diǎn)與所述第三相鄰節(jié)點(diǎn)之間通信的轉(zhuǎn)向狀態(tài)。
18.如權(quán)利要求17所述的裝置,其特征在于,第三周期對(duì)應(yīng)于其中分組在第三維度上在所述節(jié)點(diǎn)與第四相鄰節(jié)點(diǎn)之間通信的另一轉(zhuǎn)向狀態(tài)。
19.如權(quán)利要求16所述的裝置,其特征在于,所述裝置包括所述節(jié)點(diǎn)的第一輸入/輸出(I/O)電路,并且其中所述節(jié)點(diǎn)還包括多個(gè)I/O電路,所述多個(gè)I/O電路各自包括輸入端口寄存器、出口隊(duì)列、輸出數(shù)據(jù)選擇器和輸出端口選擇器。
20.如權(quán)利要求16所述的裝置,其特征在于,所述裝置包括處理器,所述處理器包括多個(gè)層疊半導(dǎo)體管芯,其中所述節(jié)點(diǎn)在第一半導(dǎo)體管芯上,并且還包括被配置成處于在所述第一半導(dǎo)體管芯上層疊的第二半導(dǎo)體管芯之上的第四相鄰節(jié)點(diǎn)。
全文摘要
在一個(gè)實(shí)施例中,本發(fā)明包括一種方法,該方法用于確定在節(jié)點(diǎn)的輸入/輸出(I/O)電路中接收到的分組是否是去往該節(jié)點(diǎn)的,并且若是,則將該分組提供給I/O電路的出口隊(duì)列;以及確定在I/O電路的入口隊(duì)列中是否存在一個(gè)或多個(gè)分組,并且如是,則根據(jù)獨(dú)立于業(yè)務(wù)量流的全局調(diào)度將所選分組提供給第一或第二輸出寄存器。描述并要求保護(hù)其他的實(shí)施例。
文檔編號(hào)H04L12/721GK102959907SQ201180032585
公開(kāi)日2013年3月6日 申請(qǐng)日期2011年6月29日 優(yōu)先權(quán)日2010年6月30日
發(fā)明者M·考??? G·B·杜什 申請(qǐng)人:英特爾公司