【51CTO快译自9月27日外电头条】在上周旧金山举行的Intel年度开发者会议上,Intel***执行官Paul Otellini宣布了他对未来的展望。他的构想是让x86架构(Intel更愿意称之为Intel架构——Intel Architecture)变得无处不在,这并不让人吃惊,从台式机到服务器,甚至到手机和电视机,如果事态按照Intel的意愿发展的话,每一台设备都将在不久之后成为IA设备(相关报导请参阅51CTO.com文章:“英特尔和诺基亚开发x86架构Linux移动终端”)。
我们没必要自欺欺人,IA架构在事实上已经全面攻占了桌面计算机市场,并且已经有一段时间了。记得全美达(Transmeta)吗?当年它革命性的所谓“代码变形(code morphing)”技术的重点也就是允许他们的低功耗芯片能够无缝的执行IA指令,因为任何无法运行Windows的新型芯片几乎都是死路一条。相关文章请参阅51CTO.com报导:“难敌X86 IBM Power系列降价60%冲业绩”。
但问题是,我们真的希望Intel能够延伸它的统治地位,甚至要进一步进入到手机和其他消费类电子领域吗?世界上每一个CPU都讲着Intel的语言当然是Intel的大好事,但这种处理器的单一垄断对用户是否有利则是一个完全不同的问题。
有点像Java,但没有那么好
Intel计划的关键是以IA架构提供一整套芯片设计,为不同类别的设备量身定做所需要的芯片。这有点类似于Java,对开发者做出“编写一次,到处运行”的承诺一直是Java平台的主要卖点;而Intel现在说它也可以兑现这一同样的承诺,而且不需要中间人。任何IA芯片都可以执行x86指令集,就像任何操作系统上的任何JVM都可以执行Java字节码一样,但与JVM不同,IA平台的二进制文件纯粹运行在CPU上,性能不会下降,也不需要虚拟机或者JIT(Just-In-Time)编译器。
不过,处理器的大一统实际上和Java的字节码方式是完全不能相提并论的,Java运行时环境带来的显著优势根本不是Intel的硬件所能够提供的。举例来说,JRE会在执行字节码之前分析和验证它们,大大减少了缓冲区溢出和其他潜在的安全漏洞的可能性。虽然Intel在新的芯片设计中也增加了安全功能,但这些都无法和JRE的沙箱安全相比(或者是微软.Net的代码管理环境)。
进一步讲,你真正跨越计算机和消费电子产品编写二进制代码的机会又有多少呢?即使智能手机正在变得越来越像掌上计算机,但桌面应用的代码大量重用在手机上也几乎是不可能的,因为输入法,屏幕尺寸等都有很大差异。就算开发者想在手机和PC上使用相同的代码,怎样在处理器架构之间移植代码也差不多是不能可完成的任务。
其它的处理器都到哪里去了?
当然,实际上全行业单一CPU架构的确会有一些好处,也许最重要的好处就是让编译器设计者们能够集中精力进行IA架构的代码优化,特别是针对Intel多核芯片的设计。如何为并行处理器优化代码仍然是行业面临的***挑战之一,Intel在这方面开发了一些有趣的工具。
另外,基于IA的规范化为其他有趣的想法敞开了大门。例如Google Native Client允许原始的x86二进制文件在一个浏览器窗口运行,消除了对Flash等私有插件的需要,还有Google的Courgette项目提供的新算法通过部分反汇编IA二进制文件方便了软件补丁的提供。
能做到这些固然不错,但这些能掩盖住***的问题吗,Intel架构几乎主宰了计算业的方方面面,创新已经变得越来越少。是谁规定了Intel的路线图是唯一的出路呢?请考虑一下ARM,一旦走入低功率设备,比如在手机、计算器和MP3播放器等领域,ARM正在慢慢走向强势,预计将在今年晚些时候推出超低价的上网本。凭借即将上位的2GHz芯片,ARM完全可以向Intel的Atom战线发起进攻。关于ARM和Intel的故事请参阅51CTO.com报道:“英特尔阻击ARM 下一代MID基石支持Linux和3G”
我认为芯片行业需要的是更多这样的竞争,而不是更少。Intel可以将它的巨大成功解释为在研发上的巨额投资,但与微软之间的Wintel联盟的双簧表演比它实际的创新成果出色的多。总之,我认为软件业并不需要一个全行业垄断的CPU架构。Intel一直都在告诉我们为什么需要垄断的理由,但从来没有任何一个可以说服我。
【编辑推荐】
【51CTO.com译稿,非经授权请勿转载。合作站点转载请注明原文译者和出处为51CTO.com,且不得修改原文内容。】
原文:Intel architecture to rule them all? 作者:Neil McAllister