<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 手機與無(wú)線(xiàn)通信 > 設計應用 > 基于網(wǎng)絡(luò )處理器IXP1200的以太網(wǎng)上聯(lián)卡設計

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

作者: 時(shí)間:2004-12-07 來(lái)源:網(wǎng)絡(luò ) 收藏
摘要:卡是以ATM技術(shù)為內核的DSLAM設備中的一塊板卡,DSLAM設備通過(guò)它可直接與IP相連,由于在進(jìn)行ATM與IP轉換時(shí)要消耗大量資源,因而很容易使卡成為整個(gè)系統的瓶頸。文章提出了一種方案,該方案利用強大的數據處理能力和高度的靈活性來(lái)實(shí)現對數據的線(xiàn)速處理,同時(shí)也可根據需要增加新的功能。

關(guān)鍵詞:上聯(lián)卡;網(wǎng)絡(luò );ATM;以太網(wǎng);微碼;

隨著(zhù)網(wǎng)絡(luò )通訊技術(shù)的高速發(fā)展,寬帶接入技術(shù)成了當前電信接入技術(shù)的熱點(diǎn)。由于早期的寬帶技術(shù)以ATM為核心,各大廠(chǎng)家提供的核心芯片和線(xiàn)路接口芯片都是ATM技術(shù)的。而數據網(wǎng)絡(luò )主要以TCP/IP為核心,因此,為了解決ATM和TCP/IP的融合問(wèn)題,就需要在DSLAM設備上提供ATM到以太網(wǎng)的轉換。但轉換過(guò)程中需要進(jìn)行大量的數據處理,因此容易產(chǎn)生系統瓶頸,而上聯(lián)卡的就是為了解決在DSLAM設備中的ATM信元和以太網(wǎng)幀之間的高速轉發(fā)問(wèn)題。本文提出了一種網(wǎng)絡(luò )處理器IXP1200的上聯(lián)卡方案,并對該方案的實(shí)現過(guò)程進(jìn)行了詳細分析。

1 網(wǎng)絡(luò )處理器IXP1200主要特性

網(wǎng)絡(luò )處理器是一種硬件可編程器件,通常是一種芯片,它是專(zhuān)門(mén)為處理網(wǎng)絡(luò )數據包而設計的。通過(guò)對硬件架構和指令集的優(yōu)化,該網(wǎng)絡(luò )處理器不但可提供線(xiàn)速處理數據包的高質(zhì)量硬件功能,同時(shí)還具備極大的系統靈活性。

IXP1200是英特爾公司生產(chǎn)的一款高檔網(wǎng)絡(luò )處理器,也是IXA(Internet Exchange Architecture)架構的核心產(chǎn)品。IXP1200的內部結構如圖1所示,它內含1個(gè)主頻最高可達232MHz的處理核心StrongARM、6個(gè)RISC結構的可編程微引擎(每個(gè)微引擎包含4個(gè)硬件線(xiàn)程)、64位和最高104MHz的IX Bus、32位的SRAM接口單元(工作頻率為核心頻率的一半)、64位的SDRAM接口單元(工作頻率為核心頻率的一半)、32位和最高66MHz的PCI總線(xiàn)接口單元等。IXP1200通過(guò)FBI接口單元和IX Bus相連接。另外還有一套集成開(kāi)發(fā)環(huán)境,可用于對微引擎進(jìn)行應用開(kāi)發(fā),它支持匯編和C編程語(yǔ)言。

(1)StrongARM Core

通過(guò)StrongARM Core可實(shí)現CPU的主要功能,同時(shí)可啟動(dòng)系統、管理和控制對網(wǎng)絡(luò )處理器的其它單元、處理微引擎無(wú)法處理的數據包和一些異常狀況。

(2)微引擎

微引擎是可編程的32-bit RISC處理器,它的指令集是專(zhuān)門(mén)針對網(wǎng)絡(luò )和通信應用而設計的。通過(guò)對各個(gè)線(xiàn)程進(jìn)行編程,可單獨執行數據包的轉發(fā)和處理,而無(wú)需StrongARM Core干預,因而可減輕StrongARM Core的負擔,特別適合高速數據的處理和轉發(fā)。

(3)SDRAM單元

SDRAM單元可提供IXP1200與SDRAM的接口,最大可支持256M字節的SDRAM。雖然SDRAM的訪(fǎng)問(wèn)速度較慢,但存儲空間大,因而可用來(lái)存儲大容量的數據結構(如數據包和路由表等),并可在系統運行時(shí)存儲操作系統的代碼。

