對相關(guān)申請的交叉引用
本申請要求對2014年12月22日提交的名稱為“adaptivelyswitchednetwork-on-chip”的美國非臨時專利申請no.14/579729的權(quán)益和優(yōu)先權(quán),該申請通過引用以其整體被結(jié)合于本文中。
本公開一般涉及計算機開發(fā)領(lǐng)域,并且更具體地說,涉及自適應(yīng)交換芯片上網(wǎng)絡(luò)(noc)。
背景技術(shù):
隨著多核處理器中核和知識產(chǎn)權(quán)(ip)塊的數(shù)量增多,芯片上網(wǎng)絡(luò)(noc,用于核間的管芯上通信)在能夠?qū)崿F(xiàn)可升級的性能中是重要的。在此類情形中,組件間的通信成為關(guān)鍵動力和性能限制器。noc能夠?qū)崿F(xiàn)與路由器高效地共享用于通信的芯片上布線資源,以控制和仲裁在通信組件之間數(shù)據(jù)的流動。noc可利用分組交換通道或電路交換通道,在noc的核之間發(fā)送數(shù)據(jù)。
附圖說明
圖1示出根據(jù)某些實施例,對于包括多核處理器的示例計算系統(tǒng)的框圖。
圖2示出根據(jù)某些實施例,包括含多個路由器的芯片上網(wǎng)絡(luò)(noc)系統(tǒng)的處理器的框圖。
圖3a示出根據(jù)某些實施例,經(jīng)由分組交換通道耦合的示例路由器端口。
圖3b示出根據(jù)某些實施例,經(jīng)由電路交換通道耦合的示例路由器端口。
圖3c示出根據(jù)某些實施例,經(jīng)由可在分組交換通道與電路交換通道之間自適應(yīng)交換的通道而耦合的示例路由器端口。
圖4示出根據(jù)某些實施例的路由器端口的示例鏈表(linkedlist)邏輯。
圖5示出根據(jù)某些實施例,具有自適應(yīng)交換通道的路由器的示例端口。
圖6示出根據(jù)某些實施例,用于通過自適應(yīng)交換通道由路由器傳遞數(shù)據(jù)和為其保留資源的示例方法。
圖7示出根據(jù)某些實施例,用于經(jīng)由路由器的自適應(yīng)交換通道傳遞數(shù)據(jù)的示例方法。
圖8示出根據(jù)某些實施例,用于示例計算系統(tǒng)的另一框圖。
各種圖中相似的參考標(biāo)號和指定指示相似的元件。
具體實施方式
在后面的描述中,眾多特定細節(jié)被闡述,諸如特定類型的處理器和系統(tǒng)配置、特定硬件結(jié)構(gòu)、特定架構(gòu)的(architectural)和微架構(gòu)的細節(jié)、特定寄存器配置、特定指令類型、特定系統(tǒng)組件、特定度量(measurement)/高度、特定處理器管線級和操作等等的示例,以便提供對本公開的透徹理解。然而,對于本領(lǐng)域中技術(shù)人員來說將顯而易見的是,這些特定細節(jié)無需被采用來實踐本公開。在其它情形中,公知的組件或方法,諸如特定和備選的處理器架構(gòu)、用于描述的算法的特定邏輯電路/代碼、特定固件代碼、特定互連操作、特定邏輯配置、特定制造技術(shù)和材料、特定編譯器實現(xiàn)、算法在代碼中的特定表達、特定下電(powerdown)和門控技術(shù)/邏輯和計算機系統(tǒng)的其它特定操作細節(jié),沒有被詳細地描述,以便避免不必要地使本公開難以理解。
盡管后面的實施例可參考特定集成電路中(諸如在計算平臺或微處理器中)的能量節(jié)約和能量效率來描述,但其它實施例可應(yīng)用于其它類型的集成電路和邏輯裝置。本文中所描述的實施例的相似技術(shù)和教導(dǎo)可被應(yīng)用于其它類型的電路或半導(dǎo)體裝置,其可還受益于更好的能量效率和能量節(jié)約。例如,公開的實施例不被限制于桌面計算機系統(tǒng)或ultrabooks?,而是可還被用于其它裝置中,諸如服務(wù)器計算機系統(tǒng)、手持裝置、平板、其它薄的筆記本、芯片上系統(tǒng)(soc)裝置、和嵌入式應(yīng)用。手持裝置的一些示例包括蜂窩電話、互聯(lián)網(wǎng)協(xié)議裝置、數(shù)字?jǐn)z像機、個人數(shù)字助理(pda)、和手持pc。嵌入式應(yīng)用典型地包括微控制器、數(shù)字信號處理器(dsp)、芯片上系統(tǒng)、網(wǎng)絡(luò)計算機(netpc)、機頂盒、網(wǎng)絡(luò)集線器(hub)、廣域網(wǎng)(wan)交換機、或能夠執(zhí)行在下面所教導(dǎo)的功能和操作的任何其它系統(tǒng)。此外,本文中所描述的設(shè)備、方法、和系統(tǒng)不被限制于物理計算裝置,而是可還涉及對能量節(jié)約和效率的軟件優(yōu)化。正如將在下面的描述中變得容易明白的,本文中所描述的方法、設(shè)備和系統(tǒng)的實施例(無論關(guān)于硬件、固件、軟件、或是它們的組合)對與性能考慮相權(quán)衡的“綠色技術(shù)”未來是至關(guān)重要的。
隨著計算系統(tǒng)在進步,其中的組件正變得更復(fù)雜。作為結(jié)果,互連架構(gòu)(用于組件間耦合和通信)在復(fù)雜性中也在增加,以確保為優(yōu)化的組件操作滿足帶寬要求。此外,不同市場段(segment)需求互連架構(gòu)的不同方面以適合市場需要。例如,服務(wù)器要求更高的性能,而移動生態(tài)系統(tǒng)有時能夠為功率節(jié)?。╬owersaving)犧牲整體性能。然而,用最大的功率節(jié)省來提供最高可能的性能是大多數(shù)構(gòu)造(fabric)的單一目的。在下面,多個互連被討論,其將潛在地受益于本文中所描述的公開的方面。
參考圖1,對于計算系統(tǒng)(包括多核處理器)的框圖的實施例被描繪。處理器100包括任何處理器或處理裝置,諸如微處理器、嵌入式處理器、數(shù)字信號處理器(dsp)、網(wǎng)絡(luò)處理器、手持處理器、應(yīng)用處理器、協(xié)處理器、芯片上系統(tǒng)(soc)、或執(zhí)行代碼的其它裝置。在一個實施例中,處理器100包括至少兩個核—核101和102,其可包括非對稱核或?qū)ΨQ核(所示出的實施例)。然而,處理器100可包括任何數(shù)量的處理元件,其可以是對稱的或非對稱的。
在一個實施例中,處理元件指的是用于支持軟件線程的硬件或邏輯。硬件處理元件的示例包括:線程單元、線程槽(threadslot)、線程、處理單元、上下文、上下文單元、邏輯的處理器、硬件線程、核、和/或有能力為處理器保存狀態(tài)(諸如執(zhí)行狀態(tài)或架構(gòu)狀態(tài))的任何其它元件。換句話說,在一個實施例中,處理元件指的是有能力獨立地與代碼(諸如軟件線程、操作系統(tǒng)、應(yīng)用、或其它代碼)相關(guān)聯(lián)的任何硬件。物理處理器(或處理器插座)典型地指的是集成電路,其潛在地包括任何數(shù)量的其它處理元件,諸如核或硬件線程。
核通常指的是位于集成電路上的邏輯,其有能力維持獨立架構(gòu)狀態(tài),其中每個獨立維持的架構(gòu)狀態(tài)關(guān)聯(lián)于至少一些專用執(zhí)行資源。相較于核,硬件線程典型地指的是位于集成電路上有能力維持獨立架構(gòu)狀態(tài)的任何邏輯,其中獨立維持的架構(gòu)狀態(tài)共享對執(zhí)行資源的訪問。正如能被看見的,當(dāng)某些資源被共享且其它資源被專用于架構(gòu)狀態(tài)時,硬件線程和核的命名之間的界線(line)重疊。通常還有,核和硬件線程被操作系統(tǒng)視為各個邏輯的處理器,其中操作系統(tǒng)能夠單獨地將操作調(diào)度于每個邏輯的處理器上。
正如圖1中所示出的,物理處理器100包括兩個核—核101和102。在這里,核101和102被認(rèn)為是對稱核,即具有相同配置、功能單元、和/或邏輯的核。在另一實施例中,核101包括亂序處理器核,而核102包括有序處理器核。然而,核101和102可被單獨地被選自任何類型的核,諸如原生核(nativecore)、軟件管理核、適應(yīng)于執(zhí)行原生的指令集架構(gòu)(isa)的核、適應(yīng)于執(zhí)行轉(zhuǎn)換的指令集架構(gòu)(isa)的核、協(xié)設(shè)計(co-designed)核、或其它已知的核。在異質(zhì)核環(huán)境(即,非對稱核)中,轉(zhuǎn)換的某個形式(諸如二進制轉(zhuǎn)換)可被用于在一個或兩個核上調(diào)度或執(zhí)行代碼。還有為了推進討論,核101中示出的功能單元在下面被進一步詳細地描述,因為在所描繪的實施例中核102中的單元以相似的方式操作。
正如所描繪的,核101包括兩個硬件線程101a和101b,其可還被稱為硬件線程槽101a和101b。因此,軟件實體(諸如操作系統(tǒng))在一個實施例中潛在地將處理器100視為四個分離的處理器,即,四個邏輯的處理器或處理元件,其有能力并發(fā)執(zhí)行四個軟件線程。正如在上面間接提到的,第一線程與架構(gòu)狀態(tài)寄存器101a相關(guān)聯(lián),第二線程與架構(gòu)狀態(tài)寄存器101b相關(guān)聯(lián),第三線程可與架構(gòu)狀態(tài)寄存器102a相關(guān)聯(lián),且第四線程可與架構(gòu)狀態(tài)寄存器102b相關(guān)聯(lián)。在這里,架構(gòu)狀態(tài)寄存器(101a、101b、102a、和102b)的每個可被稱為處理元件、線程槽、或線程單元,正如上面所描述的。正如所示的,架構(gòu)狀態(tài)寄存器101a被復(fù)制在架構(gòu)狀態(tài)寄存器101b中,使得各個架構(gòu)狀態(tài)/上下文有能力對于邏輯的處理器101a和邏輯的處理器101b被存儲。在核101中,其它更小的資源(諸如在分配器和重命名器塊130中的指令指針和重命名邏輯)可還對于線程101a和101b被復(fù)制。一些資源(諸如在重排序/引退單元135中的重排序緩沖器、iltb120、加載/存儲緩沖器、和隊列)通過分區(qū)(partitioning)可被共享。其它資源,諸如通用內(nèi)部寄存器、頁表基址寄存器、低級別數(shù)據(jù)高速緩存和數(shù)據(jù)tlb115、執(zhí)行單元140、和亂序單元135的部分被潛在地完全共享。
處理器100通常包括其它資源,其可被完全共享、通過分區(qū)共享、或由處理元件專用/專用于處理元件。在圖1中,純示范性處理器(帶有處理器的說明性的邏輯的單元/資源)的一實施例被示出。注意到,處理器可包括,或省略,任何這些功能單元,以及包括任何其它已知的未描繪的功能單元、邏輯、或固件。正如所示的,核101包括簡化的、有代表性的亂序(ooo)處理器核。但有序處理器可被利用于不同的實施例中。ooo核包括分支目標(biāo)緩沖器120(以用于預(yù)測要被執(zhí)行/采用的分支)和指令轉(zhuǎn)換緩沖器(i-tlb)120(以用于存儲對于指令的地址轉(zhuǎn)換條目)。
核101進一步包括解碼模塊125(被耦合至取單元120),以用于對取的元件進行解碼。在一個實施例中,取邏輯包括與線程槽101a、101b分別相關(guān)聯(lián)的各個定序器。通常核101與第一isa相關(guān)聯(lián),第一isa定義/規(guī)定在處理器100上可執(zhí)行的指令。通常機器代碼指令(其是第一isa的部分)包括指令的部分(被稱為操作碼),其引用/規(guī)定要執(zhí)行的指令或操作。解碼邏輯125包括電路,該電路識別這些指令(從它們的操作碼)且在管線中遞送解碼的指令,以用于如由第一isa定義的處理。例如,如在下面更仔細地討論的,在一個實施例中,解碼器125包括設(shè)計成或適應(yīng)于識別特定指令(諸如事務(wù)指令)的邏輯。作為由解碼器125進行的識別的結(jié)果,架構(gòu)或核101采用特定的、預(yù)定義的行動來執(zhí)行與適當(dāng)?shù)闹噶钕嚓P(guān)聯(lián)的任務(wù)。重要的是注意到,本文中所描述的任何任務(wù)、塊、操作、和方法可響應(yīng)單個或多個指令被執(zhí)行;它們中的一些可以是新的或舊的指令。注意,在一個實施例中,解碼器126識別相同的isa(或其子集)。備選的是,在異質(zhì)核環(huán)境中,解碼器126識別第二isa(第一isa的子集或有區(qū)別的isa)。
在一個示例中,分配器和重命名器塊130包括分配器以保留資源,諸如用于存儲指令處理結(jié)果的寄存器文件。然而,線程101a和101b潛在地有能力亂序執(zhí)行,其中分配器和重命名器塊130也保留其它資源,諸如重排序緩沖器,以追蹤指令結(jié)果。單元130可還包括寄存器重命名器,以將程序/指令引用寄存器重命名到內(nèi)置于處理器100的其它寄存器。重排序/引退單元135包括組件,諸如在上面提到的重排序緩沖器、加載緩沖器、和存儲緩沖器,以支持亂序執(zhí)行和亂序執(zhí)行指令的稍后有序引退。
在一個實施例中,調(diào)度器和執(zhí)行單元塊140包括調(diào)度器單元,以在執(zhí)行單元上調(diào)度指令/操作。例如,浮點指令在具有可用浮點執(zhí)行單元的執(zhí)行單元的端口上被調(diào)度。與執(zhí)行單元相關(guān)聯(lián)的寄存器文件也被包括,以存儲信息指令處理結(jié)果。示范性執(zhí)行單元包括浮點執(zhí)行單元、整數(shù)執(zhí)行單元、跳轉(zhuǎn)執(zhí)行單元、加載執(zhí)行單元、存儲執(zhí)行單元、和其它已知的執(zhí)行單元。
較低級別別數(shù)據(jù)高速緩存和數(shù)據(jù)轉(zhuǎn)換緩沖器(d-tlb)150被耦合至執(zhí)行單元140。數(shù)據(jù)高速緩存要存儲最近使用的/操作的元件,諸如數(shù)據(jù)操作數(shù),其被潛在地被保存于存儲器一致性狀態(tài)(memorycoherencystate)中。d-tlb要存儲最近的虛擬的/線性的到物理地址轉(zhuǎn)換。作為特定的示例,處理器可包括頁表結(jié)構(gòu),以將物理存儲器分解為多個虛擬頁。
在這里,核101和102共享對更高級別或更遠外端(further-out)高速緩存(諸如與芯片上接口110相關(guān)聯(lián)的第二級別高速緩存)的訪問。注意到,更高級別或更遠外端指的是增加的或變得更遠離執(zhí)行單元的高速緩存級別。在一個實施例中,更高級別高速緩存是最后級別高速緩存—處理器100上存儲器層級中最后的高速緩存—諸如第二或第三級別數(shù)據(jù)高速緩存。然而,更高級別高速緩存并不是如此受限的,因為它可被關(guān)聯(lián)于或包括指令高速緩存。蹤跡高速緩存—一種指令高速緩存—轉(zhuǎn)而可被耦合在解碼器125后,以存儲最近解碼的蹤跡。在這里,指令潛在地指的是宏指令(即,由解碼器識別的一般指令),其可解碼成多個微指令(微操作)。
在所描繪的配置中,處理器100也包括芯片上接口模塊110。在歷史上,存儲器控制器(其在下面被更詳細地描述)已被包括在處理器100外部的計算系統(tǒng)中。在該情景中,芯片上接口11要與處理器100外部的裝置通信,諸如系統(tǒng)存儲器175,芯片集(通常包括用于連接至存儲器175的存儲器控制器集線器和用于連接外圍裝置的i/o控制器集線器)、存儲器控制器集線器、北橋、或其它集成線路。且在該情景中,總線105可包括任何已知的互連,諸如多點總線(multi-dropbus)、點對點互連、串行互連、并行總線、一致的(例如高速緩存一致的)總線、分層協(xié)議架構(gòu)、差分總線、和gtl總線。
存儲器175可被專用于處理器100或與系統(tǒng)中其它裝置共享。存儲器175的類型的普通示例包括dram、sram、非易失存儲器(nv存儲器)、和其它已知的存儲裝置。注意到,裝置180可包括圖形加速器、耦合至存儲器控制器集線器的卡或處理器、耦合至i/o控制器集線器的數(shù)據(jù)存儲裝置、無線收發(fā)器、閃存裝置(flashdevice)、音頻控制器、網(wǎng)絡(luò)控制器、或其它已知的裝置。
然而最近,隨著更多邏輯和裝置正被集成在單一管芯(諸如soc)上,這些裝置的每個可被結(jié)合在處理器100上。例如在一個實施例中,存儲器控制器集線器與處理器100在相同的封裝和/或管芯上。此處,核的部分(核上部分)110包括用于與其它裝置(諸如存儲器175或圖形裝置180)進行接口的一個或更多控制器。包括互連和用于與此類裝置進行接口的控制器的配置通常被稱為核上(on-core)(或非核(un-core)配置)。作為示例,芯片上接口110包括用于芯片上通信的環(huán)形互連和用于芯片外通信的高速串行點對點鏈路105。然而,在soc環(huán)境中,甚至更多裝置(諸如網(wǎng)絡(luò)接口、協(xié)處理器、存儲器175、圖形處理器180、和任何其它已知的計算機裝置/接口)可被集成在單一管芯或集成電路上,以給小型形狀因子(smallformfactor)提供高功能性和低功率消耗。
在一個實施例中,處理器100有能力執(zhí)行編譯器、優(yōu)化、和/或轉(zhuǎn)換器代碼177以編譯、轉(zhuǎn)換、和/或優(yōu)化應(yīng)用代碼176以支持本文中所描述的設(shè)備和方法或以與其進行接口。編譯器通常包括程序或程序集,以用于轉(zhuǎn)換源文本/代碼為目標(biāo)文本/代碼。通常,用編譯器的程序/應(yīng)用代碼的編譯被完成于多階段和多遍(pass)中以變換高級別程序設(shè)計語言代碼為低級別機器或匯編語言代碼。然而,單遍編譯器可仍被利用于簡單編譯。編譯器可利用任何已知的編譯技術(shù)和執(zhí)行任何已知的編譯器操作,諸如詞匯分析、預(yù)處理、解析、語義分析、代碼生成、代碼變換、和代碼優(yōu)化。
更大型的編譯器通常包括多個階段,但最常見的是,這些階段被包括在兩個一般的階段內(nèi):(1)前端,即一般地在其中句法處理、語義處理、和某個變換/優(yōu)化可發(fā)生,和(2)后端,即一般地在其中分析、變換、優(yōu)化、和代碼生成發(fā)生。一些編譯器指的是中間項(middle),其示出在編譯器的前端和后端之間劃界的模糊。作為結(jié)果,對插入、關(guān)聯(lián)、生成、或編譯器的其它操作的引用可發(fā)生在任何前述階段或遍中,以及編譯器的任何其它已知的階段或遍中。作為說明性示例,編譯器潛在地將操作、調(diào)用(call)、函數(shù)等插入在編譯的一個或更多階段中,諸如在編譯的前端階段中插入調(diào)用/操作和隨后在變換階段期間將所述調(diào)用/操作變換成較低級別別代碼。注意到,在動態(tài)編譯期間,編譯器代碼或動態(tài)優(yōu)化代碼可插入此類操作/調(diào)用,以及在運行時間期間優(yōu)化代碼以用于執(zhí)行。作為特定的說明性示例,二進制代碼(已經(jīng)編譯的代碼)可在運行時間期間被動態(tài)地優(yōu)化。此處,程序代碼可包括動態(tài)優(yōu)化代碼、二進制代碼、或其組合。
類似于編譯器,轉(zhuǎn)換器(諸如二進制轉(zhuǎn)換器)靜態(tài)地或動態(tài)地轉(zhuǎn)換代碼以優(yōu)化和/或轉(zhuǎn)換代碼。因此,對執(zhí)行代碼、應(yīng)用代碼、程序代碼、或其它軟件環(huán)境的引用可指的是:(1)動態(tài)地或靜態(tài)地執(zhí)行編譯器程序、優(yōu)化代碼優(yōu)化器、或轉(zhuǎn)換器,以編譯程序代碼、以維持軟件結(jié)構(gòu)、以執(zhí)行其它操作、以優(yōu)化代碼、或以轉(zhuǎn)換代碼;(2)執(zhí)行包括操作/調(diào)用的主程序代碼,諸如已被優(yōu)化的/編譯的應(yīng)用代碼;(3)執(zhí)行與主程序代碼相關(guān)聯(lián)的其它程序代碼(諸如庫),以維持軟件結(jié)構(gòu)、以執(zhí)行其它軟件相關(guān)操作、或以優(yōu)化代碼;或(4)其組合。
圖2示出依照某些實施例的包括noc系統(tǒng)(該系統(tǒng)包括多個路由器204)的處理器200的框圖。處理器200可包括任何處理器或處理裝置,諸如微處理器、嵌入式處理器、數(shù)字信號處理器(dsp)、網(wǎng)絡(luò)處理器、手持處理器、應(yīng)用處理器、協(xié)處理器、soc、或用于執(zhí)行代碼的其它裝置。在具體的實施例中,處理器200在單一的管芯上被實現(xiàn)。
在所描繪的實施例中,處理器200包括布置在網(wǎng)格網(wǎng)絡(luò)(gridnetwork)中且通過雙向鏈路耦合至彼此的多個網(wǎng)絡(luò)元件202。然而,依照本公開的各種實施例的noc可被應(yīng)用于任何適合的網(wǎng)絡(luò)拓?fù)洌ɡ?,分級網(wǎng)絡(luò)或環(huán)形網(wǎng)絡(luò))、規(guī)模、總線寬度、和過程。每個網(wǎng)絡(luò)元件202包括路由器204。路由器204可在網(wǎng)絡(luò)(諸如分組交換網(wǎng)絡(luò)和/或電路交換網(wǎng)絡(luò))中被通信地鏈接于彼此,因此能夠?qū)崿F(xiàn)在被連接至所述路由器的noc的組件(諸如核、存儲元件、或其它邏輯塊)之間的通信。在所描繪的實施例中,每個路由器204可通信地耦合至其自己的核208(或其它邏輯塊)。正如本文中所使用的,對核的引用可還應(yīng)用于其它實施例,其中不同的邏輯塊被用于代替核。例如,各種邏輯塊可包括硬件加速器(例如,圖形加速器、多媒體加速器、或視頻編碼/解碼加速器)、i/o塊、存儲器控制器、或其它適合的固定功能邏輯。處理器200可包括任何數(shù)量的處理元件,其可以是對稱的或非對稱的。例如,處理器200的核208可包括非對稱的核或?qū)ΨQ的核。處理器200可包括用于作為分組交換網(wǎng)絡(luò)和電路交換網(wǎng)絡(luò)中的任一個或二者來操作的邏輯以提供管芯內(nèi)通信。
在具體的實施例中,可使用分組交換網(wǎng)絡(luò)的資源在各個路由器204之間傳遞分組。那就是,分組交換網(wǎng)絡(luò)可提供在路由器(和它們相關(guān)聯(lián)的核)之間的通信。分組可包括控制部分和數(shù)據(jù)部分??刂撇糠挚砂ǚ纸M的目的地地址,且數(shù)據(jù)部分可含有要在管芯100上被傳遞的特定數(shù)據(jù)。例如,控制部分可包括目的地地址,該目的地地址對應(yīng)管芯的核或網(wǎng)絡(luò)元件之一。分組交換網(wǎng)絡(luò)可包括緩沖,因為從源到目的地并不保證專用路徑且因此分組可需要暫時地被停留(如果兩個或更多分組需要經(jīng)過相同鏈路或互連)。作為示例,當(dāng)分組從源行進至目的地時,分組可被緩沖(例如,通過觸發(fā)器(flipflop))于相應(yīng)路由器的每個。分組可被路由器204接收、傳送和處理。分組交換網(wǎng)絡(luò)可在近鄰路由器之間使用點對點通信。分組的控制部分可基于分組時鐘(諸如4ghz時鐘)在路由器之間被傳輸。分組的數(shù)據(jù)部分可基于類似的時鐘(諸如4ghz時鐘)在路由器之間被傳輸。
在一實施例中,處理器200的路由器可被不同地提供于兩個網(wǎng)絡(luò)中或可通信于兩個網(wǎng)絡(luò)中,諸如分組交換網(wǎng)絡(luò)和電路交換網(wǎng)絡(luò)。此類通信手段(approach)可被命名為混合分組/電路交換網(wǎng)絡(luò)。在此類實施例中,可使用分組交換網(wǎng)絡(luò)和電路交換網(wǎng)絡(luò)的資源在不同路由器204之間不同地傳遞分組。為傳送單一數(shù)據(jù)分組,電路交換網(wǎng)絡(luò)可分配完整路徑,而分組交換網(wǎng)絡(luò)可分配僅單一段(或互連)。在一些實施例中,對于路由器204之間數(shù)據(jù)的傳送,分組交換網(wǎng)絡(luò)可被利用以保留電路交換網(wǎng)絡(luò)的資源。
路由器204可包括用于不同地耦合至鄰接的網(wǎng)絡(luò)元件202并與之相通信的多個端口集。例如,電路交換和/或分組交換信號可通過這些端口集被傳遞。路由器204的端口集可在邏輯上被劃分(例如,根據(jù)鄰接網(wǎng)絡(luò)元件的方向和/或與此類元件進行業(yè)務(wù)交換的方向)。例如,路由器204可包括北端口集,其帶有輸入(“入(in)”)和輸出(“出(out)”)端口,它們被配置成(分別地)接收通信自和發(fā)送通信到位于相對路由器204的“北”方向中的網(wǎng)絡(luò)元件202。另外地或備選地,路由器204可包括用于與相對南、西、東、或其它方向而定位的網(wǎng)絡(luò)元件進行接口的類似端口集。在所描繪的實施例中,路由器204被配置用于x-第一、y-第二路由選擇,其中數(shù)據(jù)首先在東/西方向中且然后在北/南方向中移動。在其它實施例中,任何適合的路由選擇方案可被使用。
在各種實施例中,路由器204還包括另一端口集,該端口集包括配置成(分別)接收來自網(wǎng)絡(luò)的另一代理的通信和向其發(fā)送通信的輸入端口和輸出端口。在所描繪的實施例中,此端口集示出在路由器204的中心。在一個實施例中,這些端口用于與和路由器204相鄰的,與其相通信的或以其它方式與其相關(guān)聯(lián)的邏輯(諸如“本地”核208的處理器邏輯)進行通信。在本文中,此端口集將被稱作為“核端口集”,盡管在一些實現(xiàn)中,它可與非核的邏輯進行接口。在另一實施例中,此端口集用于與在比路由器204的級別更高的網(wǎng)絡(luò)層級結(jié)構(gòu)的下一級別中的網(wǎng)絡(luò)元件進行通信。在一個實施例中,東向鏈路和西向鏈路在一個金屬層上,北向鏈路和南向鏈路在第二金屬層上,并且核鏈路在第三金屬層上。在一實施例中,路由器204包括用來提供端口間通信(inter-portcommunication)的路徑的交叉開關(guān)交換和仲裁邏輯(諸如圖2中所示的那個)。每個網(wǎng)絡(luò)元件中的邏輯(諸如核208)可具有唯一的時鐘和/或電壓,或者可與noc的一個或更多其它組件共享時鐘和/或電壓。
noc中的業(yè)務(wù)擁塞限制了吞吐量,并且增大了數(shù)據(jù)傳輸?shù)却龝r間。分組交換提供低等待時間和高吞吐量,但它在每個端口中要求存儲元件(例如,觸發(fā)器),由此消耗高功率。另一方面,電路交換不要求存儲元件,并且是能量高效的,但其等待時間和吞吐量在擁塞網(wǎng)絡(luò)中比分組交換更差。在電路交換網(wǎng)絡(luò)中,分配的電路交換資源及活動數(shù)據(jù)傳輸阻塞了競爭相同網(wǎng)絡(luò)資源的其它傳輸。電路交換或分組交換流量控制一般是全局和靜態(tài)地被實現(xiàn),不能對改變的業(yè)務(wù)條件進行調(diào)整。也就是說,現(xiàn)有noc中的通道是分組交換或電路交換,并且noc缺乏根據(jù)業(yè)務(wù)樣式,靈活調(diào)整這些通道的交換模式的能力。這造成在noc的不同區(qū)域中的業(yè)務(wù)熱點和空閑資源的超量預(yù)配(overprovisioning)這二者。
在本公開的各種實施例中,noc基于當(dāng)前業(yè)務(wù)條件,自適應(yīng)地改變其流量控制方法。例如,當(dāng)在路由器端口中存在一個活動數(shù)據(jù)流或沒有活動數(shù)據(jù)流時,端口可操作在電路交換模式中(例如,端口可在電路交換通道中傳輸數(shù)據(jù))以節(jié)省能量。如果存在多個數(shù)據(jù)流進入端口,則端口可操作在分組交換模式中(例如,端口可執(zhí)行信用-2分組交換傳送)以減輕擁塞并服務(wù)于多個數(shù)據(jù)流。每個端口可獨立操作以基于本地和暫時業(yè)務(wù)擁塞,改變流量控制模式。
本公開的各種實施例可包括類似于混合分組/電路交換網(wǎng)絡(luò)的網(wǎng)絡(luò),其中網(wǎng)絡(luò)的電路交換部分被替代為具有可基于業(yè)務(wù)擁塞在電路交換與分組交換模式之間進行自適應(yīng)交換的通道的網(wǎng)絡(luò)。因此,在一些實施例中,分組交換網(wǎng)絡(luò)可為在路由器204之間數(shù)據(jù)的傳輸保留資源,并且自適應(yīng)交換網(wǎng)絡(luò)可允許數(shù)據(jù)在使用電路交換通道或分組交換通道的路由器之間進行遞送。下面更詳細地描述自適應(yīng)交換網(wǎng)絡(luò)。
圖3a示出根據(jù)某些實施例,經(jīng)由分組交換通道耦合的示例路由器端口204a和204b。在分組交換noc中,輸出端口302a和輸入端口306a之一或兩者包括存儲元件314(例如,觸發(fā)器)。在所描繪的實施例中,輸出端口302a和輸入端口306a均包括存儲元件314。無論何時新數(shù)據(jù)從路由器204a的輸入端口到達路由器204a的輸出端口302a(mux310可從到達的來自路由器204a的多個不同輸入端口的數(shù)據(jù)的分組中選擇新數(shù)據(jù)),數(shù)據(jù)被暫時存儲在存儲元件314a中,直至它被允許繼續(xù)行進到路由器204b。在路由器204b,數(shù)據(jù)由存儲元件314b存儲,并且然后被廣播或解復(fù)用到在其到數(shù)據(jù)的目的地的路徑中下一路由器的途中路由器204b的輸出端口。數(shù)據(jù)存儲提供良好的等待時間和通過管線處理的吞吐量,但要求更高的時鐘和數(shù)據(jù)功率。
圖3b示出根據(jù)某些實施例,經(jīng)由電路交換通道耦合的示例路由器端口204c和204d。電路交換通過消除在路由器204中的數(shù)據(jù)存儲功率,實現(xiàn)更高的能量效率。這包括降低時鐘功率和數(shù)據(jù)交換功率。在電路交換noc中,數(shù)據(jù)在保留的從源到目的地核的電路交換通道上被傳送,并且通過各種復(fù)用器(例如,mux322)和解復(fù)用器(例如,demux326)被傳輸。在混合分組/電路交換網(wǎng)絡(luò)中,使用分組設(shè)定這些通道。分組存儲每個路由器中少量的方向信息以控制電路交換通道的路由。一旦設(shè)定了電路交換通道,便跨通道流傳送數(shù)據(jù)。在數(shù)據(jù)傳輸后,將通道解除分配以允許隨后的數(shù)據(jù)傳輸。在分組交換和電路交換網(wǎng)絡(luò)二者中,活動數(shù)據(jù)傳輸阻塞了競爭相同網(wǎng)絡(luò)資源的其它傳輸。另外,在電路交換網(wǎng)絡(luò)中,分配的電路交換通道阻塞其它傳輸(即使通道設(shè)定未完成,并且無數(shù)據(jù)正在通道上活動傳送)。最小化擁塞的最佳電路交換資源利用和傳輸排序要求全局業(yè)務(wù)信息,而其在低等待時間系統(tǒng)中被獲得是不實際的。
圖3c示出根據(jù)某些實施例,經(jīng)由可在分組交換通道與電路交換通道之間自適應(yīng)地交換的通道而被耦合的示例路由器端口204e和204f。每個端口302c和306c包括用來存儲在端口之間被遞送的數(shù)據(jù)的存儲元件(例如,鎖存器334和342或觸發(fā)器)。這些存儲元件基于模式信號338和346有條件地操作。如果端口處于電路交換模式中,則相應(yīng)存儲元件保持打開且不消耗動態(tài)功率。在電路交換模式中,端口能量效率接近電路交換noc的端口能量效率。在具體實施例中,如果在相同端口有多個活動流,則可將模式改變成分組交換模式。在此模式中,端口將以與分組交換noc的方式類似的方式對存儲元件計時以對數(shù)據(jù)傳輸進行管線處理。模式改變限于多個流到達一個端口所在的局部區(qū)域。其中存在較少業(yè)務(wù)的noc的其它部分可留在電路交換模式以實現(xiàn)高能量效率。
在各種實施例中,自適應(yīng)noc可包括含多個路由器的noc,所述多個路由器各自可操作以在相同通道上在分組交換通信與電路交換通信之間自適應(yīng)地交換。在一些實施例中,noc的路由器的多個端口的每個端口可操作以在分組交換通信與電路交換通信之間自適應(yīng)交換。每個端口可基于在端口收到的活動流的數(shù)量,獨立確定其是要在分組交換模式還是要在電路交換模式中操作。因此,對于跨在源邏輯與目的地邏輯之間的路徑的具體數(shù)據(jù)傳輸,路徑中的一個或更多路由器可在電路交換模式中傳輸數(shù)據(jù),而一個或更多路由器可在分組交換模式中傳輸數(shù)據(jù)。
圖4示出根據(jù)某些實施例的路由器端口的示例鏈表邏輯400。在一具體實施例中,鏈表邏輯400實現(xiàn)為硬件鏈表。在其它實施例中,鏈表邏輯400可以任何適合的方式實現(xiàn),諸如軟件或固件。
鏈表402中的每個條目包括前一索引字段(pidx406)、下一索引字段(nidx410)和數(shù)據(jù)字段(數(shù)據(jù)414)。條目的pidx406指向置于鏈表中在該條目之前的條目槽(slot)。條目的nidx410指向置于鏈表中在該條目之后的下一條目槽。數(shù)據(jù)414可指示與對應(yīng)于條目的傳輸相關(guān)聯(lián)的方向。在輸出端口中,數(shù)據(jù)414可表示將在路由器的哪個輸入端口接收數(shù)據(jù)(這使得控制信號能夠被配置成使得通信可在輸出端口與適當(dāng)?shù)妮斎胫g進行)。在路由器的輸入端口中,數(shù)據(jù)414可表示數(shù)據(jù)將發(fā)送到的路由器的輸出端口(這能夠?qū)崿F(xiàn)適當(dāng)?shù)目刂菩盘柵渲茫?。第一槽指?18可指向鏈表的頭端(例如,這可以是在電路交換模式期間被處理的傳輸)。
在具體實施例中,鏈表402實現(xiàn)為陣列。條目可以任何順序物理存儲,但鏈表402允許路由器端口跟蹤每個條目所表示的數(shù)據(jù)傳輸?shù)捻樞?。在電路交換模式中,數(shù)據(jù)傳輸可以它們到達的順序被處理。例如,鏈表402的頭端可控制電路交換通道。在分組交換模式中,可循環(huán)鏈表402中的條目(即,你能夠交織各種數(shù)據(jù)傳輸)。例如,在一個實施例中,如果數(shù)據(jù)傳輸具有需要從源邏輯轉(zhuǎn)到目的地邏輯的多個流,則來自該流的一個或更多傳輸可作為一個或更多分組穿過端口,并且隨后端口可將不同流的一個或更多傳輸作為一個或更多分組發(fā)送。端口可然后回到發(fā)送來自原始流的傳輸,或者發(fā)送來自完全不同流的傳輸。條目的指針(pidx406和nidx410)允許路由器正確地通過活動通道進行循環(huán),其中通道由于變化的流長度而以未知的順序被形成和解除分配。要求全局順序,使得每個路由器知道正在處理哪個傳輸,而不必在路由器之間傳遞此信息。在具體實施例中,第一路由器的輸出端口和第二路由器的輸入端口(耦合到第一路由器的輸出端口)具有同步鏈表402。也就是說,與具體傳輸有關(guān)的數(shù)據(jù)將占用每個鏈表中相同的槽。例如,如果所描繪的鏈表402是在路由器的輸出端口,則在第二路由器的對應(yīng)輸入端口的鏈表可在pidx406和nidx410字段中包括相同數(shù)據(jù)(盡管方向數(shù)據(jù)414可以不同)。
鏈表402中條目的數(shù)量指示有多少活動流已到達端口。在具體實施例中,鏈表402中條目的數(shù)量確定端口是要在電路交換模式中還是在分組交換模式中操作。例如,如果在鏈表402中存在兩個或更多條目,則端口將操作在分組交換模式中,否則其將以其它方式操作在電路交換模式中。在其它實施例中,其它適合的閾值(諸如三個或更多條目)能夠用于確定端口何時應(yīng)從電路交換模式交換到分組交換模式。
鏈表邏輯400還包括可操作以接收寫數(shù)據(jù)信號434、寫槽信號438和移除槽信號442的控制邏輯430??刂七壿?30使用這些信號添加,移除和修改鏈表402中的條目。寫槽438由鏈表邏輯400的邏輯(未示出)計算,并且指示應(yīng)將寫數(shù)據(jù)434接收到數(shù)據(jù)字段414中的鏈表402的槽。寫數(shù)據(jù)信號434可從由端口的分組交換部分所接收的保留請求分組導(dǎo)出(例如,方向邏輯可基于諸如在保留請求分組中含有的目的地地址的信息,確定方向數(shù)據(jù))。移除槽信號442可從由端口的電路交換部分所接收的電路交換數(shù)據(jù)傳輸中導(dǎo)出(例如,數(shù)據(jù)流的末端生成移除槽信號,用來從鏈表402移除其關(guān)聯(lián)的方向信息)。
在所示圖形中,下一寫槽信號438將為0,因為其是應(yīng)被寫入的下一個槽。在槽0被寫入時,槽2的nidx410將被更新成0,并且槽0的pidx將被更新成2。移除槽信號442指示對于其條目應(yīng)被移除的鏈表402的槽。鏈表402耦合到基于讀槽控制信號422來輸出讀數(shù)據(jù)426的復(fù)用器424。讀槽控制信號422指示鏈表402的槽之一,并且讀數(shù)據(jù)426是來自所指示的槽的數(shù)據(jù)414。
圖5示出根據(jù)某些實施例,具有自適應(yīng)交換通道的路由器的示例端口。所描繪的實施例假定帶有五個端口集的路由器(每個端口集在邏輯上被細分成輸入端口和輸出端口),盡管其它實施例中可使用任何數(shù)量的端口集。在所描繪的實施例中,端口標(biāo)記為端口a和端口b,而不是輸入端口和輸出端口,這是因為依賴于保留分組是被請求從目的地邏輯進行讀還是向目的地邏輯進行寫,電路交換數(shù)據(jù)可在相對于保留分組的方向的任一方向上流動。在所描繪的實施例中,電路交換數(shù)據(jù)可從端口a轉(zhuǎn)到端口b,并且對應(yīng)的基于分組的保留請求可經(jīng)由這些端口的分組交換部分從端口b轉(zhuǎn)到端口a(未示出)。因此,端口b相對于保留請求是輸入端口,但相對于電路交換數(shù)據(jù)傳輸是輸出端口。類似地,端口a相對于保留請求是輸出端口,但相對于電路交換數(shù)據(jù)傳輸是輸入端口。圖中的灰色區(qū)域表示路由器內(nèi)的交叉開關(guān)。
源同步時鐘流(str)信號502a與每個數(shù)據(jù)傳輸一起傳播,并且對目的地核中的數(shù)據(jù)進行計時。數(shù)據(jù)傳輸采用ack信號516a被確認(rèn)。str和ack均在鏈路上被邊緣編碼并且被轉(zhuǎn)換成路由器內(nèi)級別敏感信號以便進行復(fù)用和解復(fù)用。數(shù)據(jù)(cdata526a)行進基于端口模式(模式544a)有條件地被計時的鎖存器和路由器交叉開關(guān),所述端口模式在所描繪的實施例中可對于電路交換模式為邏輯“0”,并且對于分組交換模式為邏輯“1”。cslot信號546a指的是正在被處理的傳輸。端口的各種信號和組件將先相對于電路交換模式并且然后相對于分組交換模式被描述。
在電路交換模式中,流(str)信號502a穿過鎖存器504(其在電路交換模式中保持打開)和異或(xor)門506。str502a在路由器之間被遞送時被跳變編碼(transitionencoded),并且異或門506將str502a轉(zhuǎn)換成級別敏感信號,該信號然后被饋送到解復(fù)用器508?;趶逆湵?00a接收的選擇信號,解復(fù)用器508將str502a發(fā)送到路由器的端口b之一。
端口b的仲裁器510接收來自每個端口a的str信號,并且基于到達順序,選擇str信號之一。從仲裁器輸出的str信號然后被反轉(zhuǎn)觸發(fā)器(toggleflipflop)512從水平敏感信號轉(zhuǎn)換回跳變編碼信號。由反轉(zhuǎn)觸發(fā)器512輸出的邊緣(edge)由異或門514組合,并且然后通過端口b將結(jié)果信號str502b發(fā)送出。具體實施例也可包括以類似于對于str信號所示的方式的方式處理的尾部信號。在各種實施例中,str和尾部信號均可指定數(shù)據(jù)傳輸。str信號指示電路數(shù)據(jù)的傳遞,其中有更多的后續(xù)數(shù)據(jù)(作為另外的段),并且因此保持電路通道開放用于完整的電路數(shù)據(jù)傳輸(一個或更多段的),且尾部信號指示電路數(shù)據(jù)傳輸?shù)哪┒恕?/p>
確認(rèn)(ack)信號516a是指示數(shù)據(jù)已到達目的地核的反向信號。在各種實施例中,可為在目的地邏輯接收的電路交換數(shù)據(jù)傳輸?shù)拿總€段發(fā)送ack信號516a。ack516a通過脈沖發(fā)生器(pgen)518(其生成上升和下降邊緣)饋送到復(fù)用器520。入端口ctrl邏輯522提供入模式(inmode)信號,該信號配置復(fù)用器520將ack516a遞送到解復(fù)用器519。入端口ctrl邏輯522也提供控制信號到解復(fù)用器519以將此信號遞送到正確的端口a。解復(fù)用器519的輸出通過反轉(zhuǎn)觸發(fā)器521的對應(yīng)反轉(zhuǎn)觸發(fā)器遞送,并且遞送回發(fā)送對應(yīng)str信號的端口a。接收ack516a的反轉(zhuǎn)觸發(fā)器將其轉(zhuǎn)換回邊緣。然后,將ack516a發(fā)送到正確的端口a,在其中它與可攜帶在異或門524的ack信號的其它信號線組合,并且然后作為ack信號516b退出端口a。異或門524的輸出的另一分支經(jīng)過異或門506,以關(guān)閉由str502a引起的異或門506的輸出。
電路交換數(shù)據(jù)526a穿過鎖存器528a(其在端口a處在電路交換模式中時保持打開),并且被廣播到每個端口b。端口b可接收來自每個端口a的電路交換數(shù)據(jù),并且基于仲裁器510的輸出,在它們之間進行選擇。所選擇的電路交換數(shù)據(jù)通過鎖存器528b(其在端口b處在電路交換模式中時也保持打開)被發(fā)送到端口b的輸出。鎖存器528a和528b對應(yīng)于圖3c的鎖存器342和334。
在分組交換模式中,str信號502a穿過鎖存器504(其最初在分組交換模式中是打開的)和異或門506。異或門506的輸出將通過與(and)門530傳播,并且將關(guān)閉鎖存器504和528a(和鎖存器540a和542a)以阻斷任何另外的str信號和cdata信號傳播(直到當(dāng)前數(shù)據(jù)傳輸被完成)。str502a在路由器之間遞送時被跳變編碼,并且異或門506將str502a轉(zhuǎn)換成級別敏感信號,該信號然后被饋送到解復(fù)用器508?;趶逆湵?00a接收到的選擇信號,解復(fù)用器508將str502a發(fā)送到端口b之一。端口b的仲裁器510接收來自每個端口a的str信號,并且基于到達順序,選擇str信號之一。從仲裁器輸出的str信號然后由反轉(zhuǎn)觸發(fā)器512從級別敏感信號被轉(zhuǎn)換回跳變編碼信號。反轉(zhuǎn)觸發(fā)器512輸出的邊緣由異或門514組合,并且結(jié)果結(jié)果信號str502b通過端口b被發(fā)送出。
在分組交換模式中,由異或門514輸出的str信號也穿過包括c元件532和同或(xnor)門534的信用跟蹤邏輯。在兩個連貫的str信號已在信用跟蹤邏輯被接收之后,將禁用到反轉(zhuǎn)觸發(fā)器512的使能信號,從而阻塞進一步的數(shù)據(jù)傳輸(直到ack信號516a到達)。除被遞送到信用跟蹤邏輯外,異或門514的輸出也被遞送到脈沖發(fā)生器536、穿過由入端口ctrl邏輯522選擇的跳變門(transitiongate)538,穿過反轉(zhuǎn)觸發(fā)器521,并且被遞送回到端口a,其中此信號充當(dāng)用于數(shù)據(jù)傳輸?shù)拇_認(rèn)信號。脈沖發(fā)生器536的輸出也穿過或(or)門538,并且或門538的輸出控制鎖存器528b、540b和542b分別鎖存cdata(其可基于仲裁器510的輸出,從來自多個端口a的cdata選擇)、模式和cslot信號。這允許鎖存器將模式544b、cdata526b和cslot546b信號(在發(fā)送str502b信號時)發(fā)出到另一路由器。在接收到ack信號516a時,它不通過脈沖發(fā)生器518、復(fù)用器520、解復(fù)用器519和反轉(zhuǎn)觸發(fā)器521傳播,而是被遞送到信用跟蹤邏輯,在那里它恢復(fù)信用,并且轉(zhuǎn)而開啟反轉(zhuǎn)觸發(fā)器512以允許另外的傳輸。
模式信號544a(其在電路交換模式期間為邏輯“0”,并且在分組交換模式期間為邏輯“1”)進入端口a,并且傳播到與門530,以及在分組交換模式期間允許鎖存器540a、528a和542a被str信號502a關(guān)閉。模式信號544a廣播到每個端口b。端口b使用仲裁器510的輸出,選擇來自適當(dāng)端口a的模式信號。所選擇的模式信號然后被遞送到入端口ctrl邏輯522。入端口ctrl邏輯522使用在入端口鏈表400b中的信息,將入模式信號發(fā)送到鎖存器540b和或門538。入端口ctrl邏輯522基于在入端口鏈表400b中條目的數(shù)量,確定交換模式(入模式)。入端口ctrl邏輯522也將入模式信號發(fā)送到復(fù)用器520以在ack和str信號與控制信號之間進行選擇,以配置解復(fù)用器519將ack或str信號發(fā)送到正確的端口a。
cslot信號546a穿過鎖存器542a并且進入出端口鏈表400a。cslot信號546a指示哪個數(shù)據(jù)傳輸當(dāng)前正被執(zhí)行。在分組交換模式中,cslot信號546a用于將rd_data1信號425(識別正在發(fā)生的傳輸?shù)某龆丝阪湵?00a的槽id,這是與由rd_slot422識別的相同槽)發(fā)送到每個端口b。端口b使用仲裁器510的輸出選擇適當(dāng)?shù)膔d_data1信號,并且此信號通過鎖存器542b被傳播到端口b的輸出,而且還用于保持跟蹤從入端口鏈表400b正被移除或添加的元件。
以上各種實施例示出在源同步noc的上下文中帶有自適應(yīng)交換通道的端口。在源同步noc中,與數(shù)據(jù)一起被轉(zhuǎn)發(fā)的控制信號跳變(例如,流和尾部信號)充當(dāng)時鐘信號,由此消除對完全同步時鐘的需要。此技術(shù)通過移除在每個路由器對同步數(shù)據(jù)fifo的需要,促進了多時鐘設(shè)計(其中與不同路由器關(guān)聯(lián)的核可在不同頻率操作)。然而,所示實施例能夠容易適應(yīng)于與帶有顯式時鐘和級別敏感控制信號的完全同步noc一起工作。同步分組交換noc可包括基于全局時鐘與它們的鄰居進行通信的路由器。因此,同步noc中的所有路由器在相同頻率操作。在各種同步實現(xiàn)中,由于觸發(fā)器和鎖存器連同存儲元件的基于許可和請求的時鐘門控(clock-gating)一起安置可達到相同結(jié)果,因此,不要求顯式信用跟蹤電路。用于電路交換網(wǎng)絡(luò)的時鐘可從用于分組交換網(wǎng)絡(luò)的時鐘導(dǎo)出,并且可以是分組交換網(wǎng)絡(luò)的多個時鐘以考慮最差情況電路交換通道設(shè)定。
圖6示出根據(jù)某些實施例,用于通過自適應(yīng)交換通道由路由器傳遞數(shù)據(jù)和為其保留資源的示例方法。在步驟602,經(jīng)由路由器的分組交換部分接收保留請求分組。請求分組可在位于網(wǎng)絡(luò)元件202的源邏輯與位于不同網(wǎng)絡(luò)元件的目的地邏輯之間建立通道。為開始數(shù)據(jù)傳輸,源邏輯向目的地邏輯發(fā)送保留分組。此保留分組可經(jīng)由noc的分組交換部分被傳遞,并且在保留分組從源行進到目的地時,可為在源邏輯與目的地邏輯之間的電路交換數(shù)據(jù)或分組交換數(shù)據(jù)傳遞保留資源。保留分組可包括促進數(shù)據(jù)通道的保留的任何適合的信息。作為示例,保留分組可包括地址(即,與目的地關(guān)聯(lián)的地址)和可選旁帶分組數(shù)據(jù)。
在步驟604,確定與保留請求關(guān)聯(lián)的方向信息。例如,在入輸入端口,確定保留請求應(yīng)被轉(zhuǎn)發(fā)到的輸出端口。在特定實施例中,方向信息是基于由給定路由器中的方向解碼器執(zhí)行的確定性路由選擇方法(例如,x第一、y第二路由選擇或表查找)或其它路由選擇協(xié)議(例如,其中保留分組包括分組在每個路由器應(yīng)行進的方向的源結(jié)構(gòu)化協(xié)議)。在一實施例中,唯一的地址可與每個核208或其它邏輯塊(并且因此在其中核與路由器之間存在1:1映射的情況下,還有路由器204)關(guān)聯(lián)。進而,此本地地址可用于生成每個路由器本地的方向信息以識別用于發(fā)送信息的路由器的適當(dāng)端口。因此,分組中的地址可結(jié)合路由器204的本地地址用于確定哪個方向用來轉(zhuǎn)發(fā)進入分組。在一些實施例中,在步驟604確定的方向信息可包括用于輸入端口的外出方向(例如,保留請求應(yīng)被發(fā)送到的輸出端口的標(biāo)識符)和進入方向(例如,接收的保留所來自的輸入端口的標(biāo)識符)。
在步驟610,在資源可用時,基于確定的方向信息,沿從源邏輯到目的地邏輯的路徑往下游轉(zhuǎn)發(fā)分組。在各種實施例中,步驟610可與步驟606和608并行執(zhí)行。在各種實施例中,路由器204可使用信用系統(tǒng)以允許在服務(wù)于第一請求前從一個端口發(fā)送多個保留請求。作為一個示例,輸出端口可根據(jù)信用2分組系統(tǒng)操作,其中來自輸出端口的發(fā)送的請求的數(shù)量能夠超出所接收的許可的數(shù)量2個,而輸入端口可根據(jù)信用1分組系統(tǒng)操作,其中輸入端口可不發(fā)送另外的請求,直到接收到許可。然而,在任一端口可使用任何適合的信用系統(tǒng)。
在步驟606,將方向信息寫入路由器的鏈表。例如,與輸入端口關(guān)聯(lián)的方向信息可被寫入與輸入端口關(guān)聯(lián)的鏈表,而與輸出端口關(guān)聯(lián)的方向信息可被寫入與輸出端口關(guān)聯(lián)的鏈表。
在步驟608,一旦資源可用于傳輸與保留請求關(guān)聯(lián)的數(shù)據(jù),則依賴于在要傳遞數(shù)據(jù)的路由器的端口的擁塞,使用分組交換通道或電路交換通道來傳遞數(shù)據(jù)。該步驟將聯(lián)系圖7進一步詳細地被描述。
在適當(dāng)之處可重復(fù),組合,修改或刪除圖6中示出的步驟中的一些,并且也可將另外的步驟添加到流程圖。另外,在不偏離具體實施例的范疇的情況下,可以任何適合的順序執(zhí)行步驟。
圖7示出根據(jù)某些實施例,用于經(jīng)由路由器的自適應(yīng)交換通道傳遞數(shù)據(jù)的示例方法。在步驟702,端口配置成在電路交換模式中進行通信。例如,被發(fā)送到端口的各種組件的模式信號可設(shè)置成對應(yīng)于電路交換模式的邏輯值。在電路交換模式中,端口的一個或更多存儲元件(例如,鎖存器)可保持在打開狀態(tài)以透明地遞送數(shù)據(jù),同時只消耗額定量的功率。對應(yīng)模式信號也可在與端口進行通信的另一路由器的端口設(shè)置成電路交換模式。在步驟704,經(jīng)由從端口到另一端口的電路交換通道來傳遞數(shù)據(jù)。由于在端口中的存儲元件是打開的,因此,在數(shù)據(jù)從一個端口行進到另一端口時,電路交換通道并不緩沖數(shù)據(jù)。
在步驟706,確定在端口是否存在不止一個活動數(shù)據(jù)流。如果在端口只有一個活動數(shù)據(jù)流(或無活動流),則端口保持在電路交換模式中。端口繼續(xù)傳遞它跨電路交換通道接收的數(shù)據(jù)流,直至在步驟706,它檢測到存在不止一個活動流,此時,方法轉(zhuǎn)到步驟708。端口可以任何適合的方式來確定存在不止一個活動流。例如,可檢測端口的鏈表中條目的數(shù)量,其中每個條目對應(yīng)于活動數(shù)據(jù)流。
在步驟708,模式配置成是分組交換。例如,被發(fā)送到端口的各種組件的模式信號可設(shè)置成對應(yīng)于分組交換模式的邏輯值。在分組交換模式中,端口的一個或更多存儲元件(例如,鎖存器)可轉(zhuǎn)到某種狀態(tài),其中可對它們進行計時以打開和關(guān)閉,由此能夠?qū)崿F(xiàn)在端口之間進行數(shù)據(jù)的傳遞期間對數(shù)據(jù)的存儲。對應(yīng)模式信號也可在與端口進行通信的另一路由器的端口被設(shè)置成分組交換模式。在步驟710,使用分組交換通道從端口傳遞數(shù)據(jù)。在具體實施例中,在端口經(jīng)由端口中鏈表的使用在分組交換模式中傳遞數(shù)據(jù)時,它可在多個活動數(shù)據(jù)流之間進行交換。
在步驟712,再次確定在端口是否存在不止一個活動數(shù)據(jù)流。如果在端口還存在不止一個活動數(shù)據(jù)流,則端口保持在分組交換模式中。端口繼續(xù)傳遞在步驟710它跨分組交換通道接收的數(shù)據(jù)流,直至在步驟712,它檢測到只存在一個活動流(或無活動流),此時,方法轉(zhuǎn)回到步驟702,其中模式被交換回電路交換。
在適當(dāng)之處可重復(fù),組合,修改或刪除圖7中示出的步驟中的一些,并且也可將另外的步驟添加到流程圖。另外,在不偏離具體實施例的范疇的情況下,可以任何適合的順序執(zhí)行步驟。
在各種實施例中,自適應(yīng)交換noc可包括輕微的等待時間懲罰以通過每個端口中的鎖存器傳播。然而,在與基線混合分組/電路交換noc相比時,此等待時間對于在一個實施例中通過管線處理,以5.1倍降低帶有隨機均勻業(yè)務(wù)的導(dǎo)向傳輸?shù)却龝r間(fall-throughlatency)而言不只是補償。在一些實施例中,自適應(yīng)流量控制也采用深度4和8的鏈表將吞吐量增大1.9倍和2.3倍。
隨著數(shù)據(jù)流長度增大,自適應(yīng)流量控制允許用于管線處理的更多機會。在一個實施例中,采用每數(shù)據(jù)流只一次傳輸,提議的流量控制將吞吐量提高1.4倍。然而,在數(shù)據(jù)流長度增大到10個傳輸時,實施例可經(jīng)歷在吞吐量上的9.1倍的增大。
noc的能耗密切地跟蹤其操作模式。分組交換網(wǎng)絡(luò)的一實施例估計具有36%的更高能耗。采用自適應(yīng)流量控制,在一個實施例中,在相同業(yè)務(wù)條件下并且采用相同noc拓?fù)涞那闆r下,47%的跳在分組交換模式中。在一個實施例中,這對應(yīng)于能量上只增大18%。
圖8示出依照一個實施例的示例計算系統(tǒng)的框圖的另一實施例。在該圖中,依照本公開的芯片上系統(tǒng)(soc)設(shè)計的一實施例被描繪。作為特定的說明性示例,soc800被包括在用戶裝備(ue)中。在一個實施例中,ue指的是由末端用戶用于通信的任何裝置,諸如手持電話,智能電話,平板,超薄筆記本,帶有寬帶適配器的筆記本,或任何其它類似的通信裝置。通常ue連接至基站或節(jié)點,其在性質(zhì)上潛在地對應(yīng)gsm網(wǎng)絡(luò)中的移動臺(ms)。
此處,soc800包括2個核—806和807。類似于上面所討論的,核806和807可符合指令集架構(gòu),諸如基于intel?architecturecore?的處理器、advancedmicrodevices公司(amd)處理器、基于mips的處理器、基于arm的處理器設(shè)計、或其客戶、以及它們的許可證持有人或采納者(adopter)。核806和807被耦合至高速緩存控制808,其關(guān)聯(lián)于總線接口單元809和l2高速緩存810,以便與系統(tǒng)800的其它部分通信?;ミB810包括芯片上互連,諸如iosf、amba、或在上面討論的其它互連,其潛在地實現(xiàn)所描述的公開的一個或更多方面。
接口810提供通信通道給其它組件,諸如用于與sim卡進行接口的訂戶標(biāo)識模塊(sim)830、用于保存引導(dǎo)代碼(用于由核806和808執(zhí)行以初始化和引導(dǎo)soc800)的引導(dǎo)rom835、用于與外部存儲器(例如dram860)進行接口的sdram控制器840、用于與非易失存儲器(例如閃存865)進行接口的閃存控制器845、用于與外圍設(shè)備進行接口的外圍控制q1650(例如串行外圍接口)、視頻編解碼器820和用于顯示和接收輸入(例如觸摸使能的輸入)的視頻接口825、用于執(zhí)行圖形相關(guān)計算的gpu185等等。這些接口的任何接口可結(jié)合本文中所描述的公開的方面。
另外,所述系統(tǒng)示出了用于通信的外圍設(shè)備,諸如藍牙模塊880、3g調(diào)制解調(diào)器875、gps885、和wifi885。注意,如在上面所陳述的,ue包括用于通信的無線電。作為結(jié)果,這些外圍通信模塊不是全部被要求的。然而,在ue中,某種形式的用于外部通信的無線電要被包括。
設(shè)計可經(jīng)歷各個階段,從創(chuàng)建到仿真到制作。表示設(shè)計的數(shù)據(jù)可以多個方式表示所述設(shè)計。首先,如在仿真中有用的是,可使用硬件描述語言(hdl)或另一個功能描述語言來表示硬件。另外,帶有邏輯和/或晶體管門的電路級別模型可在設(shè)計過程的一些階段被產(chǎn)生。此外,大多數(shù)設(shè)計在某個階段達到表示硬件模型中各個裝置的物理放置的數(shù)據(jù)的級別。在其中常規(guī)半導(dǎo)體制作技術(shù)被使用的情況中,表示硬件模型的數(shù)據(jù)可以是規(guī)定在用來產(chǎn)生集成電路的掩模的不同掩模層上的各種特征的存在或不存在的數(shù)據(jù)。在一些實現(xiàn)中,此類數(shù)據(jù)可以數(shù)據(jù)庫文件格式被存儲,諸如圖形數(shù)據(jù)系統(tǒng)ii(gdsii)、開放工藝圖系統(tǒng)互換標(biāo)準(zhǔn)(oasis)、或類似的格式。
在一些實現(xiàn)中,基于軟件的硬件模型、和hdl以及其它功能描述語言對象除了其它示例以外能包括寄存器傳輸語言(rtl)文件。此類對象能是機器可解析的,使得設(shè)計工具能接受hdl對象(或模型)、針對所描述硬件的屬性來解析hdl對象、以及從對象來確定物理電路和/或芯片上布局。設(shè)計工具的輸出能被用于制造物理裝置。比如,設(shè)計工具能從hdl對象來確定各個硬件和/或固件元件的配置,諸如總線寬度、寄存器(包括規(guī)模和類型)、存儲器塊、物理鏈路路徑、構(gòu)造拓?fù)?,以及將被實現(xiàn)以便獲得hdl對象中建模的系統(tǒng)的其它屬性。設(shè)計工具能包括用于確定芯片上系統(tǒng)(soc)和其它硬件裝置的拓?fù)浜蜆?gòu)造配置的工具。在一些情形中,hdl對象能被用作用于開發(fā)模型和設(shè)計文件的基礎(chǔ),所述模型和設(shè)計文件能被制造裝備用于制造所描述的硬件。確實,hdl對象本身能作為輸入被提供到制造系統(tǒng)軟件以促成所描述的硬件。
在設(shè)計的任何表示中,數(shù)據(jù)可以機器可讀媒體的任何形式被存儲。存儲器或者磁或光存儲裝置(諸如盤)可以是用于存儲經(jīng)由光或電波所傳送的信息的機器可讀媒體,所述光或電波被調(diào)制或以其它方式被生成以傳送此類信息。當(dāng)指示或攜帶代碼或設(shè)計的電載波被傳送(達到執(zhí)行電信號的復(fù)制、緩沖、或再傳送的程度)時,新副本被做出。因此,通信提供商或網(wǎng)絡(luò)提供商可至少臨時地將實施本公開實施例之技術(shù)的物品(article)(諸如編碼到載波中的信息)存儲在有形的、機器可讀媒體上。
如本文中所使用的模塊指的是硬件、軟件、和/或固件的任何組合。作為示例,模塊包括硬件(諸如微控制器),其與用于存儲適應(yīng)于被微控制器執(zhí)行的代碼的非暫態(tài)媒體相關(guān)聯(lián)。因此,在一個實施例中,對模塊的引用指的是硬件,其特定地被配置成識別和/或執(zhí)行要保存在非暫態(tài)媒體上的代碼。此外,在另一個實施例中,模塊的使用指的是包括代碼(其被特定地適應(yīng)于由微控制器執(zhí)行以執(zhí)行預(yù)定的操作)的非暫態(tài)媒體。且如能被推斷的,在還有的另一個實施例中,術(shù)語模塊(在該示例中)可指的是微控制器和非暫態(tài)媒體的組合。通常,被示出為分離的模塊分界線共同地變化且潛在地重疊。例如,第一和第二模塊可共享硬件、軟件、固件、或其組合,而潛在地保持某個獨立的硬件、軟件、或固件。在一個實施例中,術(shù)語邏輯的使用包括諸如晶體管、寄存器的硬件或諸如可編程的邏輯裝置的其它硬件。
在一個實施例中,短語“用于”或“配置成”的使用指的是布置、裝配、制造、許諾出售、進口和/或設(shè)計用于執(zhí)行指定的或確定的任務(wù)的設(shè)備、硬件、邏輯、或元件。在該示例中,如果未在操作的其設(shè)備或元件被設(shè)計、耦合、和/或互連以執(zhí)行指定的任務(wù),則它仍被“配置成”執(zhí)行所述指定的任務(wù)。作為純說明性的示例,邏輯門可在操作期間提供0或1。但“配置成”提供啟用信號給時鐘的邏輯門不包括可提供1或0的每一個潛在的邏輯門。反而,所述邏輯門是以在操作期間1或0輸出要啟用時鐘的某種方式所耦合的邏輯門。再一次注意到,術(shù)語“配置成”的使用不要求操作,但轉(zhuǎn)而關(guān)注于設(shè)備、硬件、和/或元件的潛伏狀態(tài),其中在潛伏狀態(tài)中所述設(shè)備、硬件、和/或元件被設(shè)計成當(dāng)所述設(shè)備、硬件、和/或元件在操作時執(zhí)行具體的任務(wù)。
此外,在一個實施例中,短語“有能力/有能力以”和或“可操作以”的使用指的是以此類方式設(shè)計成能夠以規(guī)定的方式實現(xiàn)某一設(shè)備、邏輯、硬件、和/或元件的使用的所述設(shè)備、邏輯、硬件、和/或元件。如上注意到,在一個實施例中,用來、有能力以、或可操作以的使用指的是設(shè)備、邏輯、硬件、和/或元件的潛伏狀態(tài),在其中所述設(shè)備、邏輯、硬件、和/或元件不在操作中但以此類方式被設(shè)計成能夠以規(guī)定的方式實現(xiàn)設(shè)備的使用。
如本文中所使用的,值包括數(shù)、狀態(tài)、邏輯的狀態(tài)、或二進制邏輯的狀態(tài)的任何已知表示。通常,邏輯級別、邏輯值、或邏輯的值的使用還被稱為1和0,其簡單地表示二進制邏輯狀態(tài)。例如,1指的是高邏輯級別且0指的是低邏輯級別。在一個實施例中,存儲單元(諸如晶體管或閃存單元)可有能力保存單一邏輯的值或多個邏輯的值。然而,在計算機系統(tǒng)中值的其它表示已被使用。例如十進制數(shù)十可還被表示為1010的二進制值和十六進制的字母a。因此,值包括在計算機系統(tǒng)中有能力被保存的信息的任何表示。
此外,狀態(tài)可由值或值的部分來表示。作為示例,第一值(諸如邏輯的一)可表示默認(rèn)或初始狀態(tài),而第二值(諸如邏輯的零)可表示非默認(rèn)狀態(tài)。另外,在一個實施例中,術(shù)語重置和設(shè)置分別指的是默認(rèn)和更新的值或狀態(tài)。例如,默認(rèn)值潛在地包括高邏輯的值(即重置),而更新值潛在地包括低邏輯的值(即設(shè)置)。注意到,值的任何組合可被利用來表示任何數(shù)量的狀態(tài)。
在上面所闡述的方法、硬件、軟件、固件或代碼的實施例可經(jīng)由存儲在機器可訪問的、機器可讀的、計算機可訪問的、或計算機可讀的媒體上的指令或代碼(其可被處理元件執(zhí)行)而被實現(xiàn)。非暫態(tài)機器可訪問的/可讀的媒體包括以機器(諸如計算機或電子系統(tǒng))可讀的形式來提供(即,存儲和/或傳送)信息的任何機制。例如,非暫態(tài)機器可訪問媒體包括:隨機存取存儲器(ram),諸如靜態(tài)ram(sram)或動態(tài)ram(dram);rom;磁或光存儲媒體;閃速存儲器裝置;電存儲裝置;光存儲裝置;聲存儲裝置;用于保存從暫態(tài)(傳播的)信號(例如,載波、紅外信號、數(shù)字信號)接收的信息的其它形式的存儲裝置;等等,它們要被區(qū)分于可從其接收信息的非暫態(tài)媒體。
用于編程邏輯以執(zhí)行本公開的實施例的指令可被存儲在系統(tǒng)中的存儲器之內(nèi),諸如dram、高速緩存、閃速存儲器、或其它存儲裝置。此外,指令能經(jīng)由網(wǎng)絡(luò)或通過其它計算機可讀媒體被分發(fā)。因此,機器可讀媒體可包括用于以機器(例如,計算機)可讀的形式來存儲或傳送信息的任何機制,但不限于:軟盤、光盤、緊致盤(compactdisk)只讀存儲器(cd-rom)、和磁光盤、只讀存儲器(rom)、隨機存取存儲器(ram)、可擦除可編程只讀存儲器(eprom)、電可擦除可編程只讀存儲器(eeprom)、磁或光卡、閃速存儲器、或有形的機器可讀存儲裝置,其被用在經(jīng)由電、光、聲或其它形式的傳播信號(例如,載波、紅外信號、數(shù)字信號、等等)在互聯(lián)網(wǎng)上信息的傳送中。因此,計算機可讀媒體包括適合于以機器(例如,計算機)可讀的形式存儲或傳送電子指令或信息的任何類型的有形的機器可讀媒體。
一個或更多實施例可提供包括用來表示結(jié)構(gòu)的信息的設(shè)備、系統(tǒng)、機器可讀存儲裝置、機器可讀媒體、基于硬件和/或軟件的邏輯(例如,芯片上網(wǎng)絡(luò)的第一路由器)、方法、以及非暫態(tài)機器可讀媒體,所述結(jié)構(gòu)(在被制造時,配置成)包括:用來接收分組交換通道保留,以便為第一數(shù)據(jù)流保留通信資源的輸入端口;確定通道的模式的邏輯,所述模式為電路交換模式或分組交換模式;存儲元件,當(dāng)通道在電路交換模式中時,其要將在存儲元件的輸入的數(shù)據(jù)遞送到存儲元件的輸出而不存儲數(shù)據(jù),以及當(dāng)通道在分組交換模式中時,其在時鐘信號被接收時在存儲元件的輸入存儲數(shù)據(jù)。存儲元件要在存儲元件的輸入接收第一數(shù)據(jù)流的數(shù)據(jù)。
在至少一個示例中,該設(shè)備是處理器。
在至少一個示例中,存儲元件與輸入端口關(guān)聯(lián)。
在至少一個示例中,第一路由器還要包括輸出端口,并且其中存儲元件與輸出端口關(guān)聯(lián)。
在至少一個示例中,存儲元件要包括至少一個數(shù)據(jù)鎖存器。
在至少一個示例中,第一路由器還要包括鏈表,對應(yīng)于第一數(shù)據(jù)流的鏈表的條目。
在至少一個示例中,鏈表還要包括對應(yīng)于第二數(shù)據(jù)流的第二條目。
在至少一個示例中,第一路由器還要包括輸出端口,用來利用鏈表在從第一數(shù)據(jù)流提供數(shù)據(jù)到存儲元件的輸入和從第二數(shù)據(jù)流提供數(shù)據(jù)到存儲元件的輸入之間進行交替。
在至少一個示例中,芯片上網(wǎng)絡(luò)的第二路由器要從第一路由器接收通道的模式的指示,并且基于通道的模式的指示,配置第二路由器的存儲元件。
在至少一個示例中,第二路由器還要在第二路由器的存儲元件的輸入接收第一數(shù)據(jù)流的數(shù)據(jù)。
在至少一個示例中,時鐘信號是要指示第一數(shù)據(jù)流的段的傳輸?shù)拈_始的流信號。
在至少一個示例中,鏈表的條目要包括與第一數(shù)據(jù)流關(guān)聯(lián)的方向信息。
在至少一個示例中,除非在與存儲元件關(guān)聯(lián)的端口,活動數(shù)據(jù)流的數(shù)量超過閾值,否則,邏輯要確定模式要是電路交換模式。
在至少一個示例中,該閾值是一個活動數(shù)據(jù)流。
一個或更多實施例可提供包括用來表示結(jié)構(gòu)的信息的設(shè)備、系統(tǒng)、機器可讀存儲裝置、機器可讀媒體、基于硬件和/或軟件的邏輯(例如,路由器)、方法、以及非暫態(tài)機器可讀媒體,所述結(jié)構(gòu)(在被制造時,配置成)接收與第一數(shù)據(jù)流相關(guān)聯(lián)的分組交換保留請求,選擇通信模式(通信模式為電路交換模式或分組交換模式),以及根據(jù)通信模式傳遞第一數(shù)據(jù)流的至少部分。
在至少一個示例中,路由器要在路由器的端口具有小于閾值數(shù)量的活動數(shù)據(jù)流時選擇電路交換模式,并且要在路由器的端口具有等于或大于該閾值數(shù)量的數(shù)量的活動數(shù)據(jù)流時選擇分組交換模式。
在至少一個示例中,路由器還要在通信模式是電路交換時禁用路由器的存儲元件進行的數(shù)據(jù)存儲,并且在通信模式是分組交換模式時啟用存儲元件以存儲數(shù)據(jù)。
在至少一個示例中,通信模式與路由器的第一端口關(guān)聯(lián),并且路由器還要選擇要與路由器的第二端口關(guān)聯(lián)的第二通信模式,通信模式為電路交換模式或分組交換模式;并且根據(jù)第二通信模式來傳遞第二數(shù)據(jù)。
一個或更多實施例可提供包括用來表示結(jié)構(gòu)的信息的設(shè)備、系統(tǒng)、機器可讀存儲裝置、機器可讀媒體、基于硬件和/或軟件的邏輯、方法、以及非暫態(tài)機器可讀媒體,所述結(jié)構(gòu)(在被制造時,配置成)包括多個核,每個核與芯片上網(wǎng)絡(luò)的路由器關(guān)聯(lián)。路由器要包括多個端口集。端口集要包括:用來接收分組交換通道保留,以便為數(shù)據(jù)流保留通信資源的輸入端口;確定通道的模式的邏輯,所述模式為電路交換模式或分組交換模式;存儲元件,當(dāng)通道在電路交換模式中時,其要將在存儲元件的輸入的數(shù)據(jù)遞送到存儲元件的輸出而不存儲數(shù)據(jù),以及當(dāng)通道在分組交換模式中時,其在時鐘信號被接收時在存儲元件的輸入存儲數(shù)據(jù);以及輸出端口,用來將數(shù)據(jù)流的數(shù)據(jù)提供到存儲元件的輸入,并且將存儲元件的輸出發(fā)送到芯片上網(wǎng)絡(luò)的另一路由器。
貫穿該說明書的對“一個實施例”或“一實施例”的引用是指聯(lián)系實施例進行描述的具體特征、結(jié)構(gòu)、或特性被包括于本公開的至少一個實施例中。因此,在貫穿該說明書各處中短語“在一個實施例中”或“在一實施例中”的出現(xiàn)不一定都指的是相同的實施例。此外,具體特征、結(jié)構(gòu)、或特性可在一個或更多實施例中以任何適合的方式被組合。
在前述的說明書中,詳細的描述已參考特定的示范性實施例被給出。然而,將顯而易見的是,在不偏離如附帶權(quán)利要求中闡述的本公開的更廣泛的精神和范疇的情況下,各種修改和改變可對其被做出。因此,說明書和附圖要在說明性的意義而非約束性的意義中被看待。此外,實施例和其它示范性語言的前述使用不一定指的是相同的實施例或相同的示例,而是可指不同的和有區(qū)別的實施例,以及潛在相同的實施例。