人类最古老的想法之一——甚至可能早于我们所知的语言——就是“敌人的敌人就是朋友”。另一句谚语则是“谁拥有黄金,谁就制定规则”。在当今的数据中心市场,八大超级规模企业和云构建者掌握着所有的“黄金”,并且他们越来越多地制定着规则。
我们认为,这正是英特尔和AMD——这两家公司通常不会直呼对方的名字,而是简单地称之为“我们的竞争对手”——选择冰释前嫌,并成立所谓的X86生态系统咨询小组的两个主要原因之一,旨在共同塑造X86指令集及其处理器的协作未来。
虽然ARM和RISC-V联盟有标准的维护者,防止芯片设计师偏离正轨,以独特的方式扩展这些架构的指令集从而破坏兼容性,但X86架构一直没有这样的标准维护者,因为英特尔一直明确认为,不应允许其他人克隆其指令集架构或处理器。然而,法院最终裁定事实并非如此,这也正是我们今天需要X86标准的原因。
冰释前嫌,而非互相残杀
英特尔与AMD之间的历史既漫长又充满苦涩,这使得他们今天的和解更加引人注目。这也表明了X86 CPU制造商在面对ARM阵营和日益崛起的RISC-V浪潮时,团结一致对于X86架构未来的重要性。此外,如果有一件事是AMD和英特尔都不愿做的,那就是生产ARM处理器。话虽如此,如果他们中的一方或双方在未来某个时刻转向RISC-V以对抗ARM,我们也不会感到惊讶。IBM拥有用于不同目的和不同价格点的System z大型机引擎和Power计算引擎。
英特尔与AMD之间的史诗级对决已经持续了很久,以至于看到这两家公司携手合作推进X86架构可能会让人觉得奇怪。但正如我们所说,我们认为这两家公司正得到外界的一些鼓励。
这些鼓励者除了AMD和英特尔之外,还包括X86生态系统咨询小组的创始成员,如博通、戴尔、谷歌、惠普企业、惠普公司、联想、Meta Platforms、微软、甲骨文和红帽(现为IBM子公司)。Linux内核的创造者林纳斯·托瓦兹(Linus Torvalds)及其标准维护者也是该小组的成员,还有Epic Games的首席执行官蒂姆·斯维尼(Tim Sweeney)。我们确信,亚马逊网络服务以及中国的超级规模企业和云构建者阿里巴巴、百度和腾讯也对此有看法,但如今看起来没有人会允许中国公司对美国公司产生任何影响。
关键在于,英特尔和AMD需要表现得好像有一个标准存在,所以他们最好一起制定一个标准,否则他们最大的客户可能会更加积极地转向ARM或开始考虑RISC-V。
这一切原本都进行得很文明。1982年,AMD成为英特尔8086和8088处理器的第二供应商,这样IBM就可以在其传奇的个人电脑中使用该芯片,但不久之后律师们就被请来了。1991年,AMD以反垄断为由起诉英特尔,陪审团不仅判给AMD 1000万美元,还授予其X86架构的免版税许可,这在30多年后的今天看来价值连城。之后双方又在法庭上进行了多次来回交锋,提起了更多的诉讼,最终AMD为K5架构进行了全新实现。
英特尔对X86架构拥有特别的独占权,因为它已经对此进行了二十年的扩展。英特尔于1971年创造了X86架构的鼻祖——四位的4004微处理器,这是第一个单片、通用型中央处理器,最初实际上是为微控制器设计的,而不是个人电脑。随后几年,又推出了8位的8008、8080和8085芯片,这些芯片旨在用于个人电脑。1978年推出的拥有惊人29,000个晶体管的16位8086,可以说是我们今天所知的第一个真正的X86处理器。
英特尔想要尽一切可能帮助X86架构在数据中心领域对抗ARM和RISC-V,这并不奇怪。在数据中心中,Linux已成为新工作负载的主导,并且在经过15年的努力后,Linux对ARM的支持已经很好。英特尔不能容忍市场中出现两种不同的X86架构,也不能容忍自己的设计在任何特定争论中处于不利地位。
这尤其正确,因为英特尔在其最新的Xeon服务器处理器中增加了AMX数学单元,而AMD尚未在其Epyc CPU中添加自己的矩阵或张量核心,但已将它们添加到了其面向客户端设备的Ryzen CPU中。AMD在其Ryzen和Epyc处理器中的向量处理方面行动迟缓,直到最近才在其服务器CPU中提供了对全宽度512位AVX-512向量单元的全面支持。如果英特尔和AMD能提前就如何实现胖向量达成一致,那么高性能计算和人工智能的软件栈本可以更快、更容易地融合。
还要记住的是,X86的创新并不是一条单向街道,由英特尔一直决定。例如,早在2000年代初,是AMD(而不是英特尔)在数据中心首次为X86架构提供了64位内存和处理扩展,推出了Opteron处理器。当时,英特尔正忙于与惠普共同创建Itanium架构,并因此分散了注意力,从而为Opteron直接进入数据中心打开了大门。而这一次,随着Epyc处理器在数据中心的猛烈攻势,英特尔在过去十年中的晶圆厂延迟给了AMD一个机会,使其能够与台湾积体电路制造股份有限公司一起完善其小芯片设计和制造工艺。现在,又是英特尔在追赶。
但请放心,英特尔会赶上,AMD也不会失去焦点,即使ARM很快占据服务器出货量的四分之一,甚至有一天占据一半,传统X86处理器市场仍将保持竞争态势。为了保持这份份额,X86供应商和购买大量服务器处理器的客户必须携手合作,使X86架构保持专注和竞争力。
“这样做的真正目的是确保我们听到了来自利益相关者——我们的客户、关键的操作系统和应用软件供应商以及真正推动软件未来发展的人们——的所有声音,以确保我们正在尽可能多地投资于一致性的接口,以最小化这些差异,并随着时间的推移将它们融合,”AMD数据中心业务总经理福雷斯特·诺罗德(Forrest Norrod)在Open Compute Project Summit 2024(在此次会议上宣布了这个X86组织)之前的一次通话中解释道。“顺便说一下,这只是一个开始。这并不意味着明天所有的产品都将符合特定的指令集架构(ISA)。但明确的意图是随着时间的推移最小化差异并统一架构。”
英特尔对此表示赞同,特别是惠普企业高性能计算业务前负责人贾斯汀·霍塔德(Justin Hotard),他在Altera FPGA部门即将分拆后,于今年2月加入英特尔,担任其数据中心与人工智能集团总经理。
“我们正在研究架构方面的新创新,以便我们以标准的方式实施它们,”霍塔德说。“我们认为,这为整个生态系统提供了更容易的采用机会,无论是硬件供应商还是软件开发者。这正是我们希望通过咨询小组解决的问题之一。我们收到了许多关于X86的不同功能请求。其中一些被我们中的一方采纳了。有些则两方都没有采纳。通过这项协议,我们将采取一种一致的基础方法,这样我们就有了良好的可预测性。”
关于这些大型X86客户想要什么,或者英特尔和AMD各自在X86指令集架构(ISA)上的更改和扩展方面有什么计划,并没有很多具体信息。我们在这里和那里看到一些线索。首先,就在两周前,英特尔发表了一篇名为《设想简化的英特尔架构》的论文,介绍了一种名为X86S的精简架构,该架构去除了传统的16位和32位向后兼容模式。微软甚至不再提供32位的Windows或Windows Server版本,英特尔的固件也不再支持32位操作系统,但32位编译的应用程序仍然可以在仿真模式下在其中运行。而16位应用程序则不再受原生支持。那么,Xeon核心为什么还需要这样做呢?
这是一个合理的问题。可以肯定的是,可能还有某个版本的Windows NT Server在某个地方执行着一些被遗忘的重要工作。我们不能因为这样的用户而阻止进步。
诺罗德和霍塔德都明确表示,即使AMD和英特尔同意在架构框架和接口上合作,他们也打算成为激烈的竞争对手。正如我们在与他们的通话中指出的那样,英特尔和AMD在创建核心方面的方式截然不同,从分支预测器、管道和缓存的复杂部分,到CPU封装内和跨封装的更高层次的封装和互连选择,都为两家公司之间的差异化留下了足够的空间。这种情况肯定会继续下去。现在的不同之处在于,任何一家公司都不必再花费时间去逆向工程对方想出的某个巧妙的东西。他们可以携手合作定义共享架构,然后各自实现新功能。
原文链接:https://www.nextplatform.com/2024/10/15/intel-and-amd-make-x-less-of-a-variable-for-x86-processors/