深度曝光AMD授权给中国的Hygon Dhyana处理器

来源:内容翻译自anandtech」,谢谢。


2016年,AMD通过一系列合资和创建公司的方式,将其第一代Zen x86处理器的设计许可销售给了中国。其目标是双重的:中国希望为高性能x86计算提供“本土化”解决方案,而AMD当时需要现金注入。

Hygon Dhyana系列处理器可覆盖从商用到服务器等领域。由于其基于Zen 1的设计,因此,可以认为其性能与Ryzen 1000和Naples EPYC,一致,此前,没有人公开测试过这些硬件。多亏了与我们的朋友Wendell Wilson在YouTube频道Level1Techs上的合作,我们才对Hygon CPU进行了首次全面的评测。

从源头讲起

市场上主要有三家x86处理器供应商:英特尔AMD和盛威。英特尔AMD在高性能计算领域已经竞争了数十年,其他竞争者因为没有被授权,所以无法进入到这个领域。由于x86架构拥有多项专利,英特尔不希望其他人加入触动其市场主导地位。但令事情复杂化的是,AMD的64位x86版本目前正在被很多参与者使用。因此,英特尔AMD之间展开了竞争。与此同时,盛威也有所行动,但它的市场份额很小。

AMD经历了许多风风雨雨。在Bulldozer CPU架构年代,成本大幅度下降,性能也不是很好,而英特尔在笔记本,台式机,商用和企业等所有领域均取得了显着进步。彼时,英特尔CPU凭借其设计以及市场主导策略占据了有利地位,而此时的AMD缺少竞争产品,另外,AMD收购了图形IP公司ATI,之后,AMD几乎破产。在前首席执行官Rory Read的领导下,AMD开始变得稳定,在现任首席执行官Lisa Su博士的主持下,AMD将大量投资投入了x86 CPU设计另一方面,AMD的债务一度高于其有形资产,公司甚至不得不出售其总部大楼,并从新业主那里租回大楼,以筹集资金维持运营。

这种“生存”策略的另一个要素是对AMD x86 IP的转授权,在这种授权下中国创造了Hygon Dhyana x86处理器。有人会说这是AMD生存的基石,但是,普遍的共识是,这一份转授权最终使AMD在最初2.93亿美元的交易中只获得了大约2亿美元。当时,AMD已经凭借Ryzen 1000系列处理器迅速进军消费市场,该系列处理器提供了8个核心,在性能上有一定的竞争力,AMD通过其性价比击败了英特尔,这使AMD有足够的资金在关键领域进行再投资。转授权最终为AMD提供了更多的安全保障,这取决于第一代Ryzen产品组合的成功。

AMD的尽职调查

简单地说“AMD转授X86设计中的IP”在一段时间内听起来有些牵强。如果AMD英特尔相信让别人出售其CPU设计的机会是有利可图的,为什么要等到2015/2016年才实现呢?虽然AMD从中赚了一些钱,但它没有违反任何英特尔-AMD许可协议。最重要的是,它没有违反美国任何有关出口高性能计算知识产权的法律。

最后一点很重要。美国政府根据其性能为英特尔AMD和其他公司生产的每个CPU赋予了价值。有些是不同FLOP和功耗上组合,某些超过特定阈值的被认为过于强大,无法在市场上出售。这包括了AMD英特尔需要提供非发展规划路线图以外的,需要根据需求改变核心数量/频率的半定制处理器。

AMD当时发表了以下声明:

从2015年开始,AMD在成立合资企业之前,努力并积极地向美国国防部,商务部和美国政府内的其他多个机构进行了简要介绍。AMD没有收到任何机构对组建合资企业或技术转让的任何反对意见,并且这些技术的性能低于其他商用处理器。事实上,在合资企业成立和技术转让之前,商务部通知AMD,提议的技术不受限制或以其他方式禁止转让。鉴于这一明确反馈,AMD推进了合资企业的发展。

