1.2.5 Solaris的硬件系统架构(1)
Solaris支持多种系统架构:SPARC、x86和x64。x64即AMD64及EMT64处理器。在版本2.5.1的时候,Solaris曾经一度被移植到PowerPC架构,但是后来又在这一版本正式发布时被删去。与Linux相比,Solaris可以更有效地支持对称多处理器,即SMP架构。Sun同时宣布将在Solaris 10的后续版本中提供Linux运行环境,允许Linux二进制程序直接在Solaris x86和x64系统上运行。Solaris传统上与基于Sun SPARC处理器的硬件体系结构结合紧密,在设计上和市场上经常捆绑在一起,整个软硬件系统的可靠性和性能也因此大大增强。然而SPARC系统的成本和价格通常要高于PC类的产品,这成为Solaris进一步普及的障碍。可喜的是,Solaris对x86体系结构的支持正得到大大加强,特别是Solaris 10已经能很好地支持x64(AMD64/EMT64)架构。Sun公司已推出自行设计的基于AMD64的工作站和服务器,并随机附带Solaris 10操作系统。
1.SPARC硬件
SPARC全称为"可扩充处理器架构"(Scalable Processor ARChitecture),是RISC微处理器架构之一。它最早于1985年由Sun设计,也是SPARC国际公司的注册商标之一。这家公司于1989年成立,其目的是向外界推广SPARC,以及为该架构进行符合性测试。此外该公司为了扩阔SPARC设计的生态系统,SPARC国际也把标准开放,并授权予多家生产商采用,包括德州仪器、Cypress半导体、富士通等。由于SPARC架构也对外完全开放,因此也出现了完全开放源代码的LEON处理器,这款处理器以VHDL语言写成,并采用LGPL授权。SPARC架构原设计给工作站使用,之后应用在Sun、富士通等制造的大型SMP服务器上。
1987年,Sun和TI公司合作开发了RISC架构的微处理器--SPARC,这是业界出现的第一款有可扩展性功能的微处理器。SPARC(Scalable Processor ARChitecture),即可扩展性处理架构,SPARC处理器为Sun的产品提供了强劲的动力。
Sun出版版本7的SPARC Architecture是第一个SPARC处理器。这个16MHz,32位SPARC 86900"Sunrise"处理器配置了20000个Fujitsu gate-array芯片,供给Sun 4/260工作站动力。
1990年SPARC国际出版版本8的SPARC Architecture,以几种关键改进譬如硬件multiply/divide的MMU作用,支持对于128位浮点运算。
出版版本9规格于1993年被推出,增加了支持对于64位地址和数据类型,包括处理器从Sun(UltraSPARC)到Fujitsu(SPARC64)。多年来,主导产业的SPARC Architecture供给各种各样的系统动力包括服务器、工作站、膝上计算机、VME/PCI委员会、存储系统、网络开关和数字照相机。
在SPARC处理器之后不久,随后出现了64位高性能的UltraSPARC处理器,为Sun公司的工作站和服务器提供了发展原动力。Sun的系统架构提供了一种非常平衡的性能,系统部件(和内存)组合起来加速了应用序列的每个部分;高速I/O和网络,与高速互连部件一起提高了数据获取速度。UltraSPARC CPU提供了超级计算能力,并驱动数据流通过互连部件(UPA,Gigaplane Bus和Fireplane Interconnect)维持高速处理。
对于要求高级图形和多媒体能力的系统,Sun的UltraSPARC是第一种集成了2-D和3-D影像和图形的处理器。VIS是一组加速多媒体、影像处理和网络应用的指令集,这使得UltraSPARC处理器与众不同。VIS RISC指令集扩展了SPARC-v9架构。VIS是嵌入于UltraSPARC处理器中的单指令多数据(SIMD:Single Instruction Multiple Data)代码。UPA连接UltraSPARC处理器、内存、I/O子系统和图形卡。为多任务、多处理器环境特别设计,UPA连接适用于大量数据在系统中高速流动,增强了整个系统的性能。
UltraSPARC IIe微处理器采用0.18μm6层金属连线工艺,370引脚、49.5mmCPGA封装;内部集成了256-KB二级高速缓存、32位标准66MHz PCI总线、高性能SDRAM控制器和内存接口。该处理器的功耗性能是专为嵌入应用而优化的,对1.5伏的400MHz处理器来说,其功耗估计最多为8瓦,而1.7伏的500MHz处理器,功耗最多则为13瓦。此外,附加的内置功率管理功能使休眠状态时最多耗能3瓦,符合Energy Star的要求。图1-5是Sun UltraSPARC II处理器。
图1-5 Sun UltraSPARC II处理器
而Sun开发的Solaris操作系统也是为SPARC设计的系统之一,除Solaris之外,NeXTSTEP、Linux、FreeBSD、OpenBSD及NetBSD系统也提供SPARC版本。现时最新版本的SPARC为第8版及第9版。Sun的UltraSPARC Ⅲ微处理器可提供更加灵活的扩展方法。芯片可从两路处理扩展到数百路的处理操作,而无须重新设计大量的硬件及软件。UltraSPARC Ⅲ处理器采用Sun的独特设计方法,无须使用外部的存储器控制器。独立的控制器为系统总线增添了额外的负载,而UltraSPARC Ⅲ处理器与存储器直接对话,从而减少了这一负载。因此,存储器容量及性能可随着处理器的增加自然扩展。
UltraSPARC Ⅲ处理器就是针对新兴网络计算设计的,处理器具有更高的时钟频率,更少的延误时间,可提供因特网要求的极高性能。UltraSPARC Ⅲ处理器还支持高度灵活的多处理环境,因此,选择它作为新兴因特网业务的处理器,可快速扩展,满足不断增长的计算要求。UltraSPARC Ⅲ的工作频率有900MHz、750MHz和600MHz三种。与以前的UltraSPARC Ⅱ相比,UltraSPARC Ⅲ运行程序的速度要快一倍。
UltraSparc IIIi为每个处理器配备1MB的2级缓存,SPARC IIIi这个代号中的"i"所隐含的意思是"集成(Integration)"。也就是说,这个处理器具有极高的集成性,其中包括了存储及I/O控制器、大量的芯片内缓存,以及有效降低系统复杂度的系统总线。对于某些特定的应用,SPARC IIIi在降低成本方面效果十分显著。Sun公司的中低端服务器采用专用处理器SPARC IIIi,它是针对1~4个处理器的环境而专门设计的,同时确保了最高标准的RAS能力。因此,Sun UltraSPARC IIIi处理器仍然是低端UNIX服务器的上好之选。
Sun公司在其2002年年会上正式发布了采用0.13微米工艺和铜导体技术打造的64位UltraSPARC III Cu 1200处理器。由于采用了0.13微米制造工艺,新型1.2GHz的UltraSPARC III Cu处理器电耗比原先采用0.15微米技术打造的1.05GHz Sun处理器降低了14%,也就是从75W电耗降低到了53W电耗。降低幅度为30%。Sun以更低的耗散功率和更小尺寸的芯片,降低了系统的运行成本,使系统计算密度的潜力又一次获得提升,还特别改善了系统的RAS特性(可靠性、可用性和可维护性)。
Sun的UltraSPARC III Cu 1200新处理器,以及新一代服务器动态重构软件的发布,将网格计算提高到企业系统阶段。它比用于IBM Power4和Intel安腾2的180毫微米的生产工艺整整前进了一代。这一更精细的工艺技术还使处理器芯片尺寸大大减小,这使芯片制造成本再次降低,进一步巩固了UltraSPARC III处理器是业界最低功耗的64位处理器的地位。UltraSparc IV使用了两个UltraSparc III核心。UltraSPARC Ⅳ目前仍然采用和UltraSPARC Ⅲ相同的生产制造工艺,只是在接口复用上重新设计,可以直接热交换原系统中的UltraSPARC Ⅲ系统板,直接获得性能的翻番。在各种复杂的应用中经过数个月的测试表明,UltraSPARC Ⅳ性能出色,运行稳定性也一如UltraSPARC Ⅲ,毕竟是同一种核心下的产物。首批UltraSparc IV使用130纳米制造工艺,UltraSparc IV处理器只有356平方毫米大小。其生命周期将延续到2006年。
当然,提升性能的主要方式就包含制造工艺,Sun在2004年内将和TI共同生产90纳米工艺的UltraSPARC Ⅳ,它不但会获得频率上的优势,更重要的是原本板载的16MB L2 Cache会集成在Die上(据猜测是2MB L2 Cache),这时配合板载的L3 Cache,将会成为Sun历史上最强悍的处理器,性能会在今天的基础上再增加一倍。UltraSparc IV处理器于2004年6月份推出一款速度为1.2GHz的产品。Sun公司推出的UltraSparc IV处理器在性能上要超出前代产品1.6~2倍,这对英特尔、IBM、AMD及其他公司的产品产生了极大的竞争力。
新一代UltraSPARC Ⅳ+处理器采用了德州仪器公司的90毫微米的工艺技术,它通过扩展的高速缓存、功能与转移预测机制(Branch Prediction Mechanism)、增强的预取能力(prefetching capabilities)和新型的计算能力等新技术,将现有的UltraSPARC Ⅳ处理器的应用吞吐量翻了一番。此外,UltraSPARC Ⅳ+处理器还将一个新的3级高速缓存层,与一个快速片上2MB二级高速缓存和一个大型32MB片外三级高速缓存组合在一起。
这些新的特性还与更高的运行频率(起始为1.8GHz)相结合,使UltraSPARC Ⅳ+比以往的UltraSPARC处理器有更高的吞吐量,大约是UltraSPARC Ⅳ处理器的每个线程性能的两倍。UltraSPARC Ⅳ+处理器采用了片上多线程技术(CMT),通过多个运算(或称线程)的同时进行,继续执行Sun的吞吐量计算战略,以进一步提高系统的性能。同时,还有一组新的RAS(随机存取存储器),使这一新的设计成为UltraSPARC系列处理器中最可靠的一员。
与UltraSPARC Ⅳ处理器一样,这第二代的UltraSPARC Ⅳ+处理器仍然保持了Sun系统传统的二进制兼容的特性,因此保护了客户在开发工具和应用软件方面的已有投资。Sun还向他的客户提供了使其系统性能和可靠性双升级的简易途径,系统的占地面积不变,电源功率和热包装仅有很小的变化。我们详细介绍了Sun的各型号CPU,Sun SPARC处理器比较如表1-1所示。
微处理器名称 | 处理器 频率 | 架构 版本 | 发布时间 | 线程 | 工艺 | 晶体管数量 | L1缓存 | L2缓存 | L3 缓存 |
SPARC | 14.28–40 | V7 | 1987-1992 | 1×1=1 | 0.8–1.3 | ~0.1–1.8 | 不详 | 无 | 无 |
microSPARC I (Tsunami) | 40–50 | V8 | 1992 | 1×1=1 | 0.8 | 0.8 | 2 | 无 | 无 |
SuperSPARC I (Viking) | 33–60 | V8 | 1992 | 1×1=1 | 0.8 | 3.1 | 16 | 0-2048 | 无 |
hyperSPARC (Colorado 1) | 40–90 | V8 | 1993 | 1×1=1 | 0.5 | 1.5 | 0 | 128-256 | 无 |
microSPARC II (Swift) | 60–125 | V8 | 1994 | 1×1=1 | 0.5 | 2.3 | 8 | 无 | 无 |
hyperSPARC (Colorado 2) | 90–125 | V8 | 1994 | 1×1=1 | 0.4 | 1.5 | 0 | 128-256 | 无 |
SuperSPARC II (Voyager) | 75–90 | V8 | 1994 | 1×1=1 | 0.8 | 3.1 | 16 | 1024-2048 | 无 |
hyperSPARC (Colorado 3) | 125–166 | V8 | 1995 | 1×1=1 | 0.35 | 1.5 | 0 | 512-1024 | 无 |
TurboSPARC | 160–180 | V8 | 1995 | 1×1=1 | 0.35 | 3.0 | 16 | 512 | 无 |
UltraSPARC I (Spitfire) | 143–167 | V9 | 1995 | 1×1=1 | 0.47 | 5.2 | 16 | 512-1024 | 无 |
UltraSPARC I (Hornet) | 200 | V9 | 1998 | 1×1=1 | 0.42 | 5.2 | 16 | 512-1024 | 无 |
hyperSPARC (Colorado 4) | 180–200 | V8 | 1996 | 1×1=1 | 0.35 | 1.7 | 16 | 512 | 无 |
UltraSPARC IIs (Blackbird) | 250–400 | V9 | 1997 | 1×1=1 | 0.35 | 5.4 | 16 | 1024 or 4096 | 无 |
UltraSPARC IIs (Sapphire-Black) | 360–480 | V9 | 1999 | 1×1=1 | 0.25 | 5.4 | 16 | 1024–8192 | 无 |
UltraSPARC IIi (Sabre) | 270–360 | V9 | 1997 | 1×1=1 | 0.35 | 5.4 | 16 | 256–2048 | 无 |
UltraSPARC IIi (Sapphire-Red) | 333–480 | V9 | 1998 | 1×1=1 | 0.25 | 5.4 | 16 | 2048 | 无 |
UltraSPARC IIe (Hummingbird) | 400–600 | V9 | 2000 | 1×1=1 | 0.18 Al | 不详 | 16 | 256 | 无 |
UltraSPARC IIi (IIe+) | 550–650 | V9 | 2002 | 1×1=1 | 0.18 Cu | 不详 | 16 | 512 | 无 |
UltraSPARC III (Cheetah) | 600 | V9 | 2001 | 1×1=1 | 0.18 Al | 29 | 64 | 8192 | 无 |
UltraSPARC III (Cheetah) | 750–900 | V9 | 2001 | 1×1=1 | 0.13 Al | 29 | 64 | 8192 | 无 |
UltraSPARC III Cu (Cheetah+) | 1002–1200 | V9 | 2001 | 1×1=1 | 0.13 Cu | 29 | 64 | 8192 | 无 |
UltraSPARC IIIi (Jalapeno) | 1064–1593 | V9 | 2003 | 1×1=1 | 0.13 | 87.5 | 64 | 1024 | 无 |
UltraSPARC IV (Jaguar) | 1050–1350 | V9 | 2004 | 1×2=2 | 0.13 | 66 | 64 | 16384 | 无 |
UltraSPARC IV+ (Panther) | 1500–2100 | V9 | 2005 | 1×2=2 | 0.09 | 295 | 64 | 2048 | 32768 |
微处理器名称 | 处理器 频率 | 架构 版本 | 发布时间 | 线程 | 工艺 | 晶体管数量 | L1缓存 | L2缓存 | L3 缓存 |
UltraSPARC T1 (Niagara) | 1000–1400 | V9/UA 2005 | 2005 | 4×8=32 | 0.09 | 300 | 8 | 3072 | 无 |
SPARC64-VI | 2150–2400 | V9 | 2007 | 2×2=4 | 0.09 | 不详 | 128 | 6144 | 无 |
UltraSPARC T2 | 1400–不详 | V9 / UA | 2007 | 8×8=64 | 0.065 | 不详 | 不详 | 4096 | 不详 |
UltraSPARC RK | 不详 | V9 / UA | 2007-8不详 | 2×16= 32[1] | 0.065 | 不详 | 不详 | 不详 | 不详 |
表1-1 SPARC微处理器规格
表1-2是支持Solaris 10的Sun公司产品线,表格中按类别列出了Solaris 10发行版支持的各种Sun硬件系统的SPARC平台名称和平台组。所有SPARC平台都是64位的,但它们既可以运行64位的应用程序,也可以运行32位的应用程序。这些平台在使用Solaris 10发行版时,没有其他特殊的安装或升级说明。表1-2中列出的平台是sun4v平台组的一部分。
工作站系统 | 工作组服务器 | 中型和中级服务器 | 高端服务器 | Netra服务器 |
Sun Blade 100 Sun Blade 150 Sun Blade 1000 Sun Blade 1500 Sun Blade 2000 Sun Blade 2500 Ultra 2 Ultra 5 Ultra 10 Ultra 30 Ultra 45 Ultra 60 Ultra 80 Ultra 450 | Sun Fire V100 Sun Fire V120 Sun Fire V210 Sun Fire V240 Sun Fire V250 Sun Fire 280R Sun Fire V440 Sun Fire V480 Sun Fire V880 Sun Fire B100s Sun Enterprise2 Sun Enterprise Ultra 5S Sun Enterprise Ultra 10S Sun Enterprise 250 Sun Enterprise 450 Sun Enterprise 220R Sun Enterprise 420R | Sun Fire V1280 Sun Fire V490 Sun Fire V890 Sun Fire 3800 Sun Fire 4800 Sun Fire 4810 Sun Fire 6800 Sun Fire E2900 Sun Fire E4900 Sun Fire E6900 Sun Enterprise 3000 Sun Enterprise 4000 Sun Enterprise 5000 Sun Enterprise 6000 Sun Enterprise 3500 Sun Enterprise 4500 Sun Enterprise 5500 Sun Enterprise 6500 | Sun Fire E20K Sun Fire E25K Sun Fire 12K Sun Fire 15K Sun Enterprise 10000 | Netra 20 Netra 120 Netra 240 Netra 440 Netra 1280 Netra T1 Netra X1 Netra ct 400 Netra ct 800 Netra CT 820 Netra CP2300 Netra t1 100 Netra t1 105 Netra t 1120 Netra t 1125 Netra t 1400 Netra t 1405 |
表1-2 各种Sun硬件系统的SPARC平台名称和平台组