BCM交换芯片原理概要
——by M.C
本文使用的寄存器图片非摘录自56620的寄存器说明文档,可能存在部分文字与图片描述不一致的地方。其匹配
寄存器文档为“56620-PR101-R”(网络上没找到)
Outline
Architectural
ACL
Buffer Management
L2
VLAN
Link Aggregation
Mirroring
L3
Architectural
系统逻辑视图
Ingress Chip
解析报文128字节的头部(MMU Cell的最小单位)
隧道终结
报文头分类,以决定VRF
通过VRF与报文头的信息,进行L2/L3/MPLS查找
入口ACL处理;基于ACL进行计数与统计
报文缓存、准入控制与调度
修改报文 (如基于报文类型进行修改)
Switch Fabric
基于HiGig头部信息进行报文的交换选路
多播处理
支持基于服务的流量控制
Egress Chip
解析HiGig报文头
根据HiGig头部信息决定出端口
报文缓存、准入控制与调度
修改报文
出口ACL处理
芯片逻辑视图
入端处理通道负责报文解析,隧道终结与VRF配置,L2/L3/MPLS使用隧道终结阶段获得的VRF信息进
行查找与ACL处理。
TCAM:ternary content addressable memory。从CAM的基础上发展而来的。一般的CAM存储器中每个bit位的状态只
有两个,“0”或“1”,而TCAM中每个bit位有三种状态,除掉“0”和“1”外,还有一个“don’t care”状态,所以称
为“三态”,它是通过掩码来实现的,正是TCAM的这个第三种状态特征使其既能进行精确匹配查找,又能进行模糊匹配查
找,而CAM没有第三种状态,所以只能进行精确匹配查找。TCAM 表内所有条目都可以并行访问,比如,如果你有100条
ACL,TCAM能一次就能对比这100条ACL进行对比操作,过去如果有100条ACL的话,需要第一条ACL对比完后再对比第二
条,然后第三条,直至N条,效率很明显没有TCAM高。
TCAM的组件FM(特性管理器)软件将匹配语句编译(合并)为TCAM表项,这样就可以以帧转发速度查询TCAM
芯片框图
芯片框图
GPIC:端口的配置信息驻留在GPIC(Gigabit Ethernet Port Interface Controller)里。GPIC可以配置
为SGMII模式或者SerDes模式。SGMII模式可以直接连外部PHY设备;SerDes模式可以直接连光模块。
HiGig:HiGig模式端口用于多个芯片的互连来增加整个系统的端口密度。
CMIC:通过PCI外接CPU,实现对芯片寄存器的读写设置操作。CPU口发包的处理逻辑与端口接收报
文一样(一般CPU是0口,就像0口接收到了报文一样),处理过程也会出现报文重新被送CPU的情况。
MIIM
DMA
CPU
PCI-E
MAC
TXD
TXEN
TXCLK
RXD
RXEN
RXCLK
MDC
MDIO
PHY
TX/RX
RJ45