當(dāng)前位置:首頁(yè) > 通信技術(shù) > 通信技術(shù)
[導(dǎo)讀]BCM5690是BroadCOM公司推出的集成有12個(gè)千兆端口和1個(gè)萬(wàn)兆端口的多層交換芯片。文章比較全面地介紹了該芯片的結(jié)構(gòu)和功能特性,給出了它的訪問(wèn)控制方式和數(shù)據(jù)流程,同時(shí)給出了用BCM5690設(shè)計(jì)交換整機(jī)的硬件結(jié)構(gòu)和軟件實(shí)現(xiàn)方法。

   摘要:BCM5690是BroadCOM公司推出的集成有12個(gè)千兆端口和1個(gè)萬(wàn)兆端口的多層交換芯片。文章比較全面地介紹了該芯片的結(jié)構(gòu)和功能特性,給出了它的訪問(wèn)控制方式和數(shù)據(jù)流程,同時(shí)給出了用BCM5690設(shè)計(jì)交換整機(jī)的硬件結(jié)構(gòu)和軟件實(shí)現(xiàn)方法。

    關(guān)鍵詞:千兆以太網(wǎng);BCM5690;堆疊;數(shù)據(jù)流程

目前,萬(wàn)兆芯片技術(shù)不斷取得新的發(fā)展,尤其在“真”萬(wàn)兆的問(wèn)題上,只有擁有更先進(jìn)的芯片,設(shè)備廠商才能夠在芯片功能與特性的基礎(chǔ)上開(kāi)發(fā)自身的交換機(jī)體系架構(gòu)。雖然Broadcom、Intel、Marvell、美國(guó)國(guó)家半導(dǎo)體(NS)、英飛凌(Infineon)和意法半導(dǎo)體(STMicro electronics)都推出了最新的千兆以太網(wǎng)芯片產(chǎn)品。但萬(wàn)兆芯片的發(fā)展無(wú)疑會(huì)從硬件與架構(gòu)層面來(lái)加快萬(wàn)兆產(chǎn)品的發(fā)展速度。

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

1 BCM5690芯片簡(jiǎn)介

1.1 BCM5690芯片結(jié)構(gòu)

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

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

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

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

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

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

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

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

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

1.2 BCM5690芯片特性及功能介紹

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

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

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

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

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

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

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

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

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

2.1 訪問(wèn)控制方式

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

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

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

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

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

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

3 基于BCM5690的交換整機(jī)設(shè)計(jì)

3.1 硬件實(shí)現(xiàn)

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

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

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

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

另外,還可以通過(guò)設(shè)置IPIC CONFIG 寄存器(IPIC_CASCADE, MY_MODID)、MODPORT表和Giga bit端口CONFIG寄存器來(lái)對(duì)堆疊進(jìn)行配置。

3.2 軟件實(shí)現(xiàn)

a.初始化流程

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

b.軟件結(jié)構(gòu)

圖5是筆者設(shè)計(jì)的軟件結(jié)構(gòu)簡(jiǎn)圖。其中涉及驅(qū)動(dòng)程序和驅(qū)動(dòng)程序封裝的是SAL層、Driver?qū)雍停拢茫蛯?。SAL層可?duì)操作系統(tǒng)與驅(qū)動(dòng)層進(jìn)行隔離,可提供PCI中斷以及PCI設(shè)備的查找、線程、中斷、同步和內(nèi)存管理。Driver?qū)影ǎ拢茫停担叮梗凹拇嫫鞯脑L問(wèn)方式實(shí)現(xiàn)、表的初始化、內(nèi)存初始化、芯片堆疊模式的設(shè)置、L2和L3地址的操作與查找、數(shù)據(jù)包的發(fā)送/接收以及端口的管理等。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專(zhuān)欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車(chē)的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車(chē)技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車(chē)工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車(chē)。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車(chē) 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱(chēng),數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱(chēng)"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