基于千兆以太网交换芯片BCM5690及其在交换整机中的应用
目前,万兆芯片技术不断取得新的发展,尤其在“真”万兆的问题上,只有拥有更先进的芯片,设备厂商才能够在芯片功能与特性的基础上开发自身的交换机体系架构。虽然Broadcom、Intel、Marvell、美国国家半导体(NS)、英飞凌(Infineon)和意法半导体(STMicro electronics)都推出了最新的千兆以太网芯片产品。但万兆芯片的发展无疑会从硬件与架构层面来加快万兆产品的发展速度。
为此, BroadCOM公司开发了BCM5690(12+1)单芯片交换方案。该集成电路芯片集成了12个千兆端口和1个万兆端口,是一款功能比较强大和全面的三层千兆以太网交换芯片。文中将详细介绍BCM5690芯片的功能特性以及基于该芯片的交换机实现方法。
1 BCM5690芯片简介
1.1 BCM5690芯片结构
BCM5690是芯片提供有12个GE接口(千兆端口)和1个HiGig接口(内联端口),并具有堆叠功能。器件的端口采用PCI接口进行管理。其结构框图如图1所示。
由图1可以看出:BCM5690芯片由以下一些主要功能模块组成:
(1)GIGA接口控制器GPIC:用于提供GE口与交换逻辑之间的接口。
(2)内联端口(HiGig)控制器IPIC:主要提供HiGig口与内部交换逻辑之间的接口,有时也被用于多片BCM5690之间的堆叠操作。
(3) CPU管理接口CMIC:主要提供CPU与BCM5690设备不同功能块之间的接口,同时也用于诸如MIIM、I2C和灯的处理等功能。该模块通过PCI接口与CPU相联,可使CPU访问和控制BCM5690,而DMA引擎则支持数据从CPU传向BCM5690或从BCM5690传向CPU。
(4) 地址解析逻辑ARL:该逻辑功能模块可在数据包的基础上确定该数据包的转发策略。它利用二层表(L2_TABLE)、二层组播表?L2MC TABLE?、三层表(L3_TABLE)、三层最长前缀匹配表(DEF_IP_HI和DEF_IP_LO)、三层接口表?L3-INTF?、IP组播表(L3_IPMC)、VLAN表(VLAN)以及spanning tree Group表(VLAN_STAG)来决定如何转发数据包。
(5) 公共缓冲池CBP?CBP实际上是1MB共享的包缓冲区。CBP由8192(8K)个单元组成,每个单元128字节。设备里的每个数据包消耗一至多个单元。
(6)内存管理单元MMU:BCM5690有一个单独的内存管理单元。每个MMU与设备的功能块(GPIC、IPIC等)相关联。MMU负责数据包的缓冲和调度。它首先接收数据包,然后再将数据包缓冲,并在发送时加以调度,同时它还管理交换单元的流控特性。概括来说,就是缓冲逻辑、调度逻辑、流控逻辑。缓冲逻辑从CP-BUS接收包并存放在CBP,同样也从CBP获取包并将它们发送到CP-BUS上去。包的发送顺序由调度逻辑根据包的优先级别确定。流控逻辑包括Head-of-Line?HOL?阻塞预防和Backpressure两种方式。
相关文章
- 2024-02-26基于PLC的油品运动粘度测量系统
- 2022-05-25浮选技术在含油污水处理中的应用进展
- 2024-01-08电子皮带秤计量及其监控系统的应用
- 2022-06-27LED全彩灯光控制系统的实现
- 2024-08-296A02-T4铝合金板材表面树叶状黑斑缺陷分析
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。