处理器发展观察(二)——X86的发展

姓名:吕烜威     学号:20021210973     学院:电子工程学院

转载自:处理器简史:半导体巅峰,纵横四十年--(2) X86发展史 

【嵌牛导读】CPU,是IT行业的制高点,既是各大IT公司角力的主战场,背后还是各国政府科技竞赛的竞技场,40年江湖,你方唱罢我登场,好不热闹。在进入CPU时代前的史前时代, 是计算机从发明到大发展的计算机时代, 包含机械计算机、电动计算机、电子管计算机、晶体管计算机、集成电路计算机等几个次世代, 这是一个属于IBM的光辉时代, 也标志着人类进入电脑逐步解放人脑的智能时代。

【嵌牛鼻子】处理器  ARM  计算机 X86

【嵌牛提问】X86是如何崛起的

【嵌牛正文】X86的发展

1978年6月8号,Intel发布了其第一款16位的微处理器--8086,还有一句著名的广告语“开启了一个时代”。

有点夸大其词?那是,不过也的确说的比较准。当8086的光环退去之后,其支撑架构--后来我们所熟知的x86也成为了最成功的业界技术标准。

“X86”是Intel和其他几家公司处理器所支持的一组机器指令集,它大致确定了芯片的使用规范。从8086到80186、80286、80386、80486,再到后来的奔腾系列以及现在的多核技术,都是使用一脉相承的x86指令集,既不断扩展又向后兼容。

在8086之后的30年间,x86家族横跨了桌面、服务器、便携式电脑,超级计算机等等。无数对手败倒在了其脚下,甚至是一些看似已成定局的领域。例如近年来被x86所吞掉的苹果电脑,原来一直使用的是PowerPC。

那么Intel的架构是怎么统治了电脑世界这么多年?让我们一起来看看。

Intel 8086的产生

在1971年,Intel为一家日本计算器厂制造了Intel历史上的第一块处理器——4位的4004。很快,在1975年,Intel又推出了8位的处理器8008和8080。8080处理器为Altair8800 PC所采用。顺便说一句,Altair8800 PC是一台邮件订单处理计算机。比尔·盖茨和保罗·艾伦建立微软公司的时候,就曾把Basic卖给Altair8800 PC。

3年以后,16位的8086初次登场。在80年代初,IBM公司选择了8086的衍生产品8088作为IBM PC的处理器。IBM的这一行为给X86带来了巨大发展,并且帮助它成为了行业标准——一直到今天。

Intel执行副总裁Patrick Gelsinger说:“PC行业发展的革命性转折点是1985年32位处理器80386的推出,它推动了整个行业的发展。当时,X86需要从早期的16位寻址空间进行升级。”人们问我们:“32位是什么?”我们说:“它是给微型计算机和中型计算机用的。”那时人们总会嘲笑们说这太浪费了,这些是没必要的事情。

当时IBM抛弃了386,因为当时没有32位的软件发挥出它的性能。IBM自己也开发了16位的操作系统叫做OS/2。

当时担任386设计小组成员的Patrick Gelsinger说:“IBM当时拥有自己的整个架构。它们有它们自己的应用程序,操作系统和硬件设计。当IBM开发下一代产品时,他们将是唯一能够给提供全套解决方案的,只是并不能保证下一代过渡的兼容性。”

“当386到来时候,所以的一切变了,”Gelsinger说,:“我们从一个垂直的行业到一个水平的行业,而且我们真的打开了新世界之门。”

386之后,1989年486诞生了。由于当时数字不能作为商标,Intel从1993年开始改变了产品命名方法。第五代处理器被命名为Pentium而不是586。数字命名产品转变为Pentium命名(比如Pentium Pro, Pentium II and Pentium D)。从那时开始,Intel在X86体系中,增加了低端的赛扬系列和高端的双核系列产品。

所有的基于X86架构的芯片,开始于8086,一直延续到今天。当然他们的命名发生了变化,运算速度也有了惊人的提升。

成功的秘方

为什么X86能一直成功,击退甚至完全打败其他的处理器架构?从一开始来说,X86的诞生就是在一个很恰当的时间点。1978年的时候,计算从巨大、昂贵的中型计算机转变为小型、便宜的微型计算机已经有几年了。台式电脑成为变革的前沿。

更重要的是,X86证明了戈登·摩尔在1965年提出的一个定律。戈登.摩尔在后来成为Intel的主席和CEO。摩尔说,在成本不变的前提下,微处理每过2年其运算速度会翻一番。他的预言,后来被成为摩尔定律,被证实是正确的。X86的发展道路越走越宽。X86处理器也从数据处理中心走向办公室和千家万户。

并且8086以及它的后续产品一直与电脑行业两个大名鼎鼎的名字紧紧联系在一起。在1972年,比尔·盖茨和保罗·艾伦就尝试用性能很弱的8008开发Basic编程语言,虽然后来失败了。但是他们最终在性能强劲一些的8080处理器上开发出了Basic语言,并在1975年把Basic语言应用到Altair8800 PC。

