让AMD实现弯道超车的芯片设计密码:小芯片设计方法的内存平衡

处理器/DSP

868人已加入

描述

  AMD近几年在CPU领域

  可谓是大放异彩

  不仅是消费级和企业级市场

  在资本市场也备受热捧

  其股价六年翻了 近20倍

  并创下20年新高

  作为一家芯片制造商

  AMD的异军突起

  必然和自家芯片脱离不了关系

  今天,我们就来谈点干货

  聊一聊芯片设计

  “ 小芯片”

  让AMD实现弯道超车

  在10nm及以下的硅制程工艺的推动下,CPU核心数量,高速I/O通道,DDR通道,嵌入式内存和其他功能的增长速度远超历史。使用传统的单片CPU芯片(Monolithic die)架构和实施, 从产量和成本的角度来看将越来越难。

  业界需要新的硅和基板封装方法可以确保未来的CPU能够经济地扩展。尽管多芯片模块(MCM)已经存在了好几代,但通常用于将封装内的多个分立器件管芯连接在一起,以节省空间或改善信号完整性。 并且芯片间互连的宽度受到限制,需要大功率I/O驱动器或SerDes。

  如今芯片和封装方面的改进允许设备或元素(例如服务器CPU“管脚”或“SOC”)由多个子CPU硅芯片组成,通常称为小芯片(chiplets), 从而弥补了以往明显的性能或功耗缺点,成为近年来的大热门。

  CPU芯片设计的演进如下图所示▼

  

  ❑ 近年来最成功的Chiplet设计, 无疑就是AMD的第二代EPYC服务器CPU(代号“罗马”)。一个IO芯片(IOD)和多达八个8核CPU高速缓存芯片(CCD)布置在CPU封装基板上, 从而实现了互连。

  因为CPU是由单个整体式芯片制成,CCD和IOD不会对CPU造成任何明显的延迟或带宽影响。同时,由于单个CCD和IOD芯片的尺寸只是等效单片芯片的尺寸的一小部分, 因此可以实现芯片成品率的大幅提高。

  此外,这种“小芯片”方法允许CCD使用比IOD更先进的硅工艺, 从而节省更多成本。

  ❑ 另一个例子是 英特尔最近宣布的EMIB(嵌入式多管芯互连桥)和Foveros(2D和3D管芯封装和堆叠)技术。

  EMIB只需要一个小的嵌入式硅片连接,即可将两个小芯片绑在一起,并具有高带宽和短距离。如今,EMIB已用于英特尔的FPGA和Kaby Lake-G中, 从而将GPU连接至封装内的高带宽内存。

  而Foveros是一种硅堆叠技术,它使用TSV(通过硅通孔),例如, 可以有效地连接独立的IO,内核和内存芯片。

  “小芯片”

  也带来了NUMA问题

  随着CPU以及GPU,FPGA,AI/ML芯片继续集成大量的计算元素,异构计算元素,封装内存(如DRAM、HBM、SCM等)和IO技术,对“小芯片”式封装的需要已成为 提高产量、上市时间、开发风险和更多线性计算成本的必要条件,这将推动客户采用。

  但是针无两头利, “小芯片”设计在带来可扩展性和经济性的同时,也复杂化了NUMA问题。非均匀的内存访问(NUMA)是计算机体系架构永恒的的话题,下图简单描述了该问题

  MCM

  针对该问题,各种软件调优措施应运而生:调BIOS,调OS,调应用软件。

  如下图服务器BIOS设置▼

  MCM

  ❶操作系统关闭NUMA操作:

  ❷数据库启用NUMA的调整,如下链接:

  Enable Oracle NUMA support with Oracle Server Version 11gR2

  MySQL也是如此,请关注我们后续的文章

  但是!但是!很多人甚至软件专家都忘了,软件NUMA调优的前提是: 平衡的内存配置。合理的CPU/内存配比才是后续软件调优的基础!不然再怎么调也于事无补。

  我们还是以AMD罗马CPU为例▼

  MCM

  第二代AMD EPYC 7002 CPU的硅封装由9个MCM组成。其中的8个MCM分为4个象限,每个象限最多具有2个CCDs。所有4个象限的CCD通过1个中央I/ODie(IOD)的IO模块通信。单个象限CCDs上的所有内核共享两条最近的内存通道。 其余的内存通道需穿过IOD,有较高的内存延迟(NUMA问题)。

  根据第二代EPY CCPU的设计理念,满配16条同样的内存无疑会取得最佳性能,第二选择是占据每个通道的8条同色系的同样内存,如下图的A1-A8。

  MCM

  上述两种情况是最优配置。所谓的平衡内存配置是除上述两种情况之外的次优配置,其宗旨是 用足本象限内的两条内存控制器以取得最佳的本地内存访问性能,不考虑远端内存访问以减少内存数量。

  不同CPU有不同的推荐,推导过程留给感兴趣的朋友,这里直接给出结论▼

  MCM

  为便于大家理解还是贴出了最后三行所列CPU的架构图如下,你品,你细品。

  MCM

  看明白了那是真搞明白了Chiplet带来的NUMA新问题。

  相对,这代的Intel至强(SP2)还是传统的单个大芯片(Monolithic die)设计,NUMA问题要简单的多,最佳/平衡的内存配置是12/6条内存/CPU,不论CPU是铂金,金还是银铜。 很多用户只关心内存的容量而忽略了数量的重要性。

  举个例子,4条16GB内存的配置在绝大多数场景性能是要大大优于单条64GB内存的,原因是 占据更多的内存通道并且部分规避了NUMA问题。你要问非平衡的内存配置性能有多差,Intel给出了下图。

  MCM

  最后打一下广告。戴尔易安信提供业界最全的AMD第二代EPYC产品组合,包括 单插槽PowerEdge服务器R6515和R7515, 两路服务器R6525和R7525,以及 计算密集型服务器C6525,各种配置以供不同选择。无论医疗、教育,还是计算密集型领域都能发挥的游刃有余、恰到好处。

  

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分