「译文」| 测试中国的 x86 CPU:深入研究基于 Zen 的海光 Dhyana 处理器(一)

从阮老师的一篇 周刊 中发现了这篇文章,感觉很有趣的样子。原文链接在这里:Testing a Chinese x86 CPU: A Deep Dive into Zen-based Hygon Dhyana Processors,以下为译文。


img

早在 2016 年,AMD 通过一系列合资企业和创建公司,将其第一代 Zen x86 处理器的设计许可销售给中国。此举同时达到了双方的目的:中国想要一个高性能的 x86 计算的本土化解决方案,而当时的 AMD 需要资金注入。最终结果就是海光 Dhyana 系列的处理器,其应用范围从商业用途扩大到了服务器用途。由于它基于 Zen 1 的设计基础,因此其性能可以看作和 Ryzen 1000 以及 Naples EPYC 是处于统一水平线的,而且西方还没有人公开测试过该硬件。此次多亏了与朋友 Wendell Wilson 在 YouTube 频道 Level1Techs 上的合作,我们才得以对海光 CPU 进行首次的全面评测。

让我们从头开始

x86 处理器有两、三个主要制造商:Intel,AMD 和 Via/Centaur。Inter 和 AMD 在高性能计算领域都已经竞争了数十年,但有许可限制存在因而没有市场其他竞争者。由于关乎 x86 架构的专利,Intel 不希望其他任何人进入,分食市场份额,因为这会影响其主导地位,更复杂的是,所有相关人员目前正在使用的都是 AMD 的 64 位 x86 版本。这就使得 Intel 和 AMD 之间联系非常紧密。另一方面,Via/Centaur 在亚洲的市场份额很小,并且缺乏前沿的高性能竞争对手,因此它和老牌对手争夺市场势在必行。

对于那些从未关注过 AMD 的人来说,该公司曾经历了许多风风雨雨。当时在开发 Bulldozer CPU 架构期间,耗资巨大,性能却不是很好,而同一时期的 Intel 在笔记本电脑,台式机,商用和企业等所有领域均取得了长足的进步。Intel CPU 的设计及其市场主导策略,再加上缺乏领先的竞争产品,以及对图形公司 ATI 的收购,AMD 几近破产。直到在前首席执行官 Rory Read 领导下,AMD 才开始稳定下来,并且在现任首席执行官 Lisa Su 博士的主持下,将大量资源重新投入到 x86 CPU 设计中。一方面,AMD 的债务高于其实际资产,甚至不得不出售其总部,并从业主那里租回建筑物,以此来维持下去。

这种“活下去”策略的另一个要素是对 AMD x86 IP 的转授权,最终使得中国制造出了海光 Dhyana x86 处理器。之后有的人说这是 AMD 活下去的关键点,现在大家普遍认为,在最初的2.93亿美元的交易中,这份转授权使得 AMD 获得了大约2亿美元,直到美国实体名单禁令出现。当时,AMD 已经凭借其 Ryzen 1000 系列处理器迅速进入了消费市场,该处理器提供了八个具有适度竞争性能的内核,同时在性价比上胜过了 Intel,这使得 AMD 有足够的资金再次加大其关键领域的投资。第一代 Ryzen 产品组合是成功的,并且转授权的存在最终也为 AMD 提供了更多的安全网。

img

AMD 的尽职调查

简单来讲就是“AMD 已为其 x86 设计之一授予 IP 许可”,尽管在之后的大多数时间里这听起来仍然显得不大真实,如果 AMD 或 Intel 知道出售其 CPU 设计有这么大的利润,那么为什么直到 2015/2016 年才这么做?虽然这里面显然有 AMD 的钱,但它并没有违反任何 Intel-AMD 许可协议。而且最重要的是,它没有违反美国有关高性能计算知识产权出口的任何法律。

最后一点最为重要,美国政府根据来自 Intel,AMD 或其他厂商的 CPU 的性能为其评估价值指数。这种指数是根据 CPU 每秒浮点运算次数以及其能力的某种加权综合而来,超过特定阈值的产品会被认为过于强大,无法在某些市场上出售。其范围包括半定制处理器,其中 AMD/Intel 搞的核心数量/频率,并包含了非线路图的部分。

AMD当时发表了以下声明:

从2015年开始,AMD 在进入合资企业之前,积极地向美国国防部,商务部和美国政府内的多个其他机构地介绍情况。AMD 没有收到任何机构对合资企业的成立或技术转让的反对,这些技术的性能要比其他商用处理器低。实际上在成立合资企业和转让技术之前,商务部就已经通知 AMD,它所提议的技术哪些不受限制,哪些禁止转让。有了这些明确的反馈,AMD 便得以继续与合资企业合作。

