查看原文
其他

如何像搭积木一样构建CPU?Intel和AMD都是怎么做的?

wolf uefiblog UEFI社区 2023-12-29
点击上方“公众号” 可以订阅哦!

当年Intel推出第一款双核CPU的时候,AMD曾经嘲笑它是个胶水双核。然而时至今日,MCM(Multi-Chip-Module)概念洗去风尘,变得妖娆多姿起来,相对来说大核(monolithic die)却变得面目可憎,AMD和Intel都推出了MCM的CPU。发生了什么?什么导致了这种转变?MCM都有什么优点和缺点?Intel和AMD的现有产品都有哪些特点?未来的方向在哪里呢?

为什么要转向MCM?

当我们掀起CPU上面那个金属盖头,一个小小的独立世界就展现了出来:

绿色的是基板(substrate),可以看作一个小型的电路板;居于正中的就是CPU的心脏和大脑:Die;整个CPU构成了一个Package。图示是个典型的大核设计(monolithic die),它只有一个Die,所有重要电路都在Die里面。它的优点是明显的:Die内部的总线速度非常快,同时功耗很低,我们叫它片内总线。在Intel CPU片内总线原来是Ring Bus,在Skylake后改为Mesh:

它的缺点也十分明显:

I: 为了加入更多的内核,Die的大小会越涨越大,而在Die越大,良品率就越低,成本也越高。我在这篇文章详细介绍了Die大小和良品率的关系:

Die的大小和良品率

II:内核的各个IP必须统一生产工艺,灵活性很低,TTM时间较长。

这些缺点在核战争愈演愈烈的今天,严重限制了CPU内核的增长。于是在CPU Package内部引入MCM很自然的被提上了日程。

如何在Package内搭建异构部件

我们已经在市场上见到不少MCM的CPU,包括AMD的Threadripper和EPYC、Intel的Kaby Lake G和Knights Landing。GPU也有使用了相关技术的,包括Nvidia的Volta和AMD的Vega。Intel的Stratix 10 FPGA也使用了相关技术。

目前在Package内部建构MCM有三种技术。我们来看分别了解一下这些技术,和现实中的产品都使用了那个技术。

1

传统多芯片封装技术

传统的技术比较简单粗暴:

Die之间的通讯通过在基板内布置电路来解决。这时基板就像一个小型的PCB板,只是规模较小罢了。这种技术由来已久,本身CPU设计就包括Package电路设计。这样设计的SOC形式的CPU比较多,也相对成熟,比较典型的是Intel将CPU和南桥集成到一个CPU Package的SOC和AMD的Threadripper和EPYC。 它简单可靠,但缺点十分明显:集成密度很低,难以形成大规模连接从而限制了集成IP的个数。我们举个例子来看一下,EYPC:

在一个Package上集成了4个Zeppelin die,它们之间用Infinity Fabric连接在一起:

我们知道Infinity Fabric是片间总线,一般会做到主板上,在这里被做到了package里面,使得Package更像一个小型的主板。我们来看一下透视照:

布线密密麻麻。这也就解释了EPYC的package为什么这么大,Die之间为什么间距如此之远。因为集成度如此之低,再向EPYC CPU内部嵌入内存等等其他高速复杂总线几乎是不可能的了。

2

借助硅中阶层

在基底和Die之间加入一层硅中介层(silicon interposer)可以帮助我们解决传统MCM技术的低集成度弊病:

一层薄薄的中介层被加入基底核Die之间,起到承上启下的作用。Die和Die之间的通讯可以通过中介层链接,从而提高Package的集成度。中介层目前有两种形式:

1. Passive interposer。一种2.5D封装形式,interposer里面只有电路。

2. Active interposer。一种3D封装形式,interposer里面除了有电路还可以有其他器件。

但它也有自己的问题:

I. 硅中介层会增加Package厚度。

II. interposer增加额外的成本,尤其是interposer必须很大,如图那样,面积包含所有的Die,大大增加成本。

III. 最重要的问题是,Die的所有连接必须全部通过interposer,包括不需要Die到Die通讯的信号:

而这些信号需要在interposer打过孔(Through Silicon Vias ,TSVs),大大增加CPU制作成本很工序。

AMD目前走的就是这个方向。

3

通过EMIB 

EMIB(Embedded Multi-die Interconnect Bridge)是Intel在2014年就提出来的"新"技术,并在2017年IDF上进行了推广,详见参考资料1:

通过在基底嵌入一层薄薄的Silicon Bridge,它解决了硅中介层的很多问题:

I. 它没有硅中介层,不会增加Package厚度,可以用于超薄本等对厚度要求比较高的产品中。

II. 只有Die到Die的通讯需要通过Silicon Bridge,其他信号不受影响,不需要TSVs:

III. 没有硅中介层,降低成本,减少工序。

IV. 没有一个需要面积包含所有Die的硅中介,没有Die大小的限制。

V. 最重要的是EMIB可以让Die直接的距离减小到100微米级别,可以大大减小die和die传输损耗的电力,提高传输速度,甚至可以采取并行信号降低延迟:

Intel的Stratix 10 FPGA就使用了EMIB:

有没有混用这些技术的呢?还真有,Intel的Kaby Lake G内嵌了AMD Radeon GPU,为了保证GPU和HBM内存的高带宽和低延迟,要尽量靠近GPU和HBM,它们之间就采用了EMIB。而CPU和GPU直接则用传统的第一种在基板里面走长线的形式:

这就解释了为什么Kaby Lake G看起来左右距离十分不均匀:

没有硅中介的Kaby Lake G十分的薄,完全可以放入超薄本中去。

结语

EMIB技术可以完全解耦Package中各个Die的依赖关系,10nm, 14nm甚至22nm完全可以共存到一个pacakge里面

同时借助UIB和AIB等SiP标准界面,完全可以像搭积木一样构建灵活的未来CPU结构。内核数量不够?多来几块Die就好了。相信在未来,我们会看到越拉越多的使用EMIB的产品。


继续滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存