AMD已经联系了国防部,以及所有相关部门,并且已经得到了批准。新的微架构被认为性能很低,不符合任何出口禁令。AMD还得到了非常明确的确认,即“提议的技术不受限制,也不被禁止转让”,这是一个相当严厉的声明。在这一点上应该清楚的是,AMD可能已经提交了一个修改版的IP给美国相关部门,而不是我们在Ryzen 1000系列中看到的微架构

合资企业中的合资企业

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

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

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

  • HMC海光微电子有限公司

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


在这些公司中

  • HMCAMD拥有51%的股份,由THATIC拥有49%的股份。 

  • Hygon拥有AMD 30%的股份,THATIC拥有70%的股份。 


这些公司在链中扮演着不同的角色。HMCAMD合作进行设计GlobalFoundries进行制造,而Hygon与HMC合作则添加了协同设计封装,然后将其销售到中国。

授权IP与转授权X86不同

当THATIC合资企业成立时,人们产生了很多困惑。最大问题是,AMD是否以某种方式将完整的x86架构许可给了一家中国公司,从而使他们能够构建功能全面的定制x86 CPU

AMD所做的是向HMC许可了单核设计以及SoC布局。这样,AMD工程师和高管参与了HMC,因此从技术上讲,他们仍然存在。通过这些核的设计SoC布局,HMC将平面图(而不是RTL)发送给Hygon进行更新。Hygon向HMC提交了更新,该更新被AMD工程师批准或拒绝。HMC再进行整合更改,然后从Hygon接受订单以进行制造。在Hygon的订单下,HMC带着设计去了GlobalFoundries并订购了晶圆然后,HMC晶圆卖给了Hygon,后者将CPU封装成各种配置并将其出售到中国市场。Hygon还可以帮助设计新平台的主板。

具体来看,可以细分为以下步骤:

  1. AMD通过建议的SoC布局将核的设计授权给HMC

  2. HMC为Hygon提供平面图

  3. Hygon建议更改HMC

  4. HMCAMD工程师批准/拒绝更改

  5. HMC向Hygon提供了最终的平面图,准备接受订单

  6. Hygon向HMC订购晶圆/芯片

  7. HMC接近GlobalFoundries进行制造

  8. GlobalFoundries在新设计上达到了特定的频率/良率

  9. HMC将完整的晶圆出售给Hygon

  10. Hygon在中国进行封装

  11. Hygon向中国出售完整的CPU


因为HMC是为Hygon提供IP,所以尽管底层设计来自AMD,但现在可以将CPU分类为“中国”的。

AMD宣布创建THATIC时,它谈到了将其Zen核IP转授权给合资企业。它被描述为多年的合作伙伴关系,但是在一次贸易展览会上证实,AMD只是对其IP的单个版本进行转授权,并且没有计划对任何其他产品进行转授权。

当时,假定AMD已对其Zen核IP的子版本进行了再授权,该版本已经与Ryzen 1000系列处理器和 EPYC Naples处理器一起发布。但是,正如本次测评的一部分所示,AMD似乎在对合资企业进行设计之前对其设计进行了一些性能更改-特定指令的吞吐量,这低于从直接来自AMD的处理器中看到的吞吐量。

不仅如此,在步骤清单中,第(4)点最合适。Hygon要求针对中国市场进行特定更改。在每个人都为“为中国政府创造后门”之前,我们知道由于Linux内核更新而进行的一些修改。与西方国家相比,在中国使用了不同的密码算法,因此更改了它们的硬件加速功能,并使用了不同的微码来实现这些功能。该测评的一部分是尝试找出是否还有其他更改。

在各种布局更改后的最终产品就是Hygon Dhyana x86内核,这是“针对中国的更新Zen内核”,Hygon将该软件包打包用于嵌入式,商业和企业系统。在Computex 2018上,我们看到中国服务器供应商Sugon参与了该项目,该公司展示了其基于32核Hygon CPU构建的服务器。遵循在线基准数据库的用户还看到了针对8核商业和嵌入式版本的提交,这些版本可能用于政府和教育部门的部署。