AMD 已经联系了国防部和国防部,以及所有其他部门,并且已经得到了批准。新的微架构被认为性能很低,不会影响到任何出口禁令。在“提议的技术中哪些不受限制,哪些禁止转让”这一点,ADM 也得到了非常明确的回复,这是一个非常明确的声明。在这一点上,很显然 AMD 可能已经提交了一个这个 IP 的修改版本到了美国的相关部门,而不是我们在 Ryzen 1000 系列中看到的微架构。

合资企业中的合资企业

所有这一切的最终目标是能够向中国提供 AMD 的 Zen 1 CPU 版本,该版本可以称为“中国版”,而非“美版”。与过去十年或更长时间的情况一样,中国希望减少对美国技术和知识产权的依赖,以实现自给自足。AMD 合资企业实际上是通过一种迂回的方式来实现为海光 Dhyana 的设计工作的。

负责监督该业务的合资企业的名称为 THATIC,即天津海光先进技术投资有限公司。该公司由 AMD 和包括中国科学院在内的多家中国公共和私营公司共同持有,其中 AMD 至少持有51%的股份。

为了执行所需的步骤,创建了两家公司——这些公司将由 AMD 和天津海光(THATIC) 共同持有(注意,AMD也持有天津海光(THATIC) 的一部分)。这些公司是:

  • HMC:海光微电子有限公司
  • Hygon:成都海光集成电路设计有限公司

在这些公司中,

  • AMD 持有海光微电子51%的股份,天津海光(THATIC)持有剩下的49%的股份。
  • AMD 持有海光集成电路30%的股份,天津海光(THATIC)持有70%的股份。

这些公司在芯片链条中扮演着不同的角色。 海光微电子与 AMD 合作进行设计,并与 GlobalFoundries 合作进行制造,海光集成电路与海光微电子合作添加协同设计元素和包装,然后将其出售到中国。

核心 IP 的授权不同于 x86 的转授权

当天津海光(THATIC)合资企业成立时,人们产生了很多困惑。最主要的问题是,AMD 是否以某种方式将完整的 x86/x64 架构许可给了一家中国公司,从而允许他们构建功能全面的定制化 x86 CPU,将 Intel 和 AMD 挤出市场。但其实这家合资企业不是这种情况。

AMD 所做的是向海光微电子许可了单核设计以及 SoC 布局。从这一点来看,AMD 已正式“放手”,但是 AMD 工程师和高管参与了 海光微电子,因此从技术上讲,他们仍然有参与。通过这些核心设计和 SoC 布局,海光微电子将设计平面图(而不是RTL)发送给海光请求更新。海光集成电路向海光微电子提交更新,之后该更新由 AMD 工程师批准或拒绝。然后海光微电子将所更改的地方整合出来,然后从海光集成电路接受订单以进行制造。在海光集成电路的订单下,海光微电子带着设计去 GlobalFoundries 并订购所需的硅。最后海光微电子将硅片卖给海光集成电路,后者将 CPU 封装成各种配置并将其出售到中国市场。在这其中海光集成电路也会帮助设计新平台的主板。

细分的话主要为以下步骤:

  1. AMD 通过建议的 SoC 布局将核心设计许可给海光微电子
  2. 海光微电子为海光集成电路提供设计平面图
  3. 海光集成电路为海光微电子提出修改意见
  4. 在海光微电子的 AMD 工程师对其更改批准或拒绝
  5. 海光微电子提供最终的设计平面图给海光集成电路,准备接受订单
  6. 海光集成电路向海光微电子订购晶圆/硅芯片
  7. 海光微电子通过 GlobalFoundries 进行制造
  8. GlobalFoundries 根据要求在其新设计上达到特定的频率/良品率
  9. 海光微电子将完成的硅片卖给海光集成电路
  10. 海光集成电路将硅片进行包装
  11. 海光集成电路将成品的 CPU 卖到中国市场

由于海光微电子是唯一一个海光集成电路的提供者,因此尽管底层设计来自 AMD,但仍然可以将此 CPU 归类到“中国版”。

当 AMD 宣布创建天津海光(THATIC) 时,它谈到了将其 Zen 核心 IP 分包许可给合资企业。它被描述为多年的合作伙伴关系,但是在一次贸易展览会上证实,AMD 仅对其 IP 的单个版本进行分许可,并且没有计划对任何其他作品进行分许可。

当时,假定 AMD 对和已发布的 Ryzen 1000 系列处理器、EPYC Naples 处理器相同版本的 Zen 核心 IP 进行了再授权。但是,正如本次审查的一部分所示,AMD 似乎在对合资企业进行设计之前就对其设计进行了一些性能更改——特定指令的吞吐率低于我们直接从AMD处理器中看到的吞吐量。

