科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道古老的x86设计仍未过时

古老的x86设计仍未过时

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

20世纪70年代后期的计算技术很少有能持续到今天的,但是有一个显著的例外:那就是用于全世界绝大部分计算机的基础运算指令。

作者:Tom Krazit 2007年4月10日

关键字: AMD 指令 Intel x86

  • 评论
  • 分享微博
  • 分享邮件

20世纪70年代后期的计算技术很少有能持续到今天的,但是有一个显著的例外:那就是用于全世界绝大部分计算机的基础运算指令。

X86指令集体系结构,作为Intel8086芯片的一部分于1978年面世,现今在世界上超过90%的PC机和服务器中使用它。

另外的指令集当然也存在,但都是一个软件程序可以使用的基本操作列表。如IBM的Power,Sun的微系统Sparc和Intel自己的EPIC(精确并行指令计算)项目等。但是x86仍旧继续兴旺繁荣而且在可见的未来没有任何真正的竞争对手。因为它提供了足够好的性能以及存在已经写了将近30年的大量软件。

麻省理工学院计算机科学与工程系的Arvind教授说到:“如果你看一下计算机的历史,就会发现任何重大发展都是因为市场中存在一个新的需求或改变”。

但是显然x86是这个规则的一个例外。无论是浏览器的出现还是被认为使得PC机流行起来的廉价网络计算机的发明,x86后的引擎都能找到适当的方法来适应新情况。

这是一个问题吗?

批评者说x86承受了支持过时特性和软件的负担,并且由于它的遗产影响了能量效率的改进和软件的发展。喜剧家可能会说这取决于你怎么看待disco。

卑微的开始

1978年x86 ISA伴随Intel的8086处理器面世,分析家McCarron 院长说当时市场上因为它的寻址方式并不认为是最完美的实现形式。IBM为他们的新机器选择了做了轻微修改的8088版,由此x86体系结构开始不断发展。

AMD公司首席技术官Phil Hester说:“它已开始是设计用于电子表格的8位芯片(Intel和高级微设备AMD当前芯片是64位)”。因此,刚开始的设计缺少对适当数量通用寄存器的支持,在现代计算机时代需要用到通用寄存器。通用寄存器是重要的用来等待处理的小型数据暂存站,它既可以用来存放数据也可以存放数据存储的地址,因此十分有用。

随着使用IBM生产的个人计算机的增加以及所谓克隆制造的发展,x86成为个人计算机市场不可替代的心脏。20世纪90年代中期,Intel使用x86芯片进入服务器市场巩固了ISA的统治。现今,世界上超过90%的服务器芯片使用来自Intel或AMD的x86处理器。

Intel和AMD通过不断的为ISA添加扩展来不断更新x86,例如90年代中期Intel的MMX和SSE指令提高了图像的性能,近10年来AMD的64位扩展帮助解决了寄存器问题。主管公司研究部门的微软高级副总裁Rick Rashid说:“在指令级别上已经发生了很大的变化,我们只要同样的调用它即可”。

但是x86ISA每一代的扩展,越来越增加了芯片的复杂性,对于旧特性的支持保证了软件的兼容性。

虚拟软件公司的首席技术官Simon Crosby说:“无论如何,没有任何原因说明为什么Intel的体系结构仍旧如此复杂,不知道他们为什么不减少芯片上60%的晶体管,其中大部分都是有效模式”。

如果芯片生产商声明他们的芯片只能运行老版本的软件如1990年或1995年的,你会发现价格和功耗将会大大减小。问题是Windows深层代码是取自20世纪80年代早期的MS-DOS操作系统,这些代码在引导时需要寻找特定指令。

指令的大部分特性且支持合理的新技术,为未来20年提供一个现代基础指令集体系结构。

相反,EPIC成为如何不引入一个新的指令集的教训。软件开发人员回避不得不学一门新的计算机语言,以及早期的问题阻碍Intel和HP开拓处理器广大市场的机会。AMD深受人们欢迎的Opteron x86-64处理器(后来被Intel复制)成为最终的胜利者,并将EPIC和Itanium推向了高端服务器市场,因为该领域可以充分利用Itanium提供的性能来满足端口应用。

和大多其它事情一样,都是取决于资金问题。数以十亿的资金已经投入应用于x86的软件,即使是Intel这一技术业界最有影响的公司,也难以使开发人员从这些投资中撤出。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章