(4)SRAM單元

SRAM單元可為三種類(lèi)型設備提供通用總線(xiàn)接口。這些設備包括最大可達8M字節的SSRAM、復位后StrongARM Core執行代碼所在的FLASH或E-PROM等、BOOTROM設備和其它慢速端口設備(如CAM)、加密設備和MAC或PHY設備的控制狀態(tài)接口。SRAM訪(fǎng)問(wèn)速度較快,但存儲空間小,主要用來(lái)存儲查找表和緩存描述符等需要快速訪(fǎng)問(wèn)的數據結構。

(5)PCI單元

PCI單元用于提供與PCI設備相連的接口,可用于下載操作系統和配置程序。

(6)FBI單元

圖1中的哈希單元、IX總線(xiàn)接口和Scrachpad內存統稱(chēng)為FBI單元。IXP1200通過(guò)FBI單元和IX Bus相連,來(lái)實(shí)現外設與IXP1200之間數據包的收發(fā),以便使微引擎可以訪(fǎng)問(wèn)這些數據包,并利用線(xiàn)程對其進(jìn)行轉發(fā)。實(shí)際上,StrongARM Core也可以訪(fǎng)問(wèn)這些數據包,并對其進(jìn)行異常處理或上層協(xié)議處理。

2 以太網(wǎng)上聯(lián)卡的設計方案

以太網(wǎng)上聯(lián)卡的基本功能是實(shí)現ATM信元和以太網(wǎng)幀之間的轉發(fā),即從LVDS接口收到來(lái)自核心卡的ATM信元流后,根據封裝協(xié)議(如RFC1483橋接協(xié)議)轉換成以太網(wǎng)幀,然后建立相應的MAC地址與ATM PVC的對應關(guān)系,并通過(guò)以太網(wǎng)上聯(lián)口送往IP網(wǎng)絡(luò );也可以從以太網(wǎng)上聯(lián)口接收來(lái)自IP網(wǎng)絡(luò )的以太網(wǎng)幀,然后根據建立的MAC地址與ATM PVC的對應關(guān)系,將其轉換成ATM信元流,再通過(guò)LVDS接口送往核心卡。

在上聯(lián)卡中,ATM信元和以太網(wǎng)幀之間的轉發(fā)是由網(wǎng)絡(luò )處理器中的微引擎完成的。要使以太網(wǎng)上聯(lián)卡不成為網(wǎng)絡(luò )的瓶頸,微引擎必須能以線(xiàn)速來(lái)處理數據包(以太網(wǎng)幀或ATM信元),即在下一個(gè)數據包到來(lái)以前,完成對當前數據包的處理。因此,每個(gè)數據包的最大允許處理時(shí)間應小于數據包之間的間隔時(shí)間。

在進(jìn)行設計時(shí),應根據以太網(wǎng)上聯(lián)卡具體功能的實(shí)現,并結合網(wǎng)絡(luò )處理器IXP1200所擁有的硬件資源來(lái)進(jìn)行合理的分配使用。這樣可以最大限度地發(fā)揮系統性能,本設計中,以太網(wǎng)上聯(lián)卡需要實(shí)現以太網(wǎng)接收處理、CRC計算產(chǎn)生、ATM發(fā)送處理、ATM接收處理、CRC校驗、以太網(wǎng)發(fā)送等六個(gè)主要任務(wù),而由于IXP1200剛好擁有六個(gè)微引擎,因此,將這六個(gè)單獨的任務(wù)分配在每個(gè)微引擎上,并在處理上將其搭建成多流水線(xiàn)結構的程序架構,可以取得很好的處理效果。圖2給出了網(wǎng)絡(luò )處理器IXP1200的六個(gè)微引擎的任務(wù)分配方案,該分配方案的整個(gè)處理流程可以分為兩個(gè)方向,一是上行方向,即ATM到以太網(wǎng)的數據映射,二是下行方向,即以太網(wǎng)到ATM的數據轉換。

在上行方向,ATM接收引擎把收到的ATM信元組裝成AAL5 PDUs,并根據封裝協(xié)議轉換成以太網(wǎng)幀,同時(shí)建立相應的MAC地址與ATM PVC的對應關(guān)系,然后送到CRC-32校驗隊列。接下來(lái)由CRC-32校驗引擎對隊列中的PDUs執行CRC校驗并把PDUs送到以太網(wǎng)的發(fā)送隊列。而以太網(wǎng)發(fā)送引擎的任務(wù)則主要是把發(fā)送隊列中的以太網(wǎng)幀從以太網(wǎng)上聯(lián)口發(fā)送出去。

