网站首页

产品中心

智能终端处理器 智能云服务器 软件开发环境

新闻中心

关于ob欧宝

公司概况 核心优势 核心团队 发展历程

联系ob

官方微信 官方微博
主页 > 新闻中心

ob欧宝【芯片论文】华为鲲鹏920:首款基于7nm Chiplet的64核云服务ARM SoC

发布时间:2023-11-17 21:56浏览次数: 来源于:网络

  ob欧宝。鲲鹏920能够通过使用多种chiplet和混合工艺技术,实现各种工作负载的成本效率。这些灵活芯片组的独特重组允许创建新的设计。鲲鹏系列处理器融合了各个层面的技术创新,以提高效率、消除瓶颈、交付价值和性能。其主要特点如下:鲲鹏920解决方案的高带宽(例如 400 GB/s)芯片间连接;IO芯片经过重新设计(例如16纳米工艺),以便可以利用最新的标准接口(例如PCI4.0)来扩展片上系统(SoC)并将其与其他IO设备连接;两个或四个鲲鹏 920 可以作为单个对称多处理器系统一起工作,具有缓存一致的非均匀内存访问结构。

  21 世纪见证了大数据爆炸,给数据处理和存储带来了深刻的挑战。因此,对能够更有效地处理数据移动的高性能处理器的需求越来越大。超标量 CPU是满足操作系统、控制密集型应用程序、单线程程序等需求的事实上的解决方案。

  2019年1月,鲲鹏920推出时,基于复杂指令集计算机(CISC)的服务器CPU仍然占据市场主导地位。分别是Intel的旗舰CPU Xeon铂金8180、6 IBM Z14、5和AMD ZEN1系列。然而,精简指令集计算机(RISC)在实践中证明仍然具有更高的理论效率。例如,ARM CPU已经占领并主导了移动市场。

  随着多核系统的发展,ARM CPU的能效优势凸显出来。基于 ARM64 的服务器/PC CPU 受到行业内各个市场领导者的使用/认可。2018年11月,亚马逊发布了云计算基础设施即服务和平台即服务平台,主要针对基于ARM CPU的Web服务器。Graviton4【引力子】包含16个Cortex-A72核心,网络带宽为10GB/s。同年,深耕ARM服务器市场数年的Marvell(Cavium)推出了ThunderX2,10ob欧宝,这是一款基于台积电16纳米工艺节点的32核SMT4 ARM-v8.1 CPU。上述CPU都有特定的目标。例如,Amazon 的多核 CPU 对于并发 Web 服务是低功耗的,而 Marvell 对于一般应用程序是高性能的。

  随着使用更先进的工艺节点,流片成本变得更高。幸运的是,由于小芯片技术提供的优势,可以将传统的 SoC 划分为更小的功能并将它们实现到不同的芯片中。这种方法有两个优点:1)显着提高单晶粒良率;2)将不同功能(例如通用计算/IO/AI)的不同工艺的芯片集成到一个SoC中,以在成本和性能之间实现更好的平衡。

  带着这样的想法,华为在2019年推出了一款名为鲲鹏920的ARM SoC,以支持华为的“云、管理、边缘”服务。鲲鹏920可以满足以下三个设计目标:1) 针对多个细分市场(例如服务器和 PC)的出色可扩展性;2)能源效率高、性能好;3)模具的可重复使用性。

  通过采用小芯片集成,芯片(即小芯片)被设计用于不同的功能,可以轻松地在各种应用中重复使用。例如,计算芯片也可用于无线基站(例如天罡系列),而IO芯片可用于支持AI加速器(例如升腾910)中的通信。大数据、分布式存储、ARM原生应用等工作负载预计将成为鲲鹏920的目标应用。它们需要芯片上的高并发性、可扩展性和快速 IO。鲲鹏920的设计考虑了此类工作负载的以下特点:

  处理如此大的数据需要更多的计算能力。 根据华为GIV2025预测,到2025年新增数据量预计将达到180ZB,是2018年的18倍。考虑到应用程序分析,此类工作负载(例如 HBase 和 Redis)的每个周期的单线。例如,DDR访问的延迟往往会导致最大计算效率降低。对于海量数据来说,分布式存储服务同样重要。此类服务具有多线程交互IO需求,要求低延迟。

  未来大量的边缘侧ARM原生工作负载可以逐步迁移到云端或者与云进行协同,从而导致云承载大量类似边缘侧的ARM原生工作负载。这种工作负载需要1)横向扩展能力; 2)虚拟机能力; 3)服务质量部署。因此,一致的ARM指令集架构(ISA)应该能够支持更好的软件开发和性能调优。

  更多计算密集型工作负载由特定领域的加速器处理。例如,内存密集型工作负载(例如 HPCG——高性能共轭梯度)对于服务器处理来说变得越来越重要。此类工作负载需要较低的内存访问延迟。

  从上述工作负载特征来看,鲲鹏920应用了以下四个设计原则:1)高性能的CPU核心应该能够有效地处理单线程任务,以消除长尾效应。CPU核心还应该具有并行处理数据的能力。2)大多数为移动设备设计的基于ARM的CPU/SoC都很小,但为云服务器设计的鲲鹏920规模要大得多。因此,需要实现精细的缓存一致性机制来应对多级缓存一致性挑战。3)设计了无死锁、无缓冲区、多环片上网络(NoC)。NoC适应云服务特性(即低延迟、高带宽和QoS兼容性)并实现最小面积。4)为了实现芯片间通信,开发了专有的相干并行互连机制。借助晶圆上芯片(CoWoS)集成技术,相干芯片间通信能够实现低延迟(例如 15 ns)和高吞吐量(例如 400 GB/s)。5)采用16nm IO芯片实现IO互连,以获得低成本和高性能。IO 芯片还支持最新的 IO 通信协议(即 PCIe 4.0)。

  本文的结构如下:“鲲鹏 920 SoC 概述”部分介绍了我们 SoC 的高级概述。接下来,“CPU-计算芯片设计”和“计算-IO 芯片设计”部分分别介绍了 CPU 计算芯片和计算 IO 芯片的详细信息。然后,在“多级互连”部分介绍多级互连方法。通过“评测”部分的实验,说明上述SoC在不同场景下具有高性能、高能耗、高面积效率的证明。最后,“结论”部分对本文进行了总结。

  鲲鹏920 SoC采用乐高式架构设计。乐高风格的架构可以组装多个芯片(即小芯片),可以使用合适的工艺将其集成在单个封装内技术。为了实现高集成效率并降低设计/制造成本,创建了多种类型的原始小芯片。可以选择这些原始(乐高风格)小芯片并将其组合在一起以满足各种要求。此外,还提出了专门的芯片组合技术和高带宽相干互连,以促进乐高式小芯片集成。

  原始小芯片有五种类型,分别称为CPU 计算芯片、AI 计算芯片、计算 IO 芯片、NICIO 芯片和无线加速 (ACC) 芯片,如图 1 所示。这些原始小芯片共享公共连接并遵循图 1 所示的相同物理设计规则,如下所示:不同的原始小芯片可以采用不同的宽度但具有相同的高度。两个chiplet只能在水平方向上组合。由于物理引脚的限制,AI-Compute die、Compute-IO die、NIC-IO 和 Wireless-ACC die 只能放置在芯片设计的左端或右端。换句话说,只有一个 CPU 计算芯片可以放置在另外两个小芯片之间。

  乐高式架构允许各种芯片组合与不同封装技术(例如2.5-D Interposer或多芯片模块 MCM)无缝集成,以满足不同的工作负载要求。图1中介绍了五款SoC芯片(鲲鹏920-Server、鲲鹏920-Lite、天罡系列、Ascend 910、Hi1822-SmartNIC)。乐高风格的小芯片可以作为独立的 SoC 工作。例如,图 1 中所示的计算 IO 芯片也可以用作 PCIe 交换机。

  对于鲲鹏920,采用硅中介层(即台积电CoWoS、65纳米工艺BEOL)作为芯片间连接。由于 BEOL 的高密度,芯片间带宽能够实现高达 400 GB/s 的一致性,这远高于基于 MCM 的竞争产品(例如 AMD ZEN2)获得的互连密度。使用 CoWoS 的原因有两个。首先,当多个内存绑定应用程序分配在同一计算芯片上时,芯片间与 I/O 的连接很可能成为 MCM 解决方案的瓶颈。其次,由于鲲鹏920同时支持统一内存访问(UMA)和非统一内存访问(NUMA)模式,因此UMA模型只需借助高速芯片间连接即可实现与NUMA模式类似的性能。

  鲲鹏920 SoC主要针对服务器而设计,实现多核并行、安全性、连接性和RAS(即可靠性、可用性和可服务性)等特性。鲲鹏920-Server集成了两个CPU计算芯片和一个计算IO芯片。鲲鹏920-Lite专为需要高可靠性和良好性能的PC市场而设计。它集成了CPU-Compute die和Compute-IO die,能够提供高并发和高吞吐量的互连。

  TaiShan V110核心由多种类型的单元组成,支持高性能标量/矢量处理和有效的加载/存储操作。请注意,鲲鹏 920 专为处理云计算工作负载(例如数据分析和数据库工作负载)而设计。因此,设计空间探索考虑了目标工作负载的特征,以确定合适的TaiShan V110核心微架构。下面介绍泰山V110的详细信息。

  超标量流水线主要由取指令、指令译码、指令分派和整数执行组成。指令获取单元每个周期从 L1 Icache 获取最多 4 条指令。分支预测单元支持静态和动态分支预测策略。动态策略是通过两级动态分支预测器具体实现的,该预测器使用分支目标缓冲区来进行高速目标地址生成。对于目标工作负载,四宽度超标量管道足以实现功耗性能区域(PPA)的良好平衡。

  TaiShan V110的SIMD架构兼容NEON基础指令,还支持ARM-v8.2的部分扩展指令。通过上述加速框架,TaiShan V110可以为服务器应用程序和移动应用程序提供矢量化加速。

  考虑到目标应用,除了低延迟标量加载/存储之外,保证高效连续向量访问也很重要。

  TaiShan V110主要针对云计算(例如大数据和数据库)工作负载而设计,这些工作负载往往具有高并发性并涉及大量整数运算。因此,选择SPEC INT 2017基准测试的单核分数作为评估CPU性能的指标,主流CPU核心的性能和性能/面积列于表1。根据表 1,与其他基准 CPU 相比,TaiShan V110 具有更好的 PPA(例如,每个区域的性能提高三倍)。

  近年来,使用共享L3缓存作为LLC的价值在基于ARM的SoC上得到了广泛的认可。由于严格的物理限制,LLC 设计有广阔的设计空间有待探索。鲲鹏920的设计中,将SoC的全局LLC切片到各个CPU Cluster中,使LLC与CPU Cluster形成NUMA关系。因此,需要仔细考虑如何选择每个集群的适当大小,以最大限度地发挥其效益。综合考虑多种因素,选择每个集群4个CPU核心,以获得当前进程节点的最佳PPA分数。

  对于对方,LLC采用私有模式或共享模式:私有模式通常用于每个CPU核心承载相对独立的任务数据时; 当SoC内的任务共享大量数据时,通常使用共享模式。在私有模式下,每个CPU集群和对应的LLC切片组成一个私有组,可以避免集群访问高延迟的缓存切片。在共享模式下,所有 LLC 切片组合在一起充当一个块,以提高 SoC 内部数据的重用率。

  在实际应用中,我们发现大量应用程序具有不同的内核来承载不同的任务片(例如,不同的任务或同一任务的不同阶段),导致同构 CPU SoC 处理这些情况的效率低下。因此,假设有一种机制可以根据运行时应用动态分配LLC,则引入分区机制,在远程缓存片和集群对应的私有缓存之间构成NUMA。如图2所示,当前分区模式的设计对鲲鹏920的性能提升有显着影响,当访问模式超过附近的LLC切片时,可以观察到访问延迟缓慢上升,而不是粗略上升。与其他模式相比,分区策略显着降低了平均延迟(例如超过5%)。

  值得注意的是,在芯片内、芯片间和SoC级别实现了完整的缓存一致性,这依赖于与HCCS(华为缓存一致性系统)和HHA结合的缓存机制(HCCS 家庭代理)。

  对于鲲鹏920来说,环NoC被认为是合适的选择。此外,采用双环来减轻双向数据传播的缺点。可缓冲NoC消耗相当大的面积和能量ob欧宝,并且需要复杂的逻辑设计,这导致可扩展性差且限制频率。上述限制使得“记忆墙”的问题更加严重。对现实工作负载的分析表明,NoC 上均匀随机流量的比例很高,这意味着无缓冲 NoC 是我们 SoC 设计的合适选择。电子系统级测试结果(无缓冲NoC在Libq HPCG GeekBench和Bit-Data-Bench中的直接传输率超过99%)表明,无缓冲NoC节省了大量缓冲资源,并以可忽略的延迟为代价大大简化了NoC设计 抖动。在鲲鹏920的设置下,相同带宽下,无缓冲NoC相比可缓冲NoC面积可减少50%~70%。NoC 占整个 SoC 面积不到 7%。 其频率高达3GHz,比可缓冲NoC的频率要好得多。

  基于上述部分的研究结果,鲲鹏 920 CPU 计算芯片的设计如图 3(a) 所示。鲲鹏920 CPU-Compute Die由32个TaiShan V110核心组成,每个核心都有自己的L1和L2 Cache;四个核心共享一个公共 LLC 标签,其相应的 LLC 数据安装在最近的 NoC 上,以提高灵活性;DDR控制器成对组织,并为每个CPU-Compute Die的一致性管理实现HHA;通用中断控制器用于管理中断;超级集群链路层连接器(SLLC)旨在支持具有缓存一致性的芯片间通信,这将在“芯片间连接”部分中讨论;系统功能采用Peri_ICL,适配鲲鹏920以外的解决方案,充分展现了乐高式架构的优势。

  鲲鹏920通过16纳米IO芯片实现经济高效且高性能的IO互连。它支持最新的IO协议(即PCIe 4.0)。

  如图 3(b) 所示,计算 IO 芯片负责鲲鹏 920 的 IO 功能。这种计算 IO 芯片还兼容其他 SoC(例如 Ascend 910 Al 加速器)。此外,Compute-IO 芯片可以独立用作 PCIeswitch 芯片。计算IO芯片旨在满足高吞吐量和相对长距离的通信、存储访问和交互任务加速的要求。远程通信可分为三类:1)长距离相干通信;2)PCIe总线(PCB上弱相干/非相干互连);3) 以太网(电缆互连)。

  Compute-IO Die中的大部分模块都是为了支持长距离的片间通信而设计的,需要较强的驱动能力。PHY占据了很大的芯片面积(约30%),很难随着更先进的工艺节点而缩小。因此,Compute-IO Die采用16nm工艺节点是合适且有效的。16 nm 工艺节点的晶体管沟道长度相对较长,也有助于减少泄漏。

  鲲鹏920实现了多级内存层次结构。主要目的是将经常使用的数据子集放置在更靠近 CPU 内核的位置,以便更有效地管理加载/存储。

  鲲鹏920计算IO芯片是全球首款实现PCIe 4.0的芯片,支持多达40个通道。整体带宽达到640Gb/s。PCIe接口支持虚拟机场景下的数千通道,进一步增强了鲲鹏920在云计算工作负载中的横向扩展特性。通过支持共享虚拟内存(即加速器和用户态之间共享的虚拟地址空间),鲲鹏920在IO方面提供了更好的可用性。

  鲲鹏920 16纳米Compute-IO Die解决方案以低成本提供良好的性能和多功能性。如下文所示,Compute-IO Die 上的 HCCS 托管的高效芯片间一致性 HCCS 协议为云计算工作负载的扩展功能提供了良好的支持。

  鲲鹏920实现了多级内存层次结构。主要目的是将经常使用的数据子集放置在更靠近 CPU 核心的位置,以便更有效地管理加载/存储。表 2 列出了预期的带宽和延迟参数,并说明了它们在每个内存级别之间变化的平滑程度。两级互连(包括芯片间和芯片间连接)经过精心设计,以最大程度地减少存储器层次结构各级中不必要的数据移动。详细介绍如下。

  互连包括芯片内连接和芯片间连接。针对两级连接的问题,采用了一系列的解决方案。

  SLLC 旨在处理具有一致性的芯片间连接。乐高风格的芯片间连接详细解释如下:物理层:面向CoWoS,兼容MCM。小型 IO(即通信 PHY)经过定制以适应芯片间连接。链路层:使用虚拟通道来保证片间NoC的有效性。流量控制:采用基于信用的流量控制,实现发送方和接收方之间的有效交互。最后,如表 2 所示,实现了低延迟和高带宽的芯片间连接。

  物理层:定制更大的PHY,提供足够的驱动能力。协议层:优化了一致性协议的多次请求迭代,以减少基于单一致性的加载/存储随着传输延迟增加(由于传输距离较长)的延迟。

  因此ob欧宝,芯片间连接延迟保持在芯片间连接延迟的两倍以内,如表 2 所示。图 4 显示了由四个鲲鹏 920 SoC 组成的多芯片系统架构示例。四颗鲲鹏920 SoC通过HCCS互连相互连接。

  如表3所示,鲲鹏920-Server在芯片尺寸更小的情况下比之前发布的产品具有更好的性能,这充分体现了鲲鹏920的效率。鲲鹏 920 仍然具有比后来发布的 AMD EPCY 7742 (AMDZEN2) 更好的性能/面积。此外,海思敏捷的RTL-Fabrication协同设计机制保证了鲲鹏920在7纳米上领先量产,这确保了鲲鹏920是首款进入市场的7纳米服务器CPU,这也有助于芯片的性能提升。

  从图5的背后还可以看出,在典型云工作负载Hive-SQL下,鲲鹏920的中端5250与Intel 6148/6248相比,鲲鹏920有更大的性能优势(超过20%)。此外,服务器CPU的架构也是由大规模生产的成本效益驱动的,也称为性价比。得益于乐高式架构在良率和成本上的优势,鲲鹏920在7纳米工艺良率不那么高的情况下也能实现较高的性价比,为客户创造额外效益,以高性能推动行业进步。鲲鹏920采用乐高式Chiplet设计,结合混合工艺技术,实现高性能和低成本。

  本文介绍了面向高性能云计算工作负载的鲲鹏920。鲲鹏920采用乐高风格的chiplet设计,结合混合工艺技术,实现高性能和低成本。鲲鹏920采用系统化解决方案(例如无缓冲环NoC和基于分区的LLC)来解决内存问题,例如一致性、延迟和多个级别(例如核间、芯片间和芯片间)的吞吐量。通过结合上述创新,鲲鹏 920 证明了乐高式基于小芯片的设计可以具有可扩展性和成本效益,以实现高性能数据处理解决方案。例如,鲲鹏系列在云和PC市场的销量一直表现强劲,目前业绩达到1,000K PCS/年。

  综上所述,鲲鹏920的乐高式基于chiplet的设计方法被证明是有效的,因为它可以满足各种PPA要求,并通过在各种场景下重用chiplet来降低设计/制造成本。

下一篇:ob欧宝决战数据中心!Arm放出定制芯片新招式13个月搞定云端CPU开发
上一篇:ob欧宝AMD EPYC (霄龙)8004 系列处理器概述详细介绍专为云服务、智能边缘和电信打造的AMD EPYC 8004处理器

咨询我们

输入您的疑问及需求发送邮箱给我们