我们应该指出,我们曾多次问过AMD Hygon Dhyana设计与原始Zen 1内核有什么不同。由于“ AMD”在所有这些方面的作用有限,我们被告知,如果我们能够掌握一个,如果我们在测试中发现设计变更,他们可能会考虑确认或拒绝。尽管AMD与Ryzen和EPYC处理器系列一样开放,但在谈论Hygon时却形成了鲜明的对比。

首批Hygon CPU于2018年进入中国市场,但是几乎无法采购。Hygon CPU从未打算出售给西方国家,而CPU的性质和与采用这种CPU的公司则意味着,我们可能找不到人会为我们的测评提供样品。

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

与Wendell合作:采购Hygon CPU

在这篇综述中,我们在Wendell Wilson的实验室中测试了两个远程系统。Wendell Wilson是Level1Techs YouTube频道富有魅力的主持人。有消息来源问我们是否想要购买系统,我们收集的是来自美国Hygon或Sugon子公司的旧工程样品,该子公司正在进行生产后分析和性能测试该子公司现已解散,这是实体清单禁令的连锁反应,该公司内部的工程硬件(我们不知道)已被出售。由于地点的关系,温德尔提出让他们住在这里,拍一些照片和视频,而我们两人都做了业绩评估。来自LinusTechTips频道的Linus团队也被邀请参与——你可以在这里看到制作的视频。

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


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

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


应当指出,我们在贸易展览会上确实见过Hygon处理器,您可能会在底部看到一些中文文字—— “ 用芯来计算未来 ”。

在接下来的几页中,我们将更详细地研究这两个系统,然后研究我们发现的与多年前我们已经测试过的Ryzen 1000和EPYC Naples处理器相比,在核心和SoC级别上的根本区别。

Hygon系统:8核Dhyana和双32核Dhyana Plus

Hygon已知发布的所有版本可以归结为两个平台:一个包含单个8核的Zen 1 die,类似于桌面处理器(或EPYC 3000);另一个是一组由4个die构建的服务器处理器,类似于Naples。


我们要测试的8核工程样本系统没有提供任何确切的SKU编号-在CPU上显示“ C86”,这意味着“中国x86”。其余的编号可能与片所来自的晶圆和批次相关,但我们没有相关的资料。 


主板使用microATX,它非常像一个服务器主板,DDR4插槽是水平而不是垂直的,以便在服务器机箱中引导气流通过系统。首先从插座开始,我们有一个无插槽的BGA设计,这样的CPU不能升级,因为它是绑定到主板上的,类似于我们看到的笔记本电脑和嵌入式系统安装孔是在这里让我惊讶的事情——这些不是AM4安装孔,我们通常看到的消费者版本的Ryzen,但这些安装孔是英特尔安装孔。我猜有人肯定有很多旧的英特尔散热器。要么这样做,要么会使Hygon的合作伙伴更轻松地找到特定的服务器级冷却器。

CPU具有六相电力输送系统,并且由于这是纯CPU产品,因此没有集成图形。左下方是IPMI控制器提供的2D图形形式,这是我们在服务器系统中通常看到的经典ASPEED AST2500芯片。与其他microATX主板不同,这里没有典型的四插槽设计,而是三插槽设计,带有两个全长PCIe 3.0插槽(能够支持x16 / x0或x8 / x8)和一个开放式PCIe x4插槽。

通常,这些CPU确实不需要芯片组,因为它们在芯片上具有SoC级别的IO功能,尽管在Ryzen 1000系列首次推出时,Ryzen CPU可与X370芯片组配对。Hygon并未使用这些芯片组,而是将CPU与Lattice Semiconductor FPGA配对以用作各种芯片组。这给主板提供了一套奇特的组合IO,包括SATA端口,四个双LED显示屏,许多自定义的连接器和按钮以及许多我们不知道的未记载的东西。例如,主板上似乎有两块电池——大概是为了保持开机时间,而另一块似乎更持久,并且为什么不存在。


