《64核处理器两大关键技术:MCM封装、7纳米制程》一颗CPU如何放进64核心?

在一颗服务器处理器中,放进完整功能的64个核心,为何处理器龙头英特尔还没实现,3年前才重返服务器市场的AMD却能够做到,甚至价格只要竞争对手Xeon处理器的一半,而且还更省电?关键就是AMD新款CPU采取老设计和新制程,前者是早在10年前就出现的MCM多芯片模块封装技术(Multi-Chip-Module),后者则是最先进的7纳米制程来提高核心密度,两者结合才能做得到。

服务器CPU核心的演进,从最早的单核、双核、四核到3年前多核的20核心以上,大约历经10多年发展,但是随着CPU核心数,从个位数突破到双位数,现在,想要在一颗CPU加入更多核心,比以前难度更高,除了处理器设计架构变得越来越复杂,需要投入制作成本也更高,例如,英特尔过去花了3年时间,才将最高端Xeon处理器的核心,从24核提升到最高28核心,也才只多增加了4个运算核心。

两年内翻新CPU架构,抢先超前英特尔推出64核心CPU设计

但是从32核心翻倍提高到64核心,AMD仅花了两年时间就完成,在今年8月率先推出第二代EPYC系列x86处理器,就能提供高达64个运算核心,甚至接下来还有两款全新EPYC处理器,将在明、后两年问世,还能够替下一代CPU增加更多核心。

之所以能够在单颗CPU放进64核的一大关键,在于AMD采用了和以往截然不同的MCM多芯片封装技术,来设计新一代多核处理器,可以一次将多核心、多个晶粒(Die),封装在一个集成的单一CPU,来取代原本多核心单晶粒(Monolithic Die)的封装方式,借此来提高CPU总核心。

旧有MCM多芯片封装技术,成了新一代CPU加大核心的关键技术

不光是增加核心数,因为这颗超多核心处理器,是以集成多个单晶粒封装的方式,来取代以往将全部核心集中压缩在单一晶粒的旧有单芯片封装作法,因此,对于处理器厂商来说,设计出来的多核CPU,不仅功耗更低、良率也能提高不少。

有了MCM多芯片封装设计,处理器厂商在设计多核处理器时,就不一定非得要将所有核心都放进单一晶粒里,而是可以设计成多晶粒架构,将一个更大核心,分拆成多个小核心,封装在多个晶粒里,再集成成单一CPU。

而且比起原生多核设计,通过采用这个封装方式设计出来的多核CPU,不只可以容纳比原先更多的核心。甚至是可以达到突破性的增长,取得翻倍核心数。这正是AMD之所以可以很快提升处理器核心数量的关键。也是靠旧有原生多核心设计,难以实现达到的最大核心数,也只有通过采用MCM技术,才有办法做到。

但是MCM多芯片封装并不是新技术,早在1995年,英特尔推出Pentium Pro微处理器时,就曾采用MCM技术,来提高处理器执行性能,将L2内存与本体处理器电路同时封装到单一CPU芯片,更在相隔10年发布新款Pentium D与Xeon 5000系列同样利用此技术,推出首款双核心处理器。甚至更早之前,IBM也曾将MCM技术用于大型主机推出另一款双核处理器Power4。

不过,过去很长一段时间,主流多核心处理器,仍采原生多核设计,直到近几年,采用这个设计来加大核心的原生多核设计CPU,在核心数量上很难有更高增长,才使得MCM多芯片封装技术重新崭露头角。

在2017年,AMD以这个技术搭配全新处理器架构,来打造出更大核心数的第一代服务器处理器EPYC,比英特尔Xeon多核处理器高出了8个核心,达到32核心之多。该处理器一推出,也在服务器市场引起热烈反响。

以往非主流的MCM多芯片封装技术,现在却成了新一代处理器加大核心的关键技术。

就连原本主张原生多核心设计的英特尔,也都不得不做出妥协,近来在设计新款多核心处理器时,也都开始采用MCM技术,以换取更高性能、更多核心的增长空间。例如,今年4月推出第2代Xeon Scalable系列处理器时,其中最高端型号的Xeon Platinum 9200系列处理器,就提供了多达56核心,也就是采用这个技术来增加运算核心,以对抗AMD的64核心处理器。

为了冲刺更高核心,也挑战现有服务器CPU设计架构

不过,采用MCM多芯片封装作法,虽然可以很快提高核心,但是也带来一些新挑战,例如,各模块核心之间沟通,容易出现反应延迟,或性能减损等问题,也挑战现有服务器处理器的架构,也得跟上脚步,与时俱进。

所以,除了采用更先进MCM封装技术,AMD同时也持续改进处理器设计架构,甚至每更新一代,就翻新一次CPU架构,来对应最大核心数,以发挥出原有多核处理器预期的效益。

像是在推出第一代32核心EPYC处理器时,AMD总共设计了4个不同的小型晶粒,可以把多个核心放进单一晶粒,每个晶粒更是由两个CCX(CPU Complex)模块组成,单一个CCX内最多可放4个核心、L2缓存和L3缓存,总计8个CCX模块封装,集成成为一个32核心处理器,甚至每个晶粒上,都有独立I/O控制,也配置访问内存。

为了加快多核心之间的消息沟通,AMD还开发出了一个全新Infinity Fabric高速互连架构,来提高各个CPU核心之间的沟通效率。

第二代64核EPYC处理器推出时,AMD再一次翻新CPU架构,采用更先进混合多芯片架构设计(Hybrid Multi-Die Architecture),来打造全新的Zen2处理器架构,以放进比之前更多核心。

在这个混合多芯片架构设计下,每个晶粒体积比之前更小,因此,在单一CPU内可以封装更多晶粒,来达到增加更多核心的效果,例如,在64核CPU内集成8个晶粒与一个共享I/O晶粒的混合多芯片架构。又因为单一模块的晶粒,能提供最多8核心,所以,AMD直接称作Chiplet(小芯片)。

通过在单一处理器内设计左右对称各4组合计8个小芯片(或晶粒),再通过中间高速互联网络设计的一个14纳米的I/O晶粒互连,集成成单一64核CPU。

除了核心密度的提升,Zen2架构也有不少改进,例如,不仅重新设计执行工作流程(pipeline),还加倍提高浮点托管器(Register),与加快单一托管器指令的加载和存储等,来持续优化和增加新功能。

新的CPU架构在IPC (每时脉周期执行指令) 性能表现上,更较前代提高15%之多,另外,在执行AVX2指令集的浮点运算性能也有翻倍的提升。更进一步还加大处理器使用的L3缓存,将内存总容量提高至256MB,来缩短CPU数据访问的反应时间。

AMD更宣称,通过采用混合多芯片架构,可以让这代CPU处理性能提高两倍,而且具备更强的平行运算处理能力,最大可以提供多达4倍的运算吞吐量(FLOPS)。

尤其,新的Zen2架构,采用最先进7纳米制程来生产64核CPU,从原本14纳米进一步缩小到7纳米,这也意味着,在相同芯片面积下,可以封装更多晶体管来提高核心密度,例如,单是一颗采用7纳米64核CPU,其内置的晶体管就高达320亿个。

AMD采用8个7纳米小芯片模块设计,来组成64个运算核心集群,再封装在单一CPU,也帮助处理器厂商在设计处理器时,不需要大幅增加功耗,就能提供更多核心,例如64核第二代EPYC处理器,最高TDP(热设计功耗)只比一代多出45瓦,达到225瓦,但核心数却足足多了一倍。这也是打造64核心处理器的另一大关键。