不仅如此,在步骤清单中,第四点最能体现出这种倾向。海光集成电路被要求针对中国市场进行特定更改。在每个人都在“为中国政府创建后门”而奋斗之前,我们知道由于 Linux 内核更新而进行的一些修改。与西方国家相比,在中国使用了不同于西方的椭圆密码算法,因此更改了它们的硬件加速功能,并使用了不同的微码来启用这些功能。该审查的一部分是尝试发现是否还有其他更改。

这种蛛网布局的最终产品是海光 Dhyana x86 内核,这是“针对中国的更新的 Zen 内核”,海光集成电路将其打包为嵌入式,商业和企业系统使用。我们在 Computex 2018 上看到中国服务器供应商中科曙光参与了该项目,该公司展示了其基于32核海光 CPU 构建的服务器。根据在线基准数据库,还看到了针对8核商业和嵌入式版本的提交,这些版本可能用于政府和教育部门的部署。

值得一提的是,我们曾多次问过 AMD 海光 Dhyana 设计与原始 Zen 1 内核有什么不同。但我们总是被简单地告知 “AMD” 在这一切中扮演的角色有限,如果我们能弄到一个海光CPU,如果我们能够在测试中发现两者之间设计的差别,他们可能会考虑承认或否认。尽管 AMD 对于 Ryzen 和 EPYC 系列处理器很开放,但是在谈论海光时却与之形成了鲜明的对比。

首批海光 CPU 于2018年进入中国市场,但几乎无法采购。海光 CPU 从未打算出售给西方国家,而且 CPU 的性质和与之打交道的公司意味着我们能找到的人都不会对我们的样品感兴趣。

2019年,美国建立了中国公司的“实体清单”,被视为对美国市场的潜在安全威胁。结果,与这些公司(在美国创造至少25%的产品或IP)的任何商业互动均受到限制。天津海光(THATIC) 是名单上的公司之一,这意味着 AMD 不再被允许向合资企业授予任何其他 IP 许可。天津海光(THATIC) 仍然可以访问其获得许可的原始 IP,并且可以继续对其进行改造(尽管没有AMD的协助),而且,该禁令还限制了海光微电子从 GlobalFoundries 订购硅,如果不取消限制,将会使整个流程将陷入困境。

非常感谢 Usman Pirzada 出色的写作,文章中许多地方都以此为依据,以及来自 AMD 的 Drew Prairie,他为 AMD 的布局提供了更多背景信息。

与 Wendell 合作:采购海光CPU

对于本次复盘,我们能够测试在 Wendell Wilson 实验室中远程安置的两个系统,他是 Level1Techs YouTube 频道的主持人。我们都收到了消息,有人询问我们是否要购买系统,收集到的是来自美国海光集成电路或中科曙光子公司的旧工程样本,这些子样本正在进行制造后分析和性能测试。该子公司现已解散,实体名单禁令产生了连锁反应,并且该公司内的工程硬件(我们从未听过)被卖掉了。因此我们有机会借用了两个解散后的系统。由于位置原因,Wendell 提供了容纳它们的空间,并拍摄了一些图片和视频,而我们俩都制定了性能基准。来自广受欢迎的 YouTube 频道 LinusTechTips 的 Linus 团队也受邀参加——您可以在 此处 观看制作的视频。

最终,我们最终使用了两种系统进行测试——一台商业版 “海光 Dhyana” 和一台企业版 “海光 Dhyana Plus”。

img

商业版系统看起来像普通的8核 Ryzen 1000 系列系统,但是它实际上是球栅阵列封装设计,无法升级。事实上,这似乎是早期的工程示例,因为 CPU 甚至都没有关联的数字。挂载点这里也有一些有趣的地方,之后我们将在适当的时候进行介绍。

企业版系统是一个双32核海光2U 服务器。这些 CPU 表示它们是“7185”型号,我们知道这是海光提供的最高内核数,也是性能最高的32核部件之一。将其中两个放入服务器看起来非常像 2P EPYC Naples 设计。

img

值得一提的是,我们在贸易展览会上确实见过海光处理器,您可能会在底部看到一些中文文字。有趣的是,我们翻译了CPU的右下角。直译是:

“用芯片计算未来”

但是,标语中使用的第二个字符是谐音,可以翻译为:

“用热爱计算未来”

在接下来的几页中,我们将更详细地研究这两个系统,然后看看和我们在过去几年中已经测试过的 Ryzen 1000 和 EPYC Naples 处理器在内核和 SoC 级别上有哪些差异之处。

(未完待续…)

相关篇章

  1. 「译文」| 我们的海光系统:8核 Dhyana 和双32核 Dhyana Plus(二)
  2. 「译文」|海光CPU:中国版的加密方式,不同的性能(三)
  3. 「译文」| 基准测试:Windows(四)
  4. 「译文」| 结论(五)
Built with Hugo
主题 StackJimmy 设计