这是我们在上面放置了等效的AM4消费级Ryzen CPU的主板,以显示其尺寸。


相比之下,双插槽服务器有点像野兽。据我们了解,这些服务器是为计算和存储而构建的,每个CPU与四个分支连接器配对,该分支连接器具有四个U.2驱动器或16路SATA连接。CPU具有八通道内存功能,但是由于一些原因,我们不得不在四通道模式下对其进行测试


在这种情况下,CPU也称C86,但型号上也有7185,表示32核CPU。 其carry case为红色, 这在Naples EPYC CPU中则为蓝色,Threadripper CPU为橙色,Rome EPYC CPU为绿色。对于这些CPU,红色可能是对中国人的致敬,但是我们没有一个与之交谈的人能够证实这一点。


该服务器实际上是Sugon设计,具有12个前面板2.5英寸驱动器插槽。对于8核系统,将其放入标准台式机壳中并配备CPU散热器。这两种系统都通过远程桌面访问进行了测试,因为当我回到伦敦时,Wendell将它们托管在他在肯塔基州的实验室中。


尝试探测CPU时,CPU-Z似乎没有太多线索。软件在8核用户端上提供了此接口,显示了3.2 GHz频率,但只有一个核,除了对AVX,AVX2和FMA3的支持外,没有其他细节。对于服务器CPU,CPU-Z完全无法运行。我们能够确定的是,该软件认为每个内核都是一个单独的插槽,而且看来对于Hygon型号,在AMD消费类CPU上访问此数据的一些常用方法已经全部更改,以逃避使用常规方法进行检测,或符合不同标准。有趣的一点是,虽然CPU-Z检测到AVX和AVX2,但我们的某些软件无法检测到,因此我们不得不恢复为SSE检测,以使该软件甚至运行。

Hygon CPU中文加密,不同的性能

最重要的问题是与标准的Ryzen和EPYC CPU相比,这些处理器究竟发生了什么变化。说它们是重新定义的处理器,就像一些人怀疑的那样,是完全错误的——我们可以通过Linux内核更新提供的不同加密引擎来判断。但我们也发现了其他的差异。

从总体上看,我们可以确定,其内核的layout是相同的,缓存大小,TLB大小和端口分配都相同,在此基础级别上没有差异。CPU仍然为L1指令高速缓存提供64 KB 4路,为L1数据高速缓存提供32 KB 8路,为L2高速缓存提供512 KB 8路,为L3高速缓存提供8 MB 16路。 Zen 1核心。TLB条目如下:

  • L1D + L1I:4K / 2M / 1G 64个条目

  • L2D:4K 1536项6路,2M 1536项3路,没有1G

  • L2I:4K / 2M 1024条目8路,无1G


L1的内存访问时间为4个周期,L2的为12个周期,L3的为37-40个周期。存储潜伏在284-307个周期内测量。

L1读取速度的测量约为每个时钟32个字节(总计805 GB / s,每个内核约100 GB / s),而写入速度测量的每个时钟约为16字节(总计408 GB / s,每个内核约51 GB / s) )。8核的DDR4内存速度使读取速度为38.5 GB / s,写入速度为35.8 GB / s。

密码的变化

对于加密更改,Linux内核更新中详细介绍了这些更改。更新围绕AMD的虚拟化功能或SEV的安全加密进行。通常,对于EPYC处理器,SEV由AMD定义的加密协议控制,在这种情况下为RSA,ECDSA,ECDH,SHA和AES。为了生成正确的密钥,SEV使用这些方法。但是,在Hygon Dhyana设计中,SEV被构建为使用称为SM2,SM3和SM4的算法

