隨著網(wǎng)絡(luò)規(guī)模和接口速度的增加,基于通用RISC技術(shù)的網(wǎng)絡(luò)設(shè)備無法在性能上滿足線速處理要求;另一方面新的網(wǎng)絡(luò)通信協(xié)議、標(biāo)準(zhǔn)不斷出現(xiàn)或變化,用戶的需求也在不斷變化之中,使得數(shù)據(jù)通信產(chǎn)品的更新?lián)Q代周期迅速縮短。在這種背景下,網(wǎng)絡(luò)處理器(Network Processor,NP)為下一代通信產(chǎn)品的設(shè)計(jì)提供了一種靈活的解決方案。
網(wǎng)絡(luò)處理器是一種專用于網(wǎng)絡(luò)通信設(shè)備的通用芯片,是一種開放式的、多樣化、可編程的開發(fā)環(huán)境,允許不同的設(shè)備供應(yīng)商采用同樣的芯片制造出各自不同功能和特色的網(wǎng)絡(luò)設(shè)備。網(wǎng)絡(luò)處理器芯片專門針對通信功能進(jìn)行了優(yōu)化,綜合了RISC芯片和ASIC的優(yōu)點(diǎn)——既像RISC可以軟件編程、提供足夠的靈活性來適應(yīng)數(shù)據(jù)通信市場高速的發(fā)展,又具有ASIC那樣的高性能,但又不象ASIC那樣需要長達(dá)12個(gè)月的開發(fā)周期。通過下載不同的程序,同樣的硬件平臺(tái)可以支持Vlan交換機(jī)、路由器、寬帶接入服務(wù)器、NAT、防火墻、WEB交換機(jī)等,支持各種速率的以太網(wǎng)、ATM、POS等接口,升級非常方便。
目前提供NP的主要廠商有Agere、Intel、IBM、Maker/Conexant、MMC、Motorola等。IXP1200網(wǎng)絡(luò)處理器是Level-One公司(現(xiàn)屬Intel)的拳頭產(chǎn)品。
IXP1200由7個(gè)RISC處理器、外部存儲(chǔ)器接口、IX總線接口以及PCI總線接口等封裝于1個(gè)芯片上構(gòu)成。7個(gè)RISC處理器當(dāng)中有6個(gè)為包作業(yè)處理引擎以及1個(gè)管理/控制包作業(yè)處理引擎的“StrongARM”核。圖1為IXP1200結(jié)構(gòu)圖。
IXP1200主要包括以下組件:
1.6個(gè)集成的32位可編程微引擎,工作頻率可達(dá)200MHz,每個(gè)引擎可支持四個(gè)線程,每個(gè)線程有獨(dú)立的程序計(jì)數(shù)器;
2.集成有Intel StrongARM 32位處理器(RISC)核,16K指令緩沖,8K數(shù)據(jù)緩沖,512字節(jié)的一次性臨時(shí)數(shù)據(jù)緩沖,寫緩沖,內(nèi)存管理單元;
3.高帶寬4.2Gb/s 的I/O總線;
4.集成的32位,66MHz PCI總線接口。
網(wǎng)絡(luò)處理器的最大特點(diǎn)是可編程性,因此開發(fā)重點(diǎn)由硬件轉(zhuǎn)向軟件。IXP1200平臺(tái)上的軟件按運(yùn)行位置可分為兩部分:StrongARM核上運(yùn)行BSP、驅(qū)動(dòng)程序、實(shí)時(shí)操作系統(tǒng)、路由表維護(hù)及上層應(yīng)用程序,使用標(biāo)準(zhǔn)C語言開發(fā);微引擎進(jìn)行數(shù)據(jù)流輸入/輸出、打包/拆包、分類、快速查表、轉(zhuǎn)發(fā)等實(shí)時(shí)要求非�?量痰奶幚�。每個(gè)微引擎包含一段可編程的控制存儲(chǔ)器區(qū)(1024×32bit,1K條指令),用以存儲(chǔ)微碼程序。微引擎中的四個(gè)線程共享該控制存儲(chǔ)器。微引擎編程使用一套專為網(wǎng)絡(luò)數(shù)據(jù)流處理應(yīng)用定制的指令集,去掉了通用RISC芯片中對協(xié)議及包處理用處不大的部分,同時(shí)保留了RISC指令長度一致、單周期執(zhí)行時(shí)間、易于并行和流水線處理等優(yōu)點(diǎn)。
微引擎目前可以使用33條基本指令,大部分指令可以有不同執(zhí)行選項(xiàng),合理組合使用可以達(dá)到最高性能。指令集合按功能可以分為如下五類:算術(shù)邏輯運(yùn)算、移位類;分支及跳轉(zhuǎn)類;訪問類指令;本地寄存器操作;雜類指令。