-
?
摘要:
BCM5690
是
BroadCOM
公司推出的集成有
12
个千兆端口和1个万兆端口
的多层交换芯
片。文章比较全方面地介绍了该芯片的结构和功能特性,给出了他的访问控
制方式和数据流程,同时给出
了用BCM5690设计交换整机的硬件结构和软件实现方
法。
关键词:
千兆以太网;
BCM5690
;堆叠;数据流程
目前,万兆芯片技术不断取得新的发展
,尤其在
“
真
”
万兆的问题上,只有拥有更先进的芯片,设备厂
商才能够在芯片功能和特性的基础上研
发自身的交换机体系架构。虽然Broadcom、Intel、
Marvell、美国
国家半导体(NS)、英飞凌(Infineon)和意法半导体(STMicr
o
p>
electronics)
都推出了最新
的千兆以太网芯片产品。
但万兆芯片的发展无疑会从硬件和架
构
层面来加快万兆产品的发展速度。
为此,
BroadCOM公司研发了
BCM5690(12+1)单芯片交换方案。该集成电路芯
片集成12个千兆端口和1
个万兆端口,是一款功能比较强大和全方面的三层千兆以太网交换芯片。文中
将周详介绍
BCM5690芯片的功能特性及基于该芯片的交换机实现方法。
1
BCM5690芯片简介
1.1
BCM5690芯片结构
BCM56
90是芯片提供有12个GE接口(千兆端口)和1个HiGig接口(内联端口),并
具有堆叠功能。器件的端口采用PCI接口进行管理。其结构框图如图1所示。
由图1能看出:BCM56
90芯片由以下一些主要功能模块组成:
(1)GIGA接口
控制器GPIC:用于提供GE口和交换逻辑之间的接口。
(
2)
内联端口
(HiGig)
控制器I
PIC:
主要提供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_H
I和DEF_IP_LO)、三层接口表
?
L3-INTF
p>
?
、IP
p>
组播表(L3_IPMC)、VLAN表(VLAN)及spanning
< br>
tree
Group表(V
LAN_STAG)来决定怎么转发数据包。
(5)
公共缓冲池CBP
?
CBP实际上是1MB共享的包缓冲区。CBP由8192(8K)个单
元组成,每个单元128字节。设备里的每个数据包消耗一至多个单元。
(6)
内存管理单元MMU:
BCM5690有一个独立的内存管理单元。每个MMU和设备的功能
块(GPIC、
IPIC等)相关联。MMU负责数据包的缓冲和调度。他首先接收数据包,然后再将数
据包缓冲,并在发送时加以调度,同时他还管理交换单元的流控特性。概括来说,就是缓冲逻辑、调度逻
辑、流控逻辑。缓冲逻辑从CP-BUS接收包并存放在CBP,同样也从CBP获取包并将他们
发送到
CP-BUS上去。包的发送顺序由调度逻辑根据包的优先级别确定。流控逻辑包
括Head-of-L
ine
?
HOL
?
阻塞预防和Backp
ressur
e两种方式。
这些功能模块之间可通过两条内部
总线联系起来:CP-Bus(图1粗<
/p>
黑线所示)、S-Channel
Bu
s
?
图1细黑线所示
< br>?
。其中CP-Bu
s用于芯片内数据包的高速传输,他
支
持所有端口的同时线速转发。而S-C
hannel
Bus则有两个作用:第
一是用于MMU到其
他功能块的流控;
第二是通过CMIC利用软件控制来访
问内部
寄存器和表。
1.2
BCM5690芯片特性
及功能介绍
Broadcom公司XGS系
列芯片的重要特性是具有堆叠功
能,该
功能能将多个交换芯片组合在一起,以
形成一个更大规模
的系统,或将多个带交换芯片的系统组合在一起形成一个完整的系统设备。这种功能最
多
能实现30个设备的堆叠。
BCM5690能够通过Hi-G
ig和GIGA来扩展系统容量。
他有四种模式,
其中casc
a
de模式通过Hi-Gig口单向互联来形成
(
环行组网
)
;而全双工堆叠模式则通过BCM569
0的H
i-Gig口双向地和BCM567X相连来扩展容量
(
环形组网
)
;第三是chassis模
式,该模式
是将Hi-Gig通过背板互连形成(星形组网)。可实现冗余备份和逐级交
换,不需中转,且效率比环
行组网高;最后是SL形式的堆叠,他通过GIGA口来互连
BCM5690。图2所示为BCM569
0的逻辑框图。
<
/p>
BCM5690是一款千兆以太网交换芯片,
他支持二层交换、<
/p>
三层路由及第2~7层数据包的分类
和过滤等。
< br>
地址解析逻辑是BCM5690集成电路芯片的中心部件
?
GPIC的入口逻辑用他来决定单个包的
转发方向。
BCM5690集成电路芯片中的快速过滤处理器
< br>(FFP)
是个通过第2~7层数据包进行分类和
过滤的
引擎。每个GE口各有一个FFP来负责包的分类和更新。FFP能通过设置寄存器GIMASK
和GIR
-
ULE来改动符合条件的数据包特性
?
其中GIMASK用于设置匹配选项,GIRULE用于