扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:CNET:Tom Krazit/唐慧文:译 2007年4月5日
关键字: x86
1970年代末期问世的计算机技术,到现在恐怕都已成为老古董,唯独有个例外:对世上绝大多数计算机发号施令的x86指令集架构(ISA)。
今天,世界上逾九成的PC与服务器都采用x86指令集架构,但这种ISA设计早在1978年就问世,是英特尔8086芯片的一部分。
本月英特尔全球开发者论坛将在北京举行年度大会,届时x86指令集架构将是一大主题。
基本上,指令集是一串让软件程序能使用的计算机操作指令。当然,除了x86指令集之外,另有别的指令集,例如IBM的Power、Sun的Sparc和英特尔自家的EPIC (explicitly parallel instruction computing) Itanium计划,诸如此类。但x86仍活跃至今,而且放眼望去看不到竞争对手,因为x86提供“够强”的效能,而且近三十年来为支持x86平台而写的软件不计其数。
单名Arvind的麻省理工学院(MIT)计算机科学与工程学教授说:“若你回顾计算机学的历史,巨变之所以发生,都是因为市场上涌现截然不同的新需求或新的变化。”
但x86显然是特例。即使发明了浏览器,或低价位的网络计算机,眼看PC似乎就要被淘汰,但x86幕后的工程师总是能想出办法,让它能适应环境变迁。
批评者指出,过时的功能与软件是x86的负担,为了维持其固有的设计,往往在节电效率与软件开发上必须有所牺牲。 但这恐怕是见仁见智的问题。
出身寒微
x86 ISA在1978年随着英特尔推出8086处理器而首度亮相。Mercury Research分析师Dean McCarron说,即使在当时,这种设计受限于它搜寻内存地址的方式,也不被视为市场上最优秀的指令集架构。但因IBM的新PC选用8088 ISA--与8086大同小异的版本--于是 x86架构开始普及化。
超微公司(AMD)技术官Phil Hester说:“x86起初是为八位芯片设计(英特尔与AMD目前的芯片已进步到64位),用来执行电子表格。”因此,原来的设计不足以支持当前运算所需的一般用途缓存器(general-purpose registers)的数量。缓存器基本上是数据等候处理时暂存的小型装置,一般用途缓存器可储存数据或地址。
随着使用IBM PC的人数及制造IBM兼容PC的厂商增家,x86逐渐成为PC市场不可或缺的心脏。1990年代中期,英特尔挟着x86芯片进攻服务器市场,进一步巩固ISA的支配地位。今天,全球售出的服务器中,超过90%都采用英特尔或AMD制造的x86处理器。
英特尔与AMD不断在ISA中加入延伸指令集,所以x86能一直与时俱进。例如,英特尔在1990年代中期加入MMX和SSE指令集,用来改善绘图效能。AMD近年来则加入64位延伸,协助避开缓存器的问题。
但随着一代又一代的延伸指令集加入x86 ISA,x86芯片也变得愈来愈复杂,而且必须兼顾对旧功能的支持,才能确保软件的兼容性。
XenSource虚拟化软件技术官Simon Crosby说:“不论如何,英特尔架构实在没理由这么复杂。何不舍弃芯片上60%的晶体管,毕竟其中大多数都用来支持老旧的程序。”
Crosby说,如果芯片制造商宣称该公司的芯片只能用来跑1990或1995年以后写的旧软件,成本和用电量势必大幅降低。问题是,在Windows操作系统深处埋藏了许多撷取自1980年代初期所写的MS-DOS操作系统的程序代码,而那些程序代码在开机时会找寻某些指令集。
这正是促使英特尔与惠普连手推动EPIC计划的动机。EPIC计划的目的,是以“干净的”设计,清除x86设计的许多怪异特色以及对旧技术的支持,以便为未来20年的现代运算奠定基础。
然而,EPIC也演变成不宜推出新指令集的教训。
软件开发人员怯于从头学习全新的计算机语言,而且初期部署的问题重重,都阻挠英特尔和惠普为EPIC处理器打造广大的市场。同时,AMD的Opteron x86-64处理器(后来英特尔也跟进)是压倒骆驼的最后一根稻草,把EPIC和Itanium打入高阶服务器市场,让应用程序能利用Itanium提供的效能优势。
资金也是问题。业者多年来已在x86软件上投入巨资,即使是影响力强大的英特尔,也无法说服软件开发人员舍弃既有的投资。
有替代品吗?
去年,英特尔技术官Justin Rattner表示,该公司不打算在可见的未来开发新的ISA。微软资深副总裁Rick Rashid说,他领导的研究部门并未从事有关替代指令集的计划,虽然微软支持多种不同的指令集,例如1999年支持Windows NT 4.0。
未来有什么变量能改变现况呢? 效能总是软件开发人员关切的因素,但目前还看不出来有什么重大的新发展。Hester说,不大可能出现所谓“干净”的设计,能够达到比现代x86 ISA强10%以上的效能或节能效率。
英特尔数字企业事业群资深副总裁既资深芯片设计师Pat Gelsinger说,小幅的效能改良,不足以鼓励开发人员大举迁离x86平台。他说:“现行设计每年让效能加倍,且能执行旧有的应用程序。”
同时,芯片业持续在处理器上塞进更多的晶体管,意味维持旧程序运作需要的晶体管日益减少。Gelsinger说:“兼容性的负担仍在,但兼容性的利多于弊。”
可能促成改变的一种技术改良,是双核心或多核心芯片的推出。芯片制造商已公认,用多个速度较慢的处理器核心来打造芯片,是回避单一高速核心耗电问题的一种方式。不过,目前,每个核心必须使用同一指令集。
Arvind说,有些人认为,未来可能采用混合式的解决方案:为x86设计小型、节电效率更高的核心,但采用别的ISAs,专门用来执行特定的任务,例如视讯处理。IBM的Cell处理器设计便是一个例子,用于Sony的PlayStation 3游戏机。Cell使用PowerPC核心。
放眼更远的未来,芯片制造商可能维持基本的x86核心,以维持回溯兼容性,并采专用的硬件来复杂处理任务,这部分就不一定会在x86上执行了。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者