技術(shù)頻道

娓娓工業(yè)
您現(xiàn)在的位置: 中國傳動網(wǎng) > 技術(shù)頻道 > 技術(shù)百科 > 基于網(wǎng)絡(luò)處理器IXP1200的以太網(wǎng)上聯(lián)卡設(shè)計

基于網(wǎng)絡(luò)處理器IXP1200的以太網(wǎng)上聯(lián)卡設(shè)計

時間:2008-05-08 13:25:00來源:ronggang

導語:?文章提出了一種基于網(wǎng)絡(luò)處理器IXP1200的以太網(wǎng)上聯(lián)卡設(shè)計方案,該方案利用IXP1200網(wǎng)絡(luò)處理器強大的數(shù)據(jù)處理能力和高度的靈活性來實現(xiàn)對數(shù)據(jù)的線速處理,同時也可根據(jù)需要增加新的功能
摘 要:以太網(wǎng)上聯(lián)卡是以ATM技術(shù)為內(nèi)核的DSLAM設(shè)備中的一塊板卡,DSLAM設(shè)備通過它可直接與IP網(wǎng)絡(luò)相連,由于在進行ATM與IP轉(zhuǎn)換時要消耗大量資源,因而很容易使上聯(lián)卡成為整個系統(tǒng)的瓶頸。文章提出了一種基于網(wǎng)絡(luò)處理器IXP1200的以太網(wǎng)上聯(lián)卡設(shè)計方案,該方案利用IXP1200網(wǎng)絡(luò)處理器強大的數(shù)據(jù)處理能力和高度的靈活性來實現(xiàn)對數(shù)據(jù)的線速處理,同時也可根據(jù)需要增加新的功能。 關(guān)鍵詞:以太網(wǎng)上聯(lián)卡;網(wǎng)絡(luò)處理器;ATM;以太網(wǎng);微碼;IXP1200   隨著網(wǎng)絡(luò)通訊技術(shù)的高速發(fā)展,寬帶接入技術(shù)成了當前電信接入技術(shù)的熱點。由于早期的寬帶技術(shù)以ATM為核心,各大廠家提供的核心芯片和線路接口芯片都是基于ATM技術(shù)的。而數(shù)據(jù)網(wǎng)絡(luò)主要以TCP/IP為核心,因此,為了解決ATM和TCP/IP的融合問題,就需要在DSLAM設(shè)備上提供ATM到以太網(wǎng)的轉(zhuǎn)換。但轉(zhuǎn)換過程中需要進行大量的數(shù)據(jù)處理,因此容易產(chǎn)生系統(tǒng)瓶頸,而上聯(lián)卡的設(shè)計就是為了解決在DSLAM設(shè)備中的ATM信元和以太網(wǎng)幀之間的高速轉(zhuǎn)發(fā)問題。本文提出了一種基于網(wǎng)絡(luò)處理器IXP1200的上聯(lián)卡設(shè)計方案,并對該方案的實現(xiàn)過程進行了詳細分析。
1 網(wǎng)絡(luò)處理器IXP1200主要特性   網(wǎng)絡(luò)處理器是一種硬件可編程器件,通常是一種芯片,它是專門為處理網(wǎng)絡(luò)數(shù)據(jù)包而設(shè)計的。通過對硬件架構(gòu)和指令集的優(yōu)化,該網(wǎng)絡(luò)處理器不但可提供線速處理數(shù)據(jù)包的高質(zhì)量硬件功能,同時還具備極大的系統(tǒng)靈活性。   IXP1200是英特爾公司生產(chǎn)的一款高檔網(wǎng)絡(luò)處理器,也是IXA(Internet Exchange Architecture)架構(gòu)的核心產(chǎn)品。IXP1200的內(nèi)部結(jié)構(gòu)如圖1所示,它內(nèi)含1個主頻最高可達232MHz的處理核心StrongARM、6個RISC結(jié)構(gòu)的可編程微引擎(每個微引擎包含4個硬件線程)、64位和最高104MHz的IX Bus、32位的SRAM接口單元(工作頻率為核心頻率的一半)、64位的SDRAM接口單元(工作頻率為核心頻率的一半)、32位和最高66MHz的PCI總線接口單元等。IXP1200通過FBI接口單元和IX Bus相連接。另外還有一套集成開發(fā)環(huán)境,可用于對微引擎進行應(yīng)用開發(fā),它支持匯編和C編程語言。   (1)StrongARM Core   通過StrongARM Core可實現(xiàn)CPU的主要功能,同時可啟動系統(tǒng)、管理和控制對網(wǎng)絡(luò)處理器的其它單元、處理微引擎無法處理的數(shù)據(jù)包和一些異常狀況。  ?。?)微引擎   微引擎是可編程的32-bit RISC處理器,它的指令集是專門針對網(wǎng)絡(luò)和通信應(yīng)用而設(shè)計的。通過對各個線程進行編程,可單獨執(zhí)行數(shù)據(jù)包的轉(zhuǎn)發(fā)和處理,而無需StrongARM Core干預,因而可減輕StrongARM Core的負擔,特別適合高速數(shù)據(jù)的處理和轉(zhuǎn)發(fā)。
  (3)SDRAM單元   SDRAM單元可提供IXP1200與SDRAM的接口,最大可支持256M字節(jié)的SDRAM。雖然SDRAM的訪問速度較慢,但存儲空間大,因而可用來存儲大容量的數(shù)據(jù)結(jié)構(gòu)(如數(shù)據(jù)包和路由表等),并可在系統(tǒng)運行時存儲操作系統(tǒng)的代碼。   (4)SRAM單元   SRAM單元可為三種類型設(shè)備提供通用總線接口。這些設(shè)備包括最大可達8M字節(jié)的SSRAM、復位后StrongARM Core執(zhí)行代碼所在的FLASH或E-PROM等、BOOTROM設(shè)備和其它慢速端口設(shè)備(如CAM)、加密設(shè)備和MAC或PHY設(shè)備的控制狀態(tài)接口。SRAM訪問速度較快,但存儲空間小,主要用來存儲查找表和緩存描述符等需要快速訪問的數(shù)據(jù)結(jié)構(gòu)。  ?。?)PCI單元   PCI單元用于提供與PCI設(shè)備相連的接口,可用于下載操作系統(tǒng)和配置程序。  ?。?)FBI單元   圖1中的哈希單元、IX總線接口和Scrachpad內(nèi)存統(tǒng)稱為FBI單元。IXP1200通過FBI單元和IX Bus相連,來實現(xiàn)外設(shè)與IXP1200之間數(shù)據(jù)包的收發(fā),以便使微引擎可以訪問這些數(shù)據(jù)包,并利用線程對其進行轉(zhuǎn)發(fā)。實際上,StrongARM Core也可以訪問這些數(shù)據(jù)包,并對其進行異常處理或上層協(xié)議處理。 2 以太網(wǎng)上聯(lián)卡的設(shè)計方案
  以太網(wǎng)上聯(lián)卡的基本功能是實現(xiàn)ATM信元和以太網(wǎng)幀之間的轉(zhuǎn)發(fā),即從LVDS接口收到來自核心卡的ATM信元流后,根據(jù)封裝協(xié)議(如RFC1483橋接協(xié)議)轉(zhuǎn)換成以太網(wǎng)幀,然后建立相應(yīng)的MAC地址與ATM PVC的對應(yīng)關(guān)系,并通過以太網(wǎng)上聯(lián)口送往IP網(wǎng)絡(luò);也可以從以太網(wǎng)上聯(lián)口接收來自IP網(wǎng)絡(luò)的以太網(wǎng)幀,然后根據(jù)建立的MAC地址與ATM PVC的對應(yīng)關(guān)系,將其轉(zhuǎn)換成ATM信元流,再通過LVDS接口送往核心卡。   在上聯(lián)卡中,ATM信元和以太網(wǎng)幀之間的轉(zhuǎn)發(fā)是由網(wǎng)絡(luò)處理器中的微引擎完成的。要使以太網(wǎng)上聯(lián)卡不成為網(wǎng)絡(luò)的瓶頸,微引擎必須能以線速來處理數(shù)據(jù)包(以太網(wǎng)幀或ATM信元),即在下一個數(shù)據(jù)包到來以前,完成對當前數(shù)據(jù)包的處理。因此,每個數(shù)據(jù)包的最大允許處理時間應(yīng)小于數(shù)據(jù)包之間的間隔時間。   在進行設(shè)計時,應(yīng)根據(jù)以太網(wǎng)上聯(lián)卡具體功能的實現(xiàn),并結(jié)合網(wǎng)絡(luò)處理器IXP1200所擁有的硬件資源來進行合理的分配使用。這樣可以最大限度地發(fā)揮系統(tǒng)性能,本設(shè)計中,以太網(wǎng)上聯(lián)卡需要實現(xiàn)以太網(wǎng)接收處理、CRC計算產(chǎn)生、ATM發(fā)送處理、ATM接收處理、CRC校驗、以太網(wǎng)發(fā)送等六個主要任務(wù),而由于IXP1200剛好擁有六個微引擎,因此,將這六個單獨的任務(wù)分配在每個微引擎上,并在處理上將其搭建成多流水線結(jié)構(gòu)的程序架構(gòu),可以取得很好的處理效果。圖2給出了網(wǎng)絡(luò)處理器IXP1200的六個微引擎的任務(wù)分配方案,該分配方案的整個處理流程可以分為兩個方向,一是上行方向,即ATM到以太網(wǎng)的數(shù)據(jù)映射,二是下行方向,即以太網(wǎng)到ATM的數(shù)據(jù)轉(zhuǎn)換。   在上行方向,ATM接收引擎把收到的ATM信元組裝成AAL5 PDUs,并根據(jù)封裝協(xié)議轉(zhuǎn)換成以太網(wǎng)幀,同時建立相應(yīng)的MAC地址與ATM PVC的對應(yīng)關(guān)系,然后送到CRC-32校驗隊列。接下來由CRC-32校驗引擎對隊列中的PDUs執(zhí)行CRC校驗并把PDUs送到以太網(wǎng)的發(fā)送隊列。而以太網(wǎng)發(fā)送引擎的任務(wù)則主要是把發(fā)送隊列中的以太網(wǎng)幀從以太網(wǎng)上聯(lián)口發(fā)送出去。   在下行方向,以太網(wǎng)接收引擎接收來自以太網(wǎng)上聯(lián)口的以太網(wǎng)幀,并將其封裝成AAL5 PDUs后送到CRC-32產(chǎn)生隊列,同時根據(jù)建立的MAC地址與ATM PVC的對應(yīng)關(guān)系進行查找以得到ATM信元頭部。接著由CRC-32產(chǎn)生引擎為隊列中的PDUs生成CRC校驗值,并把PDUs送到UBR隊列。最后由ATM發(fā)送引擎把PDUs分割(segment)成ATM信元后,從ATM端口發(fā)送出去。 3 以太網(wǎng)上聯(lián)卡的硬件設(shè)計   圖3所示是以太網(wǎng)上聯(lián)卡的硬件電路,該硬件電路主要包括四個部分:以太網(wǎng)處理單元、IXP1200網(wǎng)絡(luò)處理單元、FPGA控制邏輯單元、ATM及LVDS背板總線處理單元。   3.1 以太網(wǎng)處理單元   以太網(wǎng)處理單元是上聯(lián)卡的上聯(lián)處理部分,用于連接路由器或者三層交換機等數(shù)據(jù)網(wǎng)絡(luò)設(shè)備。該單元主要包括RJ45接口、變壓器隔離電路、LXT9763以太網(wǎng)物理層芯片和IXF440 MAC層芯片。其中RJ45接口以及變壓器隔離電路是以太網(wǎng)處理接口的標準單元電路,LXT9763主要完成802.3協(xié)議中描述的物理層功能,它主要通過MⅡ總線和IXF440芯片相連接。IXF440芯片主要完成802.3協(xié)議中描述的MAC層功能,同時提供與網(wǎng)絡(luò)處理器的IX總線接口,實際上,該芯片是網(wǎng)絡(luò)處理器中IX總線的SLAVE設(shè)備。   3.2 IXP1200網(wǎng)絡(luò)處理單元   IXP1200網(wǎng)絡(luò)處理單元是整個以太網(wǎng)上聯(lián)卡的核心,它主要通過IX總線與外部芯片進行相連,是IX總線的MASTER設(shè)備,所有的處理軟件均運行在網(wǎng)絡(luò)處理器中。
  IXP1200網(wǎng)絡(luò)處理單元由網(wǎng)絡(luò)處理器IXP1200及外部芯片(如SDRAMSRAMFlash等)構(gòu)成。SDRAM和SRAM單元是可共享的智能單元。其中SDRAM單元可以被IXP1200的StrongARM內(nèi)核以及微引擎和PCI總線上的設(shè)備直接訪問,這樣可以支持SDRAM與微引擎或IX總線以及PCI總線之間的快速移動數(shù)據(jù),而SRAM單元則具有比SDRAM單元更快的訪問時間,通??梢杂脕泶鎯π枰焖俨檎业谋砀瘢蕴岣咝阅?。   3.3 FPGA控制邏輯單元   由于在英特爾公司所提供的網(wǎng)絡(luò)處理器解決方案中,外部的數(shù)據(jù)接口是IX總線,該總線是英特爾提供的專有數(shù)據(jù)總線,而以太網(wǎng)上聯(lián)卡中所采用的ATM芯片的外部接口為標準的UTOPIA總線。所以,為了實現(xiàn)芯片間的互聯(lián),應(yīng)采用FPGA來完成IX總線和UTOPIA總線間的變換,即在IX總線端實現(xiàn)IX總線的SLAVE接口,在ATM端實現(xiàn)UTOPIA 總線的SLAVE接口。通過該FPGA邏輯控制單元可為ATM到以太幀的轉(zhuǎn)換提供物理層的控制功能。FPGA邏輯控制單元的實現(xiàn)對于完成以太網(wǎng)上聯(lián)卡的設(shè)計非常關(guān)鍵。   3.4 ATM與LVDS背板總線單元   該處理單元主要完成以太網(wǎng)上聯(lián)卡中的網(wǎng)絡(luò)處理器單元與背板ATM的無縫連接。由于DSLAM設(shè)備的設(shè)計核心是基于ATM技術(shù),為了將網(wǎng)絡(luò)處理器單元應(yīng)用在基于ATM的DSLAM設(shè)備中,必須采用該處理單元來實現(xiàn)系統(tǒng)互連。   DSLAM設(shè)備系統(tǒng)中的其它板卡主要用于完成ATM交換以及ADSL設(shè)備的線路接口。而背板是基于LVDS總線的高速差分總線,它具有抗干擾能力。這對于高密度的DSLAM設(shè)備來說是非常重要的。實際上,上聯(lián)卡就是通過ATM的物理層芯片與高速LVDS總線進行互聯(lián),從而使該板卡無縫插接在系統(tǒng)之中。 4 以太網(wǎng)上聯(lián)卡的軟件設(shè)計   以太網(wǎng)上聯(lián)卡的軟件主要運行在網(wǎng)絡(luò)處理器IXP1200中。為了方便基于網(wǎng)絡(luò)處理器IXP1200的開發(fā),英特爾公司特別推出了高度集成且具有強大開發(fā)能力的開發(fā)工具SDK2.0。這個開發(fā)工具包中包含有IXP1200 Developer WorkBench,是一個集成的開發(fā)工具,專門用來寫符號微碼,并且具有匯編器以及優(yōu)化設(shè)備,還提供了一個不需要硬件的IXP1200模擬器,可支持軟件模式下的仿真和調(diào)試,因而具備友好的用戶接口和調(diào)試環(huán)境。
  網(wǎng)絡(luò)處理器IXP1200的軟件開發(fā)主要基于兩個層面,一個是高層軟件,通常指運行在網(wǎng)絡(luò)處理器IXP1200 StrongArm內(nèi)核上的管理軟件、路由協(xié)議軟件以及所有的系統(tǒng)所需任務(wù),這部分軟件通常需要一個嵌入式操作系統(tǒng),目前的開發(fā)主要基于Linux操作系統(tǒng)。另一個層面是底層軟件,這部分軟件主要運行于六個微引擎之上,可用于完成包的快速處理,包括包的快速轉(zhuǎn)發(fā)和基本的二層協(xié)議處理等,這部分軟件采用微碼形式來完成,但應(yīng)特別注意軟件部分的代碼優(yōu)化,即用盡可能少的指令來完成處理。在網(wǎng)絡(luò)處理器IXP1200中,每個微引擎提供有2k字大小的代碼存儲空間。此外,每個微引擎中也包含四個線程,這四個線程可構(gòu)成硬件多線程。由于微引擎內(nèi)部包含有大量的GPR以及SRAM、SDRAM傳輸寄存器,因此,在采用微線程進行相對尋址模式時,每個線程都具有自己特定的寄存器組,從而極大地加快了線程切換的速度。在IXP1200中進行微碼設(shè)計有一個重要原則:即當一個線程在等待資源時,應(yīng)將該線程切換出去,以讓其它線程占用微引擎的處理,這樣可進行快速切換,以保證各個線程都能夠充分利用微引擎的處理機,而不會因為一個在等待資源線程,造成處理器的浪費。微碼的組織也是按照這一原則來進行的。圖4所示是高層軟件的程序主流程圖。高層軟件的目的是完成整個硬件和軟件的初始化,同時將微碼程序加載到網(wǎng)絡(luò)處理器的六個微引擎中,并啟動運行。   底層軟件的微碼流程分為兩個部分,其任務(wù)分配和以上討論的六個微引擎的任務(wù)分配一致。它也分為兩個方向,即ATM到以太網(wǎng)方向和以太網(wǎng)到ATM方向。圖5所示是其微碼的軟件流程圖。 5 結(jié)束語   本文介紹的基于網(wǎng)絡(luò)處理器IXP1200的以太網(wǎng)上聯(lián)卡,已經(jīng)成功應(yīng)用于DSLAM設(shè)備中,并解決了DSLAM設(shè)備與IP網(wǎng)絡(luò)的高速互聯(lián)問題。經(jīng)過測試本卡性能良好,系統(tǒng)運行穩(wěn)定。

