Skip to content

SoC集成与Chiplet

2019年8月,AMD发布了代号Rome的第二代EPYC处理器——EPYC 7742,搭载64颗Zen 2核心。按照传统的单片设计方案,将64个高性能核心及其L3缓存集成在同一颗die上,面积将超过700 mm2^2。在7nm工艺下,一颗700 mm2^2的die的良率将低于20%——意味着每5颗芯片中只有不到1颗能正常工作,每颗合格芯片的制造成本将是天文数字。AMD的解决方案是将处理器拆分为9个小芯片(8个CCD + 1个IOD),并通过封装内互连将它们组合为逻辑上等价的一颗处理器。这个决策的背后是一个简单而残酷的物理定律:良率随面积指数下降

从本书的统一视角看,SoC集成与Chiplet架构是处理器设计中投机与并行理念在物理实现层面的映射。在微架构层面,我们通过投机执行和指令级并行来逼近IPC上限;在芯片层面,我们通过多核并行来逼近吞吐率上限;而在封装层面,我们通过Chiplet并行——多个die协同工作——来突破单片面积的物理极限。正如第 3.0 章讨论的工艺约束最终限制了晶体管尺寸的缩小,良率的物理规律同样限制了单片die面积的增长。Chiplet架构正是对这一物理约束的系统性回应。

本章从SoC架构的基本组成讲起,深入推导良率公式来论证Chiplet的"必然性",然后详细比较EMIB、CoWoS、Foveros和混合键合四种先进封装技术,介绍UCIe标准化互连协议,最后通过AMD EPYC、Intel Meteor Lake和Apple UltraFusion三个案例展示Chiplet架构的实际应用。从第 47.0 章的片上互连到本章的封装互连,从第 49.0 章的功耗管理到本章的多die热管理,我们将看到处理器设计的挑战如何从芯片内部延伸到封装和系统层面。

SoC架构

片上系统(SoC)的概念并非新生事物——早在2000年代初,嵌入式处理器就已经将CPU核心、内存控制器和外设接口集成在同一颗芯片上。但近十年来,SoC的复杂度发生了质的飞跃:一颗现代移动SoC可以包含超过100亿个晶体管,集成数十种不同功能的IP核,其设计复杂度和验证工作量堪比一个大型软件系统。本节首先介绍现代SoC的主要组成部分,然后讨论核心与Uncore的架构划分,最后分析SoC级的地址映射机制。

现代SoC的组成

一颗现代高端SoC是一个高度异构的计算平台,包含多种不同类型的处理单元和功能模块。以一颗典型的移动SoC(如Apple A17 Pro或Qualcomm Snapdragon 8 Gen 3)为例,其主要组成部分包括:

CPU核心子系统

CPU核心是SoC的"大脑",负责运行操作系统和通用应用程序。现代移动SoC几乎无一例外地采用大小核(big.LITTLE)异构架构:高性能的大核(Performance Core, P-core)提供峰值单线程性能,高效的小核(Efficiency Core, E-core)在低负载时以更低的功耗运行后台任务。例如,Apple A17 Pro包含2个Everest大核和4个Sawtooth小核;Snapdragon 8 Gen 3包含1个Cortex-X4超大核、3个Cortex-A720大核和4个Cortex-A520小核。

CPU核心子系统还包括每个核心的私有L1 I-Cache和L1 D-Cache(通常各64 KB)、私有L2 Cache(大核256 KB\sim2 MB,小核128 KB\sim512 KB),以及所有核心共享的L3 Cache(又称系统级缓存SLC,通常16 MB\sim36 MB)。

GPU子系统

图形处理单元(GPU)在移动设备中负责图形渲染、视频处理和部分通用计算(GPGPU)任务。移动GPU通常采用tile-based deferred rendering(TBDR)架构,与桌面GPU的即时模式渲染不同。Apple的GPU从A11开始自研,到A17 Pro已集成6个GPU核心,支持硬件光线追踪和mesh shading。Qualcomm的Adreno GPU和ARM的Mali/Immortalis GPU也在持续演进。

NPU/神经网络处理器

随着设备端AI推理需求的爆发式增长,NPU(Neural Processing Unit)已成为SoC中不可或缺的组件。NPU专门针对矩阵乘法和卷积运算进行优化,其能效比(TOPS/W)远高于CPU和GPU。Apple的Neural Engine从A11的2-core发展到A17 Pro的16-core,峰值算力达到35 TOPS。Qualcomm的Hexagon NPU和Google的Edge TPU也在持续提升算力密度。

ISP/图像信号处理器

ISP(Image Signal Processor)负责处理来自摄像头传感器的原始图像数据,执行去马赛克(demosaicing)、降噪、白平衡、HDR合成、自动对焦等一系列复杂的图像处理流水线。现代ISP需要在极短的时间内处理数千万像素的图像数据(如4800万像素、每秒30帧意味着每秒14.4亿像素的吞吐量),因此采用了高度并行化的专用硬件流水线,而非通用计算架构。

Modem/调制解调器

在移动SoC中,蜂窝调制解调器是最复杂的IP模块之一,负责实现5G/4G/3G/2G多模通信。一个5G NR调制解调器需要处理极高的数据吞吐量(下行可达10 Gbps)、复杂的OFDM/MIMO信号处理算法、以及严格的实时延迟要求。Qualcomm的Snapdragon X75 modem和MediaTek的M80 modem是此类IP的代表。

内存控制器

内存控制器(Memory Controller)管理SoC与外部DRAM的接口。移动SoC通常使用LPDDR5/LPDDR5X内存,配备4\sim8通道的内存控制器,总带宽可达80\sim135 GB/s。服务器SoC使用DDR5内存,AMD EPYC 9004系列配备12通道DDR5控制器,总带宽达460 GB/s。内存控制器的功能不仅仅是数据搬运——它还负责刷新调度、ECC纠错、地址交织(address interleaving)、请求仲裁和QoS管理。

IO控制器

SoC集成了多种IO接口控制器:PCIe控制器(用于连接NVMe SSD、GPU等高速外设)、USB控制器(USB 3.x/4.0)、UFS控制器(用于移动存储)、显示控制器(HDMI/DisplayPort/MIPI DSI)、音频控制器、以太网控制器等。这些IO控制器各自拥有独立的协议引擎和DMA引擎。

安全子系统

现代SoC包含专用的安全处理子系统,如Apple的Secure Enclave、Qualcomm的SPU(Secure Processing Unit)、Intel的CSME(Converged Security and Management Engine)。安全子系统通常包含独立的CPU核心、独立的内存(SRAM)、硬件随机数生成器(TRNG)、密码加速器(AES、SHA、RSA/ECC)和安全启动ROM。

电源管理子系统

PMIC(Power Management IC)接口和片上电压/频率调节逻辑是SoC功耗优化的核心。现代SoC拥有数十个独立的电压域和时钟域,每个功能模块可以独立调节电压和频率(DVFS),甚至完全断电(power gating)。电源管理控制器(PMC)通常是一个独立的低功耗处理器核心,运行固件来协调全芯片的电源状态转换。

现代移动SoC的典型架构组成。CPU子系统(大小核+共享L3)、GPU、NPU、ISP、安全引擎等处理模块通过片上互连网络(NoC)与内存控制器、IO控制器、电源管理等基础设施模块互连。实际SoC的组件数量远超此图所示。
现代移动SoC的典型架构组成。CPU子系统(大小核+共享L3)、GPU、NPU、ISP、安全引擎等处理模块通过片上互连网络(NoC)与内存控制器、IO控制器、电源管理等基础设施模块互连。实际SoC的组件数量远超此图所示。
::: tip 设计提示

SoC集成的核心挑战不在于将各个IP核"拼"在一起——每个IP核本身可能已经过验证和流片。真正的难点在于系统级集成:所有IP核共享同一个NoC和内存子系统,它们之间的带宽竞争、延迟干扰和QoS保障是极其复杂的系统级问题。一个设计不当的NoC可能导致ISP在关键帧处理时因GPU抢占带宽而产生帧延迟,或者NPU推理任务因CPU内存密集型工作负载而吞吐量骤降。SoC架构师的核心工作之一就是设计合理的NoC拓扑、仲裁策略和QoS机制,确保各个IP核在共享资源时能够满足各自的性能和实时性需求。

:::

核心与Uncore的划分

在SoC架构中,核心(Core)与非核心(Uncore)的划分是一个基本的架构概念。这一术语最早由Intel在Nehalem微架构(2008年)中推广——Nehalem将内存控制器和QPI互连从北桥芯片组移入处理器die内部,并将这些非CPU核心的组件统称为Uncore。此后,Uncore的概念被广泛接受并沿用至今。

核心的边界

CPU核心通常包含以下组件,它们构成了一个完整的指令执行引擎:

  • 前端:分支预测器、取指单元、指令缓冲区、解码器(x86处理器还包含微码ROM和μ\muop缓存)。

  • 后端:重命名/分配单元、发射队列、物理寄存器文件、执行单元(ALU、AGU、FPU/SIMD)、重排序缓冲区(ROB)。

  • 存储子系统:Load/Store单元、L1 I-Cache、L1 D-Cache、L2 Cache(某些设计中L2属于核心私有,某些设计中L2是共享的Uncore组件)、TLB层次。

  • 核心级电源管理:C-state控制器、核心DVFS逻辑。

核心的关键特征是独立性可复制性——每个核心是一个完整的、自包含的执行引擎,可以独立运行一个硬件线程(或通过SMT运行多个线程)。在物理设计中,核心通常被设计为一个硬宏(hard macro),可以通过阵列方式复制(如Intel Golden Cove核心在Alder Lake中复制8份)。

Uncore的组成

Uncore包含所有核心共享的资源和基础设施:

  • 最后一级缓存(LLC/L3):所有CPU核心(以及可能的GPU、NPU等加速器)共享的缓存,通常采用分片(sliced)组织——每个核心对应一个L3切片(slice),所有切片通过NoC互连。Intel从Skylake开始采用Non-Inclusive L3架构,AMD从Zen 2开始采用Victim L3架构。

  • 片上互连网络(NoC):连接所有核心和Uncore组件的通信基础设施。NoC的拓扑可以是环形(Intel Skylake)、Mesh(Intel Skylake-SP及后续服务器芯片)、或层次化的总线/交叉开关混合结构(ARM CMN)。

  • 缓存一致性引擎:在多核处理器中维护缓存一致性的硬件。它通常实现MESI/MOESI协议的目录式(directory-based)一致性,管理窥探(snoop)请求和响应。在AMD的Zen系列中,这个组件被称为CCX(Core Complex)内的缓存一致性逻辑。

  • 内存控制器:管理与外部DRAM的接口,包括DDR PHY、命令/地址/数据通路、刷新调度、ECC逻辑和请求仲裁。

  • IO子系统:PCIe根复合体(Root Complex)、IOMMU/SMMU(系统内存管理单元,为IO设备提供地址翻译和隔离)、各种IO控制器。

  • 系统级电源管理:全局DVFS控制器、power gating控制器、热管理(thermal throttling)逻辑、C-state/P-state协调器。

  • 调试与性能监控:JTAG接口、性能计数器(PMU)聚合逻辑、trace缓冲区。

性能分析 1 — 核心与Uncore的面积与功耗占比

在不同类型的处理器中,核心与Uncore的面积和功耗占比差异显著:

处理器类型CPU核心面积占比Uncore面积占比典型产品
移动SoC10%\sim15%85%\sim90%Apple A17 Pro
桌面/笔记本CPU25%\sim40%60%\sim75%Intel Core Ultra
服务器CPU30%\sim50%50%\sim70%AMD EPYC 9004

在移动SoC中,GPU、NPU、ISP、modem等非CPU组件占据了绝大部分芯片面积,CPU核心本身仅占10%\sim15%。而在服务器CPU中,大量的CPU核心和庞大的L3缓存使得核心相关组件的面积占比显著提高。但即便在服务器CPU中,内存控制器、IO子系统和NoC等Uncore组件仍然占据了50%以上的die面积。

