- 相關推薦
基于網絡處理器IXP1200的以太網上聯(lián)卡設計
摘要:以太網上聯(lián)卡是以ATM技術為內核的DSLAM設備中的一塊板卡,DSLAM設備通過它可直接與IP網絡相連,由于在進行ATM與IP轉換時要消耗大量資源,因而很容易使上聯(lián)卡成為整個系統(tǒng)的瓶頸。文章提出了一種基于網絡處理器IXP1200的以太網上聯(lián)卡設計方案,該方案利用IXP1200網絡處理器強大的數(shù)據處理能力和高度的靈活性來實現(xiàn)對數(shù)據的線速處理,同時也可根據需要增加新的功能。隨著網絡通訊技術的高速發(fā)展,寬帶接入技術成了當前電信接入技術的熱點。由于早期的寬帶技術以ATM為核心,各大廠家提供的核心芯片和線路接口芯片都是基于ATM技術的。而數(shù)據網絡主要以TCP/IP為核心,因此,為了解決ATM和TCP/IP的融合問題,就需要在DSLAM設備上提供ATM到以太網的轉換。但轉換過程中需要進行大量的數(shù)據處理,因此容易產生系統(tǒng)瓶頸,而上聯(lián)卡的設計就是為了解決在DSLAM設備中的ATM信元和以太網幀之間的高速轉發(fā)問題。本文提出了一種基于網絡處理器IXP1200的上聯(lián)卡設計方案,并對該方案的實現(xiàn)過程進行了詳細分析。
1 網絡處理器IXP1200主要特性
網絡處理器是一種硬件可編程器件,通常是一種芯片,它是專門為處理網絡數(shù)據包而設計的。通過對硬件架構和指令集的優(yōu)化,該網絡處理器不但可提供線速處理數(shù)據包的高質量硬件功能,同時還具備極大的系統(tǒng)靈活性。
IXP1200是英特爾公司生產的一款高檔網絡處理器,也是IXA(Internet Exchange Architecture)架構的核心產品。IXP1200的內部結構如圖1所示,它內含1個主頻最高可達232MHz的處理核心StrongARM、6個RISC結構的可編程微引擎(每個微引擎包含4個硬件線程)、64位和最高104MHz的IX Bus、32位的SRAM接口單元(工作頻率為核心頻率的一半)、64位的SDRAM接口單元(工作頻率為核心頻率的一半)、32位和最高66MHz的PCI總線接口單元等。IXP1200通過FBI接口單元和IX Bus相連接。另外還有一套集成開發(fā)環(huán)境,可用于對微引擎進行應用開發(fā),它支持匯編和C編程語言。
(1)StrongARM Core
通過StrongARM Core可實現(xiàn)CPU的主要功能,同時可啟動系統(tǒng)、管理和控制對網絡處理器的其它單元、處理微引擎無法處理的數(shù)據包和一些異常狀況。
(2)微引擎
微引擎是可編程的32-bit RISC處理器,它的指令集是專門針對網絡和通信應用而設計的。通過對各個線程進行編程,可單獨執(zhí)行數(shù)據包的轉發(fā)和處理,而無需StrongARM Core干預,因而可減輕StrongARM Core的負擔,特別適合高速數(shù)據的處理和轉發(fā)。
(3)SDRAM單元
SDRAM單元可提供IXP1200與SDRAM的接口,最大可支持256M字節(jié)的SDRAM。雖然SDRAM的訪問速度較慢,但存儲空間大,因而可用來存儲大容量的數(shù)據結構(如數(shù)據包和路由表等),并可在系統(tǒng)運行時存儲操作系統(tǒng)的代碼。
(4)SRAM單元
SRAM單元可為三種類型設備提供通用總線接口。這些設備包括最大可達8M字節(jié)的SSRAM、復位后StrongARM Core執(zhí)行代碼所在的FLASH或E-PROM等、BOOTROM設備和其它慢速端口設備(如CAM)、加密設備和MAC或PHY設備的控制狀態(tài)接口。SRAM訪問速度較快,但存儲空間小,主要用來存儲查找表和緩存描述符等需要快速訪問的數(shù)據結構。
(5)PCI單元
PCI單元用于提供與PCI設備相連的接口,可用于下載操作系統(tǒng)和配置程序。
(6)FBI單元
圖1中的哈希單元、IX總線接口和Scrachpad內存統(tǒng)稱為FBI單元。IXP1200通過FBI單元和IX Bus相連,來實現(xiàn)外設與IXP1200之間數(shù)據包的收發(fā),以便使微引擎可以訪問這些數(shù)據包,并利用線程對其進行轉發(fā)。實際上,StrongARM Core也可以訪問這些數(shù)據包,并對其進行異常處理或上層協(xié)議處理。
2 以太網上聯(lián)卡的設計方案
以太網上聯(lián)卡的基本功能是實現(xiàn)ATM信元和以太網幀之間的轉發(fā),即從LVDS接口收到來自核心卡的ATM信元流后,根據封裝協(xié)議(如RFC1483橋接協(xié)議)轉換成以太網幀,然后建立相應的MAC地址與ATM PVC的對應關系,并通過以太網上聯(lián)口送往IP網絡;也可以從以太網上聯(lián)口接收來自IP網絡的以太網幀,然后根據建立的MAC地址與ATM PVC的對應關系,將其轉換成ATM信元流,再通過LVDS接口送往核心卡。
在上聯(lián)卡中,ATM信元和以太網幀之間的轉發(fā)是由網絡處理器中的微引擎完成的。要使以太網上聯(lián)卡不成為網絡的瓶頸,微引擎必須能以線速來處理數(shù)據包(以太網幀或ATM信元),即在下一個數(shù)據包到來以前,完成對當前數(shù)據包的處理。因此,每個數(shù)據包的最大允許處理時間應小于數(shù)據包之間的間隔時間。
在進行設計時,應根據以太網上聯(lián)卡具體功能的實現(xiàn),并結合網絡處理器IXP1200所擁有的硬件資源來進行合理的分配使用。這樣可以最大限度地發(fā)揮系統(tǒng)性能,本設計中,以太網上聯(lián)卡需要實現(xiàn)以太網接收處理、CRC計算產生、ATM發(fā)送處理、ATM接收處理、CRC校驗、以太網發(fā)送等六個主要任務,而由于IXP1200剛好擁有六個微引擎,因此,
【基于網絡處理器IXP1200的以太網上聯(lián)卡設計】相關文章:
基于以太網魚雷聲自導電信號半實物05-07
千兆比以太網與ATM網05-28
基于web的異地并行設計與制造系統(tǒng)研究06-02
試論基于民商法視域下的信用卡若干法律問題05-28