在下行方向,以太網(wǎng)接收引擎接收來(lái)自以太網(wǎng)上聯(lián)口的以太網(wǎng)幀,并將其封裝成AAL5 PDUs后送到CRC-32產(chǎn)生隊列,同時(shí)根據建立的MAC地址與ATM PVC的對應關(guān)系進(jìn)行查找以得到ATM信元頭部。接著(zhù)由CRC-32產(chǎn)生引擎為隊列中的PDUs生成CRC校驗值,并把PDUs送到UBR隊列。最后由ATM發(fā)送引擎把PDUs分割(segment)成ATM信元后,從ATM端口發(fā)送出去。

3 以太網(wǎng)上聯(lián)卡的硬件設計

圖3所示是以太網(wǎng)上聯(lián)卡的硬件電路,該硬件電路主要包括四個(gè)部分:以太網(wǎng)處理單元、IXP1200網(wǎng)絡(luò )處理單元、FPGA控制邏輯單元、ATM及LVDS背板總線(xiàn)處理單元。

3.1 以太網(wǎng)處理單元

以太網(wǎng)處理單元是上聯(lián)卡的上聯(lián)處理部分,用于連接路由器或者三層交換機等數據網(wǎng)絡(luò )設備。該單元主要包括RJ45接口、變壓器隔離電路、LXT9763以太網(wǎng)物理層芯片和IXF440 MAC層芯片。其中RJ45接口以及變壓器隔離電路是以太網(wǎng)處理接口的標準單元電路,LXT9763主要完成802.3協(xié)議中描述的物理層功能,它主要通過(guò)MⅡ總線(xiàn)和IXF440芯片相連接。IXF440芯片主要完成802.3協(xié)議中描述的MAC層功能,同時(shí)提供與網(wǎng)絡(luò )處理器的IX總線(xiàn)接口,實(shí)際上,該芯片是網(wǎng)絡(luò )處理器中IX總線(xiàn)的SLAVE設備。

3.2 IXP1200網(wǎng)絡(luò )處理單元

IXP1200網(wǎng)絡(luò )處理單元是整個(gè)以太網(wǎng)上聯(lián)卡的核心,它主要通過(guò)IX總線(xiàn)與外部芯片進(jìn)行相連,是IX總線(xiàn)的MASTER設備,所有的處理軟件均運行在網(wǎng)絡(luò )處理器中。

IXP1200網(wǎng)絡(luò )處理單元由網(wǎng)絡(luò )處理器IXP1200及外部芯片(如SDRAM?SRAM?Flash等)構成。SDRAM和SRAM單元是可共享的智能單元。其中SDRAM單元可以被IXP1200的StrongARM內核以及微引擎和PCI總線(xiàn)上的設備直接訪(fǎng)問(wèn),這樣可以支持SDRAM與微引擎或IX總線(xiàn)以及PCI總線(xiàn)之間的快速移動(dòng)數據,而SRAM單元則具有比SDRAM單元更快的訪(fǎng)問(wèn)時(shí)間,通??梢杂脕?lái)存儲需要快速查找的表格,以提高性能。

3.3 FPGA控制邏輯單元

由于在英特爾公司所提供的網(wǎng)絡(luò )處理器解決方案中,外部的數據接口是IX總線(xiàn),該總線(xiàn)是英特爾提供的專(zhuān)有數據總線(xiàn),而以太網(wǎng)上聯(lián)卡中所采用的ATM芯片的外部接口為標準的UTOPIA總線(xiàn)。所以,為了實(shí)現芯片間的互聯(lián),應采用FPGA來(lái)完成IX總線(xiàn)和UTOPIA總線(xiàn)間的變換,即在IX總線(xiàn)端實(shí)現IX總線(xiàn)的SLAVE接口,在ATM端實(shí)現UTOPIA 總線(xiàn)的SLAVE接口。通過(guò)該FPGA邏輯控制單元可為ATM到以太幀的轉換提供物理層的控制功能。FPGA邏輯控制單元的實(shí)現對于完成以太網(wǎng)上聯(lián)卡的設計非常關(guān)鍵。

3.4 ATM與LVDS背板總線(xiàn)單元

該處理單元主要完成以太網(wǎng)上聯(lián)卡中的網(wǎng)絡(luò )處理器單元與背板ATM的無(wú)縫連接。由于DSLAM設備的設計核心是基于ATM技術(shù),為了將網(wǎng)絡(luò )處理器單元應用在基于ATM的DSLAM設備中,必須采用該處理單元來(lái)實(shí)現系統互連。

