1.2.5 Solaris的硬件系统架构(2)
典型的Solaris SPARC工作站包含下面的部件。
- 基本部件,包括主板、SCSI控制器和SBUS卡。
- 显卡。
- 使用SCSI总线或者IDE连接线和基本部件上的SCSI控制器相连的SCSI设备。
- CD-ROM驱动器,内部或者外部(SCSI或者IDE)。
- DVD-ROM驱动器,内部或者新的系统。
- 音响和麦克风,外部设备。
- 两个串行接口(A和B)。
- 一个并行接口。
- 内部或者外部磁带驱动器(DAT/DDS/QIC等)。
- 鼠标(机械的或者光电的)和键盘。
下面比较两个典型的SPARC系统。
仔细分析两种SPARC系统:工作站(UltraSPARC 5)和服务器(UltraSPARC E-450),UltraSPARC 5系统是曾经流行的低端桌面模型。尽管它已经被新的、花费更少的Sun Blade 100取代,但在低端商业和家庭应用中它仍然非常受欢迎,UltraSPARC 5它支持270MHz~400MHz的UltraSPARC-IIi CPU。它内部建有16KB的指令和数据缓存,支持256KB~2MB的外部缓存。在内存和磁盘容量方面系统支持512MB物理内存,CD-ROM和一个1.44MB的软盘,两个硬盘驱动器系统有三个外围设备(两个串口和-个并口)并具有内置的以太网适配器10Mb/100Mb速度。UltraSPARC 5在性能上和桌面PC相当。
UltraSPARC E-450是工作组级别的服务器,支持对称多处理、更多的磁盘、高速总线、热切换、每个CPU有更多的缓存RAM。UltraSPARC E-450支持4个UltraSPARC-Iii CPU,速度在250MHz~480MHz。每个CPU内部有16KB的指令和数据缓存,外部缓存可以达到4MB。系统支持多达16个双内置内存模块(DIMMS),物理内存可以达到4GB。此外也可以在底盘上安装热插拔交换电源,从而可以使用两个不同的电源。系统有三个外围设备(两个串口和-个并口)并具有内置的以太网适配器10Mb/100Mb速度。一个用于备份的DDS-3的DAT磁带驱动器。
RISC小贴士
精简指令集计算机CPU的一种设计模式,也被称为RISC(Reduced Instruction Set Computing的缩写)。常见的精简指令集微处理器包括AVR、PIC、ARM、DEC Alpha、PA-RISC、SPARC、MIPS、Power架构等。早期,这种CPU指令集的特点是指令数目少,每条指令都采用标准字长、执行时间短、CPU的实现细节对于机器级程序是可见的等。实际上在后来的发展中,RISC与CISC在争吵的过程中相互学习,现在的RISC指令集也达到数百条,运行周期也不再固定……虽然如此,RISC设计的根本原则--针对流水线化的处理器优化--没有改变。RISC的三个要素是:一个有限的简单的指令集;CPU配备大量的通用寄存器;强调对指令流水线的优化。
基于以上三要素的RISC机器的特征如下。
(1)使用等长指令,目前的典型长度是4个字节。
(2)寻址方式少且简单,一般为2~3种,最多不超过4种,绝不出现存储器间接寻址方式。
(3)只有取数指令、存数指令访问存储器。指令中最多出现RS型指令,绝不出现SS型指令。
(4)指令集中的指令数目一般少于100种,指令格式一般少于4种。
(5)指令功能简单,控制器多采用硬布线方式,以期更快的执行速度。
(6)平均而言,所有指令的执行时间为一个处理时钟周期。
(7)指令格式中用于指派整数寄存器的个数不少于32个,用于指派浮点数寄存器的个数不少于16个。
(8)强调通用寄存器资源的优化使用。
(9)支持指令流水并强调指令流水的优化使用。
(10)RlSC技术的复杂性在于它的编译程序,因此软件系统开发时间比CISC机器长。
RISC与CISC的主要特征对比如表1-3所示。
比较内容 | CISC | RISC |
指令系统 | 复杂,庞大 | 简单,精简 |
指令数目 | 一般大于200 | 一般小于100 |
指令格式 | 一般大于4 | 一般小于4 |
寻址方式 | 一般大于4 | 一般小于4 |
指令字长 | 不固定 | 等长 |
可访存指令 | 不加限制 | 只有LOAD/STORE指令 |
各种指令使用频率 | 相差很大 | 相差不大 |
各种指令执行时间 | 相差很大 | 绝大多数在一个周期内完成 |
优化编译实现 | 很难 | 较容易 |
程序源代码长度 | 较短 | 较长 |
控制器实现方式 | 绝大多数为微程序控制 | 绝大多数微硬布线控制 |
软件系统开发时间 | 较短 | 较长 |
表1-3 RISC与CISC的主要特征对比
2.Intel硬件
如果Solaris只是为运行在SPARC硬件上而设计的,那么Sun可以在SPARC上赚到钱,为什么Sun还要支持Intel版本呢?对于初学者而言,世界上的Intel系统要比SPARC系统多。Sun和Intel还有历史上的关系,Intel在80386和80486中支持SunOS4.x。然而,正是因为这样,Sun开发了SPARC的CPU,它是现在UltraSPARC系列CPU的先驱。基于Intel的系统也可以在工作站环境中运行,比SPARC系统要便宜得多。因为Sun的生意主要在服务器硬件上,所以它为Intel工作站开发可靠的(它自己的高端服务器也支持)操作系统。
对于很多潜在的Solaris用户来说,即便是他们想要获得UNIX操作系统的特性,但SPARC系统对于他们来说还是太昂贵了。一般来说,各种组织总是要充分利用他们现有的在PC硬件上的投资。然而,一些PC操作系统并不能满足他们的需要。虽然PC已经成为桌面计算机的事实标准,但基于PC解决方案的投资有时候并不能让用户满意,因为PC操作系统缺乏稳定性,尤其是出现各种特定于应用程序的问题,即便操作系统也可能出现问题。还有一些其他问题,包括系统可能在进行重要商业操作的时候缺乏可靠性。尽管Intel的CPU允许对这些造成失败的操作进行逻辑上的隔离(例如保护模式),但这需要操作系统的支持,操作系统厂商并没有完美地完全实现它。换句话说,PC硬件可以胜任任务,但操作系统从来没有完全利用它的能力。也许是过多的失败导致很多有才能的开发人员并不更正现有的PC操作系统中的错误,因为大多数的PC操作系统都具有专利权。也就是说,操作系统厂商要求用户报告操作系统的错误,在错误得到确认后才进行改正。此外,一些所谓的"标准"硬件经常会产生错误,它们经常和应用程序和服务器软件不兼容。例如,在80286CPU系统被吹捧和IBM兼容的时候,大多数使用ISA总线,但是实际上IBM在它们的PS/2系统上使用微通道体系结构(MicroChannelArchitecture,MCA)作为总线。然而,PC硬件已经形成了一些标准,比如PCI总线,PC上的数据吞吐量已经极大地改进了性能指数。