扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
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领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者