1 BCM1250处理器
BCM1250是Broadcom公司开发的基于MIPS架构的双内核、高性能64位RISC微处理器,采用0.13μm CMOS工艺制造,860引脚BGA封装(42.5×42.5mm),最高主频1GHz。芯片集成了两个名为“SB-1”的内核(CPU0和CPU1)。SB-1内核不仅实现了标准的MIPS64指令集架构,而且增加了MIPS-3D和MIPS-MDMX专用扩展指令。在1GHz时,两个内核具有4000MIPS或10Mpps的处理能力。
BCM1250是一种紧耦合共享内存对称式多处理器(SMP)。SMP系统定义为通过一个公共高速总线,将多个相同的处理器与内存和I/O设备等一系列外围设备连接起来的系统。“对称”意味着每个处理器在访问共享内存和外围设备时,访问机制相同。所谓“紧耦合”是指各内核个体之间距离很近,并通过一个通用高速总线实现物理互连。这些内核通过公共高速总线共享一个全局内存模块(即共享内存)以及诸多外围设备。
点击看原图 1.1 高性能双内核和大容量缓存 (1)两个64位MIPS内核SB-1。每个内核能够在一个时钟周期发射4条指令。每个内核包含32KB 4路组关联指令缓存和32KB 4路组关联数据缓存,64位入口的全关联TLB(Translation Lookaside Buffer)。 (2)两个SB-1共享4路组关联二级高速缓存(L2 Cache),每路128KB,共512KB。与其它系统不同的是,内核与I/O DMA主设备共享这片缓存,就像缓存处于内核和SDRAM(内存)之间,所有对内存的访问都在二级缓存中检验。并且,每路Cache可以单独设置为存储器模式,作为存储器使用,而且速度不变。 (3)面向网络分组处理优化的片内公共高速总线Zbbus,256位(1个缓存线长cache line)数据宽度,速率是CPU主频的一半,将两个CPU、L2 Cache、SDRAM控制器和I/O桥等连接起来。总线使用MESI协议以保证两个CPU、L2 Cache、内存和外部设备的数据的一致性。 (4)两个内核之间可以通过指令(ll、lld、sc和scd指令)和中断等方式进行通信。每个内核含有一个邮箱(mailbox)寄存器。当一个内核通过Zbbus总线访问另一个内核的邮箱寄存器时,产生中断。 1.2 外围控制模块和多类型通信接口 (1)DDR SDRAM控制器包括两个通道,每个通道64位数据宽度,另加8位ECC数据,支持两条JEDEC标准的133MHz DDR DIMM。每个通道的带宽高达16Gbps。如果采用DRAM芯片,辅以严格的走线控制,速度可达到200MHz,带宽高达50Gbps。ECC单元能够检测2位错误,纠正1位错误。 (2)一个遵循PCI2.2标准的PCI接口,32位数据宽度,最高速率66MHz。内部PCI仲裁器支持4个外部设备。 (3)一个遵循HyperTransport 1.03标准的HyperTransport接口(简称HT接口)。HyperTransport的性能比PCI总线高,是PCI总线的升级换代产品,由AMD公司在1999年的微处理器论坛上首先提出。HT设备采用标准的PCI配置方法。发送和接收的数据宽度都是8位。HT总线的参考时钟是100MHz,但是发送数据的速率可以是参考时钟的6位,而且时钟的上下边沿都能触发。 (4)三个遵循IEEE802.3标准的MAC控制器,支持10Mbps、100Mbps、1Gbps以太网接口,可以运行在全双工或者半双工模式,可以设置收发数据包的最大长度和最短长度,甚至支持16K~1B的大包。MAC控制器支持VLAN——一个便于组建虚拟局域网的标志。不仅如此,控制器还能够识别以太网包的类型、Ipv4包的校验和TCP/UDP包的校验和,并且能够根据数据包的目的地址进行过滤,选择是否接收广播包。控制器包含32位RMON统计寄存器,可以统计接收和发送的数据量、失败次数、CRC出错次数等。所以,有的资料将BCM1250称作网络处理器,因为其MAC的功能比普通MAC强大。 1 BCM1250处理器 BCM1250是Broadcom公司开发的基于MIPS架构的双内核、高性能64位RISC微处理器,采用0.13μm CMOS工艺制造,860引脚BGA封装(42.5×42.5mm),最高主频1GHz。芯片集成了两个名为“SB-1”的内核(CPU0和CPU1)。SB-1内核不仅实现了标准的MIPS
图1是BCM1250的内部结构框
图。主要特点如下。
BCM1250是一种紧耦合共享内存对称式多处理器(SMP)。SMP系统定义为通过一个公共高速总线,将多个相同的处理器与内存和I/O设备等一系列外围设备连接起来的系统。“对称”意味着每个处理器在访问共享内存和外围设备时,访问机制相同。所谓“紧耦合”是指各内核个体之间距离很近,并通过一个通用高速总线实现物理互连。这些内核通过公共高速总线共享一个全局内存模块(即共享内存)以及诸多外围设备。
点击看原图 1.1 高性能双内核和大容量缓存 (1)两个64位MIPS内核SB-1。每个内核能够在一个时钟周期发射4条指令。每个内核包含32KB 4路组关联指令缓存和32KB 4路组关联数据缓存,64位入口的全关联TLB(Translation Lookaside Buffer)。 (2)两个SB-1共享4路组关联二级高速缓存(L2
图1是BCM1250的内部结构框图。主要特点如下。
Cache),每路128KB,共512KB。与其它系统不同的是,内核与I/O DMA主设备共享这片缓存,就像缓存处于内核和SDRAM(内存)之间,所有对内存的访问都在二级缓存中检验。并且,每路Cache可以单独设置为存储器模式,作为存储器使用,而且速度不变。
(3)面向网络分组处理优化的片内公共高速总线Zbbus,256位(1个缓存线长cache line)数据宽度,速率是CPU主频的一半,将两个CPU、L2 Cache、SDRAM控制器和I/O桥等连接起来。总线使用MESI协议以保证两个CPU、L2 Cache、内存和外部设备的数据的一致性。
(4)两个内核之间可以通过指令(ll、lld、sc和scd指令)和中断等方式进行通信。每个内核含有一个邮箱(mailbox)寄存器。当一个内核通过Zbbus总线访问另一个内核的邮箱寄存器时,产生中断。
1.2 外围控制模块和多类型通信接口
(1)DDR SDRAM控制器包括两个通道,每个通道64位数据宽度,另加8位ECC数据,支持两条JEDEC标准的133MHz DDR DIMM。每个通道的带宽高达16Gbps。如果采用DRAM芯片,辅以严格的走线控制,速度可达到200MHz,带宽高达50Gbps。ECC单元能够检测2位错误,纠正1位错误。
(2)一个遵循PCI2.2标准的PCI接口,32位数据宽度,最高速率66MHz。内部PCI仲裁器支持4个外部设备。
(3)一个遵循HyperTransport 1.03标准的HyperTransport接口(简称HT接口)。HyperTransport的性能比PCI总线高,是PCI总线的升级换代产品,由AMD公司在1999年的微处理器论坛上首先提出。HT设备采用标准的PCI配置方法。发送和接收的数据宽度都是8位。HT总线的参考时钟是100MHz,但是发送数据的速率可以是参考时钟的6位,而且时钟的上下边沿都能触发。
(4)三个遵循IEEE802.3标准的MAC控制器,支持10Mbps、100Mbps、1Gbps以太网接口,可以运行在全双工或者半双工模式,可以设置收发数据包的最大长度和最短长度,甚至支持16K~1B的大包。MAC控制器支持VLAN——一个便于组建虚拟局域网的标志。不仅如此,控制器还能够识别以太网包的类型、Ipv4包的校验和TCP/UDP包的校验和,并且能够根据数据包的目的地址进行过滤,选择是否接收广播包。控制器包含32位RMON统计寄存器,可以统计接收和发送的数据量、失败次数、CRC出错次数等。所以,有的资料将BCM1250称作网络处理器,因为其MAC的功能比普通MAC强大。
图3以Windriver公司的VxWorks嵌入式实时操作系统为例,说明了启动顺序。其它操作系统的启动顺序类似。CPU0首先初始化,CPU1保持启动状态,等待CPU0完成基本的内核初始化、串口初始化、L1 Cache和L2 Cache的初始化;然后CPU0对CPU1初始化,包括内核的基本初始化和CPU1内部的L1 Cache初始化;接着,CPU1再次等待,CPU0对DDR SDRAM进行初始化,再将操作系统等数据
从ROM复制到SDRAM,通知CPU1,然后启动操作系统;CPU1收到通知后,也将数据从ROM复制到SDRAM,运行操作系统的复本。较早地初始化串口,是为了便于通过计算机屏幕及监测系统的启动状况,判断故障所在。
2.3 选择操作系统的考虑
因为BCM1250是一种SMP系统,所以选
择操作系统时应考虑SMP系统的特点,充分发挥BCM1250的双内核特性。与单核处理器相比,SMP系统的优势是显然的:(1)在完成一组任务时,两个CPU并行运行比一个CPU单独运行的速度快得多。
(2)即使有一个CPU出现了致命故障,另一个CPU也能无缝地接管它的工作,降低系统的停工时间。
SMP系统与分布式多处理器的区别在于:在一个分布式多处理器系统中,处理单元个体通常以单独节点的形式存在,每个这样的节点中的处理器类型可以不同,并且各自配备内存和I/O设备。每个处理器可以运行自己的操作系统,只通过一种互连方式(例如以太网),利用消息或旗语来与其它处理器同步。而紧耦合共享内存SMP系统则不同。在SMP系统中,所有的处理器都运行操作系统的同一个副本,该操作系统可协调每个相似的CPU上同时发生的活动。由于紧耦合CPU所访问的是一个公共内存区,所以它们必须通过一种基于低延时共享内存的通信机制实现相互之间的同步。这对操作系统提出了要求。
其次,如果操作系统选择得当,能使硬件中确切的处理单元数对应用程序员透明。于是应用软件就能不进行任何针对SMP的修改而运行。
再
业界流行的MontaVistaLinux专业版、VxWorks等RTOS均支持SMP系统。当然,用户也可以将单处理器RTOS扩展为支持SMP的系统。
虽然BCM1250比单内核处理器在结构上只多了一个内核,但是在启动顺序、任务调度、中断管理等方面却有着较大的差别,相应地对RTOS提出了较高的要求。BCM1250主要用于高端设备,在国内的开发应用还不普及。