專利名稱:打開多線程、多重處理單片系統(tǒng)網(wǎng)絡(luò)處理器單元的可升級(jí)的、高性能全局互聯(lián)方案的制作方法
技術(shù)領(lǐng)域:
本發(fā)明的領(lǐng)域通常涉及一種網(wǎng)絡(luò)設(shè)備,并且更特別地但不是唯一地涉及一種用于例如網(wǎng)絡(luò)處理器單元的多線程、多重處理單片系統(tǒng)裝置的可升級(jí)的、高性能互聯(lián)方案。
背景技術(shù):
例如交換機(jī)和路由器的網(wǎng)絡(luò)設(shè)備被設(shè)計(jì)成以包的形式在高線速率下轉(zhuǎn)發(fā)網(wǎng)絡(luò)通信量。處理網(wǎng)絡(luò)通信量的一個(gè)最重要的考慮是包吞吐量。為了實(shí)現(xiàn)這個(gè)目的,已經(jīng)開發(fā)了專用的處理器(即網(wǎng)絡(luò)處理器)來有效地處理每秒的大量包。為了處理包,網(wǎng)絡(luò)處理器(和/或使用網(wǎng)絡(luò)處理器的網(wǎng)絡(luò)設(shè)備)需要從表示包目的地、服務(wù)分類等的包報(bào)頭中提取數(shù)據(jù),在存儲(chǔ)器中存儲(chǔ)有效載荷數(shù)據(jù),執(zhí)行包分類和排隊(duì)操作,確定用于包的下一跳躍(next hop),選擇并劃撥通過其來轉(zhuǎn)發(fā)包的網(wǎng)絡(luò)端口等等。這些操作通常稱為“包處理”操作。
現(xiàn)代網(wǎng)絡(luò)處理器利用多個(gè)多線程處理器元件(在由California,Santa Clara的英特爾公司制造的網(wǎng)絡(luò)處理器中稱為微引擎)來執(zhí)行包處理,其中每個(gè)線程執(zhí)行流水線體系結(jié)構(gòu)中的特定工作或一組工作。在包處理期間,執(zhí)行大量存取來在耦合到網(wǎng)絡(luò)處理器和/或由網(wǎng)絡(luò)處理器提供的多種共享資源之間移動(dòng)數(shù)據(jù)。例如,網(wǎng)絡(luò)處理器通常在靜態(tài)隨機(jī)存取存儲(chǔ)器(SRAM)庫中存儲(chǔ)包元數(shù)據(jù)等,同時(shí)在基于動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DRAM)的庫中存儲(chǔ)包(或包有效載荷數(shù)據(jù))。另外,網(wǎng)絡(luò)處理器耦合到密碼處理器、散列單元、通用處理器、以及例如PCI(外圍部件互聯(lián))和PCI快速(PCI Express)總線的擴(kuò)充總線。
通常,網(wǎng)絡(luò)處理器的多種包處理元件(例如微引擎)以及比如通用處理器的其它可選擇的處理元件將共享訪問多種系統(tǒng)資源。這些所共享的資源典型地包括比如存儲(chǔ)器庫(例如SRAM、DRAM)、散列單元、密碼單元等等的數(shù)據(jù)存儲(chǔ)和處理單元,以及輸入/輸出(I/O)接口。所共享的資源及其用戶通過稱為“底板(chassis)”的多組總線互聯(lián)。該底板是網(wǎng)絡(luò)處理器芯片上的高性能互聯(lián),其提供芯片上的大量處理元件以及芯片上大量共享資源或通過適當(dāng)內(nèi)置芯片接口可訪問的大量共享資源之間的芯片上數(shù)據(jù)傳輸基礎(chǔ)結(jié)構(gòu)。
依據(jù)典型的網(wǎng)絡(luò)處理器結(jié)構(gòu),使用多種總線方案來使得共享資源能夠被共享地訪問。由于在任何時(shí)間點(diǎn)上僅單獨(dú)一組信號(hào)存在于給定的總線上,所以總線需要多路復(fù)用技術(shù)等來允許多個(gè)資源用戶訪問耦合到總線的多個(gè)資源目標(biāo)。用于緩解訪問爭用的一種技術(shù)為對(duì)于每個(gè)目標(biāo)的數(shù)據(jù)讀取和數(shù)據(jù)寫入提供單獨(dú)的總線。正如這里所使用的那樣,這些總線被稱為推總線(用于讀取)和拉總線(用于寫入)。(需要注意的是,術(shù)語“推”和“拉”是從共享資源目標(biāo)的觀點(diǎn)而言的。)然而,對(duì)于每個(gè)目標(biāo)的讀取和寫入實(shí)施單獨(dú)的總線會(huì)增加總線數(shù)目,并且從而增加用于網(wǎng)絡(luò)處理器芯片的已經(jīng)密集的信號(hào)布線需要。依據(jù)常規(guī)的方法,考慮到對(duì)16個(gè)共享資源的共享訪問需要16組獨(dú)立的總線,并且每一組總線包括總數(shù)為48條總線的讀取總線、寫入總線及命令總線。為了支持對(duì)于這種大量總線的布線,必須增加管芯尺寸;這直接與減小管芯尺寸和處理器成本的目標(biāo)相抵觸。
通過參考下面連同附圖進(jìn)行的詳細(xì)描述,本發(fā)明的前述方面和許多伴隨的優(yōu)點(diǎn)將變得更容易理解,其中在所有附圖中,除非另外指明,相同的附圖標(biāo)記都指代相同的部件圖1是根據(jù)本發(fā)明一個(gè)實(shí)施例的網(wǎng)絡(luò)處理器體系結(jié)構(gòu)的示意圖,其中各包括多個(gè)主控端(master)的多個(gè)集群(cluster)通過一個(gè)包括具有交叉開關(guān)(crossbar)結(jié)構(gòu)的多個(gè)總線的底板互聯(lián)連接到多個(gè)共享目標(biāo)資源(目標(biāo));圖2a是根據(jù)本發(fā)明的一個(gè)實(shí)施例說明北命令總線細(xì)節(jié)的示意圖;圖2b是根據(jù)本發(fā)明的一個(gè)實(shí)施例說明南命令總線細(xì)節(jié)的示意圖;圖3a是根據(jù)本發(fā)明的一個(gè)實(shí)施例說明北拉數(shù)據(jù)總線細(xì)節(jié)的示意圖;圖3b是根據(jù)本發(fā)明的一個(gè)實(shí)施例說明南拉數(shù)據(jù)總線細(xì)節(jié)的示意圖;圖4a是根據(jù)本發(fā)明的一個(gè)實(shí)施例說明北拉請(qǐng)求方標(biāo)識(shí)符(ID)總線細(xì)節(jié)的示意圖;圖4b是根據(jù)本發(fā)明的一個(gè)實(shí)施例說明南拉ID總線細(xì)節(jié)的示意圖;
圖5a是根據(jù)本發(fā)明的一個(gè)實(shí)施例說明北推數(shù)據(jù)總線細(xì)節(jié)的示意圖;圖5b是根據(jù)本發(fā)明的一個(gè)實(shí)施例說明南推數(shù)據(jù)總線細(xì)節(jié)的示意圖;圖6a是根據(jù)本發(fā)明的一個(gè)實(shí)施例說明北推ID總線細(xì)節(jié)的示意圖;圖6b是根據(jù)本發(fā)明的一個(gè)實(shí)施例說明南推ID總線細(xì)節(jié)的示意圖;圖7a是示出圖1的網(wǎng)絡(luò)處理器體系結(jié)構(gòu)的進(jìn)一步細(xì)節(jié)的示意圖,包括具有兩級(jí)仲裁的流水線推數(shù)據(jù)總線的細(xì)節(jié);圖7b是示出圖7a的網(wǎng)絡(luò)處理器體系結(jié)構(gòu)的進(jìn)一步細(xì)節(jié)的示意圖,包括具有兩級(jí)仲裁的流水線請(qǐng)求方標(biāo)識(shí)符(ID)總線的細(xì)節(jié);以及圖8是根據(jù)本發(fā)明的一個(gè)實(shí)施例的、包括實(shí)施圖1體系結(jié)構(gòu)的網(wǎng)絡(luò)處理器的網(wǎng)絡(luò)設(shè)備的示意圖。
具體實(shí)施例方式
這里描述了用于多線程、多重處理單片系統(tǒng)網(wǎng)絡(luò)處理器單元的可升級(jí)的、高性能互聯(lián)方案的實(shí)施例。在下面的描述中,大量特定細(xì)節(jié)被闡述來提供對(duì)本發(fā)明實(shí)施例的詳盡理解。然而,本領(lǐng)域技術(shù)人員將意識(shí)到,沒有其中一個(gè)或多個(gè)特定細(xì)節(jié)也能夠?qū)嵤┍景l(fā)明,或者用其它方法、元件、材料等等也能夠?qū)嵤┍景l(fā)明。在其它事例中,眾所周知的結(jié)構(gòu)、材料或操作并未示出或詳細(xì)描述,以避免模糊本發(fā)明的各方面。
遍及本說明書的“一個(gè)實(shí)施例”或“實(shí)施例”意味著連同該實(shí)施例描述的特定特征、結(jié)構(gòu)或特性被包括在本發(fā)明的至少一個(gè)實(shí)施例中。從而,遍及本說明書的短語“在一個(gè)實(shí)施例中”或“在實(shí)施例中”的出現(xiàn)并不一定都是指相同實(shí)施例。此外,所述特定的特征、結(jié)構(gòu)或特性可以在一個(gè)或多個(gè)實(shí)施例中以任意適當(dāng)方式組合。
根據(jù)這里所描述實(shí)施例的一個(gè)方面,基于交叉開關(guān)體系結(jié)構(gòu)的原理的可升級(jí)底板互聯(lián)基礎(chǔ)結(jié)構(gòu)被實(shí)施,以便能夠訪問大量共享資源而不需要針對(duì)每個(gè)共享資源的單獨(dú)總線組。所述底板支持兩類執(zhí)行方(agent)之間的事務(wù)主控端和目標(biāo)。在一個(gè)實(shí)施例中,主控端被組織成共享公共總線基礎(chǔ)結(jié)構(gòu)的組(“集群”)。該底板也包括一組包括從主控端往目標(biāo)移動(dòng)命令的命令總線的高性能總線,以及相應(yīng)的各組推、拉數(shù)據(jù)總線和請(qǐng)求方標(biāo)識(shí)符(ID)總線。
圖1示出實(shí)施前述底板互聯(lián)的一個(gè)實(shí)施例的網(wǎng)絡(luò)處理器體系結(jié)構(gòu)100。在該體系結(jié)構(gòu)的中心為四個(gè)處理元件集群102A、102B、102C和102D。(為了方便起見,集群在這里的圖中被標(biāo)記為[A]、[B]、[C]和[D],以便更容易地識(shí)別集群和具有對(duì)應(yīng)附圖標(biāo)記的各種總線元件之間的關(guān)系,所述附圖標(biāo)記包括具有A、B、C或D的其中一個(gè)值的后綴。)在所說明的實(shí)施例中,每個(gè)處理元件集群102A-D包括六個(gè)包處理器微引擎(ME)104。在其它實(shí)施例中,每個(gè)處理元件集群可以包括不同數(shù)量的微引擎,例如(但不限于)四個(gè)或八個(gè)微引擎。通常,每個(gè)微引擎包括一個(gè)RISC(精簡指令集計(jì)算機(jī))處理核心,而網(wǎng)絡(luò)處理器體系結(jié)構(gòu)100包括在公共管芯上的多個(gè)處理核心。
圖1的實(shí)施例示出通常定位在網(wǎng)絡(luò)處理器體系結(jié)構(gòu)100外圍的多種典型的共享資源目標(biāo)。依次,共享資源在第一級(jí)別上被分組到定位在圖1的頂端和底端的總線組。所示出的圖1頂端的目標(biāo)(其稱為“北”目標(biāo))包括通信量管理器(TM)108,通用處理器(GP-Proc)110,狹窄隨機(jī)存取存儲(chǔ)器(NRAM)控制通道112、114、116和118,PCI(外圍部件互聯(lián))接口120,以及PCI快速接口122。通常,NRAM控制通道所表示的控制通道提供對(duì)包括狹窄RAM裝置的多種類型存儲(chǔ)器庫的存取控制,所述狹窄RAM裝置例如是(但是并不僅限于)SRAM、存儲(chǔ)器總線DRAM(RDRAM)、四倍數(shù)據(jù)速率(QDR)RAM等等。所示出的圖1底端的目標(biāo)(其稱為“南”目標(biāo))包括第一密碼(Crypto0)單元124、第一媒體交換結(jié)構(gòu)(MSF0)接口126、DRAM控制通道128和130、散列單元132、DRAM控制通道134、第二媒體交換結(jié)構(gòu)(MSF1)接口136和第二密碼(Crypto1)單元138。
通常來說,體系結(jié)構(gòu)100代表邏輯體系結(jié)構(gòu),其中各種元件的物理位置不同于這里圖中所示的位置。然而,在一個(gè)實(shí)施例中,物理裝置上的目標(biāo)和主控端的通常位置與圖1和8中所示的位置相似,其中目標(biāo)通常被定位在裝置的外圍,而主控端被配置在裝置中心。
體系結(jié)構(gòu)100包括連接集群102A-D到各種共享資源目標(biāo)的兩組總線。在一個(gè)實(shí)施例中,每組總線包括命令總線和兩組數(shù)據(jù)總線,即用于讀取數(shù)據(jù)的推總線,以及用于寫入數(shù)據(jù)的拉總線。從而,每個(gè)集群具有兩條獨(dú)立的命令總線和兩組數(shù)據(jù)總線。此外,在一個(gè)實(shí)施例中,各組總線進(jìn)一步包括用于輔助到/從主控端和目標(biāo)的傳輸傳輸?shù)南嚓P(guān)標(biāo)記總線(ID總線)。
定位在體系結(jié)構(gòu)100的頂端的北目標(biāo)所使用的總線包括北命令總線140、北拉數(shù)據(jù)總線142、北拉ID總線144、北推數(shù)據(jù)總線146和北推ID總線148。定位在體系結(jié)構(gòu)100的底端的南目標(biāo)所使用的總線包括包括南命令總線150、南拉數(shù)據(jù)總線152、南拉ID總線154、南推數(shù)據(jù)總線156和南推ID總線158。
圖2A根據(jù)一個(gè)實(shí)施例示出北命令總線140的細(xì)節(jié)。北命令總線使用交叉開關(guān)結(jié)構(gòu),其中每個(gè)目標(biāo)通過對(duì)應(yīng)的多路復(fù)用器(也通常稱為“mux”)連接到多組總線上。這支持在每個(gè)目標(biāo)和每個(gè)集群之間的選擇性連接,基于通過控制多個(gè)多路復(fù)用器的配置所提供的布線可以對(duì)此進(jìn)行配置。
北命令總線140電路包括一組水平總線線路200,該水平總線線路組200包括總線線路200A、200B、200C和200D??梢岳斫?,每條總線線路表示對(duì)應(yīng)于各自總線的一組信號(hào)線,而不是單個(gè)信號(hào)。每條總線的寬度取決于網(wǎng)絡(luò)處理器實(shí)現(xiàn)方式的特別的需要。各組交叉開關(guān)總線(描述為總線線路)通過對(duì)應(yīng)的命令多路復(fù)用器耦合在水平總線線路組200和對(duì)應(yīng)的目標(biāo)之間。所述交叉開關(guān)總線包括交叉開關(guān)總線210、212、214、216、218和220,同時(shí)所述多路復(fù)用器包括命令(CMD)多路復(fù)用器222、224、226、228、230和232。此外,命令多路復(fù)用器234和236連接在水平總線線路組200的相對(duì)端上。
在一個(gè)實(shí)施例中,總線線路組中的總線(描述為總線線路)的數(shù)量等于該體系結(jié)構(gòu)中的集群數(shù)量。例如,在這里說明的圖中,網(wǎng)絡(luò)處理器體系結(jié)構(gòu)包括四個(gè)集群。從而,對(duì)于每條總線線路組描述的總線線路的數(shù)量為四個(gè),表明具有四組總線。在其它實(shí)施例中(未示出),網(wǎng)絡(luò)處理器體系結(jié)構(gòu)可以包括其它數(shù)量的集群,例如六個(gè)。在這種情況中,每個(gè)總線線路組將包括描述六組總線的六條總線線路。通常來說,交叉開關(guān)總線中的總線線路數(shù)量(因此是總線數(shù)量)等于其耦合的水平總線中的總線線路的數(shù)量。
北命令總線140的交叉開關(guān)總線體系結(jié)構(gòu)支持兩級(jí)仲裁方案。所述仲裁方案用于選擇性地將給定的主控端連接到所指定的目標(biāo),以使得能夠從主控端發(fā)送命令到該目標(biāo)。第一級(jí)用于從給定的集群中選擇主控端,而第二級(jí)用于從全部北目標(biāo)中選擇指定的目標(biāo)。對(duì)于每個(gè)集群102A、102B、102C和102D的第一仲裁級(jí)(這里也稱為集群內(nèi)仲裁)的結(jié)果被描述為對(duì)應(yīng)的OR門240A、240B、240C和240D。OR門表示被用來表明如果給定集群的任何主控端啟動(dòng)一個(gè)目標(biāo)事務(wù)請(qǐng)求,則啟動(dòng)針對(duì)該整個(gè)集群的請(qǐng)求仲裁處理。每個(gè)集群的北目標(biāo)命令輸出級(jí)通過對(duì)應(yīng)的交叉開關(guān)總線連接到總線線路組200中的相應(yīng)的總線線路。這些交叉開關(guān)總線包括交叉開關(guān)總線242A、242B、242C和242D。
在所例示的實(shí)施例中,利用流水線方案在給定集群中的主控端之間轉(zhuǎn)發(fā)事務(wù)請(qǐng)求。該流水線設(shè)計(jì)利用多線程方法,所述多線程方法被用來執(zhí)行由現(xiàn)代網(wǎng)絡(luò)處理器使用的包處理。因此,目標(biāo)事務(wù)請(qǐng)求被從一個(gè)主控端傳遞到流水線中的下一個(gè)主控端,直到其達(dá)到集群的輸出級(jí)。一旦贏得輸出級(jí)處的內(nèi)部仲裁和集群仲裁(也就是從多個(gè)集群發(fā)出的并發(fā)請(qǐng)求之間的仲裁),則在對(duì)應(yīng)于該集群的水平總線線路上設(shè)置命令。
圖2a中說明的另一個(gè)概念為一個(gè)目標(biāo)既作為目標(biāo)又作為主控端的能力。例如,每個(gè)通用處理器110、通信量管理器108、PCI接口120和PCI快速接口122可以既作為目標(biāo)又作為主控端。附加的流水線級(jí)被使用來通過集群102A路由來自通用處理器110或通信量管理器108的其中一個(gè)的目標(biāo)事務(wù)請(qǐng)求,以及通過集群102B路由來自PCI接口120或PCI快速接口122的其中一個(gè)的目標(biāo)事務(wù)請(qǐng)求,如圖2a所說明的那樣。
如圖2b中所說明的那樣,根據(jù)一個(gè)實(shí)施例,用于南命令總線150的總線體系結(jié)構(gòu)類似于圖2a所示的用于北命令總線140的體系結(jié)構(gòu)。該總線體系結(jié)構(gòu)包括水平總線線路組250,該水平總線線路組250包括總線線路250A、250B、250C和250D。如同北命令總線體系結(jié)構(gòu)一樣,各個(gè)交叉開關(guān)總線線路組通過對(duì)應(yīng)的命令多路復(fù)用器而被設(shè)置在水平總線線路組150和多個(gè)南目標(biāo)之間。其中包括交叉開關(guān)總線線路組260、262、264、266、268和270,以及命令多路復(fù)用器272、274、276、278、280和282。此外,命令多路復(fù)用器284和286連接在總線線路組250的各端,以便將第一和第二密碼單元124和138耦合到該總線線路組。
如上所述,北和南命令總線體系結(jié)構(gòu)使得任一主控端能訪問任何目標(biāo),不管該目標(biāo)是北目標(biāo)或南目標(biāo)。此外,這擴(kuò)展到也可以作為目標(biāo)的主控端,即使該主控端/目標(biāo)與將要通過相應(yīng)命令被訪問的目標(biāo)位于不同的北或南區(qū)域中,其中該相應(yīng)命令通過組合的北和南命令總線體系結(jié)構(gòu)而被路由到該目標(biāo)。例如,作為北目標(biāo)和主控端的部件可以訪問南目標(biāo)。
在一個(gè)實(shí)施例中,為北和南目標(biāo)組中的每一個(gè)執(zhí)行針對(duì)由作為給定集群的成員的主控端(或由與該集群相關(guān)的外部主控端/目標(biāo)部件)發(fā)出的命令的對(duì)應(yīng)的集群內(nèi)仲裁操作。由圖2b中的OR門241A、241B、241C和241D描述對(duì)于南目標(biāo)命令的集群內(nèi)仲裁的結(jié)果。同時(shí),每個(gè)集群的南目標(biāo)命令輸出級(jí)通過對(duì)應(yīng)的交叉開關(guān)總線連接到總線線路組250中的相應(yīng)總線線路。其中包括交叉開關(guān)總線243A、243B、243C和243D。從而,在一個(gè)實(shí)施例中,可以以并發(fā)方式將對(duì)應(yīng)的命令從北和南目標(biāo)組中發(fā)送到指定的目標(biāo)。
根據(jù)一個(gè)實(shí)施例,圖3a說明北拉數(shù)據(jù)總線142的細(xì)節(jié)。如同命令總線一樣,北拉數(shù)據(jù)總線采用包括水平總線線路組300的交叉開關(guān)結(jié)構(gòu),該水平總線線路組300包括總線線路300A、300B、300C和300D。與之前一樣,每個(gè)集群102A、102B、102C和102D可以針對(duì)北和南拉數(shù)據(jù)總線當(dāng)中的每一個(gè)產(chǎn)生一個(gè)集群內(nèi)仲裁獲勝者。從而,北拉數(shù)據(jù)總線142包括分別連接到交叉開關(guān)總線線路342A、342B、342C和342D的OR門340A、340B、340C和340D。
在這種高性能互聯(lián)方案中的一個(gè)關(guān)鍵難題是在總線上獲得高利用率和有限的平均等待時(shí)間,從而使得在互聯(lián)上交付的帶寬非常接近地追蹤為該互聯(lián)規(guī)定的峰值帶寬。如上所述,由于管芯尺寸的限制,目標(biāo)的數(shù)量典型地超出可利用的芯片內(nèi)數(shù)據(jù)布線總線的數(shù)量。根據(jù)一個(gè)實(shí)施例,通過將多個(gè)目標(biāo)分組為共享一個(gè)公共數(shù)據(jù)總線軌道的各子組來解決該問題。
因此,在圖3a說明的實(shí)施例中,多個(gè)北目標(biāo)進(jìn)一步地被分組為目標(biāo)子組302(子組
)、304(子組[1])、306(子組[2])和308(子組[3])。(剩余圖中的每個(gè)子組也被指定一個(gè)從
到[N-1]的邏輯值,其中N等于集群的數(shù)目)。在一個(gè)實(shí)施例,每個(gè)子組包括具有相似訪問特性的目標(biāo)。依次,每個(gè)子組304和306通過對(duì)應(yīng)的子組數(shù)據(jù)多路復(fù)用器和交叉開關(guān)總線線路組連接到水平總線線路組200。這些部件包括子組數(shù)據(jù)多路復(fù)用器304和306,以及交叉開關(guān)總線線路組320和322。同時(shí),子組302和308通過子組數(shù)據(jù)多路復(fù)用器310和316連接到水平總線線路組300。
如圖3b中所說明的那樣,南拉數(shù)據(jù)總線152的一個(gè)實(shí)施例采用與上述北拉數(shù)據(jù)總線類似的目標(biāo)再分組方式。在所說明的實(shí)施例中,南目標(biāo)子組包括子組352、354、356和358。用于南拉數(shù)據(jù)總線152的拉數(shù)據(jù)總線結(jié)構(gòu)也與北拉數(shù)據(jù)總線類似,其采用包括總線線路350A、350B、350C和350D的水平總線線路組350。這些總線線路通過對(duì)應(yīng)的交叉開關(guān)總線線路組370、372、374和376連接到子組數(shù)據(jù)多路復(fù)用器360、362、364和366。
在一個(gè)實(shí)施例中,為每個(gè)北和南目標(biāo)組執(zhí)行與作為給定集群的成員的主控端(或與該集群相關(guān)的外部主控端/目標(biāo)組件)的拉數(shù)據(jù)事務(wù)相對(duì)應(yīng)的集群內(nèi)仲裁操作。用于南目標(biāo)拉數(shù)據(jù)總線的集群內(nèi)仲裁的結(jié)果由圖3b中的OR門341A、341B、341C和341D所描述。同時(shí),每個(gè)集群的南拉數(shù)據(jù)總線輸出級(jí)通過對(duì)應(yīng)的交叉開關(guān)總線連接到總線線路組350中的相應(yīng)總線線路。其中包括交叉開關(guān)總線343A、343B、343C和343D。從而,在一個(gè)實(shí)施例中,可以以并發(fā)方式執(zhí)行從主控端將數(shù)據(jù)傳輸?shù)奖焙湍夏繕?biāo)組當(dāng)中的所指定的目標(biāo)的對(duì)應(yīng)的拉數(shù)據(jù)事務(wù)。
在另一個(gè)實(shí)施例中,北拉數(shù)據(jù)總線具有與北命令總線類似的結(jié)構(gòu),同時(shí)南拉數(shù)據(jù)總線具有與南命令總線類似的結(jié)構(gòu)(都未示出)。在這些實(shí)施例中,北和南目標(biāo)組不被進(jìn)一步分組為各子組。
圖4a和4b分別示出北和南拉ID總線144和154的示例性實(shí)施例。在所說明的實(shí)施例中,各個(gè)目標(biāo)以與上述北和南拉數(shù)據(jù)總線類似的方式進(jìn)一步地被分組為各子組。通常來說,用于拉數(shù)據(jù)和ID總線組的再分組應(yīng)當(dāng)匹配,盡管這不是嚴(yán)格需要的。北和南拉ID總線的通常結(jié)構(gòu)同樣地與上面給出的類似,其中多個(gè)交叉開關(guān)總線連接到一組水平總線線路。特別地,圖4a所示的北拉ID總線144的實(shí)施例采用一個(gè)包括總線線路4000、4001、4002和4003的水平總線線路組400,同時(shí)圖4b所示的南拉ID總線154的實(shí)施例采用一個(gè)包括總線線路4500、4501、4502和4503的水平總線線路組450。
北和南拉ID總線當(dāng)中的每一個(gè)使用兩級(jí)仲裁方案,包括子組仲裁級(jí)和集群仲裁級(jí)。子組仲裁級(jí)被用來確定允許該組的哪個(gè)成員訪問拉ID總線。集群仲裁級(jí)被用來確定允許哪個(gè)獲勝的子組訪問集群,其中所述事務(wù)的主控端一半屬于該集群。
連同第一級(jí)仲裁操作,給每個(gè)子組提供各自的子組ID多路復(fù)用器。其中包括用于北目標(biāo)子組的子組ID多路復(fù)用器4020、4021、4022和4023,和用于南目標(biāo)子組的子組ID多路復(fù)用器4520、4521、4523。連同第二級(jí)仲裁操作,提供對(duì)應(yīng)的子組選擇ID多路復(fù)用器來將獲勝的子組連接到相應(yīng)的集群。其中包括用于北目標(biāo)子組的子組選擇ID多路復(fù)用器410A、410B、410C和410D,和用于南目標(biāo)子組的子組選擇ID多路復(fù)用器460A、460B、460C和460D。
每個(gè)水平總線線路通過對(duì)應(yīng)的交叉開關(guān)總線線路組連接到每個(gè)子組選擇ID多路復(fù)用器。其中包括用于水平總線線路組400的交叉開關(guān)總線線路組412A、412B、412C和412D(圖4a)以及用于水平總線線路組450的交叉開關(guān)總線線路組462A、462B、462C和462D(圖4b)。
圖5a和5b示出北和南推數(shù)據(jù)總線146和156的優(yōu)選實(shí)施例。在所說明的實(shí)施例中,各個(gè)目標(biāo)以與上述北和南拉數(shù)據(jù)和ID總線類似的方式進(jìn)一步地被分類為各子組。北和南推數(shù)據(jù)總線的通常結(jié)構(gòu)與上面給出的類似,其中多個(gè)交叉開關(guān)總線連接到一組水平總線線路。特別地,圖5a中所示的北推數(shù)據(jù)總線146的實(shí)施例采用一個(gè)包括總線線路5000、5001、5002和5003的水平總線線路組500,同時(shí)圖5b所示的南推數(shù)據(jù)總線156的實(shí)施例采用一個(gè)包括總線線路5500、5501、5502和5503的水平總線線路組550。
北和南推數(shù)據(jù)總線當(dāng)中的每一個(gè)使用兩級(jí)仲裁方案,包括子組仲裁級(jí)和集群仲裁級(jí)。子組仲裁級(jí)被用來確定允許該組的哪個(gè)成員訪問推數(shù)據(jù)總線。集群仲裁級(jí)被用來確定允許哪個(gè)獲勝的子組訪問集群,其中所述事務(wù)的主控端一半屬于該集群。
連同第一級(jí)仲裁操作,給每個(gè)子組提供對(duì)應(yīng)的子組數(shù)據(jù)多路復(fù)用器。其中包括用于北目標(biāo)子組的子組數(shù)據(jù)多路復(fù)用器5020、5021、5022和5023,和用于南目標(biāo)子組的子組數(shù)據(jù)多路復(fù)用器5520、5521和5523。連同第二級(jí)仲裁操作,提供對(duì)應(yīng)的子組選擇數(shù)據(jù)多路復(fù)用器來將獲勝的子組連接到相應(yīng)的集群。其中包括用于北目標(biāo)子組的子組選擇數(shù)據(jù)多路復(fù)用器510A、510B、510C和510D,和用于南目標(biāo)子組的子組選擇數(shù)據(jù)多路復(fù)用器560A、560B、560C和560D。
每個(gè)水平總線線路通過對(duì)應(yīng)的交叉開關(guān)總線線路組連接到每個(gè)子組選擇數(shù)據(jù)多路復(fù)用器。其中包括用于水平總線線路組500的交叉開關(guān)總線線路組512A、512B、512C和512D(圖5a)以及用于水平總線線路組550的交叉開關(guān)總線線路組562A、562B、562C和562D(圖5b)。
圖6a和6b分別示出北和南推ID總線148和158的示例性實(shí)施例。在所說明的實(shí)施例中,各個(gè)目標(biāo)以與上述北和南推數(shù)據(jù)總線類似的方式進(jìn)一步地被分組為各子組。通常來說,用于推數(shù)據(jù)和ID總線組的再分組應(yīng)當(dāng)匹配,盡管這不是嚴(yán)格需要的。和之前一樣,北和南推ID總線的通常結(jié)構(gòu)使用連接到一組水平總線線路的多個(gè)交叉開關(guān)總線。特別地,圖6a所示的北推ID總線148的實(shí)施例采用一個(gè)包括總線線路6000、6001、6002和6003的水平總線線路組600,同時(shí)圖6b所示的南推ID總線158的實(shí)施例采用一個(gè)包括總線線路6500、6501、6502和6503的水平總線線路組650。
北和南推ID總線中的每一個(gè)使用兩級(jí)仲裁方案,包括子組仲裁級(jí)和集群仲裁級(jí)。子組仲裁級(jí)被用來確定允許該組的哪個(gè)成員訪問推ID總線。集群仲裁級(jí)被用來確定允許哪個(gè)獲勝的子組訪問集群,其中所述事務(wù)的主控端一半屬于該集群。
連同第一級(jí)仲裁操作,給每個(gè)子組提供對(duì)應(yīng)的子組ID多路復(fù)用器。其中包括用于北目標(biāo)子組的子組ID多路復(fù)用器6020、6021、6022和6023,和用于南目標(biāo)子組的子組ID多路復(fù)用器6520、6521和6523。連同第二級(jí)仲裁操作,提供對(duì)應(yīng)的子組選擇ID多路復(fù)用器來將獲勝的子組連接到相應(yīng)的集群。其中包括用于北目標(biāo)子組的子組選擇ID多路復(fù)用器610A、610B、610C和610D,和用于南目標(biāo)子組的子組選擇ID多路復(fù)用器660A、660B、660C和660D。
每個(gè)水平總線線路通過對(duì)應(yīng)的交叉開關(guān)總線線路組連接到每個(gè)子組選擇ID多路復(fù)用器。其中包括用于水平總線線路組600的交叉開關(guān)總線線路組612A、612B、612C和612D(圖6a)以及用于水平總線線路組650的交叉開關(guān)總線線路組662A、662B、662C和662D(圖6b)。
在包處理操作期間,由多個(gè)主控端對(duì)多個(gè)目標(biāo)發(fā)出多個(gè)事務(wù)請(qǐng)求。對(duì)于下面的舉例,考慮讀取事務(wù)請(qǐng)求和對(duì)已準(zhǔn)許請(qǐng)求的后續(xù)處理。支持對(duì)讀取事務(wù)請(qǐng)求的仲裁的仲裁操作在這里被稱為“推”仲裁,并且所述請(qǐng)求被稱為“推數(shù)據(jù)”(目標(biāo)讀取)事務(wù)請(qǐng)求。下面描述的支持推數(shù)據(jù)事務(wù)的操作通常說明類似的“拉數(shù)據(jù)”(目標(biāo)寫入)事務(wù),除了如上述和這里所示出的那樣、拉數(shù)據(jù)和拉ID總線具有不同結(jié)構(gòu)之外。
在一些實(shí)施例的一個(gè)方面,總線爭用問題是利用兩級(jí)仲裁方案來解決的,其中包括子組之間的第一級(jí)仲裁和處理器元件集群之間的第二級(jí)仲裁。例如,對(duì)于北推數(shù)據(jù)和ID總線所使用的典型兩級(jí)仲裁方案的實(shí)施例的細(xì)節(jié)在圖7a和7b中示出。類似的仲裁方案可以用于南推數(shù)據(jù)和ID總線,也可以用于北和南拉數(shù)據(jù)和ID總線。
圖7a的北推數(shù)據(jù)總線仲裁方案采用對(duì)應(yīng)的第一級(jí)(子組)仲裁器700(對(duì)于子組302(子組
)標(biāo)注為SG0,對(duì)于子組304(子組[1])標(biāo)注為SG1,對(duì)于子組306(子組[2])標(biāo)注為SG2,以及對(duì)于子組308(子組[3])標(biāo)注為SG3),該第一級(jí)(子組)仲裁器700用來控制子組選擇數(shù)據(jù)多路復(fù)用器5021-4的操作。類似地,對(duì)應(yīng)的第二級(jí)(集群)仲裁器702(對(duì)于集群102A(集群[A])標(biāo)注為C0,對(duì)于集群102B(集群[B])標(biāo)注為C1,對(duì)于集群102C(集群[C])標(biāo)注為C2,以及對(duì)于集群102D(集群[D])標(biāo)注為C3)被用來控制子組選擇數(shù)據(jù)多路復(fù)用器510A-D的操作。
圖7b示出了網(wǎng)絡(luò)處理器體系結(jié)構(gòu)100的一個(gè)實(shí)施例的推ID總線基礎(chǔ)結(jié)構(gòu)的另外的細(xì)節(jié)。如同推數(shù)據(jù)總線一樣,對(duì)應(yīng)的第一級(jí)(子組)仲裁器700(例如,SG0、SG1、SG2和SG3)被用來控制子組選擇ID多路復(fù)用器6021-4的操作。類似地,對(duì)應(yīng)的第二級(jí)(集群)仲裁器702(例如,C0、C1、C2和C3)被用來控制子組選擇ID多路復(fù)用器610A-D的操作。
可以在例如(但并不僅限于)交換機(jī)、線路卡、路由器等等的多種網(wǎng)絡(luò)設(shè)備中實(shí)現(xiàn)網(wǎng)絡(luò)處理器,該網(wǎng)絡(luò)處理器實(shí)施圖1的體系結(jié)構(gòu)100并包括對(duì)上面討論的兩級(jí)仲裁操作的支持。圖8示出包括實(shí)施網(wǎng)絡(luò)處理器體系結(jié)構(gòu)100的網(wǎng)絡(luò)處理器802的網(wǎng)絡(luò)設(shè)備800的典型體系結(jié)構(gòu)。(需要注意的是,圖8僅示出對(duì)應(yīng)于北推數(shù)據(jù)總線146和南推數(shù)據(jù)總線148的總線元件,可以理解,網(wǎng)絡(luò)處理器802進(jìn)一步包括用于網(wǎng)絡(luò)處理器體系結(jié)構(gòu)100的上面討論的其它總線)。通常來說,圖1和8中相同編號(hào)的部件執(zhí)行類似的功能。另外,網(wǎng)絡(luò)處理器802包括SRAM控制通道812和814、RDRAM控制通道816和818以及耦合到散列單元132的并且是子組356A的成員的私人密鑰加密(PKE)部件133。
在圖8所說明的實(shí)施例中,微引擎104被分組為兩個(gè)微引擎一組的多個(gè)組,所述兩個(gè)微引擎共享一組公共局部資源106。局部資源可以典型地包括特定于微引擎(或在這種情況下是一對(duì)微引擎)的資源,例如局部存儲(chǔ)器、指令高速緩沖存儲(chǔ)器、寄存器等。在其它實(shí)施例中,微引擎可以被配置來在具有多于兩個(gè)成員的各組中共享局部資源,或者可以被配置成各具有其自身的局部資源組。
如上所述,網(wǎng)絡(luò)處理器體系結(jié)構(gòu)100的交叉開關(guān)底板的結(jié)構(gòu)使得多個(gè)主控端(例如微引擎104)能夠通過相應(yīng)的事務(wù)請(qǐng)求來訪問多個(gè)目標(biāo)。在某些實(shí)施例中,由“有效”目標(biāo)所支持的某些實(shí)際數(shù)據(jù)或操作在網(wǎng)絡(luò)處理器芯片上被提供,同時(shí)在芯片外提供其它的實(shí)際數(shù)據(jù)或操作。例如,雖然NRAM控制通道可以包括目標(biāo)(出于前面討論的目的),但是所述有效的目標(biāo)為實(shí)際的NRAM庫,該NRAM庫通過NRAM控制通道而被存取(因?yàn)榭刂仆ǖ雷陨聿淮鎯?chǔ)任何數(shù)據(jù))。
在圖8所示的典型結(jié)構(gòu)中,所述芯片上“有效”目標(biāo)包括通信量管理器108、通用處理器110、密碼單元124和138、散列單元132和公共密鑰加密單元133。同時(shí),各種芯片外有效目標(biāo)包括外部SRAM庫812A和814A、外部RDRAM庫816A和818A、一個(gè)或多個(gè)PCI快速裝置(例如擴(kuò)展卡)804、以及外部DRAM庫828、830和834。每個(gè)芯片外存儲(chǔ)器庫通過各自的接口連接到其各自的控制通道。其中包括SRAM接口812B和814B、RDRAM接口816B和818B、DRAM接口828B、830B和834B以及PCI快速接口822。
網(wǎng)絡(luò)設(shè)備被用來執(zhí)行包處理操作。在包處理期間執(zhí)行的其中一個(gè)主要功能是確定將要把所述包轉(zhuǎn)發(fā)到的下一跳躍。比如交換機(jī)的典型的網(wǎng)絡(luò)設(shè)備包括多個(gè)輸入和輸出端口。更確切地說,交換機(jī)包括多個(gè)輸入/輸出(I/O)端口,其中每一個(gè)可以在轉(zhuǎn)發(fā)給定包的情境中充當(dāng)輸入或輸出端口。在給定的I/O端口上(起輸入端口的作用)接收進(jìn)入的包,處理該包,并且將該包通過適當(dāng)?shù)腎/O端口(起輸出端口的作用)轉(zhuǎn)發(fā)到其下一跳躍。該交換機(jī)包括稱為媒體交換結(jié)構(gòu)的多個(gè)交叉連接。該交換結(jié)構(gòu)將每個(gè)I/O端口連接到其它I/O端口。從而,交換機(jī)能夠?qū)⒃诮o定的I/O端口上所接收的包路由到與該交換機(jī)的其它I/O端口相耦合的任何下一跳躍。
圖8的典型網(wǎng)絡(luò)設(shè)備包括兩組媒體交換結(jié)構(gòu)806和808。在一個(gè)實(shí)施例中,媒體交換結(jié)構(gòu)806通過一個(gè)系統(tǒng)包接口級(jí)4(SPI4)接口807連接到第一媒體交換結(jié)構(gòu)接口126,同時(shí)媒體交換結(jié)構(gòu)808通過一個(gè)SPI4接口809連接到第二媒體交換結(jié)構(gòu)接口140。
通常來說,可以利用使用半導(dǎo)體制造技術(shù)的已編程邏輯實(shí)施前述實(shí)施例的各方面。另外,可在機(jī)器可讀介質(zhì)中實(shí)施本說明書的各實(shí)施例。例如,上述的設(shè)計(jì)可以被存儲(chǔ)在與用來設(shè)計(jì)半導(dǎo)體器件的設(shè)計(jì)工具相關(guān)聯(lián)的機(jī)器可讀介質(zhì)上或者可以被嵌入其中。實(shí)例包括以VHSIC硬件描述語言(VHDL)語言、Verilog語言或SPICE語言格式化的網(wǎng)表。一些網(wǎng)表實(shí)例包括行為級(jí)網(wǎng)表、寄存器傳送級(jí)(RTL)網(wǎng)表、門級(jí)網(wǎng)表和晶體管級(jí)網(wǎng)表。機(jī)器可讀介質(zhì)還包括具有如GDS-II文件的布局信息的介質(zhì)。此外,網(wǎng)表文件或用于半導(dǎo)體芯片設(shè)計(jì)的其它機(jī)器可讀介質(zhì)可用于仿真環(huán)境中以執(zhí)行上述教導(dǎo)的方法。
對(duì)于本發(fā)明所說明的實(shí)施例的上面描述(包括在摘要中的描述)并不打算窮舉或?qū)⒈景l(fā)明限制到所公開的精確形式。同時(shí),這里所描述的本發(fā)明的特定實(shí)施例和實(shí)例是用于說明目的,本領(lǐng)域的技術(shù)人員可以意識(shí)到,在本發(fā)明的范圍中多種等價(jià)的變型都是可能的。
根據(jù)上面的詳細(xì)描述,本發(fā)明可以存在多種修改。在所附權(quán)利要求書中使用的術(shù)語不應(yīng)被解釋為將本發(fā)明限制到說明書和附圖中所公開的特定實(shí)施例。相反,本發(fā)明的范圍完全通過所附權(quán)利要求書限定,應(yīng)當(dāng)根據(jù)權(quán)利要求解釋的既定原則來分析所附權(quán)利要求書。
權(quán)利要求
1.一種設(shè)備,包括多個(gè)主控端,其被配置在多個(gè)集群中;多個(gè)目標(biāo),每個(gè)目標(biāo)包括一個(gè)可由多個(gè)主控端訪問的可共享資源;一個(gè)互聯(lián),其包括連接在所述多個(gè)集群和所述多個(gè)目標(biāo)之間的、形成交叉開關(guān)互聯(lián)的多組總線線路,所述各組總線線路對(duì)應(yīng)于命令總線、用于目標(biāo)寫入的拉數(shù)據(jù)總線和用于目標(biāo)讀取的推數(shù)據(jù)總線;以及用于每個(gè)命令總線、拉數(shù)據(jù)總線和推數(shù)據(jù)總線的多路復(fù)用器電路,其選擇性地將給定的集群連接到給定的目標(biāo),從而使得能夠在給定的集群和給定的目標(biāo)之間傳遞命令和數(shù)據(jù)。
2.如權(quán)利要求1的設(shè)備,進(jìn)一步包括拉數(shù)據(jù)請(qǐng)求標(biāo)識(shí)(ID)總線,包括連接在多個(gè)集群和多個(gè)目標(biāo)之間的、形成交叉開關(guān)互聯(lián)的多組總線線路。
3.如權(quán)利要求1的設(shè)備,進(jìn)一步包括推數(shù)據(jù)請(qǐng)求標(biāo)識(shí)(ID)總線,包括連接在多個(gè)集群和多個(gè)目標(biāo)之間的、形成交叉開關(guān)互聯(lián)的多組總線線路。
4.如權(quán)利要求1的設(shè)備,其中所述目標(biāo)的第一部分與對(duì)應(yīng)于命令總線、拉數(shù)據(jù)總線和推數(shù)據(jù)總線的第一事例的第一多組總線線路相關(guān)聯(lián),以及其中所述目標(biāo)的第二部分與對(duì)應(yīng)于命令總線、拉數(shù)據(jù)總線和推數(shù)據(jù)總線的第二事例的第二多組總線線路相關(guān)聯(lián)。
5.如權(quán)利要求1的設(shè)備,其中所述設(shè)備包括一個(gè)處理器,并且所述多個(gè)主控端包括多個(gè)處理器核心元件。
6.如權(quán)利要求1的設(shè)備,進(jìn)一步包括能夠使目標(biāo)選擇性地作為目標(biāo)和主控端來操作的總線電路。
7.如權(quán)利要求6的設(shè)備,進(jìn)一步包括一個(gè)通用處理器,該通用處理器可以選擇性地作為目標(biāo)和主控端來操作。
8.如權(quán)利要求6的設(shè)備,進(jìn)一步包括一個(gè)通信量管理器,該通信量管理器可以選擇性地作為目標(biāo)和主控端來操作。
9.如權(quán)利要求6的設(shè)備,進(jìn)一步包括外圍部件互聯(lián)(PCI)接口和PCI快速接口的其中一個(gè),其可以選擇性地作為目標(biāo)和主控端來操作。
10.如權(quán)利要求1的設(shè)備,其中所選擇的目標(biāo)被分組為各子組,每個(gè)子組包括用于每個(gè)推數(shù)據(jù)總線和拉數(shù)據(jù)總線的各自的子組多路復(fù)用器,所述子組多路復(fù)用器能夠?qū)⒃撟咏M中的目標(biāo)通過所述互聯(lián)選擇性地連接到所述多個(gè)集群。
11.如權(quán)利要求1的設(shè)備,其中所述目標(biāo)的其中一個(gè)包括媒體交換結(jié)構(gòu)接口。
12.如權(quán)利要求1的設(shè)備,其中所述目標(biāo)的其中一個(gè)包括存儲(chǔ)器控制器。
13.如權(quán)利要求1的設(shè)備,其中所述設(shè)備包括一個(gè)集成電路(IC)芯片,并且其中多個(gè)目標(biāo)被設(shè)置為接近該IC芯片的外圍,同時(shí)主控端的多個(gè)集群被設(shè)置為接近該IC芯片的中心部分。
14.如權(quán)利要求1的設(shè)備,進(jìn)一步包括用于每個(gè)集群的至少一個(gè)流水線總線,通過該流水線總線可以在一個(gè)集群中的各主控端之間傳輸數(shù)據(jù)。
15.一種設(shè)備,包括多個(gè)主控端,其被配置在多個(gè)集群中;多個(gè)目標(biāo),每個(gè)目標(biāo)包括一個(gè)可由所述多個(gè)主控端訪問的可共享資源;一個(gè)互聯(lián)裝置,包括連接在所述多個(gè)集群和所述多個(gè)目標(biāo)之間的、形成交叉開關(guān)互聯(lián)的多組總線線路,所述各組總線線路對(duì)應(yīng)于命令總線、用于目標(biāo)寫入的拉數(shù)據(jù)總線和用于目標(biāo)讀取的推數(shù)據(jù)總線;以及用于每個(gè)命令總線、拉數(shù)據(jù)總線和推數(shù)據(jù)總線的多路復(fù)用器裝置,其選擇性地將給定的集群連接到給定的目標(biāo),以便能夠在給定的集群和給定的目標(biāo)之間傳遞命令和數(shù)據(jù);總線仲裁裝置,用于對(duì)每個(gè)命令總線、拉數(shù)據(jù)總線和推數(shù)據(jù)總線進(jìn)行仲裁,其被耦合來控制該多路復(fù)用器裝置。
16.如權(quán)利要求15的設(shè)備,其中所述互聯(lián)裝置包括第一部分和第二部分,并且其中所述多個(gè)目標(biāo)被劃分為第一和第二組目標(biāo),第一組目標(biāo)通過該互聯(lián)裝置的第一部分連接到所述多個(gè)集群,第二組目標(biāo)通過該互聯(lián)裝置的第二部分連接到所述多個(gè)集群。
17.如權(quán)利要求15的設(shè)備,其中所述設(shè)備包括一個(gè)網(wǎng)絡(luò)處理器裝置,并且所述多個(gè)主控端包括多個(gè)包處理裝置。
18.如權(quán)利要求15的設(shè)備,進(jìn)一步包括用于使一個(gè)目標(biāo)能夠選擇性地作為目標(biāo)和主控端來操作的裝置。
19.如權(quán)利要求15的設(shè)備,進(jìn)一步包括用于將命令和數(shù)據(jù)傳輸?shù)矫總€(gè)集群的主控端、以及從每個(gè)集群的主控端傳輸命令和數(shù)據(jù)的裝置。
20.如權(quán)利要求15的設(shè)備,其中所選擇的目標(biāo)被分組為各子組,每個(gè)子組包括一個(gè)用于每個(gè)推數(shù)據(jù)總線和拉數(shù)據(jù)總線的各自的子組多路復(fù)用器和總線仲裁裝置,以便能夠?qū)⒃撟咏M中的目標(biāo)通過底板互聯(lián)裝置連接到多個(gè)集群。
21.如權(quán)利要求15的設(shè)備,其中所述目標(biāo)的其中一個(gè)包括媒體交換結(jié)構(gòu)接口裝置。
22.如權(quán)利要求1的設(shè)備,其中所述目標(biāo)的其中一個(gè)包括存儲(chǔ)器控制器裝置。
23.一種網(wǎng)絡(luò)設(shè)備,包括一個(gè)網(wǎng)絡(luò)處理器,包括,多個(gè)處理核心,其被配置在多個(gè)集群中;多個(gè)目標(biāo),每個(gè)目標(biāo)包括一個(gè)可共享的資源,該可共享的資源可由所述多個(gè)處理核心訪問,所述目標(biāo)包括媒體交換結(jié)構(gòu)接口和外圍部件互聯(lián)(PCI)快速接口;一個(gè)底板互聯(lián),包括連接在多個(gè)集群和多個(gè)目標(biāo)之間的、形成交叉開關(guān)互聯(lián)的多組總線線路,所述各組總線線路對(duì)應(yīng)于命令總線、用于目標(biāo)寫入的拉數(shù)據(jù)總線和用于目標(biāo)讀取的推數(shù)據(jù)總線;以及用于每個(gè)命令總線、拉數(shù)據(jù)總線和推數(shù)據(jù)總線的多路復(fù)用器電路,其選擇性地將給定的集群連接到給定目標(biāo),以便能夠在給定的集群和給定的目標(biāo)之間傳遞命令和數(shù)據(jù);一個(gè)媒體交換結(jié)構(gòu),包括在多個(gè)輸入/輸出(I/O)端口之間的交叉連接,其中在所述輸入/輸出(I/O)端口處接收包并從該處轉(zhuǎn)發(fā)包;該媒體交換結(jié)構(gòu)耦合到該媒體交換結(jié)構(gòu)接口;以及一個(gè)PCI快速板,其耦合到PCI快速接口。
24.如權(quán)利要求23的網(wǎng)絡(luò)設(shè)備,進(jìn)一步包括一個(gè)動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DRAM)控制通道,其包括一個(gè)目標(biāo);以及一個(gè)DRAM庫,其耦合到該DRAM控制通道。
25.如權(quán)利要求23的網(wǎng)絡(luò)設(shè)備,進(jìn)一步包括第二媒體交換結(jié)構(gòu)接口,其包括一個(gè)目標(biāo);以及第二媒體交換結(jié)構(gòu),其耦合到第二媒體交換結(jié)構(gòu)接口。
26.如權(quán)利要求23的網(wǎng)絡(luò)設(shè)備,進(jìn)一步包括一個(gè)拉標(biāo)識(shí)(ID)總線,包括連接在多個(gè)集群和多個(gè)目標(biāo)之間的、形成交叉開關(guān)互聯(lián)的多組總線線路;以及一個(gè)推標(biāo)識(shí)(ID)總線,包括連接在多個(gè)集群和多個(gè)目標(biāo)之間的、形成交叉開關(guān)互聯(lián)的多組總線線路;以及用于每個(gè)命令總線、拉數(shù)據(jù)總線和推數(shù)據(jù)總線的多路復(fù)用器電路,其選擇性地將給定的集群連接到給定目標(biāo),以便能夠在給定的集群和給定的目標(biāo)之間傳遞命令和數(shù)據(jù)。
27.如權(quán)利要求26的網(wǎng)絡(luò)設(shè)備,其中用于推數(shù)據(jù)總線和推ID總線的多路復(fù)用器電路包括多個(gè)推數(shù)據(jù)多路復(fù)用器和推ID多路復(fù)用器,并且該設(shè)備進(jìn)一步包括一個(gè)兩級(jí)仲裁器,其適于耦合到所述目標(biāo)、推數(shù)據(jù)多路復(fù)用器和推ID多路復(fù)用器,以便仲裁對(duì)于通過底板互聯(lián)從多個(gè)處理核心向多個(gè)目標(biāo)發(fā)出的拉數(shù)據(jù)事務(wù)請(qǐng)求的準(zhǔn)許。
28.如權(quán)利要求28的網(wǎng)絡(luò)設(shè)備,其中所選擇的目標(biāo)被分組為各子組,并且其中所述兩級(jí)仲裁器包括第一仲裁級(jí),包括一個(gè)仲裁由相應(yīng)的子組中的目標(biāo)發(fā)出的事務(wù)請(qǐng)求的子組仲裁器;以及第二仲裁級(jí),包括一個(gè)集群仲裁器,該集群仲裁器仲裁從一個(gè)或多個(gè)子組仲裁器向該集群仲裁器發(fā)出的獲勝事務(wù)請(qǐng)求。
全文摘要
一種用于多線程、多處理單片系統(tǒng)網(wǎng)絡(luò)處理器單元的可升級(jí)的、高性能互聯(lián)方案。實(shí)施該技術(shù)的設(shè)備包括配置在多個(gè)集群中的多個(gè)主控端、多個(gè)目標(biāo)和一個(gè)底板互聯(lián),可以控制該底板互聯(lián)來選擇性地將給定的主控端連接到給定的目標(biāo)。在一個(gè)實(shí)施例中,該底板互聯(lián)包括連接在多個(gè)集群和多個(gè)目標(biāo)之間的、形成交叉開關(guān)互聯(lián)的多組總線線路,包括相應(yīng)于命令總線、用于目標(biāo)寫入的拉數(shù)據(jù)總線和用于目標(biāo)讀取的推數(shù)據(jù)總線的各組總線線路。用于每個(gè)命令總線、拉數(shù)據(jù)總線和推數(shù)據(jù)總線的多路復(fù)用器電路選擇性地將給定的集群連接到給定的目標(biāo),以便能夠在給定的集群和給定的目標(biāo)之間傳遞命令和數(shù)據(jù)。
文檔編號(hào)G06F13/00GK1816012SQ20051012163
公開日2006年8月9日 申請(qǐng)日期2005年11月22日 優(yōu)先權(quán)日2004年11月23日
發(fā)明者S·拉克什馬納穆爾蒂, M·羅什布盧特, M·阿迪萊塔, J·-Y·閔, B·博斯 申請(qǐng)人:英特爾公司