CHAPTER 2 第一日上帝说:“我要计算”便有了计算机
本章要点
◆ POWER CPU和AIX操作系统的演化
◆ CPU技术
◆ 32位、64位问题
◆ 线程、进程
◆ 系统DUMP,DUMP分析
◆ 性能优化的概念
◆ 虚拟化的概念
尽管IBM pSeries服务器采用的都是POWER架构的CPU,但其间发展了几代,而且曾经出现过几大系列。最终,它们终于逐渐走到一起,不同的处理器内核,封装为不同的CPU,满足不同的成本、性能群需求。图2-1为POWER系列芯片和AIX历史,介绍了POWER CPU和AIX不同版本的发布时间,关于POWER系列更详细的技术细节请参考:http://www-128.ibm.com/developerworks/power
图2-1 POWER系列芯片和AIX历史(摘自www.rootvg网站)
问题:为什么AIX操作系统不能安装在PC上?
一个程序为什么能在某一款CPU上运行?这是因为此CPU能够解读这个程序的二进制指令。程序开端是程序员编写的文本文件,高级语言与日常语法类似,汇编语言则与计算机CPU的语法类似,但写出来都是人能看懂的文本!而机器/CPU是看不懂的,需要通过编译,变成机器指令,编译的过程类似翻译,将你可以看懂的文本,翻译成机器能看懂的二进制代码,无论是高级语言还是低级的汇编语言,都需要编译,变成机器代码,才可以被计算机/CPU解读(执行)。
几乎每一种CPU都使用自己独特格式的语言(二进制机器可执行代码),如果两种CPU能够解读同一种格式的二进制机器可执行码,则称其为互相二进制“兼容”;如果一种CPU能够执行另一种的二进制代码,而反之不可以,则称前一种CPU“兼容”后一种CPU,这种情况多出现在同一系列CPU的前后两代之间,新一代的CPU通常“兼容”较老的CPU,这也被称为向前/向下兼容。现在的CPU种类浩如烟海,但是由于PC是非专业人士眼中计算机的代名词,很多人都以为计算机CPU只有Intel/AMD的x86兼容系列。如果把x86所使用的二进制机器码理解为是英语,但是世界上并非只有说英语的,同样也并非只有x86架构的CPU。IBM的POWER系列CPU就是另一款,说“POWER语”的CPU,和x86之间互相听不懂。这是最根本原因,导致了AIX不能装在PC上。
类似的情况是Windows为什么能有Alpha版,可以在DEC的Alpha小型机跑?因为微软将Windows另外编译了一下,编译成了Alpha能“听”懂的二进制码,AIX却没有这样做。为什么呢?市场策略!Windows想从PC向上走,占据高端服务器市场,所以就要主动编译成Alpha可理解的语言,现在甚至有了说“Intel IA-64语”的Windows。但是IBM / AIX不想这样,他希望借AIX推广POWER服务器,而不是推广x86系列的PC服务器或推广AIX。
这里又会谈到虚拟机的问题,可以这样理解,编译程序是翻译,将整本书翻译了。而虚拟机是同声传译,在读书的同时进行翻译,显然同声传译需要很高的技巧和CPU处理能力,如果是同类型的体系,例如语法相差不大,将广东话翻译成普通话,这个工作很容易,也不会损失多少性能,但要把广东话翻译成英文,这个工作量就大了,正如同同声传译远没有演讲者的原文吸引人,而且往往滞后或丢失细节。VMWare虚拟机只进行类似广东话到普通话的翻译,实际上的基本指令代码根本没翻译,因此不会牺牲过多的性能,但要在VMWare里跑AIX,就需要将广东话翻译成英文,性能损失非常大,VMWare也没有提供这种CPU转换的仿真。
在PC上有街机游戏的仿真器,提供了这种不同CPU语言类型的仿真,但是性能损失比较大。以前CPU性能不行,所以仿真器仿真的都是前一两代CPU的游戏,最新的PS2的游戏,就不能用现在的CPU仿真,可能过2~3年,就可以用那时的最新的CPU,仿真现在的PS2,但现在不行。有兴趣的朋友可以看看这个网站:http://skyeye.org/这是仿真ARM CPU(另一款与x86,POWER都不同的CPU)的open source程序,提供对ARM CPU的仿真。
单独为某一款CPU编写的程序如果用另一种CPU的编译器编译,并不是很容易就可以通过执行的,会出现很多问题,所以一个操作系统如果支持两种芯片,开发成本尽管没有增加一倍,但也很高,所以如果没有很好的市场发展要求,没人愿意做支持两个平台的操作系统。
AIX没有Intel x86版,但能否装在其他的POWER芯片的机器上?还是不行,还需要外设、操作系统调用支持。例如苹果机,也是使用POWER架构的CPU,从二进制执行角度,这没问题,但是作为操作系统,而不是一个程序,不仅有二进制兼容问题,还有许多其他的外设驱动支持、中断控制、DMA访问等许多技术,而IBM的pSeries和苹果计算机的体系是截然不同的,除非有人专门设计了相关的所有驱动程序、操作系统引导环境(Boot Loader和BIOS调用匹配),否则依然运行不了。由于这个工作量很大,而且要求了解很高的技术细节,往往只有操作系统的开发者才能做这个工作,鉴于AIX是IBM重要的商业软件,IBM自己是不会做任何与自己商业目的有抵触的事情的,因此这条路也不通。
关于虚拟化的详细介绍,请参考本书“2.7 Simulation,Virtualization,虚拟化技术、分区”一节。
2.1 POWER家族
在第1章已经介绍过,IBM POWER家族CPU共有3大系列,分别是POWER,Power PC和CELL,其中CELL用于嵌入式系统,而其他两大系列都在商用服务器领域有应用。其实历史上在POWER,Power PC中间,还有一个Star系列。
2.1.1 POWER系列
POWER系列CPU从1990开始生产、装备到RS/6000(即RISC System/6000)UNIX工作站和服务器上,现在被称为eServer™ pSeries®服务器,主要的型号有POWER 1,POWER 2,POWER 3,POWER 4,POWER 4+,以及目前的POWER 5,POWER 5+和刚刚推出的POWER 6处理器。
最早的801是POWER系列处理器的前身,它的设计非常简单,为了实现所有的指令都能在一个时钟周期内完成,因此缺乏浮点运算和并行处理能力,POWER架构为了解决这个问题,或者说超越801的限制,增加到了100多条指令,成为一种很“复杂”的精简指令集CPU。
1.POWER 1
发布于1990年,每个芯片大约封装了80万个晶体管。
与当时其他的处理器不同,POWER 1进行了功能分区,这种设计方案使POWER 1具有非常好的扩展能力,它有单独的浮点寄存器,可以适用于从低端UNIX工作站到高端UNIX服务器各种环境。最早的POWER 1是安装在同一母板上的几个芯片的组合,不过很快就集成到一个芯片中,成为单芯片设计,总计拥有超过一百万个晶体管的RISC处理器(RSC,RISC Single Chip,即单芯片的RISC处理器)。POWER 1最成功的应用是被用于火星探路者宇宙飞船上。
2.POWER 2
发布于1993年,每个芯片封装了一千五百万个晶体管。
POWER 2增加了第二个浮点单元处理(floating-point unit,FPU)和更多的缓存。被称为P2SC(Power 2 Scalable Chip)的超级芯片使用CMOS-6S技术,用一个芯片实现了POWER2 8个内核的架构(从这里你可以看到其实在1993年IBM就已经开始了多核芯片的设计,其实如果囊括大型机,在20世纪80年代,就有了多核的概念),就是使用这种处理器的32个节点的DEEP BLUE(深蓝)超级计算机,在1997年战胜了国际象棋冠军卡斯帕罗夫。
3.POWER 3
发布于1998年,每个芯片封装了一千五百万个晶体管。
这是IBM第一款64位对称多处理器结构(SMP),与原有的POWER指令集完全兼容,也兼容Power PC指令集,主要用于科学计算,从航空设计、生物制药数据分析到天气预测。它具有一个数据预取引擎,非阻塞的内置数据缓存和双浮点处理单元。POWER 3-II采用与POWER 3相同的设计,在制造芯片时使用了铜导线技术,在几乎相同的制造成本下,提高了一倍的性能。
4.POWER 4
发布于2001年,每个芯片封装了一亿七千四百万个晶体管。
这是一款达到GHz主频的处理器,0.18微米铜导线,硅绝缘技术。它具有POWER 3的全部特性,包括与Power PC指令集兼容,但它又是全新的设计,每个处理器包含两个64位1GHz+ Power PC内核,这是业界第一款批量生产的单芯片双核设计,又被称为单芯片对称多处理设计(multicore design on a single die,SMP on a chip,或者system on a chip),每个处理器可以同时执行200条指令。POWER 4架构可以制造IBM Regatta(即p690)大型服务器,也被用来设计Power PC 970处理器(在苹果公司被称为Apple G5)。POWER 4+™(又被称为POWER 4-II)是POWER 4主频升级的提高版。POWER 4 CPU支持了分区技术,可以将芯片切分成多个单元,运行不同的操作系统。
5.POWER 5 ™
2004年发布,与POWER 3和POWER 4类似,POWER 5同时使用了POWER和Power PC架构,利用了更快的片内通信技术、芯片多处理技术、同时多线程技术(simultaneous multithreading,SMT,一个物理CPU内核可以模拟两个逻辑CPU,如果两个线程的工作内容相差较大,则使用SMT技术性能最高可以达到单个CPU方式执行的1.5~1.7倍),比POWER 4性能提高了4倍。POWER 5的高端服务器代号为“骑兵队”(“Squadrons”,IBM希望此CPU能如同骑士马队冲锋一样横扫UNIX服务器市场,结果似乎应验了设计者的期望)。在POWER 5上支持了微分区(Advanced Virtualization)的功能,可以将一个处理器内核虚拟切分成多个处理器,供操作系统使用,最小的分配粒度为0.1个CPU,共享使用粒度是1/100个CPU。在2006年,IBM推出了主频提高,封装变化的POWER 5,被称为POWER 5+,最高主频为2.2GHz。POWER 5的封装和外观如图2-2所示。
图2-2 包含2个P5核心的DCM(双核)和包含4颗POWER 5 CPU的MCM(多核)模块
讨论:散热与CPU设计、制造有什么关系?
在前面一直不停地提到芯片的散热,似乎散热比芯片处理能力更重要,事实确实如此。研究过CPU超频的发烧友都知道同样类型的CPU,主频越快、CPU处理速度越快。如果芯片功耗小,散热少,则简单地提高芯片主频(不按照厂商标准,非正常地提高主频方式就叫超频),就可以提升性能。但是随着主频的提升,发热量以三次方的比率增加,当达到芯片散热极限的时候,也就是此款芯片性能的最高点。因此,发热量直接关系到CPU的处理速度。此外,发热量还会影响以下几个方面:
(1)温度越高,集成电路中的晶体管结构越不稳定,漏电越多,会产生更多的热量,最终丧失功能。长期这样运行,晶体管结构也更容易损坏,故障率高。如果散热少,则CPU更稳定;
(2)CPU集成度高,要求导线更细,电阻增高,相同主频下散热也越多。因此发热情况是集成度和设计效率的综合体现。如果实现相同功能,发热量低,说明该设计还有可挖掘的潜力,只要适当提高主频,就可以“廉价”地提高处理性能;
(3)由于散热问题,辅助散热的设施更加复杂。尽管单个CPU可能只消耗几十瓦的功率,但对于一个有几十个CPU的服务器,就需要消耗近千瓦用于CPU,另外几百瓦用于风冷散热。这些设施都增加的服务器的成本:服务器用的可是UPS过滤后的高质量电源,每度电成本惊人,更不用说机房的制冷系统,需要把这些刚刚产生的“热量”再冷却下来。
从图2-4所示的封装芯片功率密度图中可以比较不同芯片之间的散热能力。在IBM的大型机中,最早使用的是Bipolar技术生产芯片,尽管Bipolar在相同的制造工艺下,可以比其他技术生产的芯片更快,但是发热量更高。为了处理好系统散热,IBM早在20世纪60年代中期就开始使用水冷技术,在大型机里竟然有一台“冰箱”专门用于芯片散热(这可能也是大型机都很大的原因之一?!)。到20世纪90年代,随着CMOS技术的崛起,IBM的大型机也转型采用CMOS技术生产芯片,不再需要水冷散热,但是又过了将近10年,CMOS的处理能力才达到10年前的Bipolar芯片!。如今,CMOS也将面临散热的问题,好在IBM早有经验,也许又要用“冰箱”装备计算机了!
注意,这里的散热功率是指封装好的芯片平均发热量,如果按照芯片内核计算,你就会发现芯片真的“太热了”,例如其中POWER 5的内核只有不到1cm2,而8个POWER 5内核的封装却达到了100 cm2以上,平均每个内核10cm2,如果再进一步考虑其厚度只有区区几个微米,其点功率密度远远超过我们的想象。一个极端的外推测算是如果按照当前芯片功率密度和处理性能增长速度(摩尔定律),15年之内,芯片中心点功率密度将超过核反应堆的中心!这当然是不可能的,因此依照现有的芯片设计方式,很快就要达到理论设计极限了。为了降低芯片产热量,POWER 5 CPU增加了动态电源管理功能,当不需要全速工作的时候,会自动关闭一些模块,或者降低这些模块的时钟频率,使得散热量下降(参考图2-4 Power 5红外影像)。热耗散是这些极限中的一个,也是最重要的一个。其他类似的极限还有:
图2-3 不同CPU的功率消耗情况
(1)量子隧道极限。
当CPU内集成电路中功能结构之间距离过于紧密时,电子会随机从势垒中跃迁到外面,发生泄漏,因此无法完成正常的开关功能。尽管此极限作用范围是纳米级别,但是我们已经逐渐趋近于这个极限,现在的集成电路标称尺度是90纳米,当达到45纳米甚至10纳米的时候,量子隧道效应就会非常明显,以至于不能忽略。
(2)光速极限。
可能读者会感到疑惑,在CPU那么小的区域内怎么会和30万千米/秒光速有关系?其原因是由于1GHz以上的主频。在1GHz的频率下,在每个时钟周期内(实际是一个方波,此处忽略各种不同定义之间的区别),电信号只能传播0.3米(电信号是电磁波,与光速相同)。虽然CPU总体体积不大,但是其中导线连接错综复杂,累计长度远比我们想象中长,一颗采用90纳米技术,含有一亿个晶体管的芯片,其内部导线总长度可以达到300米以上,当然并不是所有的线路都串联在一起,不过此时光速极限的作用也变得非常明显。
(3)封装和IO极限。
由于CPU功能越来越强大,需要并行处理很多数据,这些数据毕竟是在内存、在磁盘上,需要将这些数据及时“填充”到CPU中执行。通过增加引脚、提高数据位数可以提高数据传输带宽,但是引脚密度与工艺相关,其密度固定(增长非常缓慢),所以在做CPU的时候,应尽力增加片内集成度,把Cache,把其他IO功能也都集成到CPU中。封装中还要考虑冷却、机械强度等问题,这些附属的功能也不能无限增加,其封装成本越来越高。
类似的极限还有很多,但作者相信CPU的发展远没有达到终点,不断有创新技术去超越这些极限(更可能是绕过,例如POWER 5技术支持的动态电源管理技术可以让CPU闲暇的时候降低温度(如图2-4所示为Power 5红外影像)。例如强制冷却技术、立体集成电路制造工艺,从DCM(双核)到MCM(多核),以后可能会出现XCM(作者杜撰的一个词),总之,人类的想象力和创造力是无穷的。
图2-4 Power 5红外影像
6.POWER 6 ™
在2007年5月发布,目前最高主频4.7GHz,今后将有超过5GHz主频的版本。片内集成度约为7亿5千万个晶体管。POWER 6将一些总线控制和CPU内核之间的数据通道集成进单一芯片,与POWER 5相比,增加了更多的CPU内核间通信机制和Cache。POWER 6比较有特点的技术是可以直接支持10进制数字处理,这是计算机史上的一次回归,我们从十进制转到二进制以便于计算机处理,而如今,计算机芯片设计已经足够先进,让我们可以不再去适应机器,而是让机器适应我们的需求。
POWER 6其他的技术包括双核,128KB的L1 Cache(数据、指令各64KB),8条两阶流水线支持在一个时钟周期完成两组32位读或一组64位写操作;两个内核各有4MB“半共享”的L2 Cache,虽然它被一个内核占据,但另一个内核也可以快速访问它;另外32MB的L3 Cache可被两个内核通过80GB/s的带宽访问;POWER 6还通过ViVA-2(VirtualVector Architecture)技术提高了向量处理性能;支持最多1024个虚拟分区也是POWER 6的新特点(POWER 5最多支持256个分区)。POWER 6特有的10进制运算寄存器、指令可以使它在计算时不会产生2-10进制转换误差,同时也提高了运算速度。POWER 6包括一些额外的电路去支持Mainframe的指令,开始了整合z系列的实践,而POWER 6L则是“简化”版的芯片,降低了主频,可以用于刀片服务器。
在生产POWER 6的同时,POWER 7也处于紧张开发阶段,预计2012年面世,有传言说POWER 7将使用与AMD Opteron相同的CPU管脚插座,这几乎意味着IBM要造出一个超级整合的计算机,最后把x系列也装载到这个盒子里,插了POWER 7就是UNIX服务器、大型机,而换了Opteron,就是PC Server,甚至不同的CPU可以并存于同一台服务器!
2.1.2 Star系列
Star系列处理器,是Power PC架构的另一种技术实现,与POWER系列非常类似。由于此系列的各种CPU代号都有Star或者用某一颗星的名字来命名,因此被称为Star系列。
1.RS64
1997年发布,代号为“Apache”。
这一系列使用Power PC处理器设计,继承了大量POWER架构的特点,但为了商业运算进行了特别优化,与POWER 3相比,其中包括指令分支预测、浮点意外处理、硬件预取等功能被取消,而取而代之的是整形计算意外处理、复杂的片内/片外缓存算法、更大的缓存容量。RS64的设计可以支持64位处理,在2000年发布的RS64 IV中采用了硬件多线程技术,单台服务器最多可以扩展到24颗CPU,消耗的功耗也非常少,每个处理器只有15瓦。此款CPU开始用于AS/400(即后来的iSeries),从RS 64 II起,才用于RS/6000(pSeries)。
这种设计使得RS64芯片比较适用于在线交易(On-Line Transaction Processing,OLTP)、企业资源计划系统(Enterprise Resource Planning,ERP),以及其他大型、混合的多功能、数据库访问、多用户、多进程的业务。不过在实际使用的过程中,发现其计算速度稍有欠缺,可能是RS64 CPU的主频都很低,典型的几款服务器主频只有100MHz左右,对于商业智能(Business Intelligence,BI)和科学计算一类的应用,性能不佳。
2.RS64 II
1998年发布,代号为:“Northstar”(北方之星)。
该CPU拥有8MB L2 Cache,256位的数据总线,262MHz主频。装配此款CPU的服务器可以支持最多三个CPU板,每个CPU板装载4路CPU,这样可以使RS/6000服务器具有4路、8路、12路的SMP结构。
3.RS64 III
1999年发布,代号为:“Pulsar”(脉冲星)。
第一款使用硅绝缘的RS64芯片,通过6个CPU卡可以实现24路SMP结构。由于此款CPU主频提高到450MHz,使用优化的指令分支预取技术避免了跳转惩罚(或只需要额外1个时钟周期),5级流水线等技术,CPU处理性能大幅度提高。IBM用此款服务器装配了RS/6000的80系列(H80,M80,S80服务器)。
4.RS64 IV
2001发布,代号为:Istar,SStar
第一款支持硬件多线程的商用处理器,比以前同系列的CPU更快,更小。600-750MHz的主频,硬件多线程技术(HMT)使得此CPU具有不错的市场表现。另外每个CPU仅消耗15W的功率也使得用此CPU装配的服务器无需特别的电源、散热系统。
由于市场对于商业和计算环境的混合需求,使得IBM重新整合了POWER系列和Power PC系列处理器,最终设计了POWER 4处理器。Star系列也最后完成了历史使命。
2.1.3 Power PC系列
Power PC中的PC代表了高效处理的含义(Performance Computing),是从POWER架构发展出来的一个分支,最早在1993年发布,用于从单板机、电池电源管理到超级计算机和Mainframe主机。Power PC最早登上主角的地位是从作为Power Macintosh 6100的CPU开始的。
众所周知,Power PC开始与苹果、摩托罗拉和IBM联盟(被称为AIM联盟),是源自于POWER架构的设计,但进行了大量的改动。例如,Power PC是open-endian设计,即同时支持大尾段(big-endian)和小尾段(little-endian)内存模式,而POWER是大尾段设计;Power PC希望提供更强的浮点处理能力和多线程处理能力。所以这两种类型的CPU并没有太大的差别,Power PC保留了绝大部分POWER指令,许多应用只要重新编译,就可以分别在两个平台上运行。
当IBM和摩托罗拉分别自己设计芯片的时候,依然遵循统一的标准。在2000年,大家使用的是Book E spec,这个设计实现使Power PC能更专注于嵌入式处理系统,例如网络、存储和家用设施的处理器。
除了兼容之外,Power PC的架构的另一个亮点是开放,它公开了指令集,允许任何厂商设计Power PC的兼容处理器、Power PC的一些软件的源代码也可以下载到,Power PC的内核也非常小,可以在同一芯片上安置许多其他的辅助电路,例如缓存、协处理器,大大增加了芯片的灵活性。
IBM四条服务器产品线中有两条都与Power PC架构有关,另外苹果公司的台式机和服务器、任天堂的GameCube,IBM自己的蓝色基因超级计算机都使用了PowerPC芯片。
今天,Power PC家族有三条产品线,分别是嵌入式的Power PC 400系列,Power PC 700和Power PC 900系列。从历史上看,还有一款Power PC 600系列最值得关注,因为它具有非常好的性能。
1.Power PC 600系列
Power PC 601是Power PC 600系列中的第一款,它综合了POWER和Power PC架构的特点,并且尽量保持与POWER 1和随后的其他Power PC芯片的兼容性(即使是同一系列的芯片,也存在兼容性问题),甚至与摩托罗拉的88110兼容。苹果公司用Power PC 601在1994年制造了Power Mac 6100,66 MHz CPU主频。此系列下一个芯片是603,低端、低功耗的处理器,大量使用在汽车上。与Power PC 603®同日登场的还有PowerPC 604®,是更强大的处理器,随之的是“加强版”的603e和604e。在此之后,第一款64位Power PC——Power PC 620®在1995年被发布。
2.Power PC 700系列
在1998年,出现了Power PC 740和Power PC 750,与604e非常相像,甚至一些人说600/700两个系列根本就是一回事。Power PC 750是第一款铜导线处理器,苹果公司用它生产了G3,但很快就被G4所取代,使用的是摩托罗拉7400。在2002年发布的32位的Power PC 750FX曾经震惊业界,因为它是第一款达到1GHz主频的处理器,IBM在2003年紧跟着推出了750GX,集成了1MB片上二级缓存,也是1GHz主频,大约7瓦功耗。
3.Power PC 900系列
64位的Power PC 970,实际上是单处理器内核的POWER 4,可以同时执行200条指令,最高达到2 GHz以上的主频,而仅仅消耗十数瓦的电力。低功耗使它被大量用于笔记本电脑和手持设备上,还有一些高密度的存储、服务器(例如刀片中心)也在使用它。64位处理能力,单指令多数据流设计使它更适合于多媒体、图形处理。苹果公司的台式机、Xserve服务器,以及其他一些图形、网络设备,都在使用这款处理器。例如苹果Xserve G5就使用了Power PC 970FX,也是第一款同时使用了应变硅、硅绝缘两项技术的芯片。
4.Power PC 400系列
这一款芯片主要用于嵌入式系统,但Power PC灵活的架构使它可以被用于从机顶盒这样的小设备到蓝色基因超级计算机。在产品线的一端,Power PC 405EP在200MHz主频仅消耗1瓦的电力,而铜导线的Power PC 440在800 MHz主频可以提供同类型嵌入式芯片中最高的性能。这款芯片也有许多旁支,例如利用Power PC 440GX的双Gigabit Ethernet和TCP/IP加速功能可以降低网络应用程序50%以上的负载。围绕Power PC 400内核,有许多具体实现,用于建造蓝色基因超级计算机的处理芯片就是包含了两个Power PC 440处理器内核和两个浮点处理内核。
关于Power架构的详细介绍,有兴趣的朋友可以参考以下网址:
http://www-306.ibm.com/chips/techlib/techlib.nsf/productfamilies/PowerPC
2.1.4 IBM的芯片制造专利
大家都知道IBM最早设计了SQL,FORTRAN语言,生产了第一台硬盘驱动器、个人计算机和最早的商用计算机(这也是国际商业机器公司名称的由来),但很少有人知道IBM在芯片制造领域也是技术领先者。最近IBM又斥资几十亿美元,建造了300mm的芯片制造工厂。
1.铜导线技术
半导体工业中一直梦想着用铜取代铝作为芯片内部导线,因为铜比铝的导电率高40%,这就意味着可以用更细的导线制造芯片,实现更高的集成度,而芯片发热量更少。IBM 1997年申请了铜导线专利,并将此制造专利出售给几乎所有的芯片制造企业,包括HP公司。
2.硅-锗技术Silicon-Germanium(SiGe)
在制作双极电路芯片的时候,需要使用昂贵的镓—砷处理过程,而采用SiGe可以大幅度提高操作频率,提高扩散度,减少信号噪音,在1994年,IBM发布了此技术。
3.硅绝缘技术Silicon on Insulator(SOI)
在制作芯片的硅基材料和三极管电路之间附着一层绝缘材料可以防止电子泄漏效应,减少晶体管漏电,从而提高芯片的性能,降低电力消耗(较少发热)。
4.低K值门电路
三极管进行逻辑操作需要对电压信号进行响应,如果能够对很低的电压信号做出反应,则整体集成电路的输入电压和消耗功率都会很低,因而降低了芯片发热量,减少了门电路的电容效应,提高了响应(开关)速度,此技术可以让芯片在更高的频率下工作。
5.应变硅技术Strained silicon
此技术采用对制作芯片的硅预先进行拉伸(同时在另一个方向进行压缩)处理,这种方式有点类似于钢铁行业的锻造技术。通过此技术使芯片材料形成特定的晶格形式,提高电子通过速度,增加性能,降低功耗。与硅绝缘技术一起使用,能更提高更多的性能,减少更多的电力消耗。
6.3-D集成电路技术
当芯片内电路越来越密集的时候,固然可以降低芯片内器件的尺寸,但现在已经趋进了理论技术极限,越来越难以提高。另一条变通的出路就是从二维走向三维,通过将芯片内的电路立体化,可以在相同的平面集成度(工艺)下,提高至少50%的密度,最乐观的估计是可以凭借此技术再延续摩尔定律20年。
2.1.5 POWER CPU芯片封装
CORE,Chip,DCM,QCM,MCM,Processor,这些都是CPU封装的一些相关概念。CORE即内核,通常代表一个CPU,但是一个单独的CPU内核往往需要很多辅助的部件,例如Cache、协处理器等,内核不能独立工作。如果一个CPU内核和相关的电路被集成到一个物理的封装模块(Chip)中,可以完成完整的处理功能,就被称为CPU,而如果这个物理模块中包含了两个内核,则叫做双核结构,IBM称其为DCM(Dual CPU Module),Intel称其为Dual CORE结构。
不同厂商对CPU的定义不尽相同,长时间存在模糊的定义,例如IBM通常以一个CORE为一个CPU,而Sun公司以前认为一个封装(Chip)才是一个CPU。现在业界已经逐渐统一,一般都以一个CORE为一个CPU。
QCM和MCM在前面也有过介绍,分别是四核的封装和多核的封装结构。
处理器(Processor)与CORE的概念类似,但处理器更多用于表示逻辑CPU,就是从操作系统层面来看,CPU的数量和运行情况。当没有使用SMT(虚拟多线程)技术的时候,一个内核就表现为一个处理器,而使用了SMT一类的技术,则一个内核可以“虚拟”成为两个处理器。
2.1.6 AIX的历史
AIX V1在1986年面世,以IBM 6150 RT(RISC Technology)工作站为硬件平台,以System V Release 1(这是UNIX的老祖宗AT&T贝尔实验室推出的一个商业版UNIX标准)和2为基础开发,但是由于和IBM合作开发AIX的INTERACTIVE Systems Corporation(这是IBM的一个下包公司)也从Berkeley Software Distribution 4.2(这是由伯克利大学的计算机系创始的UNIX的另一大体系)和4.3获得了源码使用授权,并将其应用于AIX中,因此AIX包含了UNIX两大体系的特点。从AIX操作系统的命名,也可以看到研发公司Interactive Systems的影子:AIX的缩写的一种解释是Advanced Interactive uniX。
AIX V2的内核使用PL/I语言编写,而这种语言与UNIX领域的霸主C语言比起来,不但晦涩,而且更加死板,这使得继续开发V3版AIX遇到了很多麻烦。V2版的AIX基本已经具有了全部现代UNIX的特征,它包括完整的TCP/IP协议支持,当然也支持IBM自己的SNA网络协议;支持2种类型文件系统:来自Sun Microsystems授权的NFS和Distributed Services(这是IBM Mainframe和AS/400上使用的一种网络文件系统协议)。V2也提供了图形方式的用户界面,即X 10R3,这是授权自MIT(麻省理工大学)的X Windows System标准,后来升级为X 10R4和X11版。编译系统则包括C和Fortran语言支持。
当IBM发布RS/6000平台的时候,AIX只是这种平台可支持的几种操作系统之一,被称为AIX/6000,直到1990年,才成为它唯一的商用操作系统,此时的AIX版本为V3,基于AT&T System V Release 3。AIX终生坎坷,好在有惊无险,无论是20世纪90年代末的Monterey计划,还是2003年与SCO关于版权的诉讼都没有让AIX夭折,相反,AIX一天天成长、壮大。
在支持RS/6000同时,AIX也有另外一个版本支持PC(x86 CPU),叫做AIX PS/2(或者AIX/386),这是由IBM另外一个下包公司:Locus Computing Co.开发、在1989年发布的,它支持IBM PS/2硬件平台,使用Intel 386处理器。可惜此后随着PS/2日落西山,合同并没有续签,AIX的PC版也就因此终结了。
作为最主要的大型机生产商,IBM当然不会放弃在Mainframe上做文章的机会,AIX也有大型机版。此版本发布于1988年,被称为AIX/370,也是由Locus Computing开发的,1991年大型机发布了ESA/390架构之后,AIX/370也升级为AIX/ESA支持此架构。与AIX/370不同,AIX/ESA既可以作为大型机最底层操作系统,也可以由大型及传统的操作系统VM提供一个虚拟的硬件环境,作为Guest OS使用。由于为大型机提供了一些类似UNIX的界面和功能,所以此版本还有一些市场,最后在1999年被改名为MVS/ESA OpenEdition,可惜其生命也就此终结。
其后AIX与RS/6000(即pSeries)患难与共,共度难关,终于赢得今日辉煌,想了解详细的信息请参考《AIX从成功走向成功》一文:ftp://ftp.Software.ibm.com/common/ssi/pm/rg/n/pso 03004 USEN.PDF