从功耗角度看,在满负载工作时,CPU核心的功耗通常占总功耗的40%\sim60%,L3缓存和NoC占15%\sim25%,内存控制器和IO占10%\sim20%,电源管理和时钟分发占5%\sim10%。

核心与Uncore的接口

核心通过标准化的接口与Uncore通信。这个接口通常是一个请求–响应协议:

  1. L2\toL3请求:当核心的L2缓存未命中时,向L3/LLC发出缓存行填充请求(fill request)。请求包含物理地址、请求类型(读/写/取指)、缓存行大小等信息。

  2. 一致性窥探:当其他核心修改了共享缓存行时,一致性引擎向持有该缓存行的核心发送窥探请求。核心需要在规定时间内响应——返回缓存行数据(如果是Modified状态)或确认无效化(Invalidate Acknowledge)。

  3. 中断和消息:核心接收来自Uncore的中断信号(来自IO设备、定时器或其他核心的IPI),以及电源管理命令(进入低功耗状态、调频等)。

在Intel处理器中,这个接口被称为Core-to-Uncore Interface (CUI);在ARM处理器中,核心通过ACE(AXI Coherency Extensions)或CHI(Coherent Hub Interface)协议与互连网络通信。

SoC级地址映射

SoC级地址映射是将系统中所有资源(DRAM、MMIO寄存器、ROM、SRAM等)统一编址到一个物理地址空间中的机制。对于一个复杂的SoC,地址映射的设计直接影响系统的可编程性、性能和安全性。

物理地址空间的划分

一个典型的64位SoC的物理地址空间可能划分为以下区域:

  • DRAM区域(0x0000_0000_0000\sim0x0FFF_FFFF_FFFF):映射外部DRAM。对于多通道内存控制器,地址通常按缓存行粒度(64B)在通道间交织(interleaving),以最大化带宽利用率。

  • MMIO区域(0x1000_0000_0000\sim0x1FFF_FFFF_FFFF):映射各个IP核的控制寄存器和状态寄存器。每个IP核分配一段连续的地址范围(通常4 KB\sim64 KB对齐),CPU通过读写这些地址来配置和控制IP核。

  • ROM/SRAM区域:映射片上ROM(存放启动代码)和片上SRAM(用于安全子系统或低延迟缓冲)。

  • PCIe配置空间:映射PCIe设备的配置寄存器(ECAM空间),每个PCIe设备函数占4 KB的配置空间。

  • IOAPIC/GIC区域:映射中断控制器的寄存器。在ARM系统中,GIC(Generic Interrupt Controller)的Distributor、Redistributor和ITS各自拥有独立的MMIO地址范围。

地址解码与路由

当CPU核心发出一个内存访问请求时,SoC中的地址解码逻辑需要确定该请求应该路由到哪个目标设备。这个过程通常分为两级:

  1. 一级解码(NoC级):NoC中的源节点(如CPU核心的L3切片)根据请求的物理地址,查询一个地址映射表(System Address Map, SAM),确定目标节点的ID(如哪个内存控制器、哪个IO端口)。SAM通常由固件在启动时根据硬件配置编程到NoC的地址解码寄存器中。

  2. 二级解码(目标节点级):目标节点接收到请求后,进一步解码地址以确定内部资源。例如,内存控制器将物理地址解码为{通道, Rank, Bank Group, Bank, Row, Column}的DRAM地址;IO控制器将地址解码为特定寄存器偏移。

地址交织

为了最大化内存带宽利用率,DRAM地址通常在多个内存通道之间进行交织(interleaving)。最常见的交织方案是按缓存行粒度(64B)进行通道交织:

Channel ID=PA[log2(Nch)+5:6] \text{Channel ID} = \text{PA}[\log_2(N_{\text{ch}}) + 5 : 6]

其中NchN_{\text{ch}}是内存通道数,PA[5:0]选择缓存行内的字节偏移。这种交织方式确保了连续的缓存行被分布到不同的内存通道上,使得顺序访问模式能够充分利用所有通道的带宽。

更高级的交织方案(如3-way交织或XOR-based交织)通过对地址位进行异或操作来减少特定访问模式下的通道冲突。AMD EPYC系列处理器支持多种可配置的交织模式,包括NPS1(所有通道统一交织)、NPS2(分为2组)和NPS4(分为4组),以适应不同的NUMA拓扑需求。

硬件描述 1 — SoC地址解码器的实现

SoC地址解码器通常采用内容可寻址的区域寄存器(region registers)实现,而非全关联CAM(过于昂贵)。每个区域寄存器定义一个地址范围:

  1. 基址寄存器(Base Address Register):定义区域的起始地址。

  2. 掩码/限制寄存器(Mask/Limit Register):定义区域的大小或结束地址。

  3. 目标ID寄存器(Target ID Register):指定该区域映射到的目标节点。

  4. 属性寄存器(Attribute Register):指定访问属性,如可缓存性(cacheable/non-cacheable)、排序属性(device/normal)、安全属性等。

地址匹配采用并行比较:将请求地址与所有区域寄存器的基址/掩码同时比较,选出匹配的区域。对于包含16\sim32个区域寄存器的典型SoC,这种并行比较可以在1\sim2个时钟周期内完成。如果多个区域同时匹配(overlapping regions),优先级逻辑选择优先级最高的匹配区域——这用于实现地址重映射(remapping)和安全访问控制(安全区域覆盖非安全区域)。

IOMMU与DMA地址翻译

SoC中的IO设备(GPU、NPU、DMA引擎等)也需要访问系统内存。为了提供地址隔离和虚拟化支持,现代SoC配备了IOMMU(Input/Output Memory Management Unit,在ARM中称为SMMU)。IOMMU为每个IO设备维护独立的页表,将设备发出的IO虚拟地址(IOVA)翻译为物理地址。这带来了三个关键优势:

  1. 地址隔离:每个设备只能访问其页表中映射的物理内存区域,防止恶意或错误的DMA操作破坏系统内存。

  2. 地址翻译:设备可以使用与CPU相同的虚拟地址空间,简化设备驱动程序的编程模型(特别是在SVM/SVA场景下,设备与CPU共享同一套页表)。

  3. 虚拟化支持:在虚拟化环境中,IOMMU为每个虚拟机提供独立的IO地址空间,使设备可以安全地直通(passthrough)给虚拟机。

Chiplet架构

Chiplet架构的核心思想是将传统的单片式大芯片(monolithic die)分拆为多个较小的裸片(chiplet),然后通过先进封装技术将它们在封装内互连,对外呈现为一颗逻辑上统一的芯片。这个看似简单的想法背后,有着深刻的经济学和物理学动机,以及复杂的工程实现挑战。

Chiplet的动机(良率、混合工艺、IP复用)

良率与成本动机

半导体制造中的良率(yield)是指晶圆上合格芯片占总芯片数的比例。良率与缺陷密度(defect density, D0D_0)和芯片面积AA)之间的关系可以用经典的Murphy模型或Poisson模型近似:

Y=eD0A Y = e^{-D_0 \cdot A}

其中D0D_0是单位面积的平均缺陷数(通常以defects/cm2^2为单位)。假设某先进工艺的缺陷密度为0.1 defects/cm2^2

  • 一颗100 mm2^2的小die:Y=e0.1×1.0=90.5%Y = e^{-0.1 \times 1.0} = 90.5\%

  • 一颗400 mm2^2的大die:Y=e0.1×4.0=67.0%Y = e^{-0.1 \times 4.0} = 67.0\%

  • 一颗800 mm2^2的超大die:Y=e0.1×8.0=44.9%Y = e^{-0.1 \times 8.0} = 44.9\%

良率的指数级下降意味着,将一颗800 mm2^2的大die拆分为8颗100 mm2^2的小die,虽然总硅面积相同,但每颗小die的良率高达90.5%,8颗全部合格的概率为0.9058=45.6%0.905^8 = 45.6\%——看起来与单片式设计相当。但关键在于:Chiplet架构可以单独测试和筛选每颗小die。如果一颗小die不合格,只丢弃那一颗(成本约为大die的1/8),而不是整颗800 mm2^2的大die。这种"先测后组"的模式在经济性上有巨大优势。

性能分析 2 — 五步算例:Murphy良率模型与Chiplet的必然性

Murphy良率模型比简单的Poisson模型更精确地描述了实际晶圆的缺陷分布(考虑了缺陷密度的空间不均匀性):

Y=(1eD0×AD0×A)2 Y = \left(\frac{1 - e^{-D_0 \times A}}{D_0 \times A}\right)^2

其中D0D_0为缺陷密度(defects/cm2^2),AA为die面积(cm2^2)。

步骤1:设定参数。取D0=0.1D_0 = 0.1 defects/cm2^2(TSMC 7nm的典型值)。

步骤2:计算单片700 mm2^2 die的良率A=7.0A = 7.0 cm2^2

Ymono=(1e0.1×7.00.1×7.0)2=(1e0.70.7)2=(10.4970.7)2=(0.5030.7)2=0.719251.7%Y_\text{mono} = \left(\frac{1 - e^{-0.1 \times 7.0}}{0.1 \times 7.0}\right)^2 = \left(\frac{1 - e^{-0.7}}{0.7}\right)^2 = \left(\frac{1 - 0.497}{0.7}\right)^2 = \left(\frac{0.503}{0.7}\right)^2 = 0.719^2 \approx 51.7\%

步骤3:计算单个80 mm2^2 chiplet的良率A=0.8A = 0.8 cm2^2

Ychip=(1e0.1×0.80.1×0.8)2=(1e0.080.08)2=(0.07690.08)2=0.961292.4%Y_\text{chip} = \left(\frac{1 - e^{-0.1 \times 0.8}}{0.1 \times 0.8}\right)^2 = \left(\frac{1 - e^{-0.08}}{0.08}\right)^2 = \left(\frac{0.0769}{0.08}\right)^2 = 0.961^2 \approx 92.4\%

步骤4:计算9颗chiplet全部合格的概率。假设封装良率为Ypkg=95%Y_\text{pkg} = 95\%

Ytotal=Ychip9×Ypkg=0.9249×0.95=0.485×0.9546.1%Y_\text{total} = Y_\text{chip}^9 \times Y_\text{pkg} = 0.924^9 \times 0.95 = 0.485 \times 0.95 \approx 46.1\%

步骤5:成本对比。虽然Chiplet方案的总良率(46.1%)看似低于单片良率(51.7%),但关键在于失败模式不同

  • 单片方案失败:丢弃一颗700 mm2^2的大die,成本约$250。

  • Chiplet方案失败:只丢弃不合格的80 mm2^2小chiplet,成本约$25。不合格的chiplet可以在封装前被筛除。

Chiplet方案的有效成本 = 9个合格chiplet的成本 + 封装成本 =9×($25/0.924)+$40$244+$40=$284= 9 \times (\$25/0.924) + \$40 \approx \$244 + \$40 = \$284。而单片方案的有效成本 =$250/0.517$483= \$250/0.517 \approx \$483Chiplet方案节约了约41%的成本

这个算例清楚地展示了为什么良率公式决定了Chiplet是"必然"而非"选择"——当单片die面积超过约500 mm2^2时,Chiplet几乎总是更经济的选择。

性能分析 3 — Chiplet vs. 单片式的成本对比

以一颗等效面积为600 mm2^2的处理器为例,比较单片式设计与Chiplet设计的成本(简化模型):

