当前位置:文档之家› 30年CPU架构发展史(一)

30年CPU架构发展史(一)

从简单纯粹的运算单元,到拥有多指令并行发射机制,再到多级流水线的产生,高速缓存的纳入,频率冲破GHz,再到内存控制器的集成,直至今天GPU的整合,这一切便是过去三十年来x86 CPU架构的进化历程。

英特尔和AMD是这个历史的缔造者,它们最初基于相同的架构,中途分道扬镳,彼此又不断借鉴对方的优秀创意,在此起彼伏的交锋中共同将x86带向未来。

现在,我们将向你讲述x86处理器架构的发展史,它们也过去三十年IT业发展历程的见证者。

初始时代:奔腾之前1.4004~80286:x86架构的初生作为x86指令集的创建者,英特尔公司在当年也只能算是一个小角色,这家成立于1968年的半导体企业远远无法同IBM这样的“百年老店”相提并论,它和AMD都是源于仙童半导体的私生子——英特尔的创始人安迪·格罗夫、戈登·摩尔、罗伯特·诺伊斯和AMD的创始人杰瑞·桑德斯都是仙童的同事,后来他们都离职创业,进入半导体领域。

英特尔最初的业务是生产存储器,它们成功地拥有了源于仙童的半导体制作工艺,即一种类似于印刷的工艺将大量的电子器件集成在一个硅片中,这就是集成电路的概念。

而早在1965年,戈登·摩尔还在仙童的时候,他就在一篇文章中总结出了一个现象:即芯片中的晶体管和电阻器的数量每年会翻番,原因是工程师可以不断缩小晶体管的体积。

这就意味着,半导体的性能与容量将以指数级的方式增长,并且这种增长趋势将继续延续下去。

1975年,摩尔又修订了这个定律,他认为,每隔24个月,晶体管的数量将翻番。

其时,摩尔已经是英特尔公司的联合创始人,这个定律后来也被英特尔奉为经典,当然追本溯源,摩尔定律最初描述的对象是半导体存储器。

苹果公司在1976年推出的Apple Ⅰ个人电脑,风靡美国市场,令当时计算机业巨头IBM大感震动。

IBM紧急成立了一个项目组,开发针对个人用户的计算机,以同苹果竞争。

然而,IBM那些脑袋僵化的工程师们无法理解个人用户要拿计算机来做什么,他们想了半天,结论是大概可以给家庭主妇记录菜单之类的。

既然他们认为PC可有可无,自然不愿意花费大力气去开发,而是找了一系列供应商—比如CPU部分,他们就将订单交给英特尔这家小公司,当时IBM虽然有非常顶尖的Power架构,但他们认为这种用在超级计算机的高级货不应该浪费在PC上面。

这个决策所导致的最终后果就是:IBM失去了PC时代,成就了英特尔、AMD、微软等一系列的IT巨头。

英特尔之所以能拿到IBM的订单,除了价格低廉的优势外,技术和产品成熟也是个关键。

因为在英特尔成立之后,除了制造存储器件外,也一直有为其他公司代工设计,生产微处理器的传统。

比如早在1971年1月,英特尔公司的霍夫就研制出世界上第一块4位微处理器芯片4004,当然这并不是英特尔高瞻远瞩的结果,而是他们接到日本Busicom公司的订单,Busicom需要一块芯片来生产电算机,就选择英特尔作为供应商。

从这个意义来说,x86架构应该是Busicom无意识下的产物,而不是英特尔雄才伟略的结果。

图1 4004处理器,x86的始祖。

4004可以执行4位运算,支持8位指令集和12位寻址,它的最高频率为740KHz,当频率在108KHz时,4004可以每秒运算6万次。

总的来说,4004处理器的性能与早期电子计算机ENIAC相若——ENIAC是在1946年推出,拥有18000个真空管,机器体积庞大,需占用一个房间。

1972年4月,霍夫等人接着开发出第一个8位微处理器英特尔8008。

由于8008采用的是P沟道MOS微处理器,因此仍属第一代微处理器。

次年8月,后续的8080芯片诞生,它以N沟道MOS电路取代了P沟道,成为第二代微处理器。

8080芯片的主频提高到2MHz,集成了6000个晶体管,采用的是6微米制造工艺,其运算速度比8008快了10倍,处理速度为0.64MIPS(每秒64万次),并可存取64KB存储器。

微软公司的创始人,比尔·盖茨和保罗·艾伦第一次接触CPU就是从8008开始,那时他们还都是年轻人,两人合力为该芯片编写了简单的Basic编程语言,但是没有成功;但他们最终在性能强劲一些的8080处理器上实现了这个目标,并在新墨西哥镇成立了一家软件小公司,这家公司就成为了微软的前身—这也成为英特尔和微软亲密关系的开始。

1978年6月,英特尔推出4.77MHz的8086微处理器,标志着第三代微处理器问世。

它采用16位寄存器、16位数据总线和29000个3微米技术的晶体管,售价360美元。

8086还有一个精简版的孪生兄弟:8088,它只采用8位数据总线,所以只能称作准16位。

在当时,微处理器工业已形成Zilog、摩托罗拉和英特尔三足鼎立的格局——Zilog公司在1976年开发的Z80微处理器,被广泛用于微型计算机和工业自动控制设备;摩托罗拉推出的M68000 16位微处理器,也占据了相当的市场份额。

而在整个处理器工业中,微处理器只是不起眼的小角色,高性能的RISC处理器才是当时的主流。

IBM决定在自己的PC中采用英特尔的芯片,这个决定成就了今天x86的地位。