这成为Intel和微软亲密关系的开始。微软从那开始,创造了一个巨大的软件帝国,并推动了整个行业的发展。在X86架构成功的过程中,可能没有比RISC 处理器的影响更巨大的了。

RISC的威胁

在20世纪80年代晚期和90年代早期,X86的一个巨大威胁产生了——RISC(精简指令集计算机)。采用RISC架构的处理器有Sun Sparc、IBM/苹果/摩托罗拉的PowerPC,以及MIPS处理器。RISC架构的核心思想是:处理器的指令集如果十分简单,一个时钟周期运行一个指令,那么处理器的速度会十分快。RISC的核心思想有别于以X86为代表的CISC(复杂指令集计算机),CISC的核心思想是采用复杂的多时钟周期指令。

计算机专家们和Intel的竞争对手们曾经预言CISC会最终消亡。“那确实是一个十分艰难的时期”,Gelsinger承认。确实,Intel很快开始开发自己的RISC工作站处理器i860。但是860或者其他RISC处理器最终都没能改变X86的地位。

根据领导了80486开发的Gelsinger的说法,原因是这样的:在486发布以前(1989年4月10日),已经有价值数百万美元的软件打算在486平台上运行。虽然和RISC相比,x86(CISC)架构是有一点慢,但是当你花时间开发出适合RISC的软件的时候,我们已经开始出更快的x86处理器。我们有巨大的经济优势,因为我们已经有了一个良好的基础,并且我们有庞大的开发团队。RISC电脑不可能赶上我们。

具有讽刺意味的是,比80486和Pentium处理器性能更强的RISC处理器电脑由于缺少软件,最终消亡了,包括Intel自己的i860处理器和其他的RISC处理器。打算推出RISC架构是一个错误,Intel后来承认。

RISC发明人之一,加州大学伯克利分校的计算机教授David Patterson说:“但是RISC激发了许多创新”。例如,电子设备集团的VAX架构能够也是随着RISC发展起来的,虽然最后也消亡了。但是Intel能够吸收RISC的各种优秀想法,依靠他们雄厚的软件基础,改进旧有的架构。同时,Intel的成功的另外一个原因是它的先进的制造技术。

浮点错误的灾难

像RISC一样让人痛彻心脾的危机,发生于1994年夏天的夏天,当时Intel的测试工程师发现了在新Pentium处理器的浮点电路中存在微小的错误。错误发生的几率很低,所以对于这些错误的影响,Intel仅仅对芯片修正后就重新进行生产,并且没有召回有瑕疵的芯片。

但是几个月后,弗吉尼亚州林奇堡学院的一位数学教授,就发现了这个缺陷。他无法找到Intel的任何人听他申诉,因为Intel当时并不承认。所以他把他的发现公布在互联网上。没过多久,Intel就陷入了舆论风暴之中,并导致了巨大的公共关系危机,最终花费了4亿7500万美元召回这批芯片。

“这是一次痛苦的经历,但是我们最终学会从消费者的角度出发”, 前Intel资深副总裁Albert Yu在他的著作《创造数字未来》中回忆说。

兼容并包

另外一个x86历史上的标志性的事件发生在1995年。卡内基梅隆大学计算机教授、Intel问题研究专家Todd Mowry这样说。当时Intel推出了革命性的Pentium Pro微处理器,能够预先考虑一串指令,并猜测那些需要不按照规则处理的指令。Pentium Pro还拥有一个全新的高速缓存,这一切保证了处理器能够获得大部分时间,并且在一些应用程序中表现出色。

“事情完全出乎意料”,Mowry说,“他们使用了RISC的优点,但并没有改变指令集。他们把X86指令翻译成更像RISC指令的微操作。所以你拥有的是x86电脑中的RISC电脑。并且这样的做法弥补了X86原有的性能差距。

Mowry说Pentium Pro源于一个自上而下的设计处理。“他们先打算设计出一款高性能的电脑,再计算出怎样使得X86满足设计要求”,他说。

寻找非x86架构的优点和缺点,这是x86取得进步的方法。Gelsinger说:“Pentium是一个巨大的架构进步,我们从微型机和中型机中寻找优秀的想法,并且把这些想法在实践中做得更好,因为我们有一个巨大画布让这些美丽的想法尽情挥洒——这个画布的名字叫做硅。”

“中型机是把要处理的不同部分在机柜中的一个很广阔的空间内传递。与中型机不同,微处理器设计者们则把所有的信息单元放在在单独的、微小的、紧密集成的芯片上,这样设计会更加有弹性,设计的产品更出色。”他说。确实,这些年来,当由多种配件组成的电脑系统发展并不很快时,硅芯片取得了与摩尔定律所预测完全一致的惊人发展速度。

竞争愈演愈烈