单片式方案A=600mm2A = 600\,\text{mm}^2, D0=0.1D_0 = 0.1, 良率Y=e0.06=54.9%Y = e^{-0.06} = 54.9\%。 每颗300 mm晶圆可产出π×1502/600118\lfloor\pi \times 150^2 / 600\rfloor \approx 118颗die(忽略边缘损失简化计算),合格118×54.9%65118 \times 54.9\% \approx 65颗。若晶圆成本为$20,000(5 nm工艺),则每颗合格die成本约为$20,000/65$308\$20{,}000 / 65 \approx \$308

Chiplet方案:每个chiplet A=75mm2A = 75\,\text{mm}^2, 良率Y=e0.0075=92.8%Y = e^{-0.0075} = 92.8\%。 每颗晶圆可产出π×1502/75942\lfloor\pi \times 150^2 / 75\rfloor \approx 942颗die,合格942×92.8%874942 \times 92.8\% \approx 874颗。每颗chiplet成本约$20,000/874$22.9\$20{,}000 / 874 \approx \$22.9。8颗chiplet合计$183\$183,加上约$30\sim$50的封装成本,总成本约$213\sim$233——比单片式方案节约约25%\sim30%。

对于更大的die(如1000 mm2^2以上),Chiplet的成本优势更为显著,因为大die的良率下降更为剧烈。这解释了为什么AMD在EPYC服务器处理器中率先大规模采用Chiplet架构——服务器处理器需要大量核心和缓存,单片式设计的die面积极大,良率和成本压力最为突出。

混合工艺动机

Chiplet架构的另一个强大动机是混合工艺(heterogeneous process integration)。在单片式设计中,整颗die必须使用同一个工艺节点——这意味着计算密集的CPU核心和面积大但对性能不敏感的IO控制器必须使用同一个昂贵的先进工艺。

Chiplet架构打破了这个限制:不同功能的chiplet可以使用各自最适合的工艺节点:

  • 计算chiplet(CPU核心、GPU核心):使用最先进的工艺(如TSMC N3/N4),获取最高的晶体管密度和能效。

  • IO chiplet(PCIe控制器、内存控制器、SerDes):使用成熟工艺(如TSMC N6/N7或GlobalFoundries 12 nm)。IO电路中的模拟/混合信号组件(如SerDes的PLL和CDR)在先进工艺上的设计更困难且面积优势不大。

  • 内存chiplet(HBM):使用专门的DRAM工艺,与逻辑工艺完全不同。

AMD EPYC就是混合工艺的经典案例:计算chiplet(CCD)使用TSMC 5 nm工艺,IO chiplet(IOD)使用TSMC 6 nm工艺。CCD需要最先进的工艺来获得最高的核心频率和能效,而IOD包含大量SerDes和内存控制器,使用较成熟的工艺既降低了成本,又避免了模拟电路在极先进工艺上的设计挑战。

IP复用动机

Chiplet架构使得同一个chiplet设计可以在不同的产品中复用。例如,AMD设计了一个8核的CCD chiplet后,可以通过改变CCD的数量来组成不同市场定位的产品:

  • Ryzen 9(桌面旗舰):2个CCD + 1个IOD = 16核。

  • EPYC 9654(服务器旗舰):12个CCD + 1个IOD = 96核。

  • Ryzen 5(桌面中端):1个CCD(部分核心禁用)+ 1个IOD = 6核。

这种IP复用大幅降低了设计成本(只需设计和验证一次CCD),加速了产品上市时间(time-to-market),并提高了晶圆利用率(良率测试不合格的CCD可以禁用部分核心后用于低端产品)。

设计提示

Chiplet架构并非没有代价。与单片式设计相比,Chiplet架构引入了以下额外挑战:(1) Die-to-die互连的延迟和带宽开销——即使最先进的封装互连技术,其延迟和带宽也无法与片上金属导线相比;(2) 封装复杂度和成本的增加——先进封装(如CoWoS、Foveros)本身的成本可能部分抵消良率改善带来的节约;(3) 电源完整性(power integrity)和信号完整性(signal integrity)的挑战——多个die在同一封装内的电源分配和信号串扰需要精心设计;(4) 热管理的复杂度——多个高功耗die紧密排列在一起,热密度和热耦合问题更为严峻。因此,Chiplet架构的采用需要综合权衡这些因素,而非盲目追求chiplet化。

Die-to-Die互连技术

Die-to-die互连是Chiplet架构的核心使能技术。它需要在极短的物理距离内(通常数百微米到数毫米)提供高带宽、低延迟的数据通路,同时保持合理的功耗和成本。Die-to-die互连技术可以按照互连媒介和方法分为以下几个层次:

传统封装互连(Wire Bonding和Flip-Chip)

最传统的封装互连方式是引线键合(wire bonding)和倒装芯片(flip-chip)技术。引线键合使用金/铜引线将die上的焊盘连接到封装基板,但其IO密度低(引线间距约50\sim100 μ\mum)且引线电感大,不适用于高速互连。倒装芯片使用焊锡凸块(solder bump)将die面朝下焊接到基板上,凸块间距约100\sim150 μ\mum,可以提供更多的IO连接和更好的电气性能,是当前大多数处理器芯片的标准封装方式。

对于Chiplet架构,传统flip-chip技术的凸块间距(\sim130 μ\mum)限制了die-to-die互连的IO密度。以一条10 mm的die边缘为例,在130 μ\mum间距下只能放置约77个凸块——扣除电源/地引脚后,用于信号传输的凸块可能只有40\sim50个。如果每个凸块运行在10 Gbps的速率,总带宽约为400\sim500 Gbps——对于需要TB/s量级带宽的chiplet互连来说远远不够。

硅桥互连(Silicon Bridge)

硅桥互连是在封装基板上嵌入一小块硅片(silicon bridge),利用硅片上的精细金属布线来连接相邻的两颗die。由于硅片可以使用半导体工艺制造,其金属线宽和间距可以做到远小于有机封装基板,从而提供更高密度的互连。Intel的EMIB和TSMC的Local Silicon Interconnect(LSI)是此类技术的代表。硅桥的凸块间距可以做到36\sim55 μ\mum。

硅中介层互连(Silicon Interposer)

硅中介层互连使用一块大面积的硅片(interposer)作为所有chiplet的公共底板。所有chiplet通过微凸块(micro-bump,间距40\sim55 μ\mum)焊接到中介层上,中介层提供精细的金属布线来连接各个chiplet,中介层本身再通过大间距的C4凸块连接到有机封装基板。TSMC的CoWoS(Chip-on-Wafer-on-Substrate)是此类技术的标杆。

3D堆叠互连(3D Stacking)

3D堆叠将多个die垂直叠放,通过硅通孔(TSV, Through-Silicon Via)和微凸块或混合键合(Hybrid Bonding)实现层间互连。3D堆叠可以提供最高的互连密度——混合键合的互连间距可以做到<<1 μ\mum——但也面临热管理和测试的最大挑战。Intel的Foveros技术是3D堆叠互连的代表。

四种die-to-die互连技术的封装剖面示意图。(a) 传统Flip-Chip:die通过焊锡凸块连接到基板,凸块间距$\sim$130\,$\mu$m。(b) 硅桥互连(EMIB):在基板中嵌入硅桥连接相邻die,桥上凸块间距36$\sim$55\,$\mu$m。(c) 硅中介层(CoWoS):die通过微凸块焊接到硅中介层上,中介层再连接到基板。(d) 3D堆叠(Foveros):die垂直堆叠,通过混合键合或微凸块实现层间互连。
四种die-to-die互连技术的封装剖面示意图。(a) 传统Flip-Chip:die通过焊锡凸块连接到基板,凸块间距$\sim$130\,$\mu$m。(b) 硅桥互连(EMIB):在基板中嵌入硅桥连接相邻die,桥上凸块间距36$\sim$55\,$\mu$m。(c) 硅中介层(CoWoS):die通过微凸块焊接到硅中介层上,中介层再连接到基板。(d) 3D堆叠(Foveros):die垂直堆叠,通过混合键合或微凸块实现层间互连。
技术互连密度典型带宽单向延迟相对成本代表产品
EMIB55 μ\mum pitch\sim1 TB/s\sim2 nsPonte Vecchio
CoWoS-S40 μ\mum pitch\sim2–4 TB/s\sim1 nsNVIDIA H100
CoWoS-L40 μ\mum pitch\sim3–8 TB/s\sim1 ns中高NVIDIA B200
Foveros25–36 μ\mum pitch\sim5–10 TB/s<<1 ns很高Meteor Lake
混合键合<<10 μ\mum pitch\sim100 TB/s<<0.5 ns极高AMD MI300

先进封装技术深度对比:物理结构、互连密度、带宽、延迟与成本

设计提示

表 52.2揭示了一个清晰的设计驱动逻辑:为什么Intel选EMIB、TSMC用CoWoS、Intel又做Foveros?答案在于各自的产品需求和供应链优势。

Intel选择EMIB:因为Intel拥有自己的封装工厂(OSAT能力),且EMIB基于有机基板的改良,可以复用Intel成熟的封装产线。对于Sapphire Rapids等需要中等密度die-to-die互连的服务器处理器,EMIB的成本/性能比是最优的。

TSMC提供CoWoS:因为TSMC是代工厂,其客户(NVIDIA、AMD、Google等)需要将计算die与HBM连接——这需要高密度、大面积的中介层。TSMC拥有制造大面积硅中介层的工艺能力,CoWoS成为AI加速器的标准封装方案。

Intel开发Foveros:因为Intel的客户端处理器(笔记本/桌面)对封装面积有严格限制,不能像服务器芯片那样使用大面积的2.5D封装。3D堆叠通过垂直方向扩展,在不增加平面面积的前提下提供高密度互连。Meteor Lake正是这种需求的产物。

混合键合的兴起:随着die-to-die带宽需求持续增长(AMD的3D V-Cache需要2TB/s以上的SRAM-CPU互连带宽),传统微凸块的密度已不够。混合键合以<<10 μ\mum的间距提供100×\times以上的密度提升,成为下一代3D堆叠的关键使能技术。

下面的各小节将分别深入讨论EMIB、CoWoS和Foveros这三种关键的先进封装技术。

EMIB(Intel嵌入式多芯片互连桥)

EMIB(Embedded Multi-die Interconnect Bridge)是Intel于2017年首次量产的2.5D封装互连技术。EMIB的核心思想是:不使用大面积的硅中介层,而是在有机封装基板中局部嵌入一小块硅桥,仅在需要互连的两颗die的交界处提供高密度连接。

EMIB的结构

EMIB硅桥是一块面积约为几十平方毫米的小硅片,采用标准半导体工艺制造(通常是成熟的节点,如Intel的22 nm或更老的工艺),上面有4\sim5层金属布线。硅桥被嵌入到有机封装基板的空腔(cavity)中,其表面与基板的顶层金属齐平。硅桥上的微凸块(micro-bump)间距约为36\sim55 μ\mum,远小于基板上标准凸块的130 μ\mum间距,从而在有限的die边缘长度内提供大量的互连通道。

EMIB vs. 硅中介层

EMIB相比硅中介层(如CoWoS)的主要优势在于:

  • 成本更低:EMIB硅桥面积很小(仅覆盖die交界处),而硅中介层需要覆盖所有die的完整面积。对于一个包含4个大die的封装,中介层面积可能超过2000 mm2^2——这本身就是一颗超大die的制造成本。

  • 翘曲(warpage)更小:大面积硅中介层与有机基板之间的热膨胀系数(CTE)不匹配会导致严重的封装翘曲,增加可靠性风险。EMIB的小硅桥几乎不引入额外的翘曲问题。

  • 封装良率更高:EMIB使用标准的有机封装基板工艺,辅以硅桥嵌入步骤,而不需要像CoWoS那样在硅晶圆上完成所有die的贴装。

EMIB的劣势在于:它只能连接相邻的die(硅桥跨越的范围有限),无法像硅中介层那样在任意两个die之间提供直接互连。对于需要全互连拓扑的多die设计,EMIB可能需要多个硅桥或中间die进行中转。

EMIB的应用