与苹果的封闭做法不同,IBM 确立了开放式的PC标准,这也是最早的开放策略—与今天安卓在智能手机市场的快速崛起类似,大量的兼容PC也纷纷出现,所有的兼容PC厂商都唯IBM马首是瞻,于是英特尔和微软都沾光分获了大量的订单,作为标准制定者的IBM,由于慷慨到“忘记”注册专利,最终就失去了这个市场。

80286处理器诞生于1982年,虽然仍为16位芯片,但它集成了13.4万个晶体管,时钟频率由最初6MHz逐步提高到20MHz。

80286兼容了8086所有功能,使8086的汇编语言程序可以不做修改直接运行。

80286微处理器内部有4个功能部件,即地址部件AU、指令部件IU、执行部件EU和总线部件BU。

这四个部件的并行操作,提高了吞吐率,加快了处理速度。

图2 80286处理器1.386~486:英特尔成为PC领导者80286处理器推出之后,迅速获得各个PC厂商的采用,也包括IBM。

激烈的市场竞争让用户学会了比较PC的性能,这几乎就是比较采用哪一款微处理器,英特尔也逐渐走上了前台,不再是一家被动的供应商。

而真正的反客为主则是在80386时代—80386诞生于1985年,它是80x86系列中的第一款32位微处理器,而且制造工艺也有了很大的进步。

与80286相比,80386内部内含27.5万个晶体管,时钟频率从12.5MHz(此时每秒钟可执行6百万条指令)开始,后逐渐提高到20MHz、25MHz和33MHz。

80386的内部和外部数据总线都是32位,地址总线也是32位,可寻址高达4GB内存。

为了实现兼容,80386采用“类286”总线结构,这样就可以保持软硬件的兼容性,降低整机的开发和制造成本。

其次,80386有三种工作模式,适应的操作系统比较多,对现有的程序兼容性比较好。

再者,80386首度引入多任务处理机制,这就使它能被各行各业广泛使用。

图3 很多较早购买电脑的家庭,都是从80386DX起步的。

虽然当时80386没有完善和强大的浮点运算单元,但配上80387协处理器,80386就可以顺利完成AutoCAD 等需要大量浮点运算的任务,从而顺利进入了主流的商用电脑市场。

针对内存速度相对低下的瓶颈,英特尔为80386设计了高速缓存(Cache),采取预读内存的方法来缓解这个问题。

英特尔最初计划将L1 Cahce直接内置入80386芯片中,但受到工艺、成本、工期等方面的限制,英特尔最终选择了L1 Cache芯片外置主板的方案—从此之后,Cache就和CPU成为了如影随形的东西。

Cache 的设计也相当大程度影响着CPU的性能。

80386衍生出庞大的家族,除了标准版的80386DX,还包括廉价版的80386SX,以及移动版、低功耗的80386SL 和80386DL—从386时代开始,英特尔就一反被动局面,主动推进PC系统的升级。

而在市场竞争的驱使下,各个PC厂商都或主动或被动地追随英特尔的脚步,这也是英特尔确立自身在PC产业界地位的开始。

1989年,英特尔推出了新一代80486处理器。

它的制造工艺提升到1微米,内部集成了120万个晶体管。

80486具备了现代微处理器的主要元素:片内集成浮点运算单元、8KB的cache(L1cache)并支持片外L2 cache,整数处理单元则借鉴了精简指令集RISC结构,提高了指令的执行速度。

此外,80486引进时钟倍频技术和新的内部总线结构,从而使主频可以超过100MHz。

在80486时代,英特尔已经开始成为PC业的核心,PC厂商开始新一轮的惯性升级,尽管面临AMD、Cyrix 这些厂商的竞争,但英特尔已经稳稳地居于业界的主导。

当然,真正让它走向辉煌的还是“奔腾”时代。

Pentium~Pentium Ⅲ:x86架构的成熟1.第一代Pentium:超标量、MMX指令集、动态执行1993年,80486时代划上句号,英特尔发布第五代x86架构微处理器,并将其命名为“Pentium”,它同时也有一个响亮的中文名称“奔腾”。

Pentium本应命名为80586或i586,但阿拉伯数字无法用来注册商标,而英特尔又很不希望AMD、Cyr ix这些竞争对手用同样的名字来抢自己的饭碗,所以打算注册一个全新的商标——“Pentium”。

这个名字其实也是“第五”的意思,通常认为它是希腊文“五(penta)”加拉丁文中代表名词的接尾语“ium”的造词。

Pentium处理器内部含有的晶体管数量高达310万个,时钟频率由最初推出的60MHz和66MHz,最后提高到200MHz。

即便是66MHz的Pentium微处理器,它的运算性能都比33MHz的80486DX提高了3倍多,而100MHz 的Pentium更是快6~8倍。

由于Pentium的制造工艺优良,所以整个系列的CPU的浮点性能也是各种各样性能是CPU中最强的,可超频性能最大。

“超频”这种不花钱提升性能的好方法开始在用户中广泛流行起来,这也让Pentium赢得586级处理器的大部分市场。

超标量(Superscalar)架构是Pentium在架构上主要革新之一,它拥有两个资料路径(管线, pipelines),可以达到在一个时钟周期内完成一个以上的指令。

一个管线(称为“U”)可以处理任意指令,另外一个(称为“V”)可以处理简单和通用的指令,相当于吸收了传统RISC处理器设计的特色,这种设计显示出两种技术融合的可能性,也提升了x86的运行效率。

不过在指令执行机制上,Pentium架构还是顺序执行(in-order),后来在Pentium Ⅱ时代则被乱序执行所取代。

相关主题