X86的PC业界标准地位是如何炼成的?

百家 作者:腾讯数码 2018-06-10 06:32:57


本文由腾讯数码独家发布




1978年英特尔8086处理器的发布,在个人计算发展史上是一个分水岭事件。这款芯片的DNA,可能是任何计算机——Windows、Mac或Linux——的中心,它帮助英特尔在众多芯片厂商中脱颖而出,成为世界上最大的芯片厂商。


对于8086巨大的成功而言,最令人意外之处,莫过于最初被设计时人们对它的轻视。这款革命性处理器的历史,是被赋予创新的自由时,一个由聪明的工程师组成的小型团队能够完成壮举的经典传奇。


当8086的开发工作在1976年5月开始时,英特尔高管从来没有想到过它能取得如此巨大的成功。他们对它的定位是,一个小型的权宜之计式项目。他们把公司的希望,寄托在一款完全不同、更精致的处理器8800(后来被发布为iAPX 432)。在一个大多数芯片仍在使用8位数据通道的时代,8800就率先采用32位数据通道。它先进的多任务能力和内存管理电路被集成在处理器中,使操作系统可以只需要更少的代码就能运行。


但8800项目遇到了麻烦。由于英特尔工程师发现其复杂的设计,很难通过当时的芯片工艺实现,8800多次跳票。英特尔的问题还不止于此,它还被Zilog——由前英特尔工程师创办的一家公司——挫败。Zilog借助Z80处理器迅速占领了中档处理器市场。1976年7月发布的Z80,是英特尔成功的8080处理器的增强版克隆品。8080实际上拉开了个人计算机革命的大幕。英特尔当时尚未推出可以与Z80媲美的产品。


临危受命


英特尔高管对8800仍然信心十足,但他们知道他们需要以某种方式回应Zilog的威胁。他们把目光转向了斯蒂芬·摩尔斯(Stephen Morse)——一名36岁的电子工程师,摩尔斯对8800处理器的设计缺陷的批评给他们留下深刻印象。英特尔高层任命摩尔斯为8086处理器的唯一设计师。摩尔斯回忆说,“如果英特尔管理层多少知道一点这一架构将用于许多代产品,甚至用于目前的处理器,他们肯定不会把这一任务交给一个人。”


另外一个原因,也使得英特尔选择摩尔斯设计8086显得很是意外:他是一名软件工程师。之前,在英特尔,处理器设计一直是硬件工程师的“专利”。摩尔斯说,“从软件角度考虑处理器功能,对我们来说还是第一次。问题不是‘我们有提供哪些功能的空间?’,而是‘为了提高软件运行效率,我们需要哪些功能’ ?以软件为中心的方法,被证明在处理器领域掀起了一场革命。”


虽然8086是摩尔斯最得意的项目,但他并非是“一个人在战斗”。其他英特尔员工加入了摩尔斯的团队,其中包括比尔·波尔曼(Bill Pohlman)、吉姆·麦克科威特(Jim McKevitt)和布鲁斯·拉文纳尔(Bruce Ravenel),他们对于8086处理器在1978年夏季推向市场至关重要。


除提出了一些基本要求外——例如8086需要兼容为8080处理器编写的软件、能访问128KB内存,英特尔领导层没有干预摩尔斯的工作。摩尔斯说,“由于没有人会想到其设计能使用这么长时间,没有人干预我的工作,我可以自由地实现自己的想法。”


乏善可陈的发布


发售后,摩尔斯的“作品”几乎没有在计算领域产生什么影响。中档个人计算机市场充斥着大量设计相似的商用计算机,它们配置Z80处理器,运行CP/M——1970年代末非常流行的个人计算机操作系统。8086处理器首先被应用在数款不太知名的PC和终端中。它在便携式计算机市场获得了一席之地(以80C86的形式)。最终,它被微控制器和嵌入式电器市场所接受,最著名的应用是美国航空航天局的航天飞机计划。美国航空航天局在航天飞机的火箭助推器控制诊断测试中使用了8086处理器。


1979年3月,摩尔斯离开了英特尔。然后,一系列似乎平淡无奇的事件,共同使得8086成为业界标准。


摩尔斯离职数天后,英特尔发布了8088处理器——被摩尔斯称作“8086处理器的阉割版”,因为它采用8086处理器16位处理能力的掺假版。由于许多系统仍然采用8位计算技术,8088在两个8位周期中发送16位数据,这使得它能兼容采用8位计算技术的系统。