Intel在多个产品线中使用了EMIB技术:

  • Stratix 10 FPGA(2018年):使用EMIB将FPGA fabric die与HBM2内存die和高速SerDes die互连。这是EMIB的首个量产应用。

  • Sapphire Rapids(2023年):Intel的第四代Xeon Scalable处理器,使用EMIB将4个计算tile互连。每个tile包含CPU核心和L3缓存,tile之间通过EMIB提供高带宽、低延迟的互连。

  • Ponte Vecchio(2023年):Intel的数据中心GPU,使用EMIB将计算tile与RAMBO cache tile和HBM controller tile互连。整个封装包含47个tile(来自5种不同的工艺节点),EMIB是其中关键的2.5D互连技术。

  • Meteor Lake(2023年):Intel的客户端处理器,使用Foveros 3D堆叠和EMIB的组合封装方案。

硬件描述 2 — EMIB硅桥的电气特性

EMIB硅桥的电气设计需要满足以下关键指标:

  1. 互连密度:在55 μ\mum的微凸块间距下,每毫米die边缘可提供约18个信号凸块。对于一条10 mm的die边缘,EMIB可提供约180个信号连接。若每个连接运行在4 Gbps(单端信号)或8 GT/s(差分信号),则总带宽可达720 Gbps\sim1.44 Tbps。

  2. 信号延迟:硅桥上的金属线长度通常为数百微米到数毫米,信号传播延迟极小(<<0.5 ns)。加上驱动器和接收器的延迟,总die-to-die信号延迟通常<<2 ns。

  3. 能效:由于互连距离短、电容负载小,EMIB互连的能效非常高,通常<<0.5 pJ/bit——远低于传统SerDes互连的2\sim5 pJ/bit。

  4. 电源分配:EMIB硅桥不仅传输信号,还承载部分电源和地连接,提供die之间的电源补充通路。

CoWoS(TSMC晶圆级封装)

CoWoS(Chip-on-Wafer-on-Substrate)是TSMC于2012年推出的2.5D先进封装技术。CoWoS使用一块大面积的硅中介层(silicon interposer)作为所有chiplet的公共底板,chiplet通过微凸块焊接到中介层上,中介层再通过C4凸块连接到有机封装基板。CoWoS最初是为连接ASIC和HBM内存而设计的,如今已成为AI加速器和高性能计算芯片的标准封装方案。

CoWoS的结构与制造流程

CoWoS的制造流程包含以下关键步骤:

  1. 硅中介层制造:在硅晶圆上使用标准半导体工艺制造中介层,通常包含4\sim6层金属布线和硅通孔(TSV)。TSV直径约5\sim10 μ\mum,深度约50\sim100 μ\mum,将中介层顶面的微凸块连接到底面的C4凸块。中介层通常使用65 nm工艺制造——不需要先进工艺,因为它只提供布线和TSV,不包含有源晶体管。

  2. Chip-on-Wafer(CoW)步骤:将已测试合格的chiplet(如GPU die和HBM die)通过微凸块焊接到中介层晶圆上的对应位置。这一步在晶圆级完成,因此具有较高的对准精度和吞吐量。

  3. Wafer-on-Substrate(WoS)步骤:将完成了chiplet贴装的中介层(连同chiplet)从晶圆上切割下来,然后通过C4凸块焊接到有机封装基板上。

  4. 封装成型:最后进行底部填充(underfill)和封装成型(molding),完成封装。

CoWoS的演进

TSMC的CoWoS技术经历了多代演进:

  • CoWoS-S(Silicon interposer):标准版本,使用硅中介层。中介层面积从最初的约800 mm2^2扩展到CoWoS-S第五代的超过2500 mm2^2(约2个reticle大小),支持更多的chiplet和HBM stack。

  • CoWoS-R(RDL interposer):使用基于有机材料的再分布层(RDL, Redistribution Layer)替代硅中介层。RDL中介层的成本低于硅中介层,但互连密度和信号完整性也较低。CoWoS-R适用于对互连密度要求不那么极端的应用场景。

  • CoWoS-L(Local silicon bridge):结合了CoWoS-R的RDL基板和局部硅桥(类似EMIB),在需要高密度互连的位置嵌入硅桥,在其他位置使用RDL。CoWoS-L试图在CoWoS-S的性能和CoWoS-R的成本之间取得平衡。

CoWoS在AI加速器中的应用

CoWoS技术最成功的应用场景是AI加速器,特别是NVIDIA的GPU:

  • NVIDIA A100(2020年):使用CoWoS-S封装1个GA100 GPU die和5个HBM2e stack(共40 GB或80 GB),GPU与HBM之间的总带宽达2 TB/s。

  • NVIDIA H100(2022年):使用CoWoS-S封装1个GH100 GPU die和6个HBM3 stack(80 GB),GPU-HBM带宽达3.35 TB/s。中介层面积进一步扩大以容纳更多的HBM stack。

  • NVIDIA B200(2024年):使用CoWoS-L封装2个B200 GPU die和8个HBM3e stack(192 GB),GPU die之间通过硅桥高速互连,GPU-HBM带宽达8 TB/s。这是CoWoS技术在单封装内集成最多die的案例之一。

  • AMD MI300X(2023年):使用CoWoS封装8个XCD(CDNA 3 GPU die)和8个HBM3 stack(192 GB),总带宽5.3 TB/s。MI300X还在XCD和IOD之间使用了3D堆叠。

性能分析 4 — CoWoS中介层的带宽能力

以NVIDIA H100为例,估算CoWoS中介层提供的互连带宽。H100的GH100 die与每个HBM3 stack之间有1024位的接口宽度(即1024根信号线)。在HBM3的数据速率(约5.6 Gbps/pin)下:

每个HBM stack的带宽=1024×5.6Gbps=5734Gbps717GB/s\text{每个HBM stack的带宽} = 1024 \times 5.6\,\text{Gbps} = 5734\,\text{Gbps} \approx 717\,\text{GB/s}

6个HBM3 stack的总带宽为6×7174300GB/s6 \times 717 \approx 4300\,\text{GB/s}(约4.3 TB/s原始带宽,有效带宽约3.35 TB/s考虑协议开销)。

为了承载这1024×\times6 = 6144根信号线(加上电源/地和控制信号,总线数约为信号线的2\sim3倍),中介层上需要约15000\sim20000根金属布线。这就是为什么CoWoS中介层需要4\sim6层金属——每层金属承载数千根布线,利用不同金属层的正交方向来交叉布线。

Foveros与混合键合

Foveros是Intel于2019年推出的3D面对面(face-to-face)堆叠封装技术。与CoWoS和EMIB的2.5D方案不同,Foveros将多个die在垂直方向上堆叠,通过微凸块或混合键合实现层间互连,从而在不增加封装平面面积的前提下大幅提高互连密度和带宽。

Foveros的基本结构

Foveros封装由两层die组成:

  • 底层die(Base Die):面积较大的底层die,通常包含IO电路、电源分配网络和部分Uncore逻辑。底层die通过标准flip-chip凸块(\sim100 μ\mum间距)连接到有机封装基板。

  • 顶层die(Compute Die/Top Die):面积较小的顶层die,包含CPU核心、GPU核心或其他计算单元。顶层die面朝下(face-to-face)与底层die通过微凸块互连。

Foveros的关键创新在于face-to-face键合:顶层die的有源面(含晶体管和金属布线层的一面)朝向底层die的有源面,两者通过微凸块或混合键合直接连接。这意味着信号从顶层die的金属布线层直接传递到底层die的金属布线层,中间不需要穿越硅衬底——信号路径极短,延迟和功耗都非常低。

Foveros的演进

Intel的Foveros技术经历了三代演进:

  • Foveros 1.0(2019年,Lakefield):微凸块间距36 μ\mum。Lakefield将一个Sunny Cove大核和4个Tremont小核的计算die堆叠在一个包含IO和LPDDR控制器的基础die上。这是3D芯片堆叠在消费级产品中的首次大规模量产应用。

  • Foveros 2.0 / Foveros Omni(2023年,Meteor Lake):微凸块间距缩小到25 μ\mum,互连密度提高约2倍。Meteor Lake将计算tile(Intel 4工艺)堆叠在SoC tile和IO tile的基础die上。Foveros Omni还引入了与EMIB的结合——在基础die的平面方向上使用EMIB连接不同tile。

  • Foveros Direct(量产中):采用混合键合(Hybrid Bonding),互连间距缩小到10 μ\mum甚至更小。混合键合消除了焊锡凸块,采用铜-铜(Cu-Cu)直接键合,互连密度比传统微凸块高一个数量级以上。

混合键合技术

混合键合(Hybrid Bonding)是下一代3D堆叠的关键使能技术。其核心原理是:将两个die的表面平坦化后,通过以下步骤实现直接键合:

  1. 表面处理:将die的表面进行化学机械抛光(CMP),使其表面粗糙度<<1 nm。表面同时包含铜焊盘(copper pad)和介电材料(如SiO2_2或SiCN)。

  2. 介电键合:在室温下将两个die的介电表面对准并贴合。介电材料之间的范德华力和共价键使两个表面永久键合。

  3. 铜扩散退火:在约200\sim400 ^\circC的温度下退火,使铜焊盘之间发生固态扩散,形成连续的铜-铜金属连接。这一步的温度远低于焊锡回流(\sim260 ^\circC),对die上的器件和金属布线影响很小。

混合键合的互连间距可以做到<<1 μ\mum(实验室已展示0.4 μ\mum间距),量产产品中通常为3\sim10 μ\mum。与微凸块(36\sim55 μ\mum间距)相比,混合键合的互连密度提高了100\sim1000倍。

性能分析 5 — 不同封装互连技术的密度对比

以下是不同die-to-die互连技术在互连密度方面的量化比较:

技术间距 (μ\mum)密度 (bumps/mm2^2)能效 (pJ/bit)典型应用
Flip-chip C4130\sim150\sim501\sim2标准封装
EMIB微凸块36\sim55330\sim7700.3\sim0.5Intel Sapphire Rapids
CoWoS微凸块40\sim55330\sim6250.3\sim0.5NVIDIA H100
Foveros微凸块25\sim36770\sim16000.1\sim0.3Intel Meteor Lake
混合键合3\sim1010000\sim111000<<0.1下一代3D

从表中可以看出,混合键合的互连密度比传统微凸块高出1\sim2个数量级,且能效也显著优于所有其他方案。这使得3D堆叠+混合键合成为实现"片上级"互连密度的最有前途的封装技术。然而,混合键合也面临对准精度(<<1 μ\mum)、表面清洁度和热应力管理等严峻的制造挑战。

3D堆叠的热管理挑战

3D堆叠最大的工程挑战之一是热管理。在传统的2D封装中,die的热量直接通过散热器向上传导到散热片和风扇。但在3D堆叠中,底层die被顶层die覆盖,热量传导路径被阻断:

  • 顶层die产生的热量需要穿过微凸块/混合键合界面和底层die才能到达散热器,热阻显著增加。

  • 底层die产生的热量在其上方又叠加了顶层die的热量,导致底层die的温度可能高于顶层die。

  • 在高功耗应用(如数据中心GPU/加速器)中,3D堆叠的局部热密度可能超过100 W/cm2^2——接近现有散热方案的极限。

为了缓解3D堆叠的热管理挑战,业界正在探索多种解决方案:背面供电(backside power delivery,将电源线移到die的背面,为正面留出更多布线空间并改善热传导路径)、嵌入式微流道冷却(在die内部蚀刻微米级的流道,直接在热点处进行液冷)、以及低功耗die的3D堆叠设计(将高功耗的计算die放在顶层以直接散热,低功耗的IO die放在底层)。

设计权衡 1 — 3D堆叠的热管理:TSV热阻模型

3D堆叠的热管理可以用简化的热阻模型来定量分析。TSV阵列的等效热阻为:

Rth,TSV=LkCu×ATSV×NTSV R_\text{th,TSV} = \frac{L}{k_\text{Cu} \times A_\text{TSV} \times N_\text{TSV}}

其中LL是TSV长度(\sim50 μ\mum),kCuk_\text{Cu}是铜的热导率(401 W/(m\cdotK)),ATSVA_\text{TSV}是单个TSV的截面积(直径5 μ\mum → A19.6μm2A \approx 19.6\,\mu\text{m}^2),NTSVN_\text{TSV}是TSV数量。

对于一个10 mm ×\times 10 mm的die,TSV pitch为50 μ\mum,TSV数量N=(10000/50)2=40,000N = (10000/50)^2 = 40{,}000。TSV阵列的等效热阻为:

Rth,TSV=50×106401×19.6×1012×400000.16K/WR_\text{th,TSV} = \frac{50 \times 10^{-6}}{401 \times 19.6 \times 10^{-12} \times 40000} \approx 0.16\,\text{K/W}

这意味着如果顶层die的功耗为50 W,通过TSV阵列传导的温差仅为50×0.16850 \times 0.16 \approx 8\,^\circC——看似不大。但实际的温升远高于此,因为:

(1)热量主要通过die衬底和键合界面传导(而非仅通过TSV),这些材料的热导率远低于铜。硅的热导率为149 W/(m\cdotK),键合界面的等效热导率可能低至1–10 W/(m\cdotK)。

(2)底层die自身也产生热量,叠加效应使局部温度可能超过100 ^\circC的散热器设计温度。

(3)热点效应:高功耗的CPU核心(\sim20 W/mm2^2局部功耗密度)在die上并非均匀分布,热点温度可能比die平均温度高30–50^\circC。

因此,3D堆叠的热设计需要考虑以下策略的组合:

  • 降低顶层die的功耗密度:将高功耗模块(如ALU集群)分散布局,避免热点集中。

  • 增加TSV密度:更多的TSV提供更多的热传导通路。但TSV占用活性硅面积,过多的TSV会减少可用的逻辑面积。

  • 主动冷却:嵌入式微流道直接在die内部进行液冷,热阻可降低10×\times以上。但微流道的制造工艺和密封可靠性仍然是挑战。

  • 功耗感知的任务调度:操作系统和PMU协同,在温度接近阈值时将工作负载从热点核心迁移到低温核心。

设计提示

在Chiplet架构的封装技术选择中,没有"一种技术统治一切"的银弹。每种封装技术都有其最适合的应用场景:EMIB适合需要中等密度互连、对成本敏感的多die水平排列;CoWoS适合需要高带宽HBM连接的AI加速器;Foveros适合需要高密度互连且对封装面积有严格限制的客户端处理器。很多先进产品甚至在一个封装内同时使用多种技术——Intel的Ponte Vecchio GPU同时使用了Foveros(3D堆叠计算tile)、EMIB(2.5D连接HBM)和标准flip-chip(连接到基板),形成了"3D+2.5D混合封装"。

UCIe标准

Chiplet架构要实现真正的生态繁荣——不同厂商的chiplet可以互相兼容和互连——就需要一个标准化的die-to-die互连协议。UCIe(Universal Chiplet Interconnect Express)正是为此目的而诞生的行业标准。UCIe由Intel于2022年主导发起,得到了AMD、ARM、TSMC、Samsung、ASE、Qualcomm、Google、Microsoft、Meta等主要半导体和云计算公司的支持。UCIe 1.0规范于2022年3月发布,UCIe 1.1于2023年更新,UCIe 2.0于2024年发布。

UCIe协议栈

UCIe定义了一个分层的协议栈,从底向上包含三个层次:

  1. 物理层(Physical Layer, PHY):定义电气接口、信号编码、时钟方案和bump排列。PHY层负责在两颗die之间的物理介质(微凸块、混合键合等)上可靠地传输比特流。

  2. Die-to-Die适配层(Die-to-Die Adapter, D2D):提供链路训练(link training)、初始化、参数协商、CRC错误检测/重传(ARQ)、以及信用(credit)流控等功能。D2D层确保物理链路的可靠性,屏蔽PHY层的细节差异。

  3. 协议层(Protocol Layer):承载上层协议的数据包。UCIe支持多种上层协议——CXL(Compute Express Link)、PCIe和Streaming(用于自定义协议)。协议层的flit(flow control unit)在D2D层的帧中传输。

UCIe协议栈的三层结构。物理层通过微凸块或混合键合在两个die之间建立物理连接;Die-to-Die适配层提供链路管理和错误恢复;协议层承载CXL、PCIe或自定义Streaming协议的数据。
UCIe协议栈的三层结构。物理层通过微凸块或混合键合在两个die之间建立物理连接;Die-to-Die适配层提供链路管理和错误恢复;协议层承载CXL、PCIe或自定义Streaming协议的数据。

协议层的灵活性

UCIe协议层的一个关键设计决策是不绑定单一协议。UCIe可以承载以下上层协议:

  • CXL(Compute Express Link):包括CXL.io(基于PCIe的IO协议)、CXL.cache(设备到主机的一致性缓存访问)和CXL.mem(主机到设备的内存访问)。CXL over UCIe是实现Chiplet之间缓存一致性互连的主要方案。

  • PCIe:标准的PCIe事务层协议。对于不需要缓存一致性的chiplet互连(如连接SSD控制器chiplet),PCIe over UCIe提供了成熟且广泛支持的协议选择。

  • Streaming:一个简化的、面向数据流的协议,允许chiplet设计者定义自己的自定义协议。Streaming模式下,UCIe只提供基本的数据传输和流控,不强制特定的事务语义。

硬件描述 3 — UCIe Flit结构详解

UCIe的flit是die-to-die数据传输的基本单元,其内部结构精心设计以平衡效率和灵活性。以先进封装模式的64-byte flit为例,其结构如下:

字段大小功能
Protocol Header4字节协议ID(2b) + 通道ID + 消息类型 + 标签
Address / Metadata8字节目标地址或请求元数据
Data Payload48字节数据负载(可携带部分缓存行)
CRC2字节链路层CRC-16错误检测
Credit Return2字节反向信用返回(piggyback方式)
总计64字节

对于标准封装模式的256-byte flit,结构类似但数据负载扩展到236字节,可以在单个flit中携带多个缓存行的数据或多条协议消息。

flit中的Credit Return字段体现了UCIe的一个优雅设计——接收方的信用返回信息被"搭载"(piggyback)在正常的数据flit中发送,无需独立的信用返回消息。这将信用返回延迟从"等待独立信用消息"降低到"下一个数据flit到达时立即获得信用",有效地将信用流控的开销降至接近零。当没有数据flit需要发送时,D2D适配层会生成空flit(idle flit)来传递信用返回。

Flit格式

UCIe使用flit(flow control unit)作为基本的数据传输单元。UCIe 1.0定义了两种flit大小:

  • Standard Package的256-byte flit:用于标准封装(有机基板上的bump pitch \geq100 μ\mum)。256-byte flit对应256个数据字节加上CRC和控制位。

  • Advanced Package的64-byte flit:用于先进封装(EMIB/CoWoS等,bump pitch <<100 μ\mum,互连密度更高)。更小的flit减少了延迟。

UCIe 2.0引入了对更灵活的flit大小和latency-optimized模式的支持。

UCIe PHY设计

UCIe PHY定义了die-to-die物理互连的电气和机械规范,是整个UCIe标准中最接近硅片实现的层次。

互连模式

UCIe 1.0定义了两种互连模式,分别针对标准封装和先进封装:

  • 标准封装(Standard Package):使用有机基板上的标准bump(间距\geq100 μ\mum),信号采用SerDes(串行/解串器)方式传输。每条lane是一个差分对(2个bump),运行在高速串行模式(如4 GT/s、8 GT/s、16 GT/s、32 GT/s)。标准封装模式适合chiplet之间距离较远(>>10 mm)或bump密度有限的场景。

  • 先进封装(Advanced Package):使用微凸块或混合键合(间距<<100 μ\mum),信号采用并行接口(parallel interface)方式传输。每条lane是一个单端信号(1个bump),运行在较低的频率(如2 GHz、4 GHz)但宽度很大(如16×\times或32×\times数据位宽)。先进封装模式利用高密度互连的优势,用大量并行信号线实现高总带宽,同时因为每条线速率较低,功耗和设计复杂度都更低。

模块(Module)的定义

UCIe PHY将信号线组织为模块(Module),每个模块是UCIe的基本连接单位:

对于先进封装模式,一个UCIe Module包含:

  • 16条数据lane(单端)+ 2条valid信号 + 1条track信号 + 2条clock差分对(共23个bump用于信号)。

  • 加上电源和地bump,一个Module总共约占64\sim80个bump。

  • 在4 GHz频率下,16条数据lane ×\times 4 GHz ×\times 2(DDR, Double Data Rate)= 128 Gbps/module(raw带宽)。

一个UCIe链路可以包含1到多个Module,通过增加Module数量来线性扩展带宽。例如,4个Module提供约512 Gbps(64 GB/s)的原始带宽。

UCIe D2D适配层的RTL示意

以下SystemVerilog代码展示了UCIe D2D适配层中flit CRC生成和信用流控的核心逻辑。D2D适配层是UCIe链路可靠性的关键——它在PHY之上提供CRC错误检测和自动重传(ARQ),确保die-to-die传输的比特级可靠性。

