專利名稱::高速網(wǎng)絡(luò)中用于可重新配置的位流處理的全協(xié)議引擎的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明大體而言涉及網(wǎng)絡(luò)中的數(shù)據(jù)通信領(lǐng)域。更具體而言,本發(fā)明涉及一種可配置的、與協(xié)議無關(guān)的位流處理引擎,以及涉及相關(guān)的系統(tǒng)和數(shù)據(jù)通信方法,其適用于以至少每秒鐘10吉位的速度運行的高速網(wǎng)絡(luò)。
背景技術(shù):
:傳統(tǒng)上,己基于給定網(wǎng)絡(luò)的用途將網(wǎng)絡(luò)劃分為不同種類的基礎(chǔ)設(shè)施或架構(gòu)。因此,己針對存儲器網(wǎng)絡(luò)、通信網(wǎng)絡(luò)和處理器網(wǎng)絡(luò)開發(fā)了不同種類的網(wǎng)絡(luò),每一種網(wǎng)絡(luò)都具有不同的協(xié)議和不同的網(wǎng)絡(luò)要求,且每一種網(wǎng)絡(luò)都經(jīng)設(shè)計以滿足在該架構(gòu)內(nèi)進行數(shù)據(jù)通信的特定要求。4對于處理器網(wǎng)絡(luò),網(wǎng)絡(luò)性能是高性能集群計算(high-performanceclustercomputing;HPCC)應(yīng)用中的關(guān)鍵要素。通常,高性能集群計算應(yīng)用長時間運行,且需要在各處理器之間以及客戶機和服務(wù)器之間通過網(wǎng)絡(luò)持續(xù)地輸入/輸出(I/O)大數(shù)據(jù)集??深A(yù)計地,基礎(chǔ)設(shè)施必須能夠支持?jǐn)?shù)吉位帶寬、低延時、可用率極大的服務(wù),這些都是高端集群進程間通信的絕對需求。按照慣例,高性能集群計算網(wǎng)絡(luò)利用交換式吉位以太網(wǎng)。諸如Myrinet、InfiniBand和Quadrics等專用協(xié)議在連接高性能集群計算環(huán)境下的處理集群中也具有廣泛的用途。對大量數(shù)據(jù)的需求使得有必要將高性能集群計算應(yīng)用中的聯(lián)網(wǎng)處理器(例如)有效地連接到存儲器網(wǎng)絡(luò)架構(gòu)。按照慣例,高性能集群計算支持基礎(chǔ)設(shè)施包括存儲器附連網(wǎng)絡(luò)(storageattachednetwork;SAN)交換架構(gòu)或基于吉位以太網(wǎng)的網(wǎng)絡(luò)附連存儲存(networkattachedstorage;NAS)環(huán)境。由于具有針對在客戶機和存儲器裝置之間移動大量塊存儲器數(shù)據(jù)而最優(yōu)化的數(shù)吉位速度和傳輸協(xié)議,光纖信道是存儲器附連網(wǎng)絡(luò)架構(gòu)的主要協(xié)議和傳輸信道?;ヂ?lián)網(wǎng)協(xié)議(InternetProtocol;IP)通信網(wǎng)絡(luò)往往是在不同的高性能集群計算應(yīng)用之間通信以及通過更廣泛的因特網(wǎng)架構(gòu)在客戶機和服務(wù)器之間進行一般通信的主要架構(gòu)。一些存儲器網(wǎng)絡(luò)己采用適用于通過互聯(lián)網(wǎng)協(xié)議存儲器網(wǎng)絡(luò)(如因特網(wǎng)SCSI(iSCSI)、因特網(wǎng)光纖信道協(xié)議(iFCP)、基于互聯(lián)網(wǎng)協(xié)議的光纖信道(FCIP))移動塊存儲器數(shù)據(jù)的搭載協(xié)議(piggybackprotocols)。然而,這些搭載協(xié)議不一定允許在通信網(wǎng)絡(luò)和存儲器網(wǎng)絡(luò)之間進行直接的互操作。在這些不同種類的網(wǎng)絡(luò)架構(gòu)之間提供架構(gòu)間互操作的目標(biāo)是眾所周知的目標(biāo)。盡管在網(wǎng)絡(luò)中所需的所有處理均可利用標(biāo)準(zhǔn)的可編程處理器來完成的低速網(wǎng)絡(luò)中肯定可實施該目標(biāo),但此解決方案在以每秒鐘10吉位和更高速度運行的高速網(wǎng)絡(luò)所需的高通信速度下絕對不可行。在多數(shù)情況下,已采用專用適配器在架構(gòu)上的具體協(xié)議與中央交換機節(jié)點的普通協(xié)議之間進行轉(zhuǎn)換。盡管本方法對終端用戶而言可能是透明的,但所屬領(lǐng)域.的技術(shù)人員易于理解,該適配器修補工作會在數(shù)量不斷增長的協(xié)議方面帶來指數(shù)性爆炸問題。在至少部分網(wǎng)絡(luò)設(shè)備制造商看來,提供能夠處理多個協(xié)議的高速網(wǎng)絡(luò)交換機是不可能的解決方案。SilvanoGai,"關(guān)于用于LAN/WAN/WLAN/SAN交換機和路由器的統(tǒng)一架構(gòu)"第23頁,HSPR2003,CiscoSystem公司(注意,尚不具備10吉位/秒的廉價LAN交換機)。因此,人們需要找到一種解決方案來實現(xiàn)在網(wǎng)絡(luò)之間提供架構(gòu)間互操作的目標(biāo),該解決方案對高速網(wǎng)絡(luò)而言既高效、又可擴展。
發(fā)明內(nèi)容本發(fā)明提供一種可重新配置的與協(xié)議無關(guān)的位流處理引擎,以及相關(guān)的系統(tǒng)和數(shù)據(jù)通信方法,所述可重新配置的且與協(xié)議無關(guān)的位流處理引擎以及相關(guān)的系統(tǒng)和數(shù)據(jù)通信方法適合于實現(xiàn)在以至少每秒鐘10吉位的速度運行的高速網(wǎng)絡(luò)之間提供架構(gòu)間互操作的目標(biāo)。位流處理引擎作為全協(xié)議、多級處理器運行,其能夠配置用于合適的交換機和相關(guān)的網(wǎng)絡(luò)組件,以形成不僅使在現(xiàn)有的通信協(xié)議之間有可能進行互操作、而且能夠適應(yīng)未來的協(xié)議的無縫網(wǎng)絡(luò)架構(gòu)。本發(fā)明的方法和系統(tǒng)適用于包括存儲器網(wǎng)絡(luò)、通信網(wǎng)絡(luò)和處理器網(wǎng)絡(luò)的網(wǎng)絡(luò)。在本發(fā)明的一個實施例中,全協(xié)議處理引擎作為數(shù)據(jù)流處理引擎運行,其包括入口部分和出口部分兩者,每一部分均帶有至少一個位流級處理器。較佳地,每一級處理器都針對數(shù)據(jù)流中的某一特定級進行最優(yōu)化。從概念上講,數(shù)據(jù)流處理引擎的工作非常類似于生產(chǎn)裝配線當(dāng)數(shù)據(jù)流移動通過處理引擎時,在該裝配線的不同階段完成不同的處理,且所有處理都相對于數(shù)據(jù)流定時。對通過處理引擎的數(shù)據(jù)流確定一個速率,該速率允許處理引擎以與處理引擎相連的網(wǎng)絡(luò)的線速度連續(xù)運行。在本實施例中使用的數(shù)據(jù)流模型避免了在傳統(tǒng)的協(xié)議處理器中所需要的為跟蹤數(shù)據(jù)所需的密集、廣泛的緩沖器管理需求。另外,任何級中的引擎均固有地可級聯(lián),以支持可擴展性。在全協(xié)議處理引擎(omini-protocolengine;OPE)的一個實施例中,多級包括至少一入口級位流處理器、一輔助級狀態(tài)機、一訊務(wù)處理器、一調(diào)度器和一出口級位流處理器。入口級位流處理器與數(shù)據(jù)流的物理層介接,并根據(jù)針對位流確定的協(xié)議來確定位流的幀及/或流量。輔助級狀態(tài)機根據(jù)所確定的協(xié)議、較佳利用以流水線方式產(chǎn)生密鑰的可編程超長指令字(VLIW)流量分類器對所述幀/流量進行剖析。訊務(wù)處理器進行幀/流量處理。調(diào)度器管理來自訊務(wù)處理器的數(shù)據(jù)流輸出,且出口級位流處理器與來自全協(xié)議處理引擎的數(shù)據(jù)流的物理層介接。所有級都可動態(tài)重新配置和重新編程,以使全協(xié)議處理引擎與協(xié)議無關(guān)。在一個實施例中,輔助級狀態(tài)機和訊務(wù)處理器使用新型密鑰査找布置,以提高全協(xié)議處理引擎的效率。訊務(wù)處理器可實施為多區(qū)段數(shù)據(jù)流處理器布置,其中訊務(wù)處理器中的各區(qū)段取決于幀/流量的給定協(xié)議進行實施。在訊務(wù)處理器的實施例中,多區(qū)段數(shù)據(jù)流處理器實施裁決及/或時分多路復(fù)用(TDM)方法來訪問幀的數(shù)據(jù)流/流量所駐留的公用共享緩沖存儲器。通過這種方式,,每一數(shù)據(jù)流處理器不需要將幀/流量中的部分或所有數(shù)據(jù)復(fù)制到該處理器內(nèi)的內(nèi)部緩沖器中以處理該數(shù)據(jù)。另外,數(shù)據(jù)流處理器可通過級抽象和時鐘抽象兩者而級聯(lián)并可擴展。在本發(fā)明的一個實施例中,使用與一個SPI4.2數(shù)字交換機介接的四個全協(xié)議處理引擎來實施全協(xié)議、48端口、非閉鎖QoS吉位交換機。在本實施例中,每一全協(xié)議處理引擎都與12個SerDes端口介接以進行外部連接,且與3個SPI4.2端口介接以連接到SPI4.2數(shù)字交換機。當(dāng)定位在存儲器網(wǎng)絡(luò)、高性能集群計算處理器集群、內(nèi)部網(wǎng)和因特網(wǎng)通信網(wǎng)絡(luò)的中間時,所述交換機有效地用作一統(tǒng)合架構(gòu)(convergentfabric),其允許在任何和所有上述網(wǎng)絡(luò)之間進行與協(xié)議無關(guān)的網(wǎng)絡(luò)連接。本發(fā)明的該實施例提供一種智能型交換解決方案,其中,交換機即時可編程且可重新配置,使每一包都能夠根據(jù)即時重新編程/重新配置的全協(xié)議處理引擎被不同地處理(即,例如以10Gbps的速度100%地逐個包路由),所述全協(xié)議處理引擎包括"端口處理器"或形成中央交換機架構(gòu)的數(shù)字交換機。通過這種方式,該交換解決方案提供高性能(每個端口帶寬aOGbps)、低延時(交換<5|^)、與協(xié)議無關(guān)、基于策略的交換,所述交換可擴展到數(shù)千個節(jié)點、與現(xiàn)有網(wǎng)絡(luò)基礎(chǔ)設(shè)施彼此協(xié)作,并以成本有效的方式提供telco可靠性/容錯能力(即99,999%的可用率)。在本發(fā)明的另一實施例中,全協(xié)議處理引擎和相關(guān)聯(lián)的網(wǎng)絡(luò)組件都可使用帶有圖形用戶界面管理系統(tǒng)的寄存器訪問控制和子模塊訪問控制布置進行動態(tài)重新配置和編程,所述管理系統(tǒng)管理代碼產(chǎn)生、流量控制、性能描繪和統(tǒng)計,以及系統(tǒng)的診斷和維護。在一個具體實施例中,圖形用戶界面管理系統(tǒng)包括實際上進行系統(tǒng)設(shè)計的模塊、能夠以"所見即所得"的方式對設(shè)計好的架構(gòu)的預(yù)期性能進行仿真的仿真引擎和產(chǎn)生微代碼以對全協(xié)議處理引擎和任何其它可重新編程/重新配置的網(wǎng)絡(luò)裝置(如果需要)進行重新編程的代碼產(chǎn)生器(微代碼管理器)。圖1A和1B為根據(jù)本發(fā)明的一個實施例的全協(xié)議引擎的功能方框圖;圖2為圖1的全協(xié)議處理引擎的入口數(shù)據(jù)流的更詳細方框圖;圖3為實施為圖2所示的入口數(shù)據(jù)流之一部分的包狀態(tài)機的狀態(tài)圖;圖4為圖1的全協(xié)議處理引擎的出口數(shù)據(jù)流的更詳細方框圖;圖5和6為包括根據(jù)本發(fā)明的一個實施例的多級引擎的初始部分的前置處理器包成幀系統(tǒng)的簡要表示;圖7為實施前置處理器的根據(jù)本發(fā)明的位流級處理器的一個實施例的方框圖;圖8A和8B為來自XGMII的通用以太網(wǎng)格式和以太網(wǎng)的通用格式的簡圖;圖9-11為多級全協(xié)議處理引擎的所選部分的簡圖;圖12為本發(fā)明的一個實施例的可編程狀態(tài)機的簡圖;圖13為圖12的可編程狀態(tài)機的示例性可擴展表;圖14為圖12的可編程狀態(tài)機的示例性狀態(tài)圖;圖15為可編程解碼表的示例性表;圖16顯示前置處理器成幀器的基本功能的更完整的圖式;圖17圖解說明增加輸入選擇及使?fàn)顟B(tài)內(nèi)具有子狀態(tài)的能力的方法;圖18圖解說明擴展來自狀態(tài)機的輸出控制的方法;圖19顯示可由狀態(tài)機選擇的掩碼比較邏輯;圖20是可由該狀態(tài)機編程的以太網(wǎng)流程圖實例;圖21是根據(jù)本發(fā)明的一個實施例的總流程控制的方框圖22是圖解說明運行寄存器訪問控制/子模塊訪問控制器以監(jiān)視和控制全協(xié)議處理引擎的互連級的運行的簡圖23是在根據(jù)本發(fā)明的入口裝置處遇到的標(biāo)準(zhǔn)以太網(wǎng)幀的簡圖24和25是顯示根據(jù)本發(fā)明的一個實施例的可編程狀態(tài)機和掩碼和比較電路的運行配置的簡要表示;圖26簡要繪示根據(jù)本發(fā)明的一個實施例的示例性幀分類器。圖27圖解說明根據(jù)本發(fā)明的一個示例性實施例在反饋回路內(nèi)運行的級0和級1引擎;圖28是根據(jù)本發(fā)明的具體實施例的可擴展幀處理器的簡圖,其中所述幀處理器包括P-SerDes和核心引擎;-圖29、30和31簡要繪示帶有本發(fā)明的全協(xié)議引擎的HPC端口卡;圖32是使用第三方FPGA以實施交換架構(gòu)的示例性交換機的實施例;圖33是根據(jù)本發(fā)明的通用實施例的交換機的簡圖34A和34B是圖解說明根據(jù)本發(fā)明的具體實施例的ATMCAmTCA粗管道交換機的簡圖35A和35B是示例性編程模型和環(huán)境;圖36A和36B顯示描繪根據(jù)本發(fā)明的主要實施例的擱架管理控制器的方框圖;圖37A圖解說明根據(jù)本發(fā)明的示例性I2C硬件有限狀態(tài)機實施方案;8圖37B是圖解說明使用不同的接口橋接裝置的示例性實施方案的方框圖38圖解說明根據(jù)本發(fā)明的一個實施例的位流協(xié)議處理器的一個實施例的方框圖39圖解說明根據(jù)本發(fā)明的一個實施例的位流協(xié)議處理器的另一實施例的方框圖40是根據(jù)本發(fā)明的一個實施例的數(shù)據(jù)流布置的方框圖;以及圖41是本發(fā)明各種0SI層的抽象的方框圖。具體實施例方式本發(fā)明包括斥于網(wǎng)絡(luò)中的線速數(shù)據(jù)路徑處理的新型裝置、系統(tǒng)和方法。圖1A圖解說明根據(jù)本發(fā)明的系統(tǒng)的一個實施例的方框圖。本實施例的中心是全協(xié)議引擎。全協(xié)議處理引擎是一種與協(xié)議無關(guān)的位流、多級處理器,其包括雙重功能1)將位流中的各位根據(jù)相關(guān)的協(xié)議匯編到適當(dāng)界定的協(xié)議數(shù)據(jù)單元中;及2)對匯編好的協(xié)議數(shù)據(jù)單元進行處理以無論遇到什幺協(xié)議都提供線速吞吐量。與現(xiàn)有技術(shù)中流行的專用適配器不同,全協(xié)議處理引擎中的所述兩個功能都是動態(tài)可編程的。因此,給定協(xié)議的任一或兩個協(xié)議數(shù)據(jù)單元或適用于協(xié)議數(shù)據(jù)單元的處理規(guī)則都可以動態(tài)的方式改變。除非另有說明,否則本發(fā)明中的術(shù)語"協(xié)議"系指具有界定的控制位和數(shù)據(jù)或信息位(其可為空)分組的序列化包通信協(xié)議,所有控制位和數(shù)據(jù)或信息位都遵循一組標(biāo)準(zhǔn)的指令或規(guī)則。表1提供了根據(jù)本發(fā)明的全協(xié)議引擎的一個實施例的某些屬性的摘要。表1屬性詳細說明1即時(on-the-fly)可編程性例如,在進程中重新定義機器指令集2可編程/動態(tài)多協(xié)議支持"標(biāo)準(zhǔn)"和"增強"以太網(wǎng)IPv4,IPv6,MPLSInfinibsnd高級交換/PCI-Express光纖信道SONET/ATM用戶定義的、定制協(xié)議3可編程更高層特征層2至層4可編程類別使用老化規(guī)則支持1M流量到64Kbps量化度可編程訊務(wù)管理、成型和控制協(xié)議封裝VLAN、VSAN、VCAN支持流量控制、擁塞管理4應(yīng)用支持靈活TCP/IP卸載iSCSI、iSER、R腿MPLS、DiffServ5工業(yè)標(biāo)準(zhǔn)MIB工業(yè)標(biāo)準(zhǔn)管理信息基礎(chǔ),即一組符合因特網(wǎng)標(biāo)準(zhǔn)MIBII或其它因特網(wǎng)標(biāo)準(zhǔn)MIB的變量。MIBII可見于RFC1213"ManagementInformationBaseforNetworkManagementofTCP/IP-basedInternets:MIB-II"中。如圖1B所示,全協(xié)議處理引擎是多級處理器布置,其中其包括多個獨特的處理塊。針對全協(xié)議流量處理功能對每一塊進行最優(yōu)化。每一處理塊沿數(shù)據(jù)路徑提供"門"以便以線速進行更多的處理。"門"接口使用高速串行i/o信道和高速并行信道兩者來滿足處理塊的延時要求。每一處理塊的狀態(tài)、特征和功能參數(shù)較佳地可如下文中所述"實時"編程。因此,全協(xié)議處理引擎既可重新編程,又可重新配置。參見圖41,在基本層上,可在組成部分、各部分之間的數(shù)據(jù)流相關(guān)性和改變所述數(shù)據(jù)流相關(guān)性的控制結(jié)構(gòu)方面對每個級或處理塊進行抽象化。在最高抽象層,10每一級都實施通用接口,該通用接口實施控制結(jié)構(gòu),以使級能夠接收輸入包流對象,并輸出處理后的包流對象以及與輸入和處理后的包流中任一者或兩者相關(guān)聯(lián)的元數(shù)據(jù)對象。每一級都是基本類別中的一個成員。每個基本類別實施一個接口,所述接口由針對所述基本類別實施的方法集規(guī)定。在中間抽象層,可通過增加額外模塊來擴展每個基本類別,所述額外模塊對基本類別的功能進行擴展并形成一個子類。每一子類實施其自己的子類接口,該子類接口提供額外的方法來擴展基本類別方法的功能。在最低的抽象層,可通過提供其它方法及/或通過增加子模塊以提供基本類別中不存在的部分來進一步擴展子類提供的接口。通過改變方法和該方法將作用的對象可重新配置類及其子類。通過這種方式,可對位流處理器的每一級通過編程進行重新配置,以提供有差異的資源和服務(wù)。通過這種方式,將各個級配置成帶有與協(xié)議無關(guān)的架構(gòu)的數(shù)據(jù)(包)流機器。將幀定義為位流,其中每一和每個位的含義由一個或多個預(yù)定義的協(xié)議成幀規(guī)則界定。抽象模型具有將輸入接受作為位流的方法。每一和每個位的含義由方法進行抽象,以使每一級能夠接收位流。協(xié)議處理由另一方法界定,所述方法基于定位在位流中任何位置的位流的一個或多個位中的信息來執(zhí)行一組操作??蓪嵤┑娜魏晤惢蜃宇?(例如方法)可潛在地執(zhí)行協(xié)議處理步驟。在一替代實施例中,每一類或子類經(jīng)編程以通過在由所述類或子類提供的通用接口內(nèi)實施方法來處理特定的協(xié)議。因此,能夠?qū)⑺鰧嵤┓桨傅募毠?jié)"隱藏"在一種或多種方法的后面,以便能夠重新使用代碼和部分。抽象的結(jié)果是數(shù)據(jù)流架構(gòu)實質(zhì)上是一系列鋪設(shè)的管道,可預(yù)測的延時級經(jīng)布置為使給定級內(nèi)的處理在包間間隔時間內(nèi)(即,在下一個包到達之前)完成。對每一級進行抽象使得有可能向每一級增加一個或多個流水線子級。一級流水線內(nèi)的每一子級在等于包到達時間除以一級內(nèi)的子級的數(shù)量的時間內(nèi)完成對包的操作。因此,第一級可包含實施用于包解碼(即,其產(chǎn)生有關(guān)數(shù)據(jù)包的元數(shù)據(jù))的方法的子類。元數(shù)據(jù)可包含有關(guān)輸入包流內(nèi)的取決于特定協(xié)議的位模式的位置的信息。在這方面,包解碼器對幀(界定的位流)進行"分析"。注意,本文中所用的術(shù)語"實施"表示在一個或多個固件和硬件方面的實施方案??墒褂脤嵤┥鲜龌竟δ艿娜魏喂碳?、硬件或固件-硬件組合來實施上述方法。例如,可將包解碼級實施為帶有比較加速器的可編程狀態(tài)機。在給定一種協(xié)議類型時,可編程狀態(tài)機提取級處理器進行(例如)地址査找所需的包內(nèi)的字段。包解碼器進行層2/層3/層4剖析,以從所述三層的報頭中提取信息。因此,可對實施該功能的方法進行定制,以處理所述三層的協(xié)議,且因此擴展了基本類別。在一個實施例中,數(shù)據(jù)流處理引擎的入口部分和出口部分中每一個都具有與多端口數(shù)據(jù)流包存儲器介接的多個位流級處理器。每一位流級處理器都提供有獨特的指令存儲器。在一個實施例中,第一交換機總線連接在數(shù)據(jù)流包存儲器與交換接口和處理器接口之間,且第二交換機總線連接在數(shù)據(jù)流包存儲器和多個位流級處理器之間。在本實施例中,第三交換機總線連接在多個位流級處理器和公共存儲器接口之間。公共存儲器接口可與外部存儲器或與內(nèi)容可尋址存儲器(Content-addressable-Memory;CAM)接口連接。在一個實施例中,全協(xié)議處理引擎支持最常遇到的協(xié)議所需的一組普通處理塊。通過增加專有的可編程、多功能處理塊可實施額外的功能,如計算密集型協(xié)議處理。這些計算處理塊還能夠具有"即時"可編程性,從而賦予全協(xié)議處理引擎在任何協(xié)議環(huán)境下運行所需的可擴展性,而不會引起現(xiàn)有技術(shù)在試圖達到統(tǒng)合式網(wǎng)絡(luò)架構(gòu)時所特有的成本類型或性能損失。事實上,通過提供多協(xié)議處理功能,亦即,能夠?qū)⒂嬎阒行牡牟煌M件組合到一起而不需在不同的高速協(xié)議之間使用網(wǎng)關(guān)和交換機,全協(xié)議處理引擎能夠?qū)崿F(xiàn)統(tǒng)合架構(gòu)。全協(xié)議處理引擎解決方案在0SI第2-7層上工作。在一個實施例中,較佳地利用名稱為"用于對可編程電路進行圖形編程的方法和裝置"的美國專利第6,671,869號中所述的基于圖形用戶界面的代碼產(chǎn)生器來對全協(xié)議處理引擎的處理塊進行編程,美國專利第6,671,869號中所揭示的內(nèi)容以引用的方式并入本文中。顯示協(xié)議模板,將對具體子段的操作拖放到操作工具,由此系統(tǒng)產(chǎn)生"通信引擎代碼"。另外,圖形用戶界面以"所見即所得"的方式顯示引擎的預(yù)期性能。系統(tǒng)向用戶提示為獲得最大的性能所需的操作。在芯片環(huán)境中,使用這些功能來選擇適當(dāng)?shù)逆溄铀俣?。在可編程平臺環(huán)境,例如FPGA中,可選擇更大容量的芯片。在如圖35A和35B中圖解說明的該基于圖形用戶界面的代碼產(chǎn)生器的具體實施例中,顯示協(xié)議模板,并將對具體字段的操作拖放到操作工具。系統(tǒng)產(chǎn)生"通信引擎代碼"并以"所見即所得"的方式顯示引擎的預(yù)期性能。該系統(tǒng)向用戶提示為獲得最大的性能所需的操作。在芯片環(huán)境中,可使用這些功能來選擇適當(dāng)?shù)逆溄铀俣?。在可編程平臺環(huán)境(例如先前的FPGA實例)中,可選擇更大容量的芯片??赏ㄟ^例如現(xiàn)場可編程門陣列結(jié)合一個或多個共享公共局部總線的通用目的處理器(CPU)來提供"即時"功能。在名稱為"可重新配置的網(wǎng)絡(luò)接口架構(gòu)"的美國專利第6,721,872號中揭示了一種這樣的方法,所述美國專利的揭示內(nèi)容以引用的方法并入本文中。在美國Cambridge,MA02139,麻省理工學(xué)院媒體實驗室(MITMediaLab)的BoveJr等人所著的"使用微處理器的局部總線上的現(xiàn)場可編程門陣列進行媒體處理"中描述了一種提供所述"即時"功能的替代方法,所述文件中揭示的內(nèi)容以引入的方式并入本文中。.現(xiàn)在參見圖2,將描述圖1中所示的全協(xié)議處理引擎的"入口運行"的一個實施例。端口統(tǒng)合涉及到PHY和MAC裝置所特有的物理層協(xié)議成幀以及將具體媒體的包數(shù)據(jù)轉(zhuǎn)換為SPI4.2突發(fā)幀。將來自多個端口的小SPI4.2突發(fā)以循環(huán)、時分多路復(fù)用的方式傳遞到SPI4.2引擎?;诮y(tǒng)合的端口數(shù)量將SPI4.2信道劃分為時隙;8端口統(tǒng)合器將SPI4.2信道劃分為8個相等的部分。在總線上為不工作或沒有數(shù)據(jù)供傳輸?shù)牟劭?端口產(chǎn)生空閑的突發(fā)。本實施例中的MAC裝置是8xlGbEMAC芯片("MAC芯片")。以稱為"突發(fā)交錯(burst-interleaved)"的模式對MAC芯片進行配置,"突發(fā)交錯"模式意味著以循環(huán)(端口0到端口9)的方式對來自每個1GbE的以太網(wǎng)包數(shù)據(jù)的可配置字節(jié)數(shù)量(例如,32字節(jié))予以調(diào)度,以傳輸?shù)絊PI-4.2接口。然后,對來自1GbEMAC的突發(fā)(burst)進行交錯并在SPI-4.2總線上進行傳輸。小突發(fā)(小于32個字節(jié)的突發(fā))可能位于包起點和結(jié)束定界符處。由MAC芯片對以太網(wǎng)包執(zhí)行的操作包括(1)剝除前同步碼和幀起點定界符(StartofFrameDelimiter;SFD);及(2)保持FCS。SPI-4.2引擎較佳地包括提供SPI-4.2引擎的實質(zhì)性功能的核心,所述實質(zhì)性功能將SPI-4.2成幀轉(zhuǎn)換為類似于SPI4.1的內(nèi)部成幀格式。數(shù)據(jù)從SPI4.2以16位突發(fā)到達,突發(fā)的第一個16位字包含控制字,所述控制字包含有關(guān)突發(fā)的信息;包括突發(fā)是包的起點、包的結(jié)束還是包的接續(xù),以及產(chǎn)生突發(fā)的信道號。將來自信道的高達8個16位數(shù)據(jù)字匯編成64位字并進行傳遞,同時將16位控制字轉(zhuǎn)換為"內(nèi)部路由標(biāo)記"。在本實施例中,當(dāng)幀移動通過轉(zhuǎn)發(fā)邏輯時,"內(nèi)部路由標(biāo)記"連同包突發(fā)數(shù)據(jù)在內(nèi)部總線上傳遞。"內(nèi)部路由標(biāo)記"包含表示"數(shù)據(jù)有效"的1位、表示"包起點"的1位、表示"包結(jié)束"的1位、表示"數(shù)據(jù)錯誤"的1位、表示突發(fā)大小的3位(0-7分別指示突發(fā)大小為1-8)以及表示"信道地址"的3位。"信道地址"指示與突發(fā)相關(guān)聯(lián)的端口。在另一個實施例中,"內(nèi)部路由標(biāo)記"可基于網(wǎng)絡(luò)層優(yōu)先級或VLAN指定的優(yōu)先級而包括Q0S/C0S信息。13幀處理器進行幀處理時需要識別網(wǎng)絡(luò)包的有趣特性。這些特性包括目標(biāo)地址和源地址、包類型、層3和層4數(shù)據(jù)報以及會話尋址。另外,幀處理器對轉(zhuǎn)發(fā)邏輯處理的每一包維持一狀態(tài)機。如圖3所示,"包狀態(tài)機"跟蹤數(shù)據(jù)流的組成。對于HPC解決方案,數(shù)據(jù)流由包數(shù)據(jù)的多個突發(fā)組成,所述多個突發(fā)將基于SPI4.2控制字中的位字段分類。為在SPI4.2接收或從SPI4.2傳輸?shù)拿總€包例示了一個包狀態(tài)機。當(dāng)認定"SPI有效(PACKET—VALID)"信號時,包進入"有效"狀態(tài)。當(dāng)認定"SPI包起點"信號時,包進入"包起點"狀態(tài),且"SPI包結(jié)束"導(dǎo)致躍遷到"包結(jié)束"狀態(tài)。如果錯誤狀態(tài)指示錯誤,則狀態(tài)機進入ERROR狀態(tài),否則狀態(tài)機躍遷到INIT。再參見圖2,剖析引擎(剖析器)的任務(wù)是利用幀處理器提供的信息來構(gòu)建多字節(jié)組分類器密鑰。在一個實施例中,產(chǎn)生"分類器密鑰"僅需要目標(biāo)地址。在替代實施例中,可增強"查找引擎",以在構(gòu)建"分類器密鑰"時還包括任何數(shù)量的包特性,從而當(dāng)交換機轉(zhuǎn)發(fā)單個包或包流時修改交換機的性能。通過使用剖析器產(chǎn)生的"分類器密鑰","査找引擎"將雜亂進入轉(zhuǎn)發(fā)內(nèi)容可尋址存儲器,以査找出口目標(biāo)端口。出口目標(biāo)端口放置在"內(nèi)部路由報頭"中。在一個實施例中,"內(nèi)部路由報頭"完全由出口端口號組成。或者,"內(nèi)部路由報頭"可包括其它信息。諸如基于S廳P的管理站等管理實體將可訪問轉(zhuǎn)發(fā)內(nèi)容可尋址存儲器條目。"訊務(wù)導(dǎo)向器"負責(zé)基于在"內(nèi)部路由報頭"發(fā)現(xiàn)的端口地址向CPU轉(zhuǎn)發(fā)及/或復(fù)制幀。在轉(zhuǎn)發(fā)邏輯和FPGA中的微處理器之間提供合適的接口邏輯。"排隊引擎"負責(zé)處理交換機架構(gòu)與"端口卡"的幀處理邏輯之間的數(shù)據(jù)流。"排隊引擎"在8端口卡交換機中包含交換機架構(gòu)中每一1GbEMAC的虛擬隊列,該8端口卡交換機中將其相加成多個虛擬隊列。每一虛擬隊列很大,足以容納多個大型(9K)包。為每一虛擬隊列維持一個索引,以跟蹤下一64位數(shù)據(jù)將放置在虛擬隊列中的哪個位置,所述索引稱為VQ排隊索引。查詢VQ出隊列(VQdequeue),以確定需要傳遞給調(diào)度器的下一64位數(shù)據(jù)。于是,將來自"訊務(wù)導(dǎo)向器"的數(shù)據(jù)以VQ出隊列索引指示的偏移放入目標(biāo)端口的VQ中。相反,使用VQ出隊列索引來確定將哪個數(shù)據(jù)傳遞給調(diào)度器。"排隊引擎"還提供交換機架構(gòu)與"虛擬隊列"之間的"速率變化"FIF0,以及顯示交換機架構(gòu)與轉(zhuǎn)發(fā)邏輯之間的背壓的流量控制機制。在傳遞幀至交換機架構(gòu)時,調(diào)度器使用"排隊引擎"的出隊列機制。以循環(huán)的方式(從端口0到端口31)對將要傳遞到交換機架構(gòu)的幀進行調(diào)度。出隊列涉及在"XAUI核心"將幀轉(zhuǎn)換為XAUI之前封裝XGMII中的幀。在轉(zhuǎn)換期間,使用"內(nèi)部路由標(biāo)記"和"內(nèi)部路由報頭"?,F(xiàn)在參見圖3,將描述全協(xié)議處理引擎的"出口運行"的一個實施例。"排隊引擎"提供位于入口相反側(cè)的出口一側(cè)的排隊。"XAUI核心"將來自交換機架構(gòu)的XAUI幀轉(zhuǎn)換為XGMII。基于XGMII幀中的端口號將XGMII幀排隊到"虛擬隊列"中。調(diào)度器以與入口非常相似的方式完成入口調(diào)度。以循環(huán)的方式使幀出隊列,但必須將出口數(shù)據(jù)幀轉(zhuǎn)換為局部總線接口,并產(chǎn)生"內(nèi)部路由標(biāo)記"。在一個實施例中,調(diào)度器設(shè)計為自適應(yīng)和探試式,以便僅通過查找廣播并使用源地址更新內(nèi)容可尋址存儲器來減少帶外轉(zhuǎn)發(fā)內(nèi)容可尋址存儲器更新。圖4中所示的出口SPI4.2轉(zhuǎn)換與入.口相反。使用專有核心將局部成幀格式轉(zhuǎn)換為SPI4.2。出口端口統(tǒng)合涉及將SPI4.2幀突發(fā)數(shù)據(jù)匯編到媒體包中,并通過SPI4.2幀突發(fā)數(shù)據(jù)的尋址出口接口將其傳輸出去。這些接口也較佳地為上文中所述的MAC芯片。出口的運行與入口相反。來自SPI-4.2的以太網(wǎng)包數(shù)據(jù)以交錯的以太網(wǎng)包數(shù)據(jù)突發(fā)(端口0到端口9)接收到出口FIFO內(nèi)。當(dāng)出口FIFI接收到5個突發(fā)時(或者取決于包長度當(dāng)EOP到達時),出口FIFO將啟動向1GbEMAC的傳輸。較佳地,出口幀處理還維持端口狀態(tài)機,所述端口狀態(tài)機執(zhí)行幀狀態(tài)檢查,例如幀老化、VLAN報頭剝除、內(nèi)部轉(zhuǎn)發(fā)報頭移除以及類似操作。由MAC芯片對以太網(wǎng)包執(zhí)行的操作包括(1)增加前同步碼;及(2)增加幀起點定界符(SFD),以及可選的(3)增加FCS。在圖5和6中圖解說明的示例性實施例中,全協(xié)議處理引擎提供所選的取名為級0、級1、級2…級n的流水線化級引擎序列。取決于是針對哪一個功能配備的全協(xié)議處理引擎,每一級引擎可具有不同的、可擴展的和可重新編程的架構(gòu)。因此,與現(xiàn)有技術(shù)的處理器(其中對包以其攜帶的軟件指令進行表征)不同,本發(fā)明是帶有專門級的裝配線的數(shù)據(jù)流架構(gòu),所述專門級可即時例示,以反映沿線流動的數(shù)據(jù)的變化。盡管本發(fā)明不限制入口處端口的數(shù)量,但最好就到達單個端口的數(shù)據(jù)包并跟蹤沿通過全協(xié)議處理引擎的數(shù)據(jù)路徑的包的壽命來描述本發(fā)明。重要的是要注意到,這些數(shù)據(jù)位流中的每一個的寬度可為數(shù)位。所述寬度提供了在流水線的每一級引擎處可用的處理時間(或時鐘周期)的量度,從而能夠?qū)崿F(xiàn)線速吞吐量。如果看上去任何一級引擎處的處理不可能在初始級內(nèi)設(shè)定的時間限制內(nèi)實現(xiàn),則通過增加組成每一級的引擎的數(shù)量來將每一級引擎限制在特定的時間范圍內(nèi)運行。圖7繪示了本發(fā)明的一個實施例,所述實施例提供級0引擎,所述級0引擎實質(zhì)上是部分包括可編程狀態(tài)機的前置處理器包成幀器。由于每次到來的包的寬度為64位,成幀器識別并區(qū)分圖1中所示的各種類型的幀。成幀器由以下部分組成可編程存儲器基本狀態(tài)機、快速存儲器基本查找表、帶有可裝載數(shù)值的各種比較器以及選擇邏輯。狀態(tài)機選擇所關(guān)心的包字段,將其與設(shè)定值或其它幀數(shù)據(jù)進行比較,這將驅(qū)動狀態(tài)機算法,所述算法對所關(guān)心的幀進行標(biāo)記并確定幀的類型。然后,將該信息傳遞到剖析器,幫助指令剖析器如何對幀進行剖析。為更詳細地描述前置處理器位流處理器的此實施例,參考附錄A,附錄A中所揭示的內(nèi)容以引用的方式并入本文中。另請參考附錄B,附錄B中所揭示的內(nèi)容以引用的方式并入本文中,其詳細說明了"轉(zhuǎn)發(fā)邏輯寄存器文件"的一個實施例。全協(xié)議處理引擎較佳地包括至少一個可預(yù)測的可編程狀態(tài)機(ProgrammableStateMachines;PSMs)。在一個實施例中,每一可編程狀態(tài)機是一32狀態(tài)機,在156MHz內(nèi)部時鐘頻率下每可編程狀態(tài)機的時間為50ns,相當(dāng)于每10條指令5ns。然而,每一可編程狀態(tài)機可具有數(shù)量可變的時鐘。通過將相對較快的串行位流轉(zhuǎn)換為相對較慢的并行n位寬數(shù)據(jù)流,級0引擎設(shè)置帶寬處理停留時間。根據(jù)線速調(diào)整帶寬處理停留時間。例如,為處理10Mbps的數(shù)據(jù)率,停留時間是每級全協(xié)議處理引擎為50ns。較佳地,基本寄存器由可編程查找表組成,所述可編程查找表預(yù)設(shè)置有作為配置的一部分裝入的數(shù)值。然后,這些寄存器經(jīng)選擇以與作為完整的級引擎運行之一部分的掩碼、比較器和計數(shù)器一起使用。級引擎配置的一個示例性配置說明如下可編程査找表包含多達34個要比較的16位數(shù)值。表輸出位即對應(yīng)于該比對(如果進行比對的話)。在本實例中,可能有4個8位寬的比較器,兩個降值計數(shù)器(對于最大降值計數(shù)256,最大可裝載數(shù)值為8位)。包數(shù)據(jù)選擇寬度可為l字節(jié),且寄存器值字段大小由16個8位寬預(yù)置寄存器表示。狀態(tài)機指令可為單字指令(SingleWordInstruction;SWI)。單字指令組可從包含設(shè)置、試驗和跳轉(zhuǎn)的集合中選擇,其中每條指令的每個字段可呈現(xiàn)為如下所示的存根字段,其中每一存根字段用逗號隔開,且每一主字段用分號隔幵,例如,SWI:setl,set2,set3,..setn;testl,test2,test3,.…testn;brl,br2,br3,…brn;在運行中,狀態(tài)機將基于可選擇的矢量輸入進行條件跳轉(zhuǎn)。因此,例如,條件16(幀字節(jié)2==R2)將對8個包位置字節(jié)中的字節(jié)2與預(yù)置寄存器R2數(shù)值進行比較。所述跳轉(zhuǎn)通常決定下一控制狀態(tài),但也可用于改變可編程狀態(tài)機的當(dāng)前狀態(tài)的運行模式?,F(xiàn)在參見圖8A和8B,其中圖解說明了將前置處理器包成幀方法應(yīng)用于來自XGMII接口的輸入以太網(wǎng)包。從該處,XGMII接口塊剝離前同步碼,并將32位接口轉(zhuǎn)換為"圖8B:以太網(wǎng)的一般格式"中所示的內(nèi)部64位表示。當(dāng)64位寬包流過流水線時,狀態(tài)機選擇它想要將哪個16位字段發(fā)送到可編程解碼RAM。參見"圖9:包類型選擇"和"圖10:可編程解碼RAM"。狀態(tài)機還從待與可編程寄存器進行比較的包選擇其它信息,并將結(jié)果反饋回狀態(tài)機,如圖IO所示。圖IO例如顯示了VLAN和SNAP輸入被選中并與所選的寄存器進行比較,且將結(jié)果反饋回狀態(tài)機進行分析。根據(jù)本發(fā)明的一個實施例的狀態(tài)機的用途是控制協(xié)議層報頭信息的提取。所述狀態(tài)機由可編程塊存儲器組成,5個輸出數(shù)據(jù)線反饋回到5個地址輸入內(nèi)以進行下一狀態(tài)計時。狀態(tài)機其它輸出控制各種功能,例如,待捕獲的幀數(shù)據(jù)、幀層偏移檢測和各種用于比較邏輯的輸入選擇,以及至狀態(tài)機本身的下一個輸入。圖12中顯示了該狀態(tài)機。圖13顯示了一個狀態(tài)機表實例以有助于對此進行圖解說明。所述可編程狀態(tài)機的一個任務(wù)是控制解碼和包數(shù)據(jù)的提取。圖14中的狀態(tài)圖顯示了如何設(shè)置該狀態(tài)機來處理以太網(wǎng)包。在本實例中,狀態(tài)機僅操作以太網(wǎng)層2,但也可繼續(xù)一直操作例如層4。解碼RAM提供一種對所選的字段進行快速可編程解碼的方法。至該解碼R認電路的輸入是來自包的可選16位字段,且輸出是4位"類型"解碼,如前文中的圖10所示。進行所述操作的一種方法是首先使用所有零填充存儲器,然后針對你想要解碼的"類型"寫入解碼位。16位地址對應(yīng)于"類型",且數(shù)據(jù)對應(yīng)于該類型所期望的解碼值。在正常情況下,僅設(shè)置2位,1位用于端口B,1位用于端口A。對于端口B和端口A兩者,解碼位應(yīng)為相同的值。這方面的一個實例可能是,如果需要0x809BAppleTalkPhase1為解碼值T,0x8137IPX(NovellNetware)為解碼值"2",0x8847MPLSUnicast為解碼值"3",且0x8848MPLSMulticast為解碼值"4"。上述結(jié)果如圖15所示。圖16顯示前置處理器成幀器的基本功能塊的更全面的圖。圖17圖解說明一種增加輸入選擇及使?fàn)顟B(tài)內(nèi)能夠具有子狀態(tài)的方法。圖18圖解說明一種擴展來自狀態(tài)機的輸出控制的方法。圖19顯示可由狀態(tài)機選擇的掩碼比較邏輯。圖20是可由該狀態(tài)機編程的以太網(wǎng)流程圖實例。再參見圖5和圖6,前置處理器成幀器可經(jīng)配置以在進行包選擇中提供更大的靈活性,或能夠在流水線選擇中可選擇性地后退一步。如果需要更強的功能,則始終可通過增加一個或多個額外的狀態(tài)機及/或可編程解碼RAM來提供所述功能。另外應(yīng)注意,所顯示的RAM作為塊RAM嵌入在XILINX中,且可以不同的方式配置和分組等,且該設(shè)計僅顯示使用了兩個塊RAM,一個用于狀態(tài)機,另一個用于TYPE解碼。最小的XilinxXC2VP2具有12個塊RAM,下一規(guī)格的XilinxXC2VP2具有28個塊RAM,且最大的XilinxXC2VP2具有556個塊RAM。在如圖26所示的本發(fā)明的一個普通實施例中,全協(xié)議處理引擎流水線的數(shù)據(jù)路徑是從級O.引擎到級1引擎。級1引擎對包實施基于規(guī)則的分類。可將多個引擎級聯(lián)以獲得所需的結(jié)果,因為分類須在Stage—0(級0)處定義的時間間隔內(nèi)發(fā)生,從而具有真正的線速吞吐量。每一引擎都基于數(shù)據(jù)流模型,而不是傳統(tǒng)的存儲-轉(zhuǎn)發(fā)模型。該級的一個輸出是基于先前了解包的相關(guān)內(nèi)容的基礎(chǔ)上來產(chǎn)生密鑰。在當(dāng)前的實施方案中,該級將需要兩個指令周期。每一引擎都采用單個緩沖器。與浮點協(xié)處理器不同,所有引擎都是動態(tài)可編程的,即,指令是可編程的,以使它們適合于具體的應(yīng)用。通常,級1將包含至少一個超長指令字處理器。在一替代實施例中,級1引擎可以前文中所述的任務(wù)定制處理器方式進行配置。在如圖27所示的本發(fā)明的一個具體實施例中,級0和級1引擎在反饋循環(huán)內(nèi)運行,使用可編程狀態(tài)機的級0位流處理的狀態(tài)信息被傳遞到級1分類引擎,且來自分類器的信息被反饋回來以將引擎的運行通知給級0。前饋/后饋引擎架構(gòu)使得有可能從全協(xié)議處理引擎可支持的多個流中獲得任何給定流的內(nèi)容位流,當(dāng)數(shù)據(jù)流過引擎時對內(nèi)容進行剖析(或分類),且將所述操作獲得的信息反饋回到前一級,以使下一操作基于先前狀態(tài)及先前狀態(tài)的分類結(jié)果進行。此一方法可有利地用于(例如)處理可變長度/可變協(xié)議包,對失去序列的包進行動態(tài)排序,或者用于其它錯誤控制功能。數(shù)據(jù)的基本單元變?yōu)閘位,反饋和前饋提供系統(tǒng)存儲器或粘接,使每一位都與已到達其前面的和跟隨在其后面的每一位相關(guān)聯(lián)??蓪Υ朔妒竭M行擴展,以將"存儲器"注入宏單元數(shù)據(jù)結(jié)構(gòu)系統(tǒng)(例如,字節(jié)、字、幀或完整的會話,這取決于級的具體任務(wù))內(nèi),但不會引起存儲-轉(zhuǎn)發(fā)結(jié)構(gòu)的延時和硬件開銷。上述宏單元數(shù)據(jù)結(jié)構(gòu)可為瞬間的---其在數(shù)據(jù)具有特定的特性時存在,且用于針對所有后續(xù)的數(shù)據(jù)流對全協(xié)議處理引擎的性能進行重新編程。與傳統(tǒng)協(xié)議處理器的運行是硬接線的不同,通過這種方式,全協(xié)議處理引擎是一種可改作的硬件裝置,其以判定性方式適應(yīng)于不斷變化的數(shù)據(jù)流,亦即,本發(fā)明提供的解決方案克服了現(xiàn)有技術(shù)通過擴展?fàn)顟B(tài)機和狀態(tài)的數(shù)量以應(yīng)對增加的數(shù)據(jù)流來試圖提供解決方案所特有的"狀態(tài)爆炸"的缺點。圖40顯示了一個針對多級位流處理器實施本發(fā)明的一個實灘例的數(shù)據(jù)流布置實施例。多級技術(shù)的一個引人注意的功能在于,各"級"引擎的參數(shù)有效去耦。例如,在各級之間不需要公共的時鐘。這極大地簡化了全協(xié)議處理引擎的設(shè)計??蔀槊恳患壧峁└鶕?jù)該級在任何給定時間的運行需求定制的一個或多個引擎??蓪γ恳灰孢M行即時重新編程,以賦予其與全協(xié)議處理引擎在特定時刻遇到的數(shù)據(jù)流的特性相匹配的功能。在本發(fā)明的一般實施例中,級2引擎后面跟有級3引擎。級3引擎提供更高級的控制平面功能,例如路由、信令、協(xié)議堆棧、策略定義、表維護、與數(shù)據(jù)平面接口等。與先前的級類似,級3具有專門的引擎,其可復(fù)制以與施加在全協(xié)議處理引擎上的處理時間和功能要求相匹配。圖28-31圖解說明帶有P-SERDES和核心引擎的可擴展幀處理器和帶有本發(fā)明的全協(xié)議處理引擎的HPC端口卡。在一個實施例中,前文中所述的插圖顯示了(例如)交換機中每一端口卡上的一個32條目x48位內(nèi)容可尋址存儲器。每一條目代表交換機內(nèi)的一個特定端口。因此,端口卡轉(zhuǎn)發(fā)內(nèi)容可尋址存儲器中的第一條目代表交換機的端口1。應(yīng)注意,可增大這些內(nèi)容可尋址存儲器的尺寸,以適應(yīng)附接的LAN區(qū)段上的多個節(jié)點。較佳地,定義一老化機制,其將僅保留端口卡的轉(zhuǎn)發(fā)內(nèi)容可尋址存儲器中的實際條目。由于高性能集群計算不使用LAN區(qū)段,所以可能不需要老化機制。'由于設(shè)計目標(biāo)之一是能夠通過S麗P訪問轉(zhuǎn)發(fā)內(nèi)容可尋址存儲器,所以在擱架管理器上運行的SNMP代理將需要對駐留在載體卡上的轉(zhuǎn)發(fā)內(nèi)容可尋址存儲器高速緩存進行讀/寫訪問。對轉(zhuǎn)發(fā)表高速緩存進行的任何改變將通過更新的內(nèi)容可尋址存儲器IPMI信息下推到端口卡,并如上文中所述進行處理。動態(tài)MAC地址學(xué)習(xí)。為使交換機在任何兩個交換機端口之間轉(zhuǎn)發(fā)包,必須對目標(biāo)MAC地址進行查找,以找到將要發(fā)送輸入包的目標(biāo)交換機端口。查找表(也稱為轉(zhuǎn)發(fā)表)較佳地包含48位值,所述48位值包含目標(biāo)MAC地址及6位交換機端口標(biāo)識符。由交換機維持的轉(zhuǎn)發(fā)表在各單個端口卡上管理的轉(zhuǎn)發(fā)表之間分配。需要殖入這些轉(zhuǎn)發(fā)表(其在硬件中由內(nèi)容可尋址存儲器實施)。有兩種方法來殖入轉(zhuǎn)發(fā)表動態(tài)和靜態(tài)。通過經(jīng)由類似于RFC1493中所述的轉(zhuǎn)發(fā)數(shù)據(jù)庫的SNMP企業(yè)MIB將轉(zhuǎn)發(fā)內(nèi)容可尋址存儲器暴露給管理實體來實現(xiàn)對這些內(nèi)容可尋址存儲器的靜態(tài)殖入。本設(shè)計的一個目標(biāo)是調(diào)節(jié)廣播包和多播包。這是因為廣播幀在帶寬和交換機資源方面很昂貴,且多播幀更加昂貴。人們進行了窮舉搜索,以找到一種方法使交換機可動態(tài)了解附接在每個交換機端口上的LAN區(qū)段上的MAC地址,而不論交換機可能布置為哪種拓樸,且不需使用廣播包和多播包以及不需要對附接的端口網(wǎng)絡(luò)邏輯進行修改。目前,有單一方法或成組步驟使交換機能夠在所有情況下動態(tài)確定可連接到交換機端口的所有MAC地址。簡而言之,IEFTRFC定義的因特網(wǎng)或以太網(wǎng)要求交換機/網(wǎng)橋/路由器要幺主動了解MAC地址,要幺交換機/網(wǎng)橋/路由器提供一種管理機制以靜態(tài)殖入轉(zhuǎn)發(fā)表。因此,根據(jù)本發(fā)明的本實施例的交換機將模仿自學(xué)式網(wǎng)橋的性能。將對輸入廣播(例如圖23中所示的標(biāo)準(zhǔn)以太網(wǎng)幀)進行剖析并將源地址放入合適的轉(zhuǎn)發(fā)內(nèi)容可尋址存儲器中。這將由獨立于FPGA內(nèi)的包轉(zhuǎn)發(fā)邏輯的嵌入式FPGA微處理器完成。下文詳細介紹了動態(tài)MAC地址新發(fā)現(xiàn)在交換機入口端口處接收到廣播包。包通過轉(zhuǎn)發(fā)邏輯傳遞,直到訊務(wù)導(dǎo)向器將幀經(jīng)由幀F(xiàn)IFO將幀傳遞給移動式管理控制器(MobileManagementController;MMC)。移動式管理控制器將提取數(shù)據(jù)鏈路層報頭的源地址。移動式管理控制器將封裝源地址,并將交換機端口號導(dǎo)入IPMI消息且經(jīng)由基于SPI的IPMI總線將所述消息轉(zhuǎn)發(fā)到載體卡(IPMC)上的微處理器。IPMC將捕獲轉(zhuǎn)發(fā)表高速緩存中的源地址和交換機端口號,基于S醒P的管理實體可經(jīng)由寄存器訪問控制訪問所述轉(zhuǎn)發(fā)表高速緩存。IPMC將內(nèi)容可尋址存儲器更新消息廣播給交換機內(nèi)所有其它的移動式管理控制器。內(nèi)部微處理器將接收內(nèi)容可尋址存儲器更新消息,并通過將所述內(nèi)容可尋址存儲器更新消息的MAC地址以交換機端口號表示的偏移放入內(nèi)容可尋址存儲器條目中來更新其轉(zhuǎn)發(fā)內(nèi)容可尋址存儲器。應(yīng)注意,可能需要大范圍修改所述整個轉(zhuǎn)發(fā)表程序,以支持魯棒性更大的拓樸,即,所附接的LAN區(qū)段上的多個節(jié)點。較佳地,內(nèi)部微處理器讀取32位寬FIF0,以訪問數(shù)據(jù)流中所選的幀。轉(zhuǎn)發(fā)邏輯將"內(nèi)部路由標(biāo)簽"和最前面的32字節(jié)輸入包寫入FIF0。讀取狀態(tài)寄存器以確20定FIFI何時為空。如前所述,可通過寄存器訪問控制機制訪問FPGA控制和狀態(tài)寄存器,由此將IPMI封裝的消息導(dǎo)向到FPGA中的微處理器,然后,所述FPGA執(zhí)行實際的寄存器讀或?qū)?。在一個實施例中,微處理器作為寄存器訪問控制器,其解釋寄存器訪問控制消息、確定消息尋址到哪個轉(zhuǎn)發(fā)邏輯組件/子模塊訪問控制器(子模塊訪問控制器)以及便于子模塊訪問控制器的寄存器訪問。將所得到的狀態(tài)/響應(yīng)返回消息來源。圖22顯示子模塊訪問控制器總線的一個實施例的方框圖。應(yīng)了解,子模塊訪問控制器總線對子模塊而言是獨特的且可能采用多種形式。IEEE規(guī)范規(guī)定,可將PAUSE包的目標(biāo)地址或者設(shè)定為要暫停的站的唯一DA,或者設(shè)定為全局分配的多播地址01-80-C2-00-00-01(十六進制)。另外,網(wǎng)橋?qū)⒉粫D(zhuǎn)發(fā)帶有PAUSE包多播地址的包,以確保幀不會傳播到局部鏈路區(qū)段以外。MAC控制參數(shù)域指定要暫停的位時間數(shù)量,從O到65535。在先前的"暫停"時間到時之前收到的"暫停"將導(dǎo)致新位時間值代替當(dāng)前的"暫停"時間值。這使"暫停"時間能夠被重置為O,從而使訊務(wù)能夠恢復(fù)。較佳地,MAC芯片適應(yīng)兩種流量控制模式。當(dāng)配置為全雙工模式時,MAC芯片能夠自動地產(chǎn)生"暫停"包。通過設(shè)置合適的高、低水印,MAC芯片將管理"暫停"信令的開始和停止,來自SPI-4.2總線的背壓促使MAC芯片入口以FIFO充滿。第二種模式繞過FIFO,并依靠SPI-4.2流量控制消息傳遞來產(chǎn)生"暫停"開始和停止包。將為端口卡上的每一交換機端口維持一端口狀態(tài)機。FGPA邏輯和微處理器兩者都可訪問狀態(tài)機。本文件中所述的狀態(tài)機包含三個基本元素事件、定義的狀態(tài)及在進入該狀態(tài)時執(zhí)行的操作。上文中定義的事件觸發(fā)狀態(tài)躍遷到狀態(tài),而所述狀態(tài)又會執(zhí)行圖24所示的圖示和圖25中的狀態(tài)圖所示的操作。圖32顯示一個實施例,其中通過將可改作的硬件裝置,亦即VirtexLX200通信引擎,耦接到構(gòu)成入口和出口"端口"的VirtexPro4通信引擎來將其配置為48端口交換機。該配置的問題在于,交換機布置僅限于通過將由VirtexPro4通信引擎支持的交換機布置來處理用于所交換的數(shù)據(jù)包的單個協(xié)議。圖33顯示根據(jù)本發(fā)明的一個交換機的具體架構(gòu),其中形成端口處理器引擎和數(shù)字交換機的全協(xié)議處理引擎可能要幺是VirtexLX200通信引擎,要幺是形成智能、可再編程交換架構(gòu)的專用全協(xié)議處理引擎。與圖32中所示的交換機布置不同,圖33中利用根據(jù)本發(fā)明的全協(xié)議處理引擎的實施例提供了一種全協(xié)議交換機/網(wǎng)橋布置,所述布置能夠處理全協(xié)議處理引擎支持的多個協(xié)議中的任何協(xié)議的數(shù)據(jù)包。圖33簡要圖解說明了本發(fā)明的交換機的具體配置。除了在進入狀態(tài)時所產(chǎn)生的事件之外,微處理器需監(jiān)視MAC芯片、SFP,并傾聽IPMI事件和消息,以提供導(dǎo)致交換機端口狀態(tài)躍遷的事件。注意,任何事件可能在任何狀態(tài)下發(fā)生,且必須被捕獲并適當(dāng)?shù)靥幚?。為簡明起見,所述狀態(tài)圖并未顯示所有可能的狀態(tài)躍遷。另外,大多數(shù)事件躍迀導(dǎo)致產(chǎn)生IPMI事件消息,且SNMP可能截留。INIT狀態(tài)是例示端口狀態(tài)機的交換機端口的初始狀態(tài)。當(dāng)首次輸入該狀態(tài)時,SFP啟用,且產(chǎn)生TX一ENABLE事件,除非所述端口已被管理人員禁用。當(dāng)交換機端口進入ENABLED狀態(tài)時,進行檢査以確定是否存在SFP。如果存在SFP,則產(chǎn)生MOD—DETECT事件。將進入FAULTED狀態(tài)的交換機端口視為停機。為躍遷出該狀態(tài),需要人為干預(yù)。MOD—EXISTS-當(dāng)進入此狀態(tài)時,對光信號進行檢查。如果信號正常,則產(chǎn)生SIGNAL—DETECT事件。在SIGNAL狀態(tài)驗證字同步。如果信號已同步,則產(chǎn)生SIGNAL—SYNC事件。SYNCed。在信號同步后,進行檢查,以確定以太網(wǎng)自動協(xié)商是否已完成。如果已完成以太網(wǎng)自動協(xié)商,則產(chǎn)生AUT0一NEG—DONE事件。在UP狀態(tài)中,交換機端口是UP,且能夠?qū)D(zhuǎn)發(fā)到交換機架構(gòu)。然而,尚未了解所連接的節(jié)點的MAC地址。在READY狀態(tài)下,交換機端口是運行的。在本發(fā)明的另一個實施例中,沿與論文"下一代互聯(lián)網(wǎng)協(xié)議流量路由"(由CTOCaspianNetworks公司創(chuàng)始人LawrenceG.Roberts博士在于2003年7月29日在意大利L,Aquila召開的SSGRR2003S國際會議上提供)中所述的流量路由相同的路線、但使用已論述過的全協(xié)議引擎配置來實施無損失包交換。所述論文的內(nèi)容以引用的方式并入本文中。另外,該論文中的內(nèi)容可擴展至在本發(fā)明的全協(xié)議處理引擎中實施端到端流量控制,以符合IEEE802.3AR工作組關(guān)于流量控制和擁塞管理的建議。應(yīng)用于包含本文中所揭示的全協(xié)議處理引擎的一個實施例的級,根據(jù)QOS水平的"暫停"可利用引擎(由三級處理器組成(a)附裝到兩個所需的XAUI接口中每一個的位流處理器;(b)為進行流量識別產(chǎn)生查找密鑰或基于規(guī)則的訊務(wù)優(yōu)先級識別流量分類級;(C)用于向更高層協(xié)議堆?;蚓彌_器管理器產(chǎn)生合適的背壓22通知的處理器級)來實施,以符合IEEE802.3AR工作組關(guān)于流量控制和擁塞管理的預(yù)期建議。在AsifHazarika(ahazirik@fma.fujitsu.com)禾口BobBru匿r(Robert.Brunner@ericsson.com)發(fā)表的論文"為什幺選擇基于優(yōu)先級/類的"暫停"來進行擁塞管理(CongestionManagementWhyPriority/ClassBasedPAUSEisRequired)"P802.3ar中重點介紹了優(yōu)先級識別的需求,所述論文的內(nèi)容以引用的方式并入本文中。于是,塊具有兩個XAUI接口以及一個或兩個使用級處理器實施的SPI4.2接口。在增加訊務(wù)導(dǎo)向器或交換級后,塊也可用于識別輸入流量并導(dǎo)向Crypto引擎,或者基于VLAN標(biāo)記或帶標(biāo)識中的任何其它標(biāo)記來處理引擎。這可利用8SerDesPortXilinx(FX-40)來實施?;蛘撸墒褂肁MC。該卡也滿足第三要求(或者從RTM、或者從前面板選擇XAUI進行1/0)。應(yīng)理解,在由本發(fā)明的全協(xié)議處理引擎進行流量處理方面,如果能夠在每個時鐘周期改變電路的功能,則稱所述電路是可編程的。通常將其稱為處理器。使用指令集架構(gòu)(ISA)和寄存器文件(RF)來定義處理器。這就是被稱為程序設(shè)計員觀點的處理器,且是構(gòu)成處理器的硬件與在所述處理器上執(zhí)行的軟件之間的接口。參見ThomasHenriksson的"包內(nèi)數(shù)據(jù)流協(xié)議處理器(Intra-packetData-FlowProtocolProcessor),,(Link6pingStudiesinScienceandTechnology,第813號專題論文)和JohnL.H印essy與DavidA.Patterson的"計算機架構(gòu):定量方法(ComputerArchitecture:AQuantitativeApproach)',(MorganKaufmanPublishers,Inc.,ISBN1-55860-329-8,1996年第2版),所述論文的內(nèi)容以引用的方式并入本文中。在本發(fā)明背景下,每個周期變?yōu)橐粋€數(shù)據(jù)到達間隔時間,必須在所述間隔時間內(nèi)處理數(shù)據(jù)。類似于ISA,可將全協(xié)議處理引擎的級定義為流量PSA-流量處理集架構(gòu)-且將RF定義為流水線寄存器文件。一個ISA是一組宏代碼,其執(zhí)行取(指令及/或數(shù)據(jù))、解碼、遞延(以獲得更多的數(shù)據(jù))、(對數(shù)據(jù))執(zhí)行(指令)、存儲序列(馮,諾依曼模型)。可類似地表示流量PSA的功能。下文描述將所有IPM控制器連接到本發(fā)明的一個實施例中的機箱所用的IPMI擴展的一個實施例。為更詳細地說明本發(fā)明的實施例的該方面,參考前文中給出的名稱為"帶有硬件/軟件實施的雙重冗余配置的擱架管理控制器(ShelfManagementControllerwithHardware/SoftwareImplementedDualRedundantConfiguration)的臨時專利申請案。圖36A和36B繪示了根據(jù)本發(fā)明的一個實施例的擱架管理控制器或擱架管理控制器230的方框圖。如圖36A和36B的方框圖所示,本發(fā)明提供第一擱架管理控制器310,其與對稱布置的第二擱架管理控制器315以通信方式耦接在一起,以利用具有自動故障轉(zhuǎn)移的工作/備用架構(gòu)來提供冗余的擱架管理功能。在第一實施例中,擱架管理控制器310和315中的每一個在架構(gòu)上是相同的。每一擱架管理控制器310(315)包括運行小規(guī)模操作系統(tǒng)(0S)325(例如,帶有薄堆棧的ucLinux操作系統(tǒng))的獨立處理器320。擱架管理控制器310(315)依靠獨立的電源工作,且通過自動輪詢智能平臺管理控制器(IPMC)235來獲得系統(tǒng)正常變量。擱架管理控制器310(315)經(jīng)配置以檢測異常、記錄事件、產(chǎn)生并傳輸警告以向系統(tǒng)通知異常并啟動恢復(fù)操作。如圖36A所示,每一擱架管理控制器310(315)都連接到至少兩個I2C/IPMB總線IPMB-A270和IPMB-B275。擱架管理控制器310(315)可布置成主動-主動或主動-被動12C/IPMB故障轉(zhuǎn)移模式。本發(fā)明的該實施例設(shè)想統(tǒng)一的消息系統(tǒng),其傳遞抽象化信道(AbCh)上的消息。在本發(fā)明的此實施例中,信道是物理鏈路,例如12C、JTAG、更新信道和自由空間。按照AbCh的觀點,每一信道具有諸如客戶機服務(wù)器信道、對等信道、指示查詢和響應(yīng)方向的主從信道、帶寬方面的容量、延時、以及CoS或QoS、主路徑、替代路徑、反饋信道(例如,響應(yīng)或肯定應(yīng)答消息傳遞)等屬性。假設(shè)屬性可編程或硬件得到(例如)緩沖器協(xié)助??呻S意檢査所有屬性狀態(tài),所以其能夠支持(例如)寄存器。AbCh使消息傳遞系統(tǒng)能夠隨意或隨著系統(tǒng)變化的需求路由消息。較佳地,可使用圖形用戶界面編程工具來為給定的硬件平臺創(chuàng)建一個或多個信道,以將屬性傳遞至硬件平臺以及測量性能、運行仿真等。本領(lǐng)域的技術(shù)人員容易地認識到,在EEPROM上執(zhí)行指令的能力使應(yīng)用程序能夠擴展。再參見圖36A,將根據(jù)本發(fā)明的IPMI消息傳遞系統(tǒng)模型繪示為雙重客戶機-月艮務(wù)器消息傳遞系統(tǒng)。在多個擱架部件之間的客戶機-服務(wù)器消息傳遞方案使用信道抽象層來維持層的獨立性。擱架管理控制器310通過專用的更新信道330和工作控制信道335與擱架管理控制器315以通信方式耦接在一起。更新信道330適合在擱架管理控制器310(315)之間雙向傳輸健全和狀態(tài)信息?;诳蛻魴C-服務(wù)器的消息傳遞系統(tǒng)的兩個例子在每一擱架管理控制器310(315)上運行。在例示性實施例中,在(例如)系統(tǒng)啟動時可指定工作擱架管理控制器310(例如)作為服務(wù)器,此不背離本發(fā)明的范圍。然后,將擱架管理控制器315指定為客戶機。工作擱架管理控制器310在接收到來自IPMC235的狀態(tài)信息時執(zhí)行命令集以實施擱架管理功能。在圖36A和36B圖解說明的實施例中,擱架管理控制器310(315)的獨立處理器320經(jīng)設(shè)置為與位流處理器(BitStreamProcessor;BSP)340進行通信,位流處理器(BSP)340配備有至少一個處理器接口,所述處理器接口對于所有物理接口類型(包括但不限于IPMB上的IPMI、串行端口上的命令行接口(CommandLineInterface;CLI)、Telnet和SSHSecureShell)是通用的。在一個實施例中,擱架管理控制器310(315)包括使用,例如位流處理器340,實施的RCMP-IPMI橋312,位流處理器340橋接RMCP和IMPI消息。在從系統(tǒng)管理器接收到RMCP消息包時,打開包并檢查UDP端口號。如果UDP端口號與IPMI消息匹配,則剝除包的報頭,且封裝IPMI報頭(如果有)。然后,將消息發(fā)送到合適的接口。擱架管理控制器內(nèi)核可能請求"復(fù)制回來"。封裝發(fā)送至系統(tǒng)管理器的IPMI消息并通過系統(tǒng)管理器物理端口發(fā)送。圖37A和37B顯示使用BSP440的I2C硬件有限狀態(tài)機475的示例性實施方案。在本實施例中,BSP是根據(jù)本發(fā)明所述的全協(xié)議位流處理器。配置BSP,以對IPMB-A270和IPMB-B275總線上的位流進行線速包數(shù)據(jù)路徑處理。BSP適合將位流中的位匯編到定義的協(xié)議數(shù)據(jù)(信息)單位,并對匯編好的協(xié)議數(shù)據(jù)(信息)單位進行處理,以便無論遇到的協(xié)議如何都提供線速吞吐量。上述兩種功能都可使用(例如)如下所述的寄存器訪問控制/子模塊訪問控制器(487/489)進行動態(tài)可編程。因此,協(xié)議的信息單位或者適用于協(xié)議數(shù)據(jù)(信息)單位的處理規(guī)則都固有地可以動態(tài)方式更改。在一個實施例中,硬件有限狀態(tài)機475包括配置有所選的流水線級引擎序列的位流處理器440。每一級引擎都帶有不同的、可擴展的且可重新編程的架構(gòu),對于向硬件有限狀態(tài)機475傳輸消息(例如系統(tǒng)正常、溫度、風(fēng)扇轉(zhuǎn)速等)的每一IPMC235,所述架構(gòu)均形成實例化的裝置有限狀態(tài)機(devicefinitestatemachine;DFSM)480。DFSM480較佳針對通往BSP440的級引擎的數(shù)據(jù)流通信進行配置,所述級引擎適合形成消息傳遞有限狀態(tài)機(MFSM)485的實例。通常,硬件有限狀態(tài)機(以及DFSM和MFSM)使用三個基本結(jié)構(gòu)。硬件有限狀態(tài)機維持操作表,其包含當(dāng)FSM處于給定狀態(tài)時在接收到給定事件時要實施的操作;下一狀態(tài)表,其包含當(dāng)FSM處于給定狀態(tài)時在接收到給定事件時要輸入的下一狀態(tài);事件處理程序,其在遇到事件時驅(qū)動進行事件處理、查找并實施所需的操作,以及更新當(dāng)前的狀態(tài)信息。通過寄存器訪問控制487機制可訪問級機器(或BSP或FPGA)控制和狀態(tài)寄存器文件,由此將IPMI封裝的消息導(dǎo)向級機器(或BSP或FPGA)中的微處理器,然后,所述級機器(或BSP或FPGA)執(zhí)行實際的寄存器讀或?qū)?。微處理器作為寄存器訪問控制器,其解釋寄存器訪問控制消息,決定將消息尋址到哪個轉(zhuǎn)發(fā)邏輯組件/子模塊訪問控制器489,并便于子模塊訪問控制器的寄存器訪問。將所得到的狀態(tài)/響應(yīng)返回消息來源。寄存器訪問控制/子模塊訪問控制器487/489提供即時設(shè)置或修改每個裝置(即IPMC235)的消息傳遞方法的方式,從而提供一種實施本發(fā)明的可編程性水平和靈活性的機制。在一個實施例中,硬件有限狀態(tài)機475適合檢測I2C總線故障及裝置故障。如果確定故障是在由IMPC235的其中一個所監(jiān)視的裝置上,則擱架管理控制器310(315)禁止該裝置訪問背板。再參見圖36A,客戶機315使用更新信道330監(jiān)視工作擱架管理控制器310的查詢和響應(yīng),并計算交易的狀態(tài),以及使這些狀態(tài)與工作擱架管理控制器310同步。如果客戶機擱架管理控制器315檢測到擱架管理控制器310中的錯誤條件,則其將所述事件報告給系統(tǒng)管理器265,系統(tǒng)管理器265作為裁判且動作以移除工作擱架管理控制器310,并使備用擱架管理控制器315能夠完成故障轉(zhuǎn)移而不需進行耗時的狀態(tài)更新。盡管本發(fā)明很好地適合在AdvancedTCA順從系統(tǒng)上運行,但其也可在MicroTCA環(huán)境中(其中三態(tài)備用如圖36B中規(guī)定)工作。在另一實施例中,擱架管理控制器310(315)由瘦硬件協(xié)助的協(xié)議堆棧增強。系統(tǒng)的另一實施例實施OS繞過方案,以確保得到超小型和可管理的擱架管理控制器實施方案。主要實施例包括EEPR0M以執(zhí)行指令,例如使用片上系統(tǒng)(System-0n-Chip;S0C)概念的帶有超小型芯片的EEPR0M,其能夠使擱架管理控制器處理器320的功能在節(jié)約成本的基礎(chǔ)上得到擴展。在一個實施例中,使用雙重冗余擱架管理控制器310(315)配置來引入擱架管理控制器的容錯運行。在第一實施例中,通過在硬件有限狀態(tài)機475中增加額外的校驗點狀態(tài)來插入校驗點。當(dāng)硬件有限狀態(tài)機475中的當(dāng)前狀態(tài)是校驗點狀態(tài)時,可啟動校驗點過程。在指示錯誤時,硬件有限狀態(tài)機475可通過專用總線335啟動向擱架管理控制器315的故障轉(zhuǎn)移,且在擱架管理控制器310上啟動恢復(fù)過程,而不會在ATCA擱架中引入異常。可通過重放以其原始順序存儲在擱架管理控制器315上的記錄狀態(tài)來重新產(chǎn)生擱架管理控制器310的故障前狀態(tài)以恢復(fù)擱架管理控制器310的內(nèi)部故障狀態(tài)來完成恢復(fù)過程。在另一實施例中,可使用額外的擱架管理控制器492來增強擱架管理控制器310(315),且通過在保持于三個或更多個擱架管理控制器之間的三個或更多個狀態(tài)備份之間進行表決來獲得正確的狀態(tài)。在一個實施例中,將表決結(jié)果裝載入每一硬件有限狀態(tài)機475的寄存器中,以便解決任何沖突的表決。在圖38所示的本發(fā)明的一個實施例中,顯示了向XUAI雙向橋架構(gòu)提供SPI4.2的位流協(xié)議處理器(或者稱為基于位流協(xié)議處理器的橋,或簡稱為位流協(xié)議處理器)。第一種類型的串行數(shù)據(jù)傳輸接口相當(dāng)于SPI4.2接口,且第二種類型的串行數(shù)據(jù)傳輸接口是XAUI接口。本實施例的位流協(xié)議處理器向XAUI橋提供雙重SPI4.2。SPI4.2提供并行的、點對點、雙向接口。SPI4.2成幀支持高達最多256個端口。使用16個LVDS數(shù)據(jù)信道,以一個完整的包或多個數(shù)據(jù)突發(fā),將數(shù)據(jù)通過SPI4.2幀發(fā)送。附加在子信道數(shù)據(jù)上的控制字報頭描述突發(fā)。使用控制字中的包起點位(S)和包結(jié)束狀態(tài)位(E0PS)來標(biāo)識可能由多個突發(fā)組成的完整包。使用地址位來定義子信道。對于每個子信道,將流量控制和狀態(tài)信息傳輸出帶。接口帶寬范圍可從10Gbit/s(對于低開銷應(yīng)用)到20Gbit/s(對于諸如需要帶寬加速以支持開銷信息的交換機架構(gòu)等應(yīng)用)。應(yīng)看到,對于10GgiE,每一位流協(xié)議處理器可每端口支持10Gbps全雙工,使得有可能達到2.560Tbps交換吞吐量容量。對于40GgiE,每一位流協(xié)議處理器可每端口支持40Gbs全雙工,使得有可能達到10Tbps交換吞吐量容量。通常,應(yīng)認識到,根據(jù)本發(fā)明的全協(xié)議引擎的可重新配置和可編程性允許處理器在多個時鐘速度范圍內(nèi)固有地可擴展。應(yīng)認識到,根據(jù)本發(fā)明的一個實施例的位流協(xié)議處理器能夠在(例如)PC的系統(tǒng)處理器(CPU)和系統(tǒng)存儲器之間提供N個互聯(lián)。N個互聯(lián)中的每一個都可經(jīng)配置以40Gbps的速度傳輸數(shù)據(jù),從而導(dǎo)致擴展的IONGbps吞吐量。SPI4.2是彼此定位在幾英寸內(nèi)的裝置之間的點對點接口。在系統(tǒng)內(nèi),通常期望互連通過背板定位在機箱(Intra-Chassis)內(nèi)不同卡上或定位在不同機箱(Inter-Chassis)上的SPI4.2裝置。在這些情況下,有利的是使用本發(fā)明的串行點對點鏈接,其提供在Intra-Chassis和Inter-Chassis環(huán)境下的高帶寬連接。示例性串行鏈接包括使用PCI-Express的ASI、使用XAUI的以太網(wǎng),以及使用IB的Infiniband。這實際上轉(zhuǎn)化為使用"虛擬線"接口連接數(shù)百個地理上隔離的SPI4.2裝置中的任何兩個。在一個實施例中,本發(fā)明可經(jīng)配置為單板計算機(PC)。在另一實施例中,本發(fā)明提供帶有可拆除的附裝刀片的工業(yè)標(biāo)準(zhǔn)(例如picoTCA)機箱,當(dāng)進行終端用戶升27級時,能夠現(xiàn)場買到所述刀片。為使用串行鏈路或經(jīng)由虛擬線以傳輸控制字(包括端口地址、數(shù)據(jù)和并行SPI4.2接口上可用的帶外流量控制信息),利用隧道協(xié)議。為確保高帶寬利用,這些隧道協(xié)議較佳為輕重量??蓪⑺淼拦δ芮度氲絊PI4.2裝置或可與SPI4.2裝置結(jié)合使用來提供該轉(zhuǎn)換的橋芯片中。為支持利用使用日益成熟的隧道協(xié)議的各種串行接口對SPI4.2裝置之間進行該橋接,所述橋是可編程的。在本實施例中,基于位流協(xié)議處理器的橋提供與XAUI的SPI4.2接口和用于各種隧道協(xié)議的其它串行接口和靈活手段。位流協(xié)議處理器提供附錄A中所述的動態(tài)編程和功能擴展性,附錄A全文并入本文中?,F(xiàn)在參見圖39,其中顯示了位流協(xié)議處理器的另一實施例。在本實施例中,位流協(xié)議處理器直接與前端總線(FrontSideBus;FSB)接口,由此多少省去了結(jié)合圖38所述的位流協(xié)議處理器中的轉(zhuǎn)化過程。另外,圖39中的位流協(xié)議處理器提供細管和粗管并行-串行轉(zhuǎn)換器兩者,因此允許針對粗管配置對一個或多個以太網(wǎng)端口進行選擇性統(tǒng)合。在一個實施例中,位流協(xié)議處理器使得能夠進行線速Q(mào)oS包交換,利用所述線速Q(mào)oS包交換來在以太網(wǎng)內(nèi)實施基于單令牌(token)的通信。使用源地址(SourceAddress;SA)和目標(biāo)地址(DestinationAddress;DA)和諸如VLAN標(biāo)簽的E型來協(xié)商通信鏈路上端點之間的唯一令牌。E型擴展可為例如,請求"唯一標(biāo)識符"或"令牌許可";與許可的令牌進行數(shù)據(jù)通信以及請求收回令牌。一旦令牌得到許可,使用使用源地址和目標(biāo)地址字段連同E型來傳遞短日期。這也可擴展到包括用于STA和SAS的大數(shù)據(jù)塊。在其它實施例中,一旦在端點和連接這些端點的中間節(jié)點之間協(xié)商好唯一標(biāo)識符,則使用固定的幀大小來給鏈路賦予傳輸固定幀時的可預(yù)測性能,且因此滿足各種延時要求。例如,可使用使用源地址/目標(biāo)地址對來傳輸12字節(jié)數(shù)據(jù)、2個E型字節(jié)和2字節(jié)"標(biāo)志",而不是用于常規(guī)以太網(wǎng)包的傳統(tǒng)的64字節(jié)負載。為更詳細地說明本擴展以太網(wǎng)通信技術(shù)的一個實施例,參考前文中標(biāo)識的標(biāo)題為"用于受限鄰域內(nèi)基于唯一標(biāo)識符的縮短數(shù)據(jù)幀的增強以太網(wǎng)協(xié)議"的臨時專利申請案。在另一實施例中,所述同一接口可為Disc(數(shù)據(jù)遵循E-Type和TAG)提供固定的2K塊大小的幀。在這方面,本發(fā)明能夠?qū)崿F(xiàn)可編程的幀大小以太網(wǎng)結(jié)構(gòu),而不是現(xiàn)有技術(shù)的可變幀大小結(jié)構(gòu)。此功能在iTDM類型的應(yīng)用中尤其有用,因為其能夠?qū)崿F(xiàn)在ATCA的范圍內(nèi)封裝TDM訊務(wù)。在一個實施例中,以太網(wǎng)VLAN報頭用作隧道協(xié)議,以使工業(yè)標(biāo)準(zhǔn)以太網(wǎng)交換機能夠被用來交換位于"機箱內(nèi)"或"機箱間"環(huán)境中的任何兩個SPI4.2裝置。本發(fā)明的主要實施例使用吉位以太網(wǎng)(GbE)作為第二數(shù)據(jù)傳輸協(xié)議??墒褂闷渌鼌f(xié)議,而不背離本發(fā)明的范圍。將SPI4.2控制字和流量控制信息轉(zhuǎn)換為標(biāo)準(zhǔn)以太網(wǎng)VL緒報頭。在入口將SPI4.2子信道數(shù)據(jù)與報頭信息封裝起來。在出口,剝除以太網(wǎng)幀的報頭信息并將其轉(zhuǎn)換回SPI4.2幀,并將流量控制信息轉(zhuǎn)化為SPI4.2電信號。另外,位流協(xié)議處理器提供用于嵌入服務(wù)信息的"類"的有效方式,以及用于產(chǎn)生并傳播擁塞管理消息的可編程方式。在一個實施例中,位流協(xié)議處理器經(jīng)配置以支持諸如GbE、PCI-E鄧ress、RGMII、PCI總線和串行總線等接口,以使其成為在ATCA和microTCA系統(tǒng)中使用的理想通用裝置。本領(lǐng)域技術(shù)人員應(yīng)認識到,也可使用其它互聯(lián)技術(shù)(例如,來自MorethanIP公司的XS410吉位以太網(wǎng)和HiGigSPI4.2橋)將SPI4.2接口橋接到XAUI接口,以滿足多個設(shè)計要求,例如裝置橋接(例如,NPU橋接到以太網(wǎng)交換機)、串行背板應(yīng)用、S0NET/SDH上的包或S0NET/SDH上的以太網(wǎng)應(yīng)用。本發(fā)明提供的互連通過背板定位在"機箱內(nèi)"的不同卡上或定位在"機箱間"的SPI4.2裝置的功能使本發(fā)明的一個實施例能夠?qū)崿F(xiàn)基于標(biāo)準(zhǔn)的PC,例如,基于picoTCA或microTCA標(biāo)準(zhǔn)的PC架構(gòu)。圖38和39中圖解說明的位流協(xié)議處理器的一個實施例有利地利用寄存器訪問控制/子模塊訪問控制器控制器,其將動態(tài)編程和功能可擴展性賦予給位流協(xié)議處理器。使用寄存器訪問控制/子模塊訪問控制器控制器結(jié)構(gòu)對位流協(xié)議處理器進行即時編程。可使用此功能對位流協(xié)議處理器駐留在其上的刀片(板)進行配置。在一個實施例中,使用即時動態(tài)編程功能來接通或關(guān)閉刀片(板),由此將刀片納入到移出計算機系統(tǒng)。在另一實施例中,可使用即時動態(tài)編程功能來改變橋的特性,以便使其橋接在(例如)SPI4.2和PCI-Express之間。本領(lǐng)域技術(shù)人員將認識到,可使用寄存器訪問控制/子模塊訪問控制器控制器在本發(fā)明范圍內(nèi)實施其它配置變化。例如,可使用可編程性來針對通過計算機系統(tǒng)的不同訊務(wù)流量實施真實的端對端QoS。在另一實施例中,位流協(xié)議處理器能夠?qū)崿F(xiàn)按優(yōu)先序排列的交換。結(jié)合前一段中所述的模塊化和可擴展picoTCAPC架構(gòu),本發(fā)明使得能夠形成多處理器的N層分層,其中N既獨立于硬件,又可通過改變給予位流協(xié)議處理器仲裁架構(gòu)中不同處理器子集的優(yōu)先級來動態(tài)選擇。本實施例使PC能夠被配置為共享存儲器型機器以29及消息傳遞型多處理器機器?;蛘撸蓪⒏鶕?jù)本發(fā)明的一個實施例的PC配置為服務(wù)器、存儲區(qū)域網(wǎng)絡(luò)控制器、基于網(wǎng)格計算的模型中的高性能網(wǎng)絡(luò)節(jié)點或電信網(wǎng)絡(luò)中的交換機/路由器。應(yīng)認識到,在需要時,可將同一基本機器通過編程方式或手動方式改變?yōu)榍拔乃龅奶厥饽康臋C器中的一種或多種。本領(lǐng)域技術(shù)人員在閱讀本揭示內(nèi)容后易于對所述方法進行各種變更。本發(fā)明的范圍不受上文中的內(nèi)容限制,其僅受前文中的權(quán)利要求限制。附錄A代理檔案號3510.35WO011)狀態(tài)機(假定第63位為最低存效位(msb),并假定第O字節(jié)為最高有效位(MSB))輸入(地址IO位)狀態(tài)(5位〉狀態(tài)變量,允許32種狀態(tài)。通常只是狀態(tài)輸出(下一狀態(tài))的寄存形式,其可根據(jù)査找結(jié)果等而發(fā)生變化。參見下一狀態(tài)(NextLayer/State)部分。輸入(5位)狀態(tài)機的控制輸入。這5位是多路復(fù)用器的輸出,該多路復(fù)用器用于選擇各種比較器輸出、來自前一狀態(tài)的旗標(biāo)、以及數(shù)據(jù)等等。輸出(49位)5位開放狀態(tài)(5位)狀態(tài)變量。饋送至下一狀態(tài)邏輯。參見狀態(tài)輸入部分的說明。RegWn(3位)寄存器寫入啟用信號,兼甩于層碼(LayerCode)寄存器與內(nèi)用寄存器。(64位寄存器)0:寫入被禁用1:寫入通用寄存器。RegVal是要寫入的數(shù)據(jù)的位置。2:寫入LayerCode2。RcgVal是值。3:寫入VLAN。RegVal是VL八N的數(shù)量4:寫入MPLS。RegVal是MPLS標(biāo)記的數(shù)量5:寫入LayerCodc3。RcgVal是直。6:寫入LayCTCode4。RcgVal是值。7:寫入LaycrCodeN,RegVal是值。該寄存器是用戶自定義的。RegVal:(4位)若RcgWr/二1,則這是要寫入寄存器中的值。若RegWr^.則這是要寫入的數(shù)據(jù)的末尾四位字節(jié)(右對齊)。r關(guān)f"7mA游凝要說銀,LUen:(1位)査找it機存取存儲器(LookUpRAM)(及比較器)的啟用0:啟用Comp0a及CompLT1:啟用LU及ComplLU—siz'e:(l位)所耍執(zhí)行的査找(LookUp)的大小0:8位1:16位LUstage:(l位)用亍査找的流水線級選擇器?!?:級11:級2LU—nib:(4位)所要査找的數(shù)據(jù)的末尾四位字節(jié)(右對齊)。CompEn:(1位)比較器的啟用。0:啟用Comp0a、Comp0b及CompLT1:啟用Compl及Comp2Comp8yte:'(3位)Comp0a、CompLT及Compl的末尾字節(jié)CompByte2:(3位)Comp0b及Comp2的末尾字節(jié)CompSel:(3位)用千ConipOa、CompLT及Compl的寄存器陣列中的比較值/掩碼選擇器CompSel2:(3位)用于CompOb及Comp2的寄存器陣列中的比較值/掩碼選擇器CountSize:(2位)規(guī)定計數(shù)值字段中的(直的單位人小0:8位???2:32位(IPv4,TCP)1:16位??')3:64位(IPv6)CountSei:(1位)選擇如何填充計數(shù)器寄存器0:計數(shù)器寄存器被寫入CountVal中的值。I:if數(shù)器寄存器被寫入以CountVal所指向的四位字節(jié)結(jié)尾的數(shù)據(jù)(右對齊)。CountVal:(4位)老CountSel=0,則該值寫入到計數(shù)器寄存器。若CountSel二l,則四位字1T'Et量(右劉齊)寫入到計數(shù)器寄存器。由羋零值啟用寫入..CountStage:(2位)用于寫入到計數(shù)器寄存器的流水線級選擇器.,SOL:(2位)指示新的層于目前數(shù)據(jù)字中的何處開始。饋送SOL輸入。Tag:(5位)標(biāo)簽(Tag)指示吝層開始及結(jié)束于何處,,其定義參見第胖部分。Error:(l位)錯誤麻標(biāo)。(待決定(TBD):編碼可被共享或?qū)S谩?<image>imageseeoriginaldocumentpage34</image>2)比較器/査找配置表(己過時)元件啟川炎,人小Comp0a!CompEn32Comp0b!CompEn32CompL丁!CompErt&L丁,GT32!L(J一enComp1CompEn32Comp2CompEn32LU—enLookUp(U—SiZ8末尾7節(jié)/與下列四位T.節(jié)相比較結(jié)果CompByteCompSefCompByte2。ompSei2Co/ripByleCompSelComp已yteCompSelComp8yte2CompSel2LU—nibCompACompBLUhit*CompACompBUJhit'ConipLT及LU不能問時山現(xiàn)ConipACompBenable二IC卿EnCo,Se232位數(shù)據(jù),在字節(jié)邊界上右對開流水線級0流水線級1比較器詳圖353.LookUP/NextState(査找/下一狀態(tài))邏輯查找(LookUp)協(xié)議的最終輸出是決定有限狀態(tài)機(FSM)的下一狀態(tài)。對于這2個端口中的每一端口,査找區(qū)塊隨機存取存儲器(LookUpBRAM)的輸出均為18位。對于大于IO位的查找項(例如E-type),査找數(shù)據(jù)將在這些端口之間劃分。這2個端口的輸山向^^各被進行及(AND)運算,并以o加-hot方式對各結(jié)果行(resultlines)進行解碼,從而允許存在18種獨特的協(xié)議。(將區(qū)塊隨機存取存儲器從lkxl8改變成512x36將可提供36種可能的協(xié)議,但是定對...)。存在包含"下一狀態(tài)"的一組18個寄存器,其中每一寄存器均對應(yīng)于一輸出行/助'議。數(shù)據(jù)包起點(StartofPacket;SOP)及數(shù)據(jù)包結(jié)尾(EndofPacket;EOP)也將具有對應(yīng)的狀態(tài)寄存器?;蚋瑬苏覅^(qū)塊隨機存取存儲器的輸出可以是一種直接處于最低5位中的狀態(tài)。這是通過對上端口輸出進療編碼加以指示。該編碼被饋送至比較器,以參照一寄存器進行核對。這兩個狀態(tài)向量被饋送^下一狀態(tài)多路復(fù)用器。來自有限狀態(tài)機的下一狀態(tài)向下一狀態(tài)邏輯提供第三輸入狀態(tài)。數(shù)據(jù)包起點及數(shù)據(jù)包結(jié)尾具有對應(yīng)的狀態(tài)寄存器,這些狀態(tài)寄存器也屬于輸入。然后,寄存該結(jié)果狀態(tài)并將其反饋給有限狀態(tài)機。<image>imageseeoriginaldocumentpage36</image>4.以太網(wǎng)狀態(tài)圖實例<formula>formulaseeoriginaldocumentpage37</formula>5.以太網(wǎng)指令的實例以下是i舒旨令實例中字節(jié)順序的位/字節(jié)基準(zhǔn):<table>tableseeoriginaldocumentpage38</column></row><table><table>tableseeoriginaldocumentpage38</column></row><table>v副(級o)CompOaGompOcSOL(0}(fCompOaandCompOc〈V湖s》Comparebytes7:6forV園(Va/Comparebytes3:2forVIANifSOL-1then#VLAN+3Else#VLAM+2Inputselect4comp's/SOl_(0)CompVai=0CompSel=0RsgVal=2or3SOL=x0lnputSel=1'(級!)'(級0)ElsifCompOa(VLAN)'iookupEtype(3:2)Comparebytes7:6forMPLSbottom(Va/3〕Comparebytes5:4forIPX(4Pv4)Comparebytes3:2forMPLSbottomComparebytes1:0forIPX^v4^then扭VLAN+2Else亂AN+1SOL-,1f叩utselect4comps/SOL(0)CompVal=3LULlJ—nib=4LUstage-1R^fWr=3RsgV3l=1or2(級I)(級0)Eise(E-type),lookup(7:6)Comparebytes3:2forMPLSbottom(Va/》Comparebytes1:0forIPX({^v4)Comparebytes7:6forMPLS隨。mComparebytes5:4foNPX(W^v4)!fSOL"then并VLAN"e〖senochsngeSOL:0一2)Inputseiect4comps/SOI_(0〉CompVal=3LUev=1LlJ—nib=cLUstage=1RegVal=0or1SOL=x0lnputSel=1LLJWaUSNAP(級o)CompO曰CompObCompOcIfComp0a/Comp0b(SNAP)&CompOc(VLAN)Comparebytes7:6forVLAN一Comparebytes3:21orVLANSOL-xxInputselect4comps/SOL(0)CompVai=1CompSel=0RegWn=3SOL-xxVLAN(級1)(級0)ElsffConipOa/CompOb(SNAP),LookupE-type(3:2)ComparebyWs7:6forMPLSbottom/Va/"Co,reb,s5:4for!PX(IPv4)Comparebytes3:2forMPl_SbottomComparebytes1:0forPX(^v4)Inputselect4comps/SOL《0)CompVal=3CompSel=0LUsize=16LlJ—nib=4l_Ustage=1LUWaUElse,gotoP白yload802.2a(級2)CompOaComp1dIfComp1d(xFFFF,802,3withIPX)SOL=x1Inputselectflags(7,SCX(O〉forsure)IPX39<table>tableseeoriginaldocumentpage40</column></row><table><table>tableseeoriginaldocumentpage41</column></row><table><table>tableseeoriginaldocumentpage42</column></row><table><table>tableseeoriginaldocumentpage43</column></row><table><table>tableseeoriginaldocumentpage44</column></row><table><table>tableseeoriginaldocumentpage45</column></row><table><table>tableseeoriginaldocumentpage46</column></row><table><table>tableseeoriginaldocumentpage47</column></row><table><table>tableseeoriginaldocumentpage48</column></row><table><table>tableseeoriginaldocumentpage49</column></row><table>6.層的標(biāo)簽(初歩標(biāo)簽)00空值/空閑可只描入各個幀之間01'有效數(shù)據(jù)(不是其它類型的)02前32位中L2的開始及Payload的幵始03在全部64位中L2的開始04在前32位中L2的開始,緊接著在后32位中L2.5的開始05在前32位中L2的開始,緊接著在后32位中L3的開始06在前32位中L2的開始,緊接著在后32位中Payload的開始07L2預(yù)留在^部64位'+—L'2.5—M'井始在后32位中L2.5的開始在前32位中L2.5的開始,緊接著在后32位中L3的開始在前32位中L2.5的開始,緊接著在后32位中Payload的丌始L2.5預(yù)留左全部64位中L3的開始在后32位中L3的開始在前32位中L3的開始,緊接著在后32位中L4的開始在前32位中L3的開始,緊接著在后32位中Payload的開始U預(yù)留在全部64位中L4的開始在后32位中L4的開始L4預(yù)留16在前32位中Payload的開始17在后32位中Payload的開始18EOPa,所有字節(jié)均有效19EOPb,并非所有宇節(jié)均有效。MSBytc(其肯定無效)包含有效字節(jié)的數(shù)量1aEOPa及在前32位屮L4的開始1bEOPa及在后32位中L4的開始■1cEOPb及在前32位中L4的開始1c(EOPb及在后32位中L4的開始化可用戶自定義1f可用戶自定義SAP值04舊MSNA06*IP803ComAA*SNAP8C8呵anEO*Novell(IPX)F4LANManagerFE893bcdsfo1-234一附錄B代理檔案號3510.35WO01UfeofaPacket12附錄B1—IPMl擴展12.1消息智能平臺管理總線(IPMB)被定義為一種用于連接底板中所有智能平臺管理(IPM)控制器的雙車行總線(dua!scria!bus)。智能平臺管理總線協(xié)議是一種請求/回應(yīng)型的消息接發(fā)體系,其指示一請求的來源及目的地以及預(yù)定的命令值,該預(yù)定的命令值用于指示該請求來源所^^行的操作。與該命令請求相關(guān)的ii何數(shù)據(jù)字節(jié),均跟隨在命令字節(jié)后面、校驗和之前。以下各表顯示各請求及回應(yīng)消息的主體。智能平臺管理總線請求字節(jié)7&1543I2I10字節(jié)0rsS.A字節(jié)1rsLUN字節(jié)2字節(jié)3rqSA7:節(jié)4rqSEQjrqLUN7'節(jié)5cmd字節(jié)6檢查和1IM1響應(yīng)字節(jié)'—'■位位置.....6543210字節(jié)0rqSA(目的地)字節(jié)1netFnrqLUN字節(jié)2檢查和字節(jié)3.——喊雄),字節(jié)4rqSEQrsLUN字節(jié)5cmd字節(jié)6教據(jù)字節(jié)()W7字節(jié)n教據(jù)字節(jié)n';':節(jié)n+1檢査和rsSA:應(yīng)答器的從地址rqSA-請求器的從地址rsLUN/rqLUN-應(yīng)答器/請求器的LUNnetFn-網(wǎng)絡(luò)功能(所有CENIPMI擴展消息將為us0x31)cmd-所要執(zhí)行的摔作Page化of2452U'feofaPacket檢査和-前面各字節(jié)的2的補數(shù)之和。CHECKSUM在開始時被設(shè)定為0,對于毎一后續(xù)字節(jié)CHECKSUM=(CHECKSUM+databyte)modulo256。在將校驗和寫入該消息之前CHECKSUM=CHECKSUM。在接收到之后,將消息字節(jié)與校驗和相加后進行以256為模的運算,結(jié)果值為O即表明數(shù)據(jù)有效。所有CENIPMI擴展消息(請求及回應(yīng))均包含單字節(jié)的報頭,用以指示要根據(jù)下表進行的擴展運算CENIPMI擴展命令<table>tableseeoriginaldocumentpage53</column></row><table>12.1.1RAC消息RAC消,Q、川P讀取轉(zhuǎn)發(fā)邏輯中的寄存器數(shù)據(jù)。下表顯示RAC消總的格式。RAC消總為:RAC請求消息格式<table>tableseeoriginaldocumentpage53</column></row><table><table>tableseeoriginaldocumentpage54</column></row><table><table>tableseeoriginaldocumentpage55</column></row><table><table>tableseeoriginaldocumentpage56</column></row><table>LJfeofaPacket字節(jié)7預(yù)留字節(jié)6預(yù)留字節(jié)5預(yù)留字節(jié)4預(yù)留TX狀態(tài)!35:29J字節(jié)3TX狀態(tài)I28:211字節(jié)2TX狀態(tài)[26:13J.''字節(jié)lTX狀態(tài)[li'51字節(jié)OTX狀態(tài)I4:(HTX'.奇偶性TX同步RX同步表6SPI4.2PHY/SPI4.2配置寄存器位位置76543210字節(jié)7預(yù)留字節(jié)6預(yù)閨字節(jié)5—預(yù)閨.字節(jié)4預(yù)留字,3一預(yù)留字節(jié)2預(yù)留字節(jié)1預(yù)留字節(jié)O操作清零1RDR一直開始回送UC2DRUCDRUCDR-user—clk域復(fù)位UC2DR-user—elk—2x域復(fù)位LOOP-RX至TX回送*開始-開始診斷測試一直-無限地運行測試RDR-rdclkdcm復(fù)位,清零-將成功/不成功計數(shù)器清零操作-使界面処于操作模式'忽略回送和診斷模式表7XAUISYS/A/XC40/XC50f滯/鄰:(;A^"E危a'—…微淳纖魏W^Pi761543■210字節(jié)7.'預(yù)留Paga23of2457<table>tableseeoriginaldocumentpage58</column></row><table>權(quán)利要求1.一種全協(xié)議數(shù)據(jù)包處理引擎,其用于管理處理器與具有至少10吉位/秒的線速的高速網(wǎng)絡(luò)架構(gòu)之間的數(shù)據(jù)包通信,所述數(shù)據(jù)包處理引擎包括所述數(shù)據(jù)包處理引擎的入口部分,其包括多個入口位流級處理器,每一入口位流級處理器均具有該入口位流級處理器所獨有的可編程控制存儲器;與所述處理器之間的入口處理器接口;與所述網(wǎng)絡(luò)架構(gòu)之間的入口網(wǎng)絡(luò)接口;以及多端口數(shù)據(jù)流包存儲器,其可操作地連接到所述多個入口位流級處理器、所述入口處理器接口以及所述入口網(wǎng)絡(luò)接口;以及所述數(shù)據(jù)包處理引擎的出口部分,其包括多個出口位流級處理器,每一出口位流級處理器均具有該出口位流級處理器所獨有的可編程控制存儲器;與所述處理器之間的出口處理器接口;與所述網(wǎng)絡(luò)架構(gòu)之間的出口網(wǎng)絡(luò)接口;以及多端口數(shù)據(jù)流包存儲器,其可操作地連接到所述多個出口位流級處理器、所述出口處理器接口以及所述出口網(wǎng)絡(luò)接口;其中,所述位流級處理器中每一個的所述控制存儲器均可基于為一個或多個數(shù)據(jù)包的給定數(shù)據(jù)流確定的多個協(xié)議中的其中一個協(xié)議進行單獨的、有選擇的動態(tài)編程,且所述位流級處理器通過所述多端口數(shù)據(jù)流包存儲器將所述給定的數(shù)據(jù)流處理為位流數(shù)據(jù)流,以使所述多個位流級處理器對所述給定數(shù)據(jù)流進行的處理根據(jù)所述位流數(shù)據(jù)流進行定時,且所述位流數(shù)據(jù)流是以一速率建立,所述速率使用于所有所述多個協(xié)議的所述數(shù)據(jù)包處理引擎能夠?qū)嵸|(zhì)上以至少等于所述高速網(wǎng)絡(luò)架構(gòu)的所述線速的速度連續(xù)運行。2.如權(quán)利要求1所述的數(shù)據(jù)包處理引擎,其特征在于所述數(shù)據(jù)包處理引擎的所述入口部分的所述多個位流級處理器包括輸入級位流處理器,其與所述入口網(wǎng)絡(luò)接口的物理層介接,且根據(jù)針對所述給定數(shù)據(jù)包確定的所述多個協(xié)議中的其中一個協(xié)議,建立所述位流數(shù)據(jù)流的幀;輔助級狀態(tài)機,其根據(jù)針對所述給定數(shù)據(jù)包確定的所述多個協(xié)議中的其中一個協(xié)議來剖析所述幀;訊務(wù)級處理器,其對由所述輔助級狀態(tài)機所剖析的所述幀進行幀處理;調(diào)度器級處理器,其管理來自所述訊務(wù)級處理器的所述幀的輸出;以及輸出級位流處理器,其將來自所述經(jīng)調(diào)度的狀態(tài)處理器的所述幀與所述入口處理器接口的物理層進行介接。3.如權(quán)利要求2所述的數(shù)據(jù)包處理引擎,其特征在于當(dāng)所述輔助級狀態(tài)機剖析所述幀時,所述輔助級狀態(tài)機利用密鑰查找布置,所述密鑰查找布置包含可編程的超長指令字流量分類器,所述流量分類器使所述密鑰查找布置的密鑰產(chǎn)生流水線化。4.如權(quán)利要求2所述的數(shù)據(jù)包處理引擎,其特征在于將所述訊務(wù)級處理器構(gòu)建為具有多個區(qū)段的數(shù)據(jù)流處理器,其中根據(jù)針對所述給定數(shù)據(jù)流確定的所述多個協(xié)議中的所述其中一個協(xié)議,動態(tài)構(gòu)建所述訊務(wù)級處理器內(nèi)的所述多個區(qū)段。5.如權(quán)利要求1所述的數(shù)據(jù)包處理引擎,其特征在于所述位流級處理器的至少一部分使用仲裁或時分多路復(fù)用方法中的其中一種方法與相應(yīng)的多端口數(shù)據(jù)流包存儲器進行介接,以便在處理所述給定數(shù)據(jù)流中的部分或所有數(shù)據(jù)時不需要所述位流級處理器中的每一個均復(fù)制該數(shù)據(jù)。6.如權(quán)利要求l所述的數(shù)據(jù)包處理引擎,其特征在于所述位流級處理器中的每一個的所述控制存儲器可選自指令存儲器或狀態(tài)存儲器中的其中一個,且可使用寄存器訪問控制和子模塊訪問控制系統(tǒng)進行單獨的、有選擇性的動態(tài)重新配置和編程。7.如權(quán)利要求6所述的數(shù)據(jù)包處理引擎,其特征在于所述寄存器訪問控制和子模塊訪問控制系統(tǒng)由圖形用戶界面控制,所述圖形用戶界面管理所述數(shù)據(jù)包處理引擎的代碼產(chǎn)生、流量控制、性能報告、診斷和維護。8.如權(quán)利要求l所述的數(shù)據(jù)包處理引擎,其特征在于所述高速網(wǎng)絡(luò)架構(gòu)選自由以下網(wǎng)絡(luò)組成的集合存儲器網(wǎng)絡(luò)、通信網(wǎng)絡(luò)、處理器網(wǎng)絡(luò)、或其任一組合。9.如權(quán)利要求l所述的數(shù)據(jù)包處理引擎,其特征在于進一步包括多端口高速數(shù)據(jù)包交換機,.其中多個數(shù)據(jù)包處理引擎分別可操作地連接到所述多端口交換機,以形成全協(xié)議橋布置,且其中所述多個數(shù)據(jù)包處理引擎中的每一個都連接到使用不同協(xié)議進行通信的不同高速網(wǎng)絡(luò)。全文摘要本發(fā)明提供一種可重新配置的且與協(xié)議無關(guān)的位流處理引擎以及相關(guān)的系統(tǒng)和數(shù)據(jù)通信方法,其適合實現(xiàn)在以至少10吉位/秒的速度運行的高速網(wǎng)絡(luò)之間提供架構(gòu)間互操作性的目標(biāo)。所述位流處理引擎作為全協(xié)議的多級處理器運行,其可配置有合適的交換機和相關(guān)的網(wǎng)絡(luò)組件以形成無縫網(wǎng)絡(luò)架構(gòu),所述無縫網(wǎng)絡(luò)架構(gòu)不僅實現(xiàn)現(xiàn)有各種通信協(xié)議之間的互操作性,而且能夠適應(yīng)將來的通信協(xié)議。本發(fā)明的方法和系統(tǒng)適用于包括存儲器網(wǎng)絡(luò)、通信網(wǎng)絡(luò)和處理器網(wǎng)絡(luò)在內(nèi)的網(wǎng)絡(luò)。文檔編號G06F13/00GK101578590SQ200680039455公開日2009年11月11日申請日期2006年8月23日優(yōu)先權(quán)日2005年8月23日發(fā)明者B·斯塔克,R·霍舍巴奇,V·沙爾瑪,W·儲申請人:Slt邏輯有限公司