Intel并没能够有避免竞争,哪怕是在自家的x86架构领域。例如,1987年创建于硅谷的台湾威盛公司采用了x86的技术,销售主板芯片组。威盛目前生产很广的一系列产品,并且打算生产自己的x86架构低能耗移动处理器。

AMD公司,世界第二大芯片制造商,自从2000年以来,它已经成为了Intel的强有力的竞争对手。在整个20世纪80年代和90年代,AMD已经成为一个x86芯片的模仿者,并且几乎对Intel产生重大影响。

但是AMD出人意料的在2000年推出了64位的基于x86扩展指令集的处理器,并取得了良好的技术声誉和市场效果。作为一个扩展集,它意味着新的x86架构的64位处理器能够运行旧的32位软件。

在那时,Intel的64位产品是安腾,由于Intel和HP开发,主要用于超标量执行。该处理器在一个大铁箱中,并且它不与x86架构的32位软件兼容。Intel面对AMD的威胁,在2004年,推出了自己的64位x86指令扩展集,EM64T。事实表明,AMD已经在最重要的64位产品市场打败了Intel。

“这是一个用x86指令集的灵活性对抗Intel的例子”,Patterson说,“所以尽管Intel统治着这个市场,其他公司也能够改变x86的发展方向。”

战略转变

即使没有与应用有关的改进,性能上的改进也足以使x86获得令人惊奇的成就。1978年,8086处理器问世的时候,它的工作频率只有5MHz,芯片内的晶体管数量为2.9万多个。 如今的四核英特尔台式电脑处理器的工作频率已经达到3GHz,速度是8086的300多倍,芯片内的晶体管数量也增加到了8.2亿多个,是原来的2.8万倍。

卡内基梅隆大学计算机科学教授、英特尔研究顾问Todd Mowry说:“在不断减小晶体管尺寸和其他技术改进的过程中,英特尔也遇到不少巨大的技术难题,英特尔对此进行了大量投资。”英特尔将其中一个问题称作是右拐弯。随着电路尺寸的缩小,散热问题变得越来越难解决,只能通过增加芯片上的处理器核心数量来提升性能,而不能无限制地加快处理器时钟速度。

Mowry说,随后对提升性能的研究也就从硬件转移到了软件上。他说:“在研究社区,问题的重点不是我们如何开发出更好的处理器核心,而是如何将许多核心集成到一个芯片上。”

目前最有希望取得成功的解决方案是利用软件交互内存的技术将多核心芯片并联起来,那样就可以在不损害共享数据的情况下保留并行线程,而且也不用锁定或限制对那些数据的访问。这是一种算法解决方案,属于软件范畴,但是对这种技术的支持可以被内建到x86硬件中去。

Mowry说,不断在处理器芯片上增加更多核心,这种解决方案的唯一限制是软件开发商利用那些核心的能力。最大的障碍就是思路的转变,从串行思路转向并行思路。

Rattner预计,在未来五到七年内,每片芯片中的处理器核心数量将达到数百个。由于每个核心都拥有多条线程,因此芯片支持的并行线程的数量可能会超过1000个。 但是他也承认,现在这个世界上还没有多少人知道如何利用好1000条线程。

挑战极限

但是这并不是说随着硅晶体管数量的增加,x86指令集就不会以全新的方式得到应用。40多年来,晶体管一直被置于硅片表面的下方。现在出现了一种新技术,可以将它们安装在硅片表面的上方。

那样就有可能用硅之外的其他材料来生产晶体管了,比如像砷化镓那样的材料拥有更好的能量和性能特性。Rattner说:“在一二代产品(大约二到四年)内,我们还不能开发出晶体管位于硅片表面上的处理器产品,但是处理器生产材料必定会在未来十年发生许多创新。”

威盛电子的Centaur研究中心总裁Glenn Henry说:“在低端方面,x86体系架构的发展空间是有限的,它就像是烤箱或者汽车里的燃料喷射器一样。如果你想开发出原子弹那样的高端产品,可能也存在一个限制。在这两者之间,x86体系架构已经多次证明它是可以适应的。”

虽然英特尔正在开发基于全新晶体管的电子学,但是Rattner指出,英特尔最多只能在芯片中增加更多的核心。比如为量子和DNA计算服务开发的处理器。他解释说:“那确实改变了计算服务的数学基础,而且风险也很大。 同时它们可能只能应用于非常窄的应用领域,不能用于通用计算服务。”

Mowry预计,要想实现那些新技术,至少还要20年的时间。他说:“我预计只有当我们真的开始达到传统技术的顶峰时,人们才会去认真对待那些新技术。”

所以,x86能够再生存并繁荣30年么?在竞争的格局中,将有许多力量从根本上改变微处理器的设计,甚至就会发生就在近期发生。但是几乎没有人预测令人尊敬的x86架构会消亡。卡内基梅隆大学的Mowry说道:“我们恐怕很难看到其他的指令集取代x86,因为有太多的有价值的软件运行在x86架构上。”

你可能感兴趣的:(处理器发展观察(二)——X86的发展)