verilog
module ucie_d2d_adapter #(
    parameter FLIT_WIDTH  = 512,  // 64-byte flit
    parameter CREDIT_BITS = 6     // 最多64 outstanding flits
)(
    input  logic                    clk, rst_n,
    // 来自协议层的flit
    input  logic [FLIT_WIDTH-1:0]   tx_flit,
    input  logic                    tx_valid,
    output logic                    tx_ready,
    // 送往PHY层的flit + CRC
    output logic [FLIT_WIDTH+15:0]  phy_flit,  // flit + 16-bit CRC
    output logic                    phy_valid,
    // 信用返回(来自对端)
    input  logic [CREDIT_BITS-1:0]  rx_credits_return
);

    // === 信用流控 ===
    logic [CREDIT_BITS-1:0] credit_count;  // 可用发送信用

    always_ff @(posedge clk or negedge rst_n) begin
        if (!rst_n)
            credit_count <= '1;  // 初始信用满配
        else begin
            // 发送消耗信用,收到返回增加信用
            case ({tx_valid & tx_ready, |rx_credits_return})
                2'b10: credit_count <= credit_count - 1;
                2'b01: credit_count <= credit_count + rx_credits_return;
                2'b11: credit_count <= credit_count + rx_credits_return - 1;
                default: ;
            endcase
        end
    end

    assign tx_ready = (credit_count != '0);  // 有信用才允许发送

    // === CRC-16生成 ===
    logic [15:0] crc_value;
    crc16_ccitt u_crc (
        .data_in (tx_flit),
        .crc_out (crc_value)
    );

    always_ff @(posedge clk) begin
        if (tx_valid && tx_ready) begin
            phy_flit  <= {tx_flit, crc_value};
            phy_valid <= 1'b1;
        end else begin
            phy_valid <= 1'b0;
        end
    end

endmodule

这段代码展示了两个关键机制:(1)信用流控防止发送方溢出接收方的缓冲区——发送方每发送一个flit消耗一个信用,接收方处理完flit后通过反向通道返回信用。当信用耗尽时,发送方必须等待。(2)CRC-16为每个flit计算校验码,接收方验证CRC后如果检测到错误,通过ARQ机制请求重传。UCIe的目标是在die-to-die链路上实现<1018<10^{-18}的误比特率(BER),CRC+ARQ是达成这一目标的关键。

时钟方案

UCIe先进封装模式使用转发时钟(forwarded clock)方案:发送方将时钟信号与数据信号一起发送,接收方使用该转发时钟来采样数据。这种方案避免了高速SerDes中复杂的CDR(Clock and Data Recovery)电路,大幅降低了PHY的功耗和面积。

标准封装模式使用嵌入式时钟(embedded clock),类似于PCIe/CXL的SerDes方案,通过数据编码(如NRZ/PAM4)和CDR电路恢复时钟。

硬件描述 4 — UCIe PHY的bump排列

UCIe标准精确定义了bump的物理排列方式,以确保不同厂商的chiplet在物理上兼容。关键规范包括:

  1. Bump间距:先进封装模式支持25 μ\mum、36 μ\mum、45 μ\mum和55 μ\mum四种间距。标准封装模式支持100\sim150 μ\mum间距。

  2. Bump排列:UCIe定义了标准的bump map——Module内的数据、时钟、valid和电源/地bump的相对位置是固定的。这确保了Die A上的UCIe发送端bump与Die B上的UCIe接收端bump能够精确对齐。

  3. 冗余(Redundancy):UCIe预留了冗余bump和冗余lane,在个别bump出现开路(open)或短路(short)缺陷时,可以通过链路训练过程自动切换到冗余通路,提高封装良率。

  4. 测试接口:UCIe定义了内建自测试(BIST)和环回(loopback)模式,允许在封装后对die-to-die链路进行功能测试和信号质量评估。

UCIe PHY的功耗与面积

UCIe PHY的功耗和面积是Chiplet设计中的重要指标。对于先进封装模式,UCIe PHY的典型功耗为0.1\sim0.25 pJ/bit——这意味着在1 Tbps(125 GB/s)的带宽下,PHY功耗约为100\sim250 mW。这与片上互连的功耗(\sim0.01\sim0.05 pJ/bit)相比仍有差距,但远低于传统SerDes互连的2\sim5 pJ/bit。

UCIe PHY的面积主要由I/O pad ring和ESD保护结构决定。对于先进封装模式,每个Module的PHY面积约为0.1\sim0.2 mm2^2(取决于工艺节点和pad pitch)。一个16-Module的UCIe接口(总带宽约2 Tbps)的PHY面积约为1.6\sim3.2 mm2^2

CXL over UCIe

CXL over UCIe是UCIe标准中最具战略意义的组合——它将CXL的缓存一致性协议承载在UCIe的高效die-to-die物理链路上,为Chiplet之间的一致性互连提供了标准化的解决方案。

为什么需要CXL over UCIe

在Chiplet架构中,不同chiplet上的CPU核心、GPU核心和加速器可能需要访问共享的内存空间,并维护缓存一致性。例如:

  • 在AMD EPYC中,12个CCD上的CPU核心需要通过IOD上的内存控制器访问DRAM,并在CCD之间维护缓存一致性。AMD使用了自有的Infinity Fabric协议。

  • 在异构加速器场景中,GPU chiplet和CPU chiplet可能需要共享虚拟地址空间并维护缓存一致性。CXL.cache和CXL.mem协议正是为此设计的。

CXL over UCIe将CXL协议的flit直接映射到UCIe的D2D和PHY层传输,无需经过PCIe SerDes编码/解码,大幅降低了延迟和功耗:

  • 延迟:传统CXL通过PCIe SerDes(板级链路)的端到端延迟约为100\sim200 ns。CXL over UCIe(先进封装)的端到端延迟可以低至2\sim5 ns——接近片上互连的延迟水平。

  • 带宽:通过增加UCIe Module数量,CXL over UCIe可以提供TB/s量级的一致性互连带宽。

  • 功耗:先进封装UCIe的功耗(\sim0.15 pJ/bit)远低于板级SerDes(\sim3\sim5 pJ/bit),使得高带宽一致性互连在功耗上变得可行。

CXL over UCIe的拓扑

CXL over UCIe支持多种拓扑结构:

  • 点对点(Point-to-Point):两颗die直接通过UCIe连接,最简单的拓扑。适用于CPU chiplet与IO chiplet的互连。

  • 扇出(Fan-out):一颗中心die(如IO hub die)通过多条UCIe链路连接多颗外围die(如多个计算chiplet)。AMD EPYC的星型拓扑(多个CCD连接到一个IOD)类似于这种模式。

  • Switch fabric:通过CXL Switch逻辑实现多对多的全互连拓扑。UCIe 2.0增强了对Switch拓扑的支持。

案例研究 1 — UCIe的行业生态与挑战

UCIe标准自2022年发布以来,虽然得到了广泛的行业支持,但其实际部署仍面临若干挑战:

  1. 互操作性验证:不同厂商的UCIe实现之间的互操作性需要严格的合规测试和验证。UCIe联盟已建立互操作性测试规范,但实际的多厂商互操作验证仍处于早期阶段。

  2. 商业模式:Chiplet生态的商业模式尚不清晰——谁负责封装集成?谁承担良率风险?IP授权如何定价?这些商业问题可能比技术问题更加困难。

  3. 已有的私有协议:AMD的Infinity Fabric、Intel的EMIB-based die-to-die协议、NVIDIA的NVLink-C2C等私有协议已在各自的产品中得到验证和优化。这些厂商是否愿意切换到UCIe标准,取决于UCIe能否提供与私有协议相当的性能和灵活性。

  4. 安全性:跨厂商的chiplet互连引入了新的安全威胁——恶意chiplet可能通过UCIe链路发起侧信道攻击或篡改数据。UCIe 2.0增加了链路加密和完整性保护机制,但安全挑战仍需持续研究。

尽管存在这些挑战,UCIe仍然是实现Chiplet生态的最有前途的标准化方案。正如USB统一了外设连接、PCIe统一了板级互连一样,UCIe有望统一die-to-die互连——虽然这个过程可能需要5\sim10年的时间。

Chiplet案例分析

本节深入分析三个具有代表性的Chiplet架构产品:AMD EPYC的CCD+IOD架构(服务器处理器的Chiplet先驱)、Intel Meteor Lake的多tile混合封装(客户端处理器的Chiplet实践)、以及Apple UltraFusion的透明die-to-die互连(桌面级处理器的Chiplet方案)。

AMD EPYC(CCD+IOD)

AMD是Chiplet架构在商业处理器中的先驱和最成功的推动者。从2019年的第二代EPYC(Rome,Zen 2架构)开始,AMD在服务器处理器中全面采用了CCD+IOD的Chiplet架构,并在后续的Milan(Zen 3)、Genoa(Zen 4)和Turin(Zen 5)中持续演进。

架构总览

AMD EPYC处理器由两种chiplet组成:

  • CCD(Core Complex Die,核心复合die):每个CCD包含8个CPU核心和一个共享的L3缓存(Zen 4/Zen 5中为32 MB或96 MB V-Cache版本)。CCD使用最先进的工艺节点制造——Zen 2使用TSMC 7 nm,Zen 3/4使用TSMC 5 nm,Zen 5使用TSMC 4 nm/3 nm。每个CCD的面积约为70\sim80 mm2^2

  • IOD(IO Die,IO die):IOD是中央枢纽,包含内存控制器(DDR5)、PCIe控制器(Gen5)、Infinity Fabric互连路由器、安全处理器(PSP)和一致性管理逻辑。IOD使用较成熟的工艺节点——Zen 2/3的IOD使用GlobalFoundries 12 nm,Zen 4的IOD使用TSMC 6 nm。IOD面积较大(约400 mm2^2),但由于使用成熟工艺,单位面积成本较低。

以EPYC 9654(Genoa,Zen 4,2022年)为例,其封装包含12个CCD和1个IOD,共96个核心:

AMD EPYC 9654(Genoa, Zen 4)的Chiplet架构。12个CCD(TSMC 5nm,每个8核+32\,MB L3)通过Infinity Fabric连接到1个中央IOD(TSMC 6nm,包含内存控制器、PCIe和一致性引擎)。总计96核,支持12通道DDR5和128条PCIe Gen5。
AMD EPYC 9654(Genoa, Zen 4)的Chiplet架构。12个CCD(TSMC 5nm,每个8核+32\,MB L3)通过Infinity Fabric连接到1个中央IOD(TSMC 6nm,包含内存控制器、PCIe和一致性引擎)。总计96核,支持12通道DDR5和128条PCIe Gen5。

Infinity Fabric互连

CCD与IOD之间的互连使用AMD的Infinity Fabric(IF)协议。Infinity Fabric是AMD自研的die-to-die互连协议,提供缓存一致性、内存访问和IO访问的统一传输通道。

每条CCD-IOD之间的Infinity Fabric链路提供约32 bytes/cycle的双向带宽(16 B/cycle每方向)。在Zen 4中,Infinity Fabric的时钟频率约为1.8\sim2.0 GHz,因此每条链路的单向原始带宽约为:

IF带宽=16B/cycle×2.0GHz=32GB/s(单向)\text{IF带宽} = 16\,\text{B/cycle} \times 2.0\,\text{GHz} = 32\,\text{GB/s(单向)}

12条IF链路的总带宽为12×32×2=768GB/s12 \times 32 \times 2 = 768\,\text{GB/s}(双向)。

一致性管理

AMD EPYC的缓存一致性采用基于目录的(directory-based)MOESI协议。每个CCD内的8个核心共享一个32 MB的L3缓存,L3缓存中维护了目录信息。当一个CCD上的核心需要访问被另一个CCD缓存的数据时:

  1. 请求核心在本地L3 miss后,通过IF链路将请求发送到IOD。

  2. IOD中的一致性引擎查询目录,确定数据所在的CCD。

  3. 一致性引擎向目标CCD发送窥探(probe)请求。

  4. 目标CCD响应数据(如果是Modified状态)或确认(如果是Shared/Invalid状态)。

  5. 一致性引擎将数据返回给请求核心。

这个过程涉及至少3次IF链路穿越(请求\toIOD\to目标CCD\toIOD\to请求CCD),引入了不可忽略的延迟。在EPYC Genoa中,跨CCD的缓存访问延迟约为70\sim110 ns——远高于CCD内的L3命中延迟(\sim12 ns)。这种NUMA(Non-Uniform Memory Access)效应是Chiplet架构必须面对的固有代价。

案例研究 2 — AMD 3D V-Cache:Chiplet的垂直扩展

AMD的3D V-Cache技术是Chiplet架构在垂直维度上的扩展。以EPYC 9684X(Genoa-X,2023年)为例,每个CCD的上方堆叠了一颗64 MB的SRAM die(V-Cache die),使每个CCD的总L3缓存从32 MB扩展到96 MB。

V-Cache的关键技术指标包括:

  • 堆叠方式:V-Cache die通过TSMC的SoIC(System on Integrated Chips)混合键合技术面对面堆叠在CCD上方。

  • 互连密度:混合键合间距约为9 μ\mum,每个CCD-V-Cache界面有数百万个互连点。

  • 带宽:V-Cache die与CCD之间的带宽达到2 TB/s以上——因为数百万个并行互连点使得带宽几乎与片上L3缓存相当。

  • 延迟:V-Cache访问延迟仅比原有L3增加约1\sim2个周期(约1\sim2 ns),使得应用程序感知到的L3缓存大小从32 MB无缝扩展到96 MB。

  • 热管理:V-Cache die覆盖在CCD上方,增加了散热路径的热阻。AMD通过在V-Cache die背面进行硅减薄(thinning to \sim50 μ\mum),并优化散热器的接触方式来缓解热管理挑战。

在特定工作负载(如数据库、EDA仿真、游戏等L3缓存敏感型应用)中,3D V-Cache可带来15%\sim40%的性能提升。这展示了3D堆叠技术在处理器性能优化中的巨大潜力——在不增加核心数量或频率的情况下,通过垂直方向上的缓存扩展来提升性能。

EPYC Chiplet架构的产品灵活性

CCD+IOD架构的一个重要商业优势是产品线灵活性。AMD只需设计和验证一个CCD和一个IOD,然后通过改变CCD数量和核心启用数来覆盖从入门到旗舰的完整产品线:

型号CCD数量启用核心数L3缓存 (MB)TDP (W)
EPYC 9654129612×32=38412 \times 32 = 384360
EPYC 95548648×32=2568 \times 32 = 256360
EPYC 93544324×32=1284 \times 32 = 128280
EPYC 91242162×32=642 \times 32 = 64200

这种灵活性在单片式设计中是不可能实现的——单片式设计必须为每个产品线设计和流片不同的die。

Intel Meteor Lake(计算tile+SoC tile+GPU tile)

Intel Meteor Lake(2023年末发布,Core Ultra 100系列品牌)是Intel首款面向客户端(笔记本/台式机)市场的Chiplet架构处理器。与AMD EPYC的CCD+IOD方案不同,Meteor Lake采用了更复杂的多tile异构封装方案,使用Foveros 3D堆叠和EMIB 2.5D互连的组合。

tile组成

Meteor Lake封装内包含4个功能tile:

  • 计算tile(Compute Tile):使用Intel 4工艺制造,包含CPU核心——6个Redwood Cove P-core和8个Crestmont E-core。计算tile还包含每个核心的私有L1/L2缓存和共享的L3缓存。Intel 4是Intel首个使用EUV光刻的工艺节点。

  • SoC tile:使用TSMC N6工艺制造,包含NPU(Intel的Neural Processing Unit)、媒体引擎(视频编解码)、显示引擎、低功耗E-core(2个LP E-core,用于超低功耗后台任务)和IO控制器。SoC tile是Meteor Lake中功能最多样化的tile。

  • GPU tile:使用TSMC N5工艺制造,包含Intel Arc GPU(基于Xe-LPG架构,最多128个EU)。GPU tile使用了TSMC的先进工艺以获得最佳的能效。

  • IO tile:使用TSMC N6工艺制造,包含Thunderbolt 4/USB4控制器和PCIe Gen5控制器。IO tile独立于SoC tile,允许Intel在不修改SoC tile设计的情况下更新IO规范。

封装技术

Meteor Lake使用了Intel称为Foveros的3D堆叠技术和EMIB的2.5D互连技术的组合:

  • 所有4个功能tile都堆叠在一个大面积的基础die(base die)上。基础die使用Intel的22 nm工艺制造,包含片上互连网络(NoC)、电源分配网络(PDN)和die-to-die接口逻辑。

  • 功能tile通过Foveros微凸块(25 μ\mum间距)面对面堆叠到基础die上。

  • 基础die通过标准C4凸块连接到有机封装基板。

  • 功能tile之间不直接互连——所有tile间通信都通过基础die中的NoC路由。

这种"所有tile堆叠在基础die上"的方案有一个重要的架构优势:互连拓扑的灵活性。基础die中的NoC可以在不改变功能tile设计的情况下重新配置——如果需要改变tile的排列或添加新的tile,只需修改基础die(22 nm工艺,成本较低)。

Intel Meteor Lake的多tile封装架构(侧面剖面示意)。4个功能tile(使用3种不同工艺制造)通过Foveros 3D堆叠在基础die(Intel 22nm)上。所有tile间通信通过基础die中的NoC路由。
Intel Meteor Lake的多tile封装架构(侧面剖面示意)。4个功能tile(使用3种不同工艺制造)通过Foveros 3D堆叠在基础die(Intel 22nm)上。所有tile间通信通过基础die中的NoC路由。

工艺混合的优势

Meteor Lake是混合工艺chiplet架构的典型范例。通过将4个tile分布在3种不同的工艺节点上,Intel实现了以下优化:

  • 计算tile使用Intel最先进的Intel 4工艺,获取CPU核心的最高性能和能效。

  • GPU tile使用TSMC N5工艺——这在当时是GPU设计的最优工艺选择,且使Intel能够利用TSMC的成熟GPU工艺生态。

  • SoC tile和IO tile使用TSMC N6工艺——这些模块包含大量模拟和混合信号电路(显示接口、USB/TB控制器的PHY等),N6提供了更好的模拟特性和更低的成本。

  • 基础die使用Intel 22nm工艺——基础die只包含数字逻辑(NoC路由器和PDN),不需要先进工艺的晶体管密度,使用成熟工艺可以大幅降低成本。

功耗管理的复杂性

Meteor Lake的多tile架构使得功耗管理变得特别复杂。每个tile是一个独立的电压域和时钟域,可以独立进行DVFS和power gating。例如:

  • 当用户仅浏览网页时,计算tile可以关闭大部分P-core,仅保留少量E-core运行;GPU tile可以完全断电(power gated);SoC tile中的LP E-core处理后台任务。

  • 当用户运行CPU密集型工作负载时,计算tile的P-core全速运行,GPU tile和SoC tile中的NPU可以降频或断电。

  • 当用户运行AI推理任务时,SoC tile中的NPU满载运行,计算tile和GPU tile降频以给NPU让出功耗预算。

基础die中的PMC(Power Management Controller)负责协调所有tile的功耗状态,确保总功耗不超过封装的TDP限制(15\sim45 W可配置),同时最大化当前工作负载的性能。这种跨tile的功耗协调是Chiplet架构中独特的系统级挑战。

设计提示

Intel Meteor Lake的设计展示了一个重要的架构理念:将"不变的"和"经常变化的"分离。基础die(NoC和PDN)是相对稳定的基础设施,使用成熟工艺;而功能tile是频繁更新的计算引擎,使用最先进的工艺。当Intel需要推出下一代产品时,可以只更新计算tile(使用Intel 3或更先进的工艺),而复用已验证的基础die和IO tile设计。这种"乐高积木"式的设计方法论大幅缩短了产品开发周期,降低了验证风险。当然,这也要求tile之间的接口(通过基础die)保持稳定的向前兼容——接口规范的稳定性是Chiplet架构成功的基石。

Apple UltraFusion(die-to-die互连)

Apple UltraFusion是Apple为其M系列芯片设计的die-to-die互连技术。UltraFusion首次出现在2022年的M1 Ultra处理器中——M1 Ultra实质上是两颗M1 Max芯片通过UltraFusion互连而成的"双die"处理器。后续的M2 Ultra同样采用了这一方案。

UltraFusion的设计哲学

Apple UltraFusion的独特之处在于其透明性——它的目标是让两颗die在软件看来完全等价于一颗大die。具体而言:

  • 统一内存架构(UMA):M1 Ultra的两颗M1 Max die共享一个统一的128 GB内存池。任何一颗die上的CPU核心、GPU核心或NPU都可以以相同的方式访问所有128 GB的内存,无需显式的数据复制或内存管理。

  • 缓存一致性:两颗die之间维护完整的缓存一致性。一颗die上的CPU核心修改的数据,对另一颗die上的核心自动可见。

  • GPU统一:M1 Ultra的两颗die上的GPU核心(各32核或48核)对外呈现为一个统一的64核或96核GPU。应用程序无需为双die GPU做任何适配。

这种透明性与AMD EPYC的方案形成了有趣的对比:EPYC的多CCD架构暴露了NUMA特性(跨CCD访问延迟更高),操作系统和应用程序需要NUMA感知的优化才能获得最佳性能。而Apple UltraFusion力图隐藏双die的事实,让所有软件无需修改即可运行在双die上。

互连带宽

UltraFusion的技术规格令人印象深刻:

  • 总带宽:2.5 TB/s双向(每方向1.25 TB/s),接近片上互连的带宽水平。

  • 信号数量:超过10,000个信号连接(通过TSMC的硅中介层/硅桥技术实现)。

  • 延迟:die-to-die互连延迟极低(估计<<10 ns),使得跨die的缓存一致性操作的额外延迟在应用层面几乎不可感知。

2.5 TB/s的带宽意味着即使两颗die上的所有内存控制器(M1 Max每die有2个LPDDR5控制器,4通道)都满载运行,UltraFusion互连也不会成为带宽瓶颈——内存带宽(每die约400 GB/s,总800 GB/s)远低于互连带宽。

封装实现

Apple UltraFusion使用TSMC的先进封装技术实现die-to-die互连。两颗M1 Max die水平排列在同一个封装基板上,通过硅桥(类似CoWoS-L或InFO-L方案)在die边缘提供高密度互连。关键实现细节包括:

  • 两颗die的互连边缘长度约为10\sim15 mm。

  • 使用微凸块(间距约36\sim45 μ\mum)连接到硅桥。

  • 超过10,000个信号连接对应约10,000/15 mm \approx 667个信号/mm的线密度——这需要硅桥上的多层金属布线来实现。

  • 每个信号连接在约2 GHz的频率下运行(DDR模式),每个连接提供4 Gbps的带宽。10,000个连接×\times4 Gbps \approx 40 Tbps \approx 5 TB/s(原始带宽),扣除协议开销后约2.5 TB/s有效带宽。

案例研究 3 — UltraFusion的透明互连vs. NUMA暴露

Apple UltraFusion和AMD EPYC代表了Chiplet互连设计的两种截然不同的哲学:

Apple UltraFusion(透明互连)

  • 优势:软件完全无需修改,编程模型简单。GPU工作负载可以自动扩展到双die。

  • 代价:需要极高的die-to-die带宽(2.5 TB/s),互连硬件成本高。仅限于2-die规模(4-die或更多die的全透明互连在带宽上不可行)。

  • 适用场景:桌面/笔记本工作站,用户期望"即插即用"的性能提升,不愿或无法进行NUMA优化。

AMD EPYC(NUMA暴露)

  • 优势:可以扩展到12个CCD(96核)甚至更多,每条CCD-IOD链路的带宽要求(\sim64 GB/s)远低于UltraFusion。

  • 代价:跨CCD的延迟差异(本地L3 \sim12 ns vs. 远程L3 \sim90 ns)暴露给软件,需要NUMA感知的内存分配和线程调度来获得最佳性能。

  • 适用场景:数据中心服务器,运维团队有能力进行NUMA优化,追求核心数量和成本效益的最优平衡。

两种方案没有绝对的优劣之分——它们针对不同的市场需求和使用场景做出了不同的权衡。但从技术趋势来看,随着die-to-die互连技术的进步(特别是混合键合将互连带宽进一步提升),透明互连的适用范围有望逐步扩大——未来可能实现4-die甚至8-die的透明互连,模糊单芯片与多芯片之间的边界。

Apple M系列Chiplet架构的演进

Apple的Chiplet策略体现了一种"基于一个基础die构建产品家族"的设计方法论:

芯片Die数量CPU核心GPU核心内存带宽
M114P+4E = 87\sim868 GB/s
M1 Pro16P+2E\sim8P+2E14\sim16200 GB/s
M1 Max18P+2E = 1024\sim32400 GB/s
M1 Ultra2 (UltraFusion)16P+4E = 2048\sim64800 GB/s
M2 Ultra2 (UltraFusion)16P+8E = 2460\sim76800 GB/s

Apple的策略是:首先设计M1/M2基础die(8核CPU),然后通过增加GPU核心数量和内存控制器来制造Pro和Max变体(这些仍然是单die),最后通过UltraFusion将两颗Max die互连来制造Ultra变体。这种方式以一个基础设计为起点,通过面积扩展(增加GPU核心)和chiplet互连(UltraFusion)覆盖了从轻薄笔记本到高端工作站的完整产品线。

案例研究 4 — AMD EPYC vs. Intel Meteor Lake vs. Apple M Ultra的Chiplet策略对比

三种Chiplet产品代表了截然不同的设计哲学和市场定位:

维度AMD EPYCIntel Meteor LakeApple M Ultra
目标市场服务器笔记本/桌面工作站
Chiplet数量9–135 (4 tiles + base)2
封装技术有机基板Foveros + EMIB硅桥
Die-to-die带宽\sim64 GB/s/链路由基础die NoC承载2.5 TB/s
工艺节点数2 (5nm + 6nm)4 (Intel 4 + N5 + N6 + 22nm)1 (5nm)
NUMA暴露
IP复用极高 (1 CCD \rightarrow 全线)高 (Max \rightarrow Ultra)
扩展极限96–192核\sim20核\sim24核

AMD的"规模优先"策略:通过最大化CCD的复制数量来追求核心数量的极致扩展。代价是暴露NUMA特性(跨CCD延迟\sim90ns vs 本地L3 \sim12ns),但对数据中心用户来说,NUMA优化是常规操作。AMD的关键洞察是:服务器工作负载的并行度足够高,使得核心数量的增加带来的吞吐率提升远大于NUMA延迟的惩罚

Intel的"异构工艺"策略:将4种不同工艺的tile集成在一个封装中,每个功能模块使用最适合的工艺节点。代价是封装复杂度高(需要Foveros + EMIB的组合)。Intel的关键洞察是:客户端处理器的功能异构度极高(CPU/GPU/NPU/IO),强制使用同一工艺节点将导致不必要的成本和设计妥协

Apple的"透明互连"策略:以极高的die-to-die带宽(2.5 TB/s)实现双die对软件的完全透明。代价是互连硬件成本高,且只能扩展到2个die。Apple的关键洞察是:其目标用户(创意专业人士)不愿也不能进行NUMA优化,因此透明性比可扩展性更重要

Chiplet架构的未来趋势

Chiplet架构正在从先驱者的创新实践转变为半导体行业的主流设计方法论。展望2025年及以后,以下几个趋势值得关注。

混合键合的大规模量产

随着TSMC、Samsung和Intel在混合键合技术上的持续投资,sub-10 μ\mum间距的混合键合有望在2025\sim2027年间进入大规模量产。混合键合将使die-to-die互连的密度和带宽接近片上互连的水平,从根本上消除Chiplet架构在性能上相对于单片式设计的劣势。AMD的3D V-Cache已经证明了混合键合在商业产品中的可行性,下一步将是在计算chiplet之间(而不仅仅是计算die与SRAM die之间)使用混合键合。

UCIe生态的成熟

UCIe 2.0规范的发布和越来越多厂商的加入将推动Chiplet互连接口的标准化进程。当UCIe的互操作性验证框架成熟后,我们可能看到"Chiplet市场"的出现——类似于今天的IP核市场(如ARM处理器核心的授权模式),chiplet设计公司可以向系统公司出售经过验证的、UCIe兼容的chiplet产品。

3D堆叠与背面供电的结合

背面供电(Backside Power Delivery Network, BSPDN)技术将电源线从die的正面移到背面,为正面留出更多的信号布线空间。当BSPDN与3D堆叠结合时,顶层die的电源可以从背面直接供电(无需穿过底层die),同时正面的信号层可以完全用于die-to-die数据互连——这将大幅提升3D堆叠的互连密度和热管理效率。Intel从Intel 20A工艺开始引入BSPDN(称为PowerVia),AMD和TSMC也在积极开发类似技术。

光子互连(Photonic Interconnect)

对于跨封装或跨芯片的长距离(>>10 cm)高带宽互连,铜导线的功耗和信号衰减成为瓶颈。硅光子集成技术正在探索将光波导和光电转换器件集成到chiplet中,使用光信号代替电信号进行长距离数据传输。Ayar Labs等公司已展示了与先进封装兼容的硅光子chiplet原型。光子互连的功耗约为1\sim2 pJ/bit(与铜互连相当),但在长距离传输时不会像铜导线那样急剧增加功耗,有望成为多封装系统(如机架级Chiplet互连)的关键使能技术。

Chiplet的测试与已知合格芯粒(KGD)

Chiplet架构对测试方法学提出了新的要求。在单片式设计中,芯片在封装前通过晶圆级探针测试(wafer probe test),封装后再进行最终测试(final test)。在Chiplet架构中,每个chiplet必须在封装集成之前被充分测试——因为一旦封装完成,发现有缺陷的chiplet将导致整个封装报废。这种"先测后组"的策略要求每个chiplet达到已知合格芯粒(Known Good Die, KGD)的质量水平。

KGD测试面临的挑战包括:(1) 晶圆级测试的覆盖率通常低于封装后测试,因为晶圆探针的接触质量和信号完整性不如封装后的测试环境;(2) die-to-die接口在封装前无法进行端到端测试,只能通过内建自测试(BIST)和环回测试进行有限验证;(3) 对于3D堆叠,底层die在堆叠后几乎无法单独访问和重测。业界正在开发更先进的晶圆级测试技术(如更细间距的探针卡和更高速的测试设备)以及标准化的chiplet测试接口来应对这些挑战。

设计权衡 2 — 单片式die vs. Chiplet架构

单片式die的优势在于片上互连的延迟最低(\sim1\sim5 ns跨die)、带宽最高(TB/s量级)、功耗最低(<<0.05 pJ/bit),且不需要考虑die-to-die接口的复杂性。对于面积适中(<<300 mm2^2)且功能相对单一的芯片,单片式设计仍然是最优选择。

Chiplet架构的优势在于良率改善(通过die面积缩小)、成本优化(通过混合工艺)、设计灵活性(通过IP复用和产品线覆盖)和time-to-market加速。当芯片等效面积超过400\sim500 mm2^2时,Chiplet架构在经济性上开始显现优势。

实际趋势是两种方案的融合——未来的处理器可能在单个chiplet内保持单片式设计(每个chiplet面积100\sim200 mm2^2),而在chiplet之间使用先进封装互连。随着混合键合等技术的成熟,chiplet之间的互连性能将逐步接近片上互连,使得单片式与Chiplet之间的边界日益模糊。

系统级Chiplet(System-Level Chiplet)

未来的Chiplet架构可能超越单个封装的边界,向系统级扩展。CXL 3.0引入的fabric attach模式允许多个封装通过CXL交换机互连,形成一个共享内存的多处理器系统——这实质上是将Chiplet的"分拆与互连"理念从封装级扩展到了系统级。当UCIe over CXL的延迟足够低时,一个机架内的多个处理器封装可能呈现为一个逻辑上统一的超大处理器,模糊了芯片、封装和系统之间的传统边界。

EDA工具链的演进

Chiplet架构对EDA(Electronic Design Automation)工具链也提出了新的需求。传统EDA工具围绕单die设计优化,而Chiplet设计需要跨die的系统级时序分析、信号完整性仿真、热-机械协同仿真和封装-芯片协同设计。Cadence、Synopsys和Siemens EDA等主要EDA厂商正在开发面向Chiplet的多die协同设计工具,包括跨die的时序收敛(timing closure across die boundaries)和封装级信号/电源完整性分析。这些工具的成熟将进一步降低Chiplet设计的门槛,使中小型芯片设计公司也能采用Chiplet架构。 此外,chiplet之间的功耗和热管理需要跨die的协同优化——一个chiplet的功耗变化会通过封装热耦合影响相邻chiplet的温度,这种耦合效应在传统单die设计中不存在。

本章小结

本章系统地讨论了SoC集成与Chiplet架构的核心技术和设计方法论。

在SoC架构方面,我们介绍了现代SoC的主要组成部分——从CPU核心到GPU、NPU、ISP、modem、内存控制器和IO控制器。核心与Uncore的划分是SoC架构的基本概念:核心是可复制的独立执行引擎,Uncore是核心共享的基础设施(LLC、NoC、一致性引擎、内存控制器等)。SoC级地址映射通过区域寄存器实现地址解码和路由,支持DRAM交织和IOMMU地址翻译。

在Chiplet架构方面,我们深入分析了chiplet化的三大动机:良率改善(大die良率指数下降)、混合工艺(计算与IO使用不同工艺)和IP复用(一个chiplet设计覆盖多个产品)。die-to-die互连技术方面,EMIB通过在基板中嵌入硅桥实现中等密度的2.5D互连;CoWoS使用硅中介层为AI加速器提供高带宽HBM连接;Foveros实现3D面对面堆叠;混合键合以<<10 μ\mum的间距提供接近片上级的互连密度。

UCIe标准通过三层协议栈(PHY、D2D适配层、协议层)为chiplet互连提供了标准化方案,支持CXL、PCIe和自定义Streaming协议。CXL over UCIe为chiplet之间的缓存一致性互连提供了低延迟、高带宽的解决方案。

三个案例分析展示了Chiplet架构的不同实践方式:AMD EPYC的CCD+IOD方案以NUMA暴露为代价实现了最大的核心扩展性;Intel Meteor Lake的多tile+基础die方案展示了混合工艺和Foveros+EMIB组合封装的灵活性;Apple UltraFusion以极高的互连带宽实现了透明的双die互连。

展望未来,混合键合的量产、UCIe生态的成熟、3D堆叠与背面供电的结合、以及光子互连的探索,将推动Chiplet架构从先驱者的实践走向行业的标准范式。KGD测试方法学的进步将确保Chiplet架构在量产中的可靠性和良率。

从更宏观的视角看,SoC集成与Chiplet架构代表了半导体行业应对后摩尔时代挑战的两条互补路径:SoC集成通过在单颗芯片上集成异构计算单元来提供完整的系统功能;Chiplet架构通过将大系统分拆为小芯粒并用先进封装重新组合来优化成本、良率和设计灵活性。两条路径的交汇点是——未来的处理器将既是高度集成的SoC(每个chiplet本身就是一个功能完整的SoC),又是灵活组合的Chiplet系统(多个chiplet通过标准化接口互连),逐步模糊单芯片与多芯片之间的传统边界。

回调与前向桥接

与前序章节的连接

本章讨论的SoC集成与Chiplet架构与全书多个章节紧密关联:

  • 第 3.0 章(工艺约束):良率公式(式 (52.2)式 (52.3))直接源于半导体制造的物理规律——缺陷密度D0D_0取决于工艺成熟度。第 3.0 章讨论的工艺缩放趋势解释了为什么先进工艺的D0D_0难以进一步降低,从而使Chiplet架构成为经济必然。

  • 第 47.0 章(片上互连):NoC是SoC的"神经系统",也是Chiplet基础die中的核心组件。本章的die-to-die互连(UCIe、Infinity Fabric)可以视为第 47.0 章讨论的片上互连在封装层面的延伸。二者面临相似的带宽、延迟和功耗权衡,但die-to-die互连还需要处理跨die的时钟域同步和信号完整性问题。

  • 第 49.0 章(功耗管理):多tile/多die的功耗管理远比单die复杂。Intel Meteor Lake的PMC需要协调4个独立电压域的DVFS和power gating,基于第 49.0 章讨论的功耗状态机进行跨tile的功耗预算分配。AMD EPYC的Infinity Fabric本身也是功耗的显著来源——IF的功耗约占CCD总功耗的10%–15%。

前向桥接:CXL与新型存储互连

在下一章(第 53.0 章)中,我们将看到Chiplet架构的互连理念如何从封装内部延伸到封装之间。CXL(Compute Express Link)将"分拆与互连"的思想从die级扩展到板级和机架级:

  • CXL over UCIe:UCIe的协议层可以承载CXL协议,使Chiplet之间的一致性互连与板级的CXL互连使用统一的协议栈。这为"封装级CXL \leftrightarrow 板级CXL"的无缝衔接奠定了基础。

  • 内存Chiplet与CXL内存:CXL Type 3内存扩展设备在功能上类似于一个通过CXL链路连接的"远端内存chiplet"——它扩展了处理器的可寻址内存空间,正如3D V-Cache扩展了L3缓存容量。

  • 系统级Chiplet:CXL 3.0的多层交换机将多个处理器封装互连为一个共享内存的系统——这实质上是Chiplet理念从封装级到系统级的自然延伸。

正文与图片:CC BY-NC-SA 4.0 · 本仓库少量站点配置代码:MIT