DSLAM設備系統中的其它板卡主要用于完成ATM交換以及ADSL設備的線(xiàn)路接口。而背板是基于LVDS總線(xiàn)的高速差分總線(xiàn),它具有抗干擾能力。這對于高密度的DSLAM設備來(lái)說(shuō)是非常重要的。實(shí)際上,上聯(lián)卡就是通過(guò)ATM的物理層芯片與高速LVDS總線(xiàn)進(jìn)行互聯(lián),從而使該板卡無(wú)縫插接在系統之中。

4 以太網(wǎng)上聯(lián)卡的軟件設計

以太網(wǎng)上聯(lián)卡的軟件主要運行在網(wǎng)絡(luò )處理器IXP1200中。為了方便基于網(wǎng)絡(luò )處理器IXP1200的開(kāi)發(fā),英特爾公司特別推出了高度集成且具有強大開(kāi)發(fā)能力的開(kāi)發(fā)工具SDK2.0。這個(gè)開(kāi)發(fā)工具包中包含有IXP1200 Developer WorkBench,是一個(gè)集成的開(kāi)發(fā)工具,專(zhuān)門(mén)用來(lái)寫(xiě)符號微碼,并且具有匯編器以及優(yōu)化設備,還提供了一個(gè)不需要硬件的IXP1200模擬器,可支持軟件模式下的仿真和調試,因而具備友好的用戶(hù)接口和調試環(huán)境。

網(wǎng)絡(luò )處理器IXP1200的軟件開(kāi)發(fā)主要基于兩個(gè)層面,一個(gè)是高層軟件,通常指運行在網(wǎng)絡(luò )處理器IXP1200 StrongArm內核上的管理軟件、路由協(xié)議軟件以及所有的系統所需任務(wù),這部分軟件通常需要一個(gè)嵌入式操作系統,目前的開(kāi)發(fā)主要基于Linux操作系統。另一個(gè)層面是底層軟件,這部分軟件主要運行于六個(gè)微引擎之上,可用于完成包的快速處理,包括包的快速轉發(fā)和基本的二層協(xié)議處理等,這部分軟件采用微碼形式來(lái)完成,但應特別注意軟件部分的代碼優(yōu)化,即用盡可能少的指令來(lái)完成處理。在網(wǎng)絡(luò )處理器IXP1200中,每個(gè)微引擎提供有2k字大小的代碼存儲空間。此外,每個(gè)微引擎中也包含四個(gè)線(xiàn)程,這四個(gè)線(xiàn)程可構成硬件多線(xiàn)程。由于微引擎內部包含有大量的GPR以及SRAM、SDRAM傳輸寄存器,因此,在采用微線(xiàn)程進(jìn)行相對尋址模式時(shí),每個(gè)線(xiàn)程都具有自己特定的寄存器組,從而極大地加快了線(xiàn)程切換的速度。在IXP1200中進(jìn)行微碼設計有一個(gè)重要原則:即當一個(gè)線(xiàn)程在等待資源時(shí),應將該線(xiàn)程切換出去,以讓其它線(xiàn)程占用微引擎的處理,這樣可進(jìn)行快速切換,以保證各個(gè)線(xiàn)程都能夠充分利用微引擎的處理機,而不會(huì )因為一個(gè)在等待資源線(xiàn)程,造成處理器的浪費。微碼的組織也是按照這一原則來(lái)進(jìn)行的。圖4所示是高層軟件的程序主流程圖。高層軟件的目的是完成整個(gè)硬件和軟件的初始化,同時(shí)將微碼程序加載到網(wǎng)絡(luò )處理器的六個(gè)微引擎中,并啟動(dòng)運行。

底層軟件的微碼流程分為兩個(gè)部分,其任務(wù)分配和以上討論的六個(gè)微引擎的任務(wù)分配一致。它也分為兩個(gè)方向,即ATM到以太網(wǎng)方向和以太網(wǎng)到ATM方向。圖5所示是其微碼的軟件流程圖。

5 結束語(yǔ)

本文介紹的基于網(wǎng)絡(luò )處理器IXP1200的以太網(wǎng)上聯(lián)卡,已經(jīng)成功應用于DSLAM設備中,并解決了DSLAM設備與IP網(wǎng)絡(luò )的高速互聯(lián)問(wèn)題。經(jīng)過(guò)測試?本卡性能良好,系統運行穩定。



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>