標簽:

點贊

分享到:

上一篇:機器人制造單元的建模與任務(wù)...

下一篇:微能WIN-V63矢量控制變頻器在...

中國傳動網(wǎng)版權(quán)與免責聲明:凡本網(wǎng)注明[來源:中國傳動網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國傳動網(wǎng)(www.treenowplaneincome.com)獨家所有。如需轉(zhuǎn)載請與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個人轉(zhuǎn)載使用時須注明來源“中國傳動網(wǎng)”,違反者本網(wǎng)將追究其法律責任。

本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請保留稿件來源及作者,禁止擅自篡改,違者自負版權(quán)法律責任。

相關(guān)資訊

網(wǎng)站簡介|會員服務(wù)|聯(lián)系方式|幫助信息|版權(quán)信息|網(wǎng)站地圖|友情鏈接|法律支持|意見反饋|sitemap

中國傳動網(wǎng)-工業(yè)自動化與智能制造的全媒體“互聯(lián)網(wǎng)+”創(chuàng)新服務(wù)平臺

網(wǎng)站客服服務(wù)咨詢采購咨詢媒體合作

Chuandong.com Copyright ?2005 - 2024 ,All Rights Reserved 版權(quán)所有 粵ICP備 14004826號 | 營業(yè)執(zhí)照證書 | 不良信息舉報中心 | 粵公網(wǎng)安備 44030402000946號