两年后,IBM开始开发5150型号个人计算机,也是该公司首款只采用低价、现成零部件的PC产品。对于IBM来说,这是一个新颖的概念,它以前强调其专有技术——其他厂商产品不能使用。



很显然,非定制的系统要求配置一款非定制处理器。但选择什么样的处理器呢?IBM决定,其新系统将要求配置一款16位处理器,把选择范围缩小至3款产品:摩托罗拉68000(被应用在第一款Mac计算机中功能强大的16位处理器)、英特尔8086及其阉割版本8088。


据IBM开发团队成员大卫·布拉德利(David J. Bradley)称,该公司首先排除了摩托罗拉的处理器,因为它对英特尔处理器更熟悉,也更满意。使天平向英特尔处理器倾斜的一个因素是,微软已经为8086开发了一款BASIC解释器, 8086和8088采用相同的基本代码。


IBM必须在8086和8088间作出选择。最终,IBM的选择取决于经济因素。布拉德利说,IBM选择了8088,这使得它可以生产价格更低的计算机,因为可以配置更少的ROM和内存。


从某种意义上说,IBM选择哪款英特尔处理器无关紧要。两款处理器都采用由摩尔斯开发的相同的底层8086代码。


从芯片到标准


8086代码是如何成为标准的呢?答案就在于IBM 5150型个人计算机的重要地位。(在PCWorld的25款最出色PC排行榜上,5150排在第六位。)1980年代初期的PC产业,与前苏联解体后的东欧有点相似——不同国家选择了不同的发展方向。数十家公司推出了数十种不同的平台。计算机系统相互不兼容给用户带来不少麻烦,他们渴望能把一台计算机的软件、硬件和外设用于其他计算机。


但是,PC领域的不同零部件开始都支持5150。5150获得成功的一大原因,是其机箱上的IBM标识。与Radio Shack或苹果等竞争对手相比,IBM在企业用户中更受认可。布拉德利说,当时的问题是,“你想购买IBM的计算机,还是想购买一家以水果命名的公司的计算机”?


由于IBM采用了非定制零部件,其他厂商可以生产兼容机——它们也确实开发了与5150兼容的个人计算机。


由于IBM PC成为占有主导地位的个人计算机平台,未来数年英特尔也通过开发升级版的8086处理器,利用这一趋势赚得盆满钵满。英特尔先是推出了80186,而后是80286、80386、80486、奔腾等等,直至目前的酷睿系列。由于大多数这些处理器名称都以数字结尾,英特尔这一系列处理器被称作“X86”,即使是英特尔把处理器命名规则转向以商标命名后——例如奔腾、赛扬和迅驰。其他处理器厂商很快加入了英特尔阵营,AMD、Cyrix、NEC,甚至IBM都推出了它们自己的X86兼容处理器,进一步巩固了X86 PC标准的地位。


合适的地方、合适的时间


据摩尔斯和布拉德利称,我们目前对X86的依赖主要与机遇有关。摩尔斯说,“我只是足够幸运而已,合适的时间在合适的地方工作。”任何聪明的工程师都可能设计出这款处理器。它可能会有一个完全不同的指令集,但目前所有的PC都将基于那个架构。布拉德利笑着说,“如果IBM当时为IBM PC选择了摩托罗拉M68000(确实有人想这样),目前称霸PC产业的将是WinOla双雄而非Wintel双雄。”


X86真正的威力,不在于使处理器运行的具体操作指令,而在于成为通用计算机标准。8086为计算机运行速度、处理能力和性价比的快速发展奠定了基础,竞相改进同一产品的数百家公司间的激烈竞争,推动着PC产业的快速发展。


摩尔斯为8086设计的指令集,仍然是包括从皓龙到速龙再到酷睿2 Quad在内的几乎所有现代PC处理器的核心。为了表明X86标准有多强大,可以考虑下述问题:即使在1978年为8086处理器编写的任何汇编语言软件,可以不加修改地在最新款酷睿系列处理器上运行——只不过速度快了数十万或更高的倍数而已。

关注公众号:拾黑(shiheibook)了解更多

[广告]赞助链接:

四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/

公众号 关注网络尖刀微信公众号
随时掌握互联网精彩
赞助链接