網絡處理器
如果你問Intel和AMD宣布的1GHz以上的PC處理器會用到哪里,那就讓我告訴你最熱的領域是網絡和通信。5年以來,網絡的傳輸速度每年翻一番,再快的處理器都不愁沒地方用。
本文引用地址:http://www.ex-cimer.com/article/2811.htm由于有了光纖,傳輸媒介的速度已不成問題。但是,信息包(packet,在ATM中稱為信元,即cell) 通過路由器和交換機時,對包處理的最低要求是確定每一個包的下一個目的地,在龐大的路由表中找到它的IP(Internet Protocol)地址,然后轉發(fā)出去,而這一切必須在下一個包到達之前做完。障礙就出現在這里。
為了應付日益繁忙的信息流,網絡的速度在幾年前是155Mb/s(SONET的OC-3標準),而現在已經到10Gb/s(OC-192),2~3年內又會提高到40Gb/s(OC-768)。
當速度比較慢時,通用的處理器完全趕得上數據流,因此并不需要專門的網絡處理器(network processor)。后來,通用處理器不夠快了,設計者就轉向ASIC(專用集成電路)。
ASIC在完成規(guī)定的處理工作方面是非常卓越的,但它有兩個缺點:一是開發(fā)的周期太長,復雜的ASIC要18個月到2年時間。路由器或交換機要增加新的功能,制造商需要等待的時間太長;第二,ASIC不是可編程的,要修改就必須經歷一個設計和制造的周期,適應不了當今越來越短的產品開發(fā)周期。
直到1999年,還很少有人知道一種專門處理包的處理器,即網絡處理器。它同通用的處理器的不同之處在于:網絡處理器是為優(yōu)化包處理而設計的,它將包以其到達的速度(即線速)送到下一個節(jié)點;而通用處理器則要處理范圍很大的各種指令。另外,如果需要新的功能或新的標準,網絡處理器可通過編程來實現,以滿足各種各樣的網絡應用。
對于網絡處理器的計算能力的需求,不單取決于數據速率,還同如何處理這些數據有關。其中最簡單的工作是根據包頭部的信息確定將包送到哪里,按照ISO(國際標準組織)的OSI(互連開放系統(tǒng))的7層協(xié)議模型,以上所說的地址解析和路由屬于第2層到第4層。
更復雜的處理,例如按用途的計費和負荷平衡等,要求處理器分析包負荷的內容,涉及同應用程序有關的數據管理和處理。例如,按用途的計費需要收集用戶的信息,以處理帳單和對網絡進行分析,處理器的工作包括監(jiān)視登錄以識別用戶,檢出登錄信息,然后匹配用戶的文件和收費政策表,并在負荷中找出關鍵字,這就屬于OSI的第5到第7層協(xié)議了。
網絡處理器還剛剛在市場上露頭,只有Intel的IXP1200和MMC(www.mmcnet.com)的用于1Gb/s以太網的nP7120建立了生產線。另有兩種用于OC-48(2.5Gb/s)的網絡處理器,即Vitesse(www.vitesse.com)的1Gb/s以太網處理器IQ2000和IBM的PowerNP NP4GS3,以及Agere Systems(www.agere.com)的Payload Plus在2000年第四季度投產,因此去年只有少量的網絡處理器產品在市場出售。
有三家公司正在設計和開發(fā)用于10Gb/s和全部7層協(xié)議的網絡處理器,即Xstream Logic(www.xstreamlogic.com)的動態(tài)多線程(DMS)處理器核,一家以色列的公司Ezchip(www.ezchip.com)的NP-1,和Lexra(www.lexra.com)公司的NetVortex。
Lexra公司既不生產也不銷售以NetVortex為基礎的片子,而是將NetVortex的知識產權出售給客戶,讓他們把NetVortex同他們自己的電路集成到更大的網絡處理系統(tǒng)中,以適應性能和價格的目標。
NetVortex結構的基礎是Lexra公司的LX8000包處理核,這是一種32-bit的MIPS3000精減指令處理器(RISC)。16個LX8000可以通過高速總線相連接,形成一個多處理器系統(tǒng),用這樣的結構組成的原型系統(tǒng)可在10Gb/s速率下執(zhí)行全部的7層網絡協(xié)議,有的用戶甚至用到OC-768(40Gb/s)。
在10Gb/s速率下執(zhí)行7層協(xié)議的處理可不是一件輕而易舉的事,在這種情況下,64Byte的包的處理時間只有12個時鐘周期,這是很緊張的。
Ezchip公司把10Gb/s網絡處理器的功能劃分為四,對每一種功能優(yōu)化設計了一種處理器核,組成四級流水線。 NP-1一共有64個核,每一級流水線都有一些適當的處理器核。
NP-1的數據的寬度256~512bit,而不是通用處理器用的32或64bit。
然而,在OSI的高層處理包時,涉及持續(xù)地包存取和查找表搜索,所以即使有這樣高度優(yōu)化的處理器結構,存儲器訪問仍然是一個瓶頸。對于10Gb/s的處理器,需要500Gb/s的存儲帶寬和至少128MB的容量。因此Ezchip設計了高帶寬的幾兆字節(jié)片內動態(tài)RAM,和大容量的片外雙倍速DRAM。Ezchip還有一種專利的高速搜索方法,使得從存儲器中取出數據的時間減少約2/3。
Ezchip原定于2001年2月推出它的NP-1,現已延遲到2001年6月,大量生產則要到2002年的上半年。2000年11月,IBM和Ezchip宣布,IBM將要用其0.18mm的ASIC技術生產NP-1樣機,在批量生產時,改用0.12mm的銅互連技術。
同Ezchip建立一種新的結構的做法不同,Xstream采用類似MIPS的結構。MIPS是在八十年代早期由斯坦福大學開發(fā)的處理器,它的指令集已相當普遍地用于現在的路由器、交換機之中,人們已經熟悉了MIPS指令,而且有許多開發(fā)工具可供采用,Xstream采用MIPS著眼點就在于MIPS指令已經為通信行業(yè)的設計者所普遍地接受這一點。
但是,與通用的微處理器不同,網絡處理器要求在OC-192的速率下執(zhí)行復雜的OSI七層協(xié)議。為此Xstream開發(fā)了動態(tài)多線程(Dynamic Multi Streaming,DMS) 處理核和智能包管理單元 (intelligent Packet Management Unit,PMU)。
DMS使用戶可以在一個時鐘周期內安排8個線程,每個線程可以有4個指令。在這32個指令中,DMS保證在一個時鐘周期內有至少6個指令同時執(zhí)行,即IPC(Instruction Per Clock)>6,而PowerPC或Pentium的IPC僅稍大于1。PMU的工作則是把包存入存儲器,或由存儲器取出交給處理器,以最大限度地減輕處理器的負擔。
網絡處理器正在得到一些大的半導體公司的注意,它們紛紛收購有專長的小企業(yè)。Vitesse在去年并購了Sitera(www.sitera.com),一家開發(fā)了Prisma網絡處理器的小公司。Broadcom(www.broadcom. Com)在2000年12月以20億美元的巨資購買了從事網絡處理器合成的公司SiByte(www.sibyte.com,其網絡處理器產品為Mercurian SB-1250)。Lucent Microelectronics 先是在去年春購入了Agere(www.agere.com),開發(fā)其Payload Plus,繼之將其微電子業(yè)務連同Payload Plus和在一起成立一個新公司,名字仍叫Agere Systems。
Motorola把C-Port 公司(www.cportcorp.com)的C-5處理器(由公司開發(fā))其它通信和數字處理技術第三方的軟件以及開發(fā)工具合成為網絡系統(tǒng)的設計平臺。這樣,網絡設備的制造公司如Cisco、Ericsson和Nortel就可以把Motorola的處理器同第三方的軟件混合使用在它們的產品中,而不是樣樣都由這些公司自己設計。
有人估計,網絡處理器的產值將以每年60%的速度急速增長,到2004年達到29億美元。到那時,網絡處理器將出現在幾乎每一臺網絡設備之中。■
評論