<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 手機與無線通信 > 設計應用 > 千兆以太網(wǎng)交換芯片BCM5690及其在交換整機中的應用

          千兆以太網(wǎng)交換芯片BCM5690及其在交換整機中的應用

          作者: 時間:2005-06-30 來源:網(wǎng)絡 收藏
          摘要:是BroadCOM公司推出的集成有12個端口和1個萬兆端口的多層。文章比較全面地介紹了該的結構和功能特性,給出了它的訪問控制方式和數(shù)據(jù)流程,同時給出了用BCM5690設計的硬件結構和軟件實現(xiàn)方法。

          關鍵詞:;;堆疊;數(shù)據(jù)流程

          目前,萬兆技術不斷取得新的發(fā)展,尤其在“真”萬兆的問題上,只有擁有更先進的芯片,設備廠商才能夠在芯片功能與特性的基礎上開發(fā)自身的機體系架構。雖然Broadcom、Intel、Marvell、美國國家半導體(NS)、英飛凌(Infineon)和意法半導體(STMicro electronics)都推出了最新的芯片產(chǎn)品。但萬兆芯片的發(fā)展無疑會從硬件與架構層面來加快萬兆產(chǎn)品的發(fā)展速度。

          為此, BroadCOM公司開發(fā)了BCM5690(12+1)單芯片交換方案。該集成電路芯片集成了12個千兆端口和1個萬兆端口,是一款功能比較強大和全面的三層千兆交換芯片。文中將詳細介紹BCM5690芯片的功能特性以及基于該芯片的交換機實現(xiàn)方法。

          1 BCM5690芯片簡介

          1.1 BCM5690芯片結構

          BCM5690是芯片提供有12個GE接口(千兆端口)和1個HiGig接口(內(nèi)聯(lián)端口),并具有堆疊功能。器件的端口采用PCI接口進行管理。其結構框圖如圖1所示。

          由圖1可以看出:BCM5690芯片由以下一些主要功能模塊組成:

          (1)GIGA接口控制器GPIC:用于提供GE口與交換邏輯之間的接口。

          (2)內(nèi)聯(lián)端口(HiGig)控制器IPIC:主要提供HiGig口與內(nèi)部交換邏輯之間的接口,有時也被用于多片BCM5690之間的堆疊操作。

          (3) CPU管理接口CMIC:主要提供CPU與BCM5690設備不同功能塊之間的接口,同時也用于諸如MIIM、I2C和燈的處理等功能。該模塊通過PCI接口與CPU相聯(lián),可使CPU訪問和控制BCM5690,而DMA引擎則支持數(shù)據(jù)從CPU傳向BCM5690或從BCM5690傳向CPU。

          (4) 地址解析邏輯ARL:該邏輯功能模塊可在數(shù)據(jù)包的基礎上確定該數(shù)據(jù)包的轉發(fā)策略。它利用二層表(L2_TABLE)、二層組播表?L2MC TABLE?、三層表(L3_TABLE)、三層最長前綴匹配表(DEF_IP_HI和DEF_IP_LO)、三層接口表?L3-INTF?、IP組播表(L3_IPMC)、VLAN表(VLAN)以及spanning tree Group表(VLAN_STAG)來決定如何轉發(fā)數(shù)據(jù)包。

          (5) 公共緩沖池CBP?CBP實際上是1MB共享的包緩沖區(qū)。CBP由8192(8K)個單元組成,每個單元128字節(jié)。設備里的每個數(shù)據(jù)包消耗一至多個單元。

          (6)內(nèi)存管理單元MMU:BCM5690有一個單獨的內(nèi)存管理單元。每個MMU與設備的功能塊(GPIC、IPIC等)相關聯(lián)。MMU負責數(shù)據(jù)包的緩沖和調(diào)度。它首先接收數(shù)據(jù)包,然后再將數(shù)據(jù)包緩沖,并在發(fā)送時加以調(diào)度,同時它還管理交換單元的流控特性。概括來說,就是緩沖邏輯、調(diào)度邏輯、流控邏輯。緩沖邏輯從CP-BUS接收包并存放在CBP,同樣也從CBP獲取包并將它們發(fā)送到CP-BUS上去。包的發(fā)送順序由調(diào)度邏輯根據(jù)包的優(yōu)先級別確定。流控邏輯包括Head-of-Line?HOL?阻塞預防和Backpressure兩種方式。

          這些功能模塊之間可通過兩條內(nèi)部總線聯(lián)系起來:CP-Bus(圖1粗黑線所示)、S-Channel Bus?圖1細黑線所示?。其中CP-Bus用于芯片內(nèi)數(shù)據(jù)包的高速傳輸,它支持所有端口的同時線速轉發(fā)。而S-Channel Bus則有兩個作用:第一是用于MMU到其它功能塊的流控;第二是通過CMIC利用軟件控制來訪問內(nèi)部寄存器和表。

          1.2 BCM5690芯片特性及功能介紹

          Broadcom公司XGS系列芯片的重要特性是具有堆疊功能,該功能可以將多個交換芯片組合在一起,以形成一個更大規(guī)模的系統(tǒng),或者將多個帶交換芯片的系統(tǒng)組合在一起形成一個完整的系統(tǒng)設備。這種功能最多可以實現(xiàn)30個設備的堆疊。

          BCM5690能夠通過Hi-Gig和GIGA來擴展系統(tǒng)容量。它有四種模式,其中cascade模式通過Hi-Gig口單向互聯(lián)來形成(環(huán)行組網(wǎng));而全雙工堆疊模式則通過BCM5690的Hi-Gig口雙向地與BCM567X相連來擴展容量(環(huán)形組網(wǎng));第三是chassis模式,該模式是將Hi-Gig通過背板互連形成(星形組網(wǎng))??蓪崿F(xiàn)冗余備份和逐級交換,不需中轉,且效率比環(huán)行組網(wǎng)高;最后是SL形式的堆疊,它通過GIGA口來互連BCM5690。圖2所示為BCM5690的邏輯框圖。

          BCM5690是一款千兆以太網(wǎng)交換芯片,它支持二層交換、三層路由以及第2~7層數(shù)據(jù)包的分類和過濾等。

          地址解析邏輯是BCM5690集成電路芯片的中心部件?GPIC的入口邏輯用它來決定單個包的轉發(fā)方向。

          BCM5690集成電路芯片中的快速過濾處理器(FFP)是一個通過第2~7層數(shù)據(jù)包進行分類和過濾的引擎。每個GE口各有一個FFP來負責包的分類和更新。FFP可以通過配置寄存器GIMASK和GIR-ULE來改變符合條件的數(shù)據(jù)包特性?其中GIMASK用于配置匹配選項,GIRULE用于產(chǎn)生操作命令。對于每個數(shù)據(jù)包來說,最多可以改變16個匹配特性。如果同時有多個特性符合匹配條件,則在GIMASK里處于高位的優(yōu)先配置。

          對于包的緩沖和流控,BCM5690還集成了1MB的數(shù)據(jù)包緩沖區(qū)CBP,這個緩沖區(qū)可為所有端口共用。

          BCM5690中的寄存器MIRROR_CONTROL和IMIRROR_CONTROL用來設置被鏡像端口與鏡像端口,兩個寄存器的內(nèi)容應保持一致。它支持本芯片內(nèi)的鏡像。

          BCM5690集成電路芯片中的鏈路聚合(trunk)最大可支持8端口的Trunking,共32組Trunk,并可進行跨芯片的端口Trunk。另外,BCM5690還支持速度高達 66MHz的PCI接口,并可對所有數(shù)據(jù)包的線速交換以及RMON、SNMP、STP和Rapid STP提供支持。

          2 訪問控制方式及數(shù)據(jù)流程

          2.1 訪問控制方式

          BCM5690支持一系列符合PCI標準的寄存器?這些寄存器允許對設備再分配?MODID?、地址空間的自動配置和再映射。CPU對BCM5690的控制都是通過訪問PCI寄存器來實現(xiàn)的。BCM5690的寄存器分為直接訪問和非直接訪問兩種??芍苯釉L問的寄存器映射到PCI的內(nèi)存空間?這些寄存器相對于PCI控制寄存器有一個固定的地址偏移。上電初始化期間,系統(tǒng)自動配置每個PCI設備的基地址及地址范圍,以便能夠唯一地訪問每一個PCI設備中的寄存器。BCM5690的訪問機制分為三個類型:一是PCI配置空間;二是PCI memory 映射的I/O,比如通過PCI設備對DMA、MIIM和I2C的控制;第三是消息機制。

          2.2 數(shù)據(jù)流程

          所有的數(shù)據(jù)流通過交換芯片都要經(jīng)過輸入部分(Ingress)、內(nèi)存管理單元(MMU)和輸出部分(Egress)這三個流程。其數(shù)據(jù)流程如圖3所示。

          Ingress(輸入邏輯)是數(shù)據(jù)包在每端口上的邏輯流程。每端口都有自己的輸入邏輯,輸入邏輯負責所有包的轉發(fā)(交換)策略,決定將包送給哪個端口,根據(jù)轉發(fā)信息將數(shù)據(jù)包發(fā)送給MMU,進行緩沖和調(diào)度,并以線速對包進行處理。輸入邏輯與大部分交換功能關聯(lián)。

          MMU(內(nèi)存管理單元)主要負責數(shù)據(jù)包的緩沖與調(diào)度,它接收從輸入邏輯過來的數(shù)據(jù)包并緩沖這些包,同時對這些包進行調(diào)度并將它們送給輸出邏輯。數(shù)據(jù)包進入MMU時將存儲在CBP里。CBP有1MB的大小供所有端口共用。MMU主要有四部分功能:資源計數(shù)、背壓、HOL預防機制、調(diào)度。其中資源計數(shù)主要是統(tǒng)計當前消耗的CBP單元數(shù)或CBP數(shù)據(jù)包個數(shù),決定數(shù)據(jù)包什么時候進入背壓或HOL預防;調(diào)度則是根據(jù)優(yōu)先級和COS的四種調(diào)度準則來確定包發(fā)送的先后順序和權重。

          Egress(輸出邏輯)主要從MMU獲取數(shù)據(jù)包并將其送入各個端口,這是整個流程中最簡單的一環(huán)。它先將包發(fā)給輸出端口,然后確定是否在發(fā)送的數(shù)據(jù)包上添加tag。具體流程如下:首先從MMU請求數(shù)據(jù)包,如果發(fā)送的包要求不帶tag,則負責將tag去掉;然后計算數(shù)據(jù)包的CRC;最后將包交給MAC發(fā)送(特殊情況下,CMIC將直接把數(shù)據(jù)包以DMA方式發(fā)送給CPU)。

          3 基于BCM5690的交換設計

          3.1 硬件實現(xiàn)

          筆者在設計中采用了兩片BCM5690和四片BCM5464,外加四個SFP接口的千兆光接口來實現(xiàn)16端口的10/100/1000M的電口和4個千兆光口的交換。BCM5464是BroadCom的四端口的千兆PHY。

          圖4是該交換整機的主控板硬件結構,其硬件電路由交換單元、物理接口單元、RJ45和燈接口單元、光接口單元、控制單元、CPU連接器單元、時鐘單元、電源單元組成。其中交換單元選用了兩片BCM5690,它們之間通過Hi-Gig口背靠背連接實現(xiàn)通信,帶有與其它大部分單元的接口。每片BCM5690通過PCI接口與CPU連接器相連,主要用來與CPU通信以實現(xiàn)對芯片的管理。

          圖4所示電路中的CPU采用Motorola公司的PPC8240,主要負責整個系統(tǒng)的運轉調(diào)度。12個電口通過背板總線與各個線卡相連,以實現(xiàn)各線卡的上聯(lián)功能。當主控板單獨作為一個獨立的三層交換機時,它將同時作為與其它三層設備互聯(lián)的接口。4個千兆光接口與本設備上聯(lián)可擴展以太網(wǎng)的傳輸距離。

          本系統(tǒng)使用了兩個背靠背連接的BCM5690來進行設計,這樣可將該系統(tǒng)歸為cascade模式。在堆疊完成之后,通過在堆疊口的以太網(wǎng)包首部加上頭信息,可使芯片與芯片之間、系統(tǒng)與系統(tǒng)之間通過Broadcom專有的通信協(xié)議來實現(xiàn)相互之間的信息傳輸,從而實現(xiàn)數(shù)據(jù)包在不同芯片、不同系統(tǒng)之間的轉發(fā)。

          另外,還可以通過設置IPIC CONFIG 寄存器(IPIC_CASCADE, MY_MODID)、MODPORT表和Giga bit端口CONFIG寄存器來對堆疊進行配置。

          3.2 軟件實現(xiàn)

          a.初始化流程

          在設計軟件模塊的初始化流程時,首先是頭模式的設置,由于BCM5690固定工作在小頭?little_endian?模式,而PPC8240工作在大頭模式,因此需要對頭模式進行設置;接下來是查找PCI設備,以獲取各個PCI設備的設備號以及各自的基地址;之后應對堆疊模式進行設置,以便兩片BCM5690之間的二層表內(nèi)容能夠互通;最后是基本交換功能和DMA通道的配置。

          b.軟件結構

          圖5是筆者設計的軟件結構簡圖。其中涉及驅動程序和驅動程序封裝的是SAL層、Driver層和BCM層。SAL層可對操作系統(tǒng)與驅動層進行隔離,可提供PCI中斷以及PCI設備的查找、線程、中斷、同步和內(nèi)存管理。Driver層包括BCM5690寄存器的訪問方式實現(xiàn)、表的初始化、內(nèi)存初始化、芯片堆疊模式的設置、L2和L3地址的操作與查找、數(shù)據(jù)包的發(fā)送/接收以及端口的管理等。



          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();