如更新中所述,SM2基于椭圆曲线加密,并且需要额外的私钥/公钥交换。SM3是类似于SHA-256的哈希算法,SM4是类似于AES-128的分组密码算法。为了支持这些算法所需的额外功能,其他命令被放入Linux内核中。在说明中指出,这些算法已在Hygon Dhyana Plus(可能是大型CPU)处理器上成功测试,但也已在AMD的EPYC CPU上成功测试

放慢指令

我们能够确定的最大设计更新是指令吞吐量。我们认为之前没有提到Dhyana Plus和EPYC之间的区别,我们做了额外的检查以确保我们的软件显示正确的数据,但只是故意使某些指令变慢了。这具有一些相当严重的含义,尤其是取决于它何时在信道中发生。

我们认为情况是,为了使AMD导出其SoC设计,它还必须共享与CPU解释指令的方式有关的微代码,并被告知要减慢某些关键指令(或完全禁用它们)的顺序,这些工作要合资企业与中国公司一起进行。

在我们的测试中,我们发现,尽管Hygon和EPYC之间的整数性能相似,但是某些浮点指令(即DIV和SQRT)并未在Hygon CPU中进行流水线处理。这意味着吞吐量和延迟减少了。许多简单的MMX / SSE指令降低了吞吐量:


这些说明对于基本任务非常重要。通过同时限制这些指令的吞吐量,意味着这些CPU无法进行并行计算,从而最终降低性能。

但是,最大的变化也许是服务器“ Dhyana Plus”处理器和消费者“ Dhyana”版本之间的差异。Dhyana Plus大大减少了随机数的产生。关键指令RDRAND和RDSEED具有各种导致速度慢/快的原因。比较如下:


这是完全不同的,尤其是在RDSEED中。我们看到,用于生成随机数算法的种子生成RDSEED在服务器芯片上的速度慢了10倍以上,而用于实际生成基于硬件的随机数的RDRAND则比标准Ryzen快-在服务器芯片上也是如此。有趣的是,在Ryzen Mobile和Ryzen Desktop APU上也看到了服务器芯片的RDSEED相同的延迟。

对于RDRAND,拥有更快的随机数生成器可以说明两件事:要么实际上更快,要么随机算法的周期性较低。最好的伪RNG具有最大的周期性,因此在这种情况下RDRAND很快使我们得出结论,周期性很低,会产生质量较低的随机数。

对于RDSEED,它慢10倍的事实有点不同。RDSEED旨在从板上的各种传感器中获取信息,并输出一个随机值以初始化RDRAND-每个周期仅应调用一次。较慢的RDSEED要么意味着它从更多来源获取数据(这是一件好事),要么是故意放慢了它(一件坏事)。

实际上,可以在我们的Dhyana Plus系统的BIOS中启用/禁用RDRAND和RDSEED。


有趣的是,该菜单称为“ Moksha通用选项”。Moksha是通常与“启蒙”或“释放”相关的词。这要么是文字游戏,要么是有人在翻译中从非上下文的汉语到英语词典中进行挖掘。

关于AVX和AVX2的性能,即使CPU能够将自己标识为具有AVX和AVX2支持,但尝试实际测量这些指令却失败了–在我们的指令转储中,它们被列为“受支持的,已禁用”。关于受支持的功能,Zen 1通常将AESNI,SHA,CLMUL,FMA4,BMI和BMI2列为受支持的指令-Hygon CPU不支持这些指令。

对于诸如AES之类的事情,我们有一个直接的基准测试,这些CPU不支持AES的事实意味着我们的性能出现了下降:


还应注意,通过探测寄存器来查找AMD CPU功耗的典型方法在这里也失败了。这些似乎完全从CPU中删除了。

以Windows为基准

对于这两个系统,我们都安装了Windows:在小型8核Dhyana系统上安装了Windows 10 Pro,在大型双核32核Dhyana Plus服务器上安装了Windows 10 Enterprise。由于AVX / AVX2无法正常工作,因此我们的测试范围受到限制。如前所述,某些软件甚至都不希望在一个系统或另一个系统上运行,例如服务器上的CPU-Z。


从数字上我们可以看到,由于时钟速度的原因,我们的8核Dhyana处理器介于6核Ryzen 5 1600X和8核Ryzen 6 1800X之间,但在某些测试中,它甚至受到Athlon 200GE的冲击。双32核Dhyana Plus服务器似乎一团糟,经常被Ryzen 7 1800X击败,或者现在可以很容易地被Ryzen 9 3950X击败。但在Corona(一种基于内存/ NUMA不可知整数的渲染器)环境下,他们表现的很出色,看起来就像是天作之合。

结语

美国制造的每个处理器都必须达到一定的性能水平,才被认为适合出口。这样的产品,公司都拥有与硬件性能有关的文档,这些文档由美国法律的度量标准决定。这些指标包括原始处理能力(以千兆位触发器(GFLOP)为单位),调整后的峰值性能(APP)和/或复合理论性能(CTP)。根据不同的地区,这些指标中的一项或多项可能适用。

解决这个问题的一种方法是,如果您不能导入CPU,那么就需要授权来构建它。但更重要的是,如果您可以调整授权并在设计中加入自定义输入,那么您可以将硬件重新标记为一个简单的设备,并在一定程度上具有合理性。这就是为什么AMD的核心设计之一经过修改后,成为了面向中国市场的“中国”x86 CPU这种做法最大的好处不是避免进口问题,而是附带的“中国”标签。同样,我们假设使用这些CPU的人们在购买商品上没有选择权。

我们发现这些处理器已经从Zen 1设计中进行了多种更改。说它们是Zen 1 SoC的抄本,这是很多人怀疑的事实,这是不对的——设计方面已经发生了足够的变化,可以说这些部件已经重新做出调整,主要是因为其性能比Zen 1同类产品差。整数性能基本相同,但是浮点性能已降低——普通指令的吞吐量只有一半,并且随机数生成已调整为既慢又会产生质量较低的随机数。加密引擎也已被替换,这些CPU中没有使用加速常见的AES指令,而是使用了针对中国安全性的指令,例如SM2,SM3和SM4。在我们的测试中 尽管处理器在探测时显示AVX / AVX2支持,但这似乎已被禁用。我们怀疑这更多是固件错误,而不是Hygon CPU的限制。


AMD能够将其第一代Zen核心设计的编辑版本转换为“中国”设计的x86 CPU的方法非常复杂。首先,与其他中国公司THATIC成立合资公司,然后组建两家公司HMC和Hygon,两家公司在AMD和THATIC之间的持股比例不同,这些公司的分工不同,也就以便于其核心技术仍掌握在AMD手中,但AMD允许合资企业的中方进行修改。然后必须批准这些请求,然后HMCGlobalFoundries委托芯片,而后Hygon打包并将其出售给Sugon等公司。我们将在第一部分的概述中对此进行详细介绍。

AMD不愿意讨论处理器的安排或更改的任何更详细的细节,有一次,我在台北国际电脑展上看到一台Hygon Dhyana处理器,原因是与Hygon供应商的一次沟通失误,那个让我拍照的人在事后突然停止了与我的沟通。从这些讨论中,我们花了一年多的时间才拿到用于测试的芯片,因为目前美国的实体名单禁令覆盖了其中一家合资公司。这基本上扼杀了这个项目,并导致其中一家美国子公司被封存,让一些曾经受到严密控制的零部件泄露到市场上。


总体而言,这些Hygon CPU为中国提供了英特尔市场的替代产品,并且可以说比通过进口限制而购买的速度更快。AMD在迫切需要的时候赚了一些钱,但是随着Zen 2平台的成功,我不认为AMD在接下来的十年中需要做类似的事情。AMD及其合资企业THATIC与合资公司之间的协议,只是针对单一核心设计Zen 1,而非Zen 2,这限制了其竞争力。


福利


摩尔精英粉丝福利:半导体行业资料,免费下载



点击阅读原文,了解
摩尔精英