在开始之前,请先忘掉芯片、封装、带宽这些名词,想象你住的小区。小区门口有一间物业办公室,里面坐着一位特别勤快的大堂经理——它叫“处理器”。租户是数据,每套房的面积是存储容量,连接小区和经理办公室的马路是总线。DDR 时代,小区是平房,马路只有两条车道;处理器再勤快,也只能排队等租户慢慢走出来。HBM 的出现,等于把小区改造成了垂直公寓,并修了一座直达办公室的立交桥:房间叠到空中,每层之间用高速电梯(TSV)连接,楼与办公室之间用硅中介层完成毫米级对接。HBM3 是这栋公寓的 3.0 版本,HBM3e 则是 3.0 的增强版。本文就用这栋“数据公寓”,带你理解存储与互连创新。

岗位关联

学懂 HBM3/HBM3e,能帮你理解高端 AI 芯片“为什么快”、显存带宽如何计算,是一线工程师做算力评估、性能优化和架构选型时不可或缺的底层地图。

目录
  1. 可视化演示
  2. 存储瓶颈:为什么内存成了“墙”
  3. 堆叠架构:把储物柜盖成高楼
  4. 互连创新:电梯与立交桥
  5. HBM3:新一代高速公寓
  6. HBM3e:提速、扩容与良率
  7. 应用实践:AI 大模型时代的选型与优化
  8. AI 应用场景
  9. Python 演示
  10. 常见误区
  11. 面试题

可视化演示

展示HBM演进三维度:代际对比(HBM2E 460GB/s→HBM3 819GB/s→HBM3E 1.2TB/s带宽容量pin速率提升)、3D堆叠架构(12层DRAM裸片+TSV垂直通孔+base logic die底层)、聚合带宽计算(1/4/6/8堆栈×819GB/s=0.8-6.6TB/s),三模式切换理解高带宽存储技术选型。

本节配有交互动效(进入视口后自动加载,约 3KB)。

'+C1+'

存储瓶颈:为什么内存成了“墙”

在数据公寓出现之前,内存是一条条的平房。DDR 内存的宽度只有 64 位,频率也不高;当 GPU 每秒能做上亿亿次运算时,内存却像老式传送带,一次只能搬 64 个比特,这就是所谓的内存墙。

AI 大模型让问题更严重:几百亿参数要反复读写,训练过程中还需要把中间结果、梯度和优化器状态全部塞进显存。数据填不满计算单元,算力再高也白搭。业界开始把目光从“把频率拉高”转向“把内存搬到芯片附近、把道路加宽”。这就是 HBM 的萌芽。

HBM(High Bandwidth Memory,高带宽内存)通过先进封装与 Chiplet 技术,把 DRAM 芯片像叠乐高一样堆起来,并紧贴处理器放置。它的核心价值不是容量最大,而是单位时间内能搬动更多数据。我们可以用带宽利用率来衡量程序是否真的把内存喂饱了计算机。

想提高利用率,不能只盯着计算单元,而要把“传送带”加宽、把“平房”变成“公寓”,这正是后面几节的故事。

带宽利用率=实际带宽峰值带宽\text{带宽利用率} = \frac{\text{实际带宽}}{\text{峰值带宽}}
  1. 实际带宽程序在运行中真正从内存读写数据的平均速率,单位可以是 GB/s。
    实际带宽=有效访问数据量访问耗时\text{实际带宽} = \frac{\text{有效访问数据量}}{\text{访问耗时}}
  2. 峰值带宽内存接口在理想状态下能达到的最大理论速率,来源于规格书。
    峰值带宽=数据传输率×位宽8\text{峰值带宽} = \frac{\text{数据传输率} \times \text{位宽}}{8}
  3. 相除两者相除得到 0 到 1 之间的比例,越接近 1 说明内存越没有拖后腿。
    利用率=实际带宽峰值带宽\text{利用率} = \frac{\text{实际带宽}}{\text{峰值带宽}}

堆叠架构:把储物柜盖成高楼

HBM 的第一板斧是“向天空要空间”。普通 DRAM 像一个只有一层的储物柜,柜门少、取货慢;HBM 把多个 DRAM die 垂直叠在一起。每个 die 就是一层的房间,房间之间靠 TSV(硅通孔)打通的电梯井传递数据。

TSV 是在硅片上钻出的微小通孔,穿过每一层 DRAM,再填上铜等导电材料。这样的垂直通路远比重直平房的水平走线短,既省时间又省功耗。除了 DRAM 层,HBM 最底部还有一片逻辑基底 die(如控制器),负责管理电梯交通。逻辑 die 不存数据,但决定数据怎么进出。

一个 HBM 堆叠总容量可以写成一个简单公式:单颗 DRAM die 容量乘以堆叠层数。例如 24 Gb 的 die 堆 8 层,就是 24 GB。

楼层变多,房间变多,但电梯只有一条?所以下一节要解决如何让“乘客”同时高效进出。

Cstack=Cdie×NHiC_{\text{stack}} = C_{\text{die}} \times N_{\text{Hi}}
  1. die 容量C_{\text{die}} 表示单个 DRAM die 的容量,例如 24 Gb。
    Cdie=24 GbC_{\text{die}} = 24\ \text{Gb}
  2. 层数N_{\text{Hi}} 表示堆叠的 DRAM 层数,例如 8 层。
    NHi=8N_{\text{Hi}} = 8
  3. 位转字节24 Gb ÷ 8 = 3 GB,先换成字节。
    Cdie=3 GBC_{\text{die}} = 3\ \text{GB}
  4. 相乘3 GB × 8 = 24 GB,得到整个 stack 的容量。
    Cstack=3×8=24 GBC_{\text{stack}} = 3 \times 8 = 24\ \text{GB}

互连创新:电梯与立交桥

堆好公寓只是第一步,公寓必须和处理器大堂连接。传统内存插在主板上,走线又长又窄;HBM 则把公寓直接放在处理器的硅中介层(interposer)立交桥上,通过微凸块(microbump)与处理器面对面相连。这样,数据住客从电梯出来,就能直接跨过一座短桥进入工厂,不用再绕城一圈。

在 Chiplet 盛行的今天,GPU、CPU 计算芯粒和 HBM 栈会被并排放在同一块硅中介层上。中介层内部有多层金属布线,相当于城市的高架路网。HBM 总数据位宽高达 1024 位,由多个 64 位通道并行组成。通道数越多,每次电梯门打开能同时上下楼的乘客就越多。

有了高楼、电梯和立交桥,还需要一位能把电梯速度调到极致的“物业经理”,于是 HBM3 登场。

W总=N通道×W通道W_{\text{总}} = N_{\text{通道}} \times W_{\text{通道}}
  1. 通道数量N_{\text{通道}} 表示 HBM 支持的并行通道数,例如 16。
    N通道=16N_{\text{通道}} = 16
  2. 每通道位宽W_{\text{通道}} 表示每个通道一次传输的位数,例如 64 bit。
    W通道=64W_{\text{通道}} = 64
  3. 相乘16 × 64 = 1024 bit,这就是 HBM 家族标志性的 1024 位宽。
    W总=16×64=1024 bitW_{\text{总}} = 16 \times 64 = 1024\ \text{bit}

HBM3:新一代高速公寓

HBM3 相当于给公寓换上全新的高速电梯。电梯门更宽、运行更快,同一时间进出的人数大幅提升。它还把单层房间的容量做大,并且自带纠错小助手,确保住客不被夹到。

HBM3 的 I/O 传输速率达到 6.4 Gbps,总线位宽保持 1024 bit。套用带宽公式:6.4 × 1024 ÷ 8 ≈ 819.2 GB/s,也就是说一个 HBM3 stack 每秒最多能搬动约 819 GB 的数据。相比之下,普通 DDR5 双通道的带宽通常只有几十到一百多 GB/s,差距达到数倍。

HBM3 还强调能效。与 GDDR 显存相比,它通过堆叠和短互连大幅降低每 bit 数据的搬运功耗;再加上片上 ECC,在 AI 训练这种长时间高负载场景下更稳定。

HBM3 已经很强,但大模型还在疯长。物业经理回头一看:电梯还能再快,房间还可以再大,于是 HBM3e 来了。

BHBM3=6.4×10248=819.2 GB/sB_{\text{HBM3}} = \frac{6.4 \times 1024}{8} = 819.2\ \text{GB/s}
  1. 数据速率HBM3 每根数据线每秒传输 6.4 G 个 bit。
    D=6.4 GbpsD = 6.4\ \text{Gbps}
  2. 数据宽度一次并行传输 1024 bit。
    W=1024 bitW = 1024\ \text{bit}
  3. 每秒总比特6.4 × 1024 = 6553.6 Gb/s。
    R=6.4×1024=6553.6 Gb/sR = 6.4 \times 1024 = 6553.6\ \text{Gb/s}
  4. 换算字节除以 8,得到 819.2 GB/s。
    B=6553.68=819.2 GB/sB = \frac{6553.6}{8} = 819.2\ \text{GB/s}

HBM3e:提速、扩容与良率

HBM3e 的“e”像 plus 版本:电梯速度从 6.4 提升到 9.6,走廊总宽不变,但单位时间吞吐量猛增;同时户型扩大,12 层公寓能住更多数据。不过楼层加高后施工更难,必须解决良率问题。

HBM3e 的数据速率提升到 9.6 Gbps,单 stack 带宽达到约 1.2 TB/s;容量也从常见的 24 GB 提升到 36 GB(12-Hi)。更高的堆叠意味着更长的 TSV、更多的对准要求,任何一层对准失败都会让整栋楼报废。于是业界采用已知良好 die、冗余通路和更严格的测试来提升良率,同时优化工作电压以控制功耗。

电梯提速 50%,大模型训练就好像把早晚高峰地铁发车间隔缩短一半,算力终于不再干等数据。

带宽增幅=BHBM3e−BHBM3BHBM3×100%=50%\text{带宽增幅} = \frac{B_{\text{HBM3e}} - B_{\text{HBM3}}}{B_{\text{HBM3}}} \times 100\% = 50\%
  1. HBM3 带宽6.4 × 1024 ÷ 8 = 819.2 GB/s。
    BHBM3=6.4×10248=819.2 GB/sB_{\text{HBM3}} = \frac{6.4 \times 1024}{8} = 819.2\ \text{GB/s}
  2. HBM3e 带宽9.6 × 1024 ÷ 8 = 1228.8 GB/s。
    BHBM3e=9.6×10248=1228.8 GB/sB_{\text{HBM3e}} = \frac{9.6 \times 1024}{8} = 1228.8\ \text{GB/s}
  3. 增量1228.8 - 819.2 = 409.6 GB/s。
    ΔB=409.6 GB/s\Delta B = 409.6\ \text{GB/s}
  4. 相对增幅409.6 ÷ 819.2 = 0.5,即 50%。
    ΔBBHBM3=50%\frac{\Delta B}{B_{\text{HBM3}}} = 50\%

应用实践:AI 大模型时代的选型与优化

不同租户对公寓需求不同。大模型是重量级租户,要住大户型、要 24 小时通勤。工程师的职责是在预算内选几栋 HBM 公寓,让租户既住得下(容量)又不迟到(带宽)。

在 AI 芯片设计中,GPU 往往搭配 4 到 8 个 HBM stack。以 HBM3e 单 stack 带宽 1.2 TB/s 为例,如果某加速卡需要 2.4 TB/s 的显存带宽,至少需要 2 个 stack;如果模型权重和 KV cache 需要更大容量,则还需根据单 stack 容量组合。HBM 也常见于 HPC 超算与 Chiplet 架构,作为紧邻计算芯粒的存储墙。

工程不是越贵越好,而是像选公寓:先算人数和通勤需求,再决定楼层数量。HBM3/HBM3e 的演进,正是这种“按需扩建”的极致体现。

Nstack=⌈B需求B单stack⌉N_{\text{stack}} = \left\lceil \frac{B_{\text{需求}}}{B_{\text{单stack}}} \right\rceil
  1. 需求带宽从训练吞吐反推,例如 2400 GB/s。
    B需求=2400 GB/sB_{\text{需求}} = 2400\ \text{GB/s}
  2. 单 stack 带宽HBM3e 的 1228.8 GB/s。
    B单stack=1228.8 GB/sB_{\text{单stack}} = 1228.8\ \text{GB/s}
  3. 除法2400 ÷ 1228.8 ≈ 1.95。
    1.951.95
  4. 向上取整\lceil 1.95 \rceil = 2,表示不能只买 1 个 stack。
    Nstack=2N_{\text{stack}} = 2

AI 应用场景

场景一:AI 大模型训练显存规划

阶段:算力集群设计与资源评估

解决的问题:传统方式只按“单卡显存多少 GB”选显卡,买了 GPU 却在训练时因带宽不足而利用率低下。AI 工程师可以用 HBM3e 的带宽公式和 stack 数量公式,预算显存带宽、容量和功耗,避免“买的卡多、跑得不快”。

具体案例:某团队训练千亿参数模型,目标显存带宽为 2.4 TB/s,根据公式需要 2 个 HBM3e stack,最终选择带 4 个 stack 的加速卡,并把张量并行与数据并行切分调整到带宽利用率 85% 以上。

场景二:高性能计算(HPC)访存优化

阶段:HPC 系统算法优化

解决的问题:气象模拟、分子动力学等应用不是算力不足,而是内存墙;传统 DDR 在 3D stencil 计算中频繁搬运数据。

具体案例:把一个 3D 扩散方程求解器部署在 HBM3e 加速器上,对比 DDR 平台,访存瓶颈占比明显下降,端到端提速约 40%。

场景三:Chiplet 先进封装互连设计

阶段:芯片架构与先进封装设计

解决的问题:在 Chiplet 设计中,需要把计算芯粒和 HBM 栈放在同一硅中介层,布线规划和 TSV 通道分配影响功耗、时序和良率。

具体案例:封装设计人员用“中介层走线”代替“主板走线”,2 个 HBM3e stack 与计算芯粒间距缩短到几百微米,信号损耗和片外功耗显著下降。

Python 演示

python20 行
import math def calc_bandwidth(rate_gbps, bus_bits=1024):    return rate_gbps * bus_bits / 8 def stack_num(need_gbps, rate_gbps, bus_bits=1024):    one_stack = calc_bandwidth(rate_gbps, bus_bits)    return math.ceil(need_gbps / one_stack) def main():    need = 2400.0    print("需求带宽: %.1f GB/s" % need)    print("---")    for name, rate in [("HBM3", 6.4), ("HBM3e", 9.6)]:        bw = calc_bandwidth(rate)        n = stack_num(need, rate)        print("%s 单stack带宽: %.1f GB/s, 需要 %d 个stack" % (name, bw, n)) if __name__ == "__main__":    main()
目的:用 Python 复现 HBM3/HBM3e 的带宽公式,并计算满足某需求带宽至少需要多少个 HBM stack。
  1. import math提供向上取整函数,决定最少要几个 HBM stack。
  2. def calc_bandwidth(rate_gbps, bus_bits=1024):把带宽公式封装成函数,rate 是数据速率,bus_bits 默认 1024。
  3. return rate_gbps * bus_bits / 8传输率 × 位宽 ÷ 8,把比特流转成字节/秒。
  4. math.ceil(need_gbps / one_stack)向上取整,因为 stack 不能只买 0.95 个。
  5. if __name__ == "__main__":保证直接运行时才输出,被别人 import 时不会打扰。

常见误区

误区看到 HBM3e 比 HBM3 更先进,以为它主要是堆叠层数翻倍,容量自然翻倍。

正解HBM3e 的核心变化是数据速率从 6.4 Gbps 提升到 9.6 Gbps,带宽从 819 GB/s 升到约 1.2 TB/s。容量是否变大取决于单 die 密度和 8-Hi/12-Hi 的层数组合,不能简单归因于“层层翻倍”。

为何常见:HBM3e 宣传中常见“24GB / 36GB”等容量数字,容易让人把容量提升当成唯一升级点。

误区认为 HBM 堆叠层数翻倍,带宽也自动翻倍。

正解带宽公式是“传输率 × 位宽 ÷ 8”,层数主要影响容量。电梯井再多,决定吞吐量的仍是电梯速度和每次能装多少人,即数据速率和通道位宽。

为何常见:直觉上房间越多,进出的人越多;但 HBM 的流量瓶颈在 TSV 和 I/O 接口,而不是单纯楼层数。

误区以为 HBM 像 DDR 内存条一样,插在主板的 DIMM 插槽上。

正解HBM 与 CPU/GPU 共同放在硅中介层上,通过微凸块和 TSV 互连,走线极短,是先进封装/Chiplet 的一部分,而不是插拔式内存。

为何常见:大家对传统内存条插槽的印象太深,忽略了 HBM 属于“片上/封装内”存储。

误区AI 芯片只要不带 HBM 就不够专业。

正解HBM 带宽高但成本也高,很多推理芯片、边缘芯片采用 LPDDR 或 GDDR 就足够;只有训练和高端 HPC 场景才需要 HBM3/HBM3e。

为何常见:旗舰 GPU 都在宣传 HBM,容易让人忽略成本、功耗和实际访存需求之间的平衡。

面试题

Q1. HBM 主要解决的是什么问题?

单选题 · easy

  • A.内存墙导致算力空转← 正确答案
  • B.显存容量不够大
  • C.散热模块效率偏低
  • D.显示器分辨率过低

答案:A。HBM 的重点不是单纯把容量做大,而是用堆叠和互连缩短数据搬运路径,提升带宽,解决算力等待数据的“内存墙”问题。

Q2. HBM3 总数据位宽约为多少?

单选题 · easy

  • A.64 位
  • B.256 位
  • C.1024 位← 正确答案
  • D.8192 位

答案:C。HBM 家族标志性的位宽是 1024 位,它由多个通道并行组成,相当于把几十条 DDR 车道并在一起。

Q3. 计算 HBM 带宽的正确公式是?

单选题 · mid

  • A.传输率 × 位宽 ÷ 8← 正确答案
  • B.传输率 × 位宽 × 8
  • C.层数 × 位宽 ÷ 8
  • D.频率 × 容量 ÷ 8

答案:A。传输率是每秒每线传输的 bit 数,位宽是一次并行传输的 bit 数,两者相乘再除以 8 才能得到字节/秒。

Q4. TSV 在 HBM 中通常指什么?

单选题 · easy

  • A.硅通孔← 正确答案
  • B.铜互联
  • C.光刻胶
  • D.封装基板

答案:A。TSV 全称 Through Silicon Via,是穿过硅片的垂直导电通道,就像连接公寓各层的电梯井。

Q5. HBM3e 相比 HBM3 最核心的优势是?

单选题 · mid

  • A.更高的数据速率与带宽← 正确答案
  • B.更低的位宽和容量
  • C.把 DRAM 改为单层结构
  • D.彻底取消片上纠错机制

答案:A。HBM3e 的数据速率从 6.4 Gbps 提升到 9.6 Gbps,单 stack 带宽从 819 GB/s 升到约 1.2 TB/s。

Q6. HBM 在先进封装中通过什么与 CPU/GPU 连接?

单选题 · hard

  • A.硅中介层和微凸块← 正确答案
  • B.PCIe 插槽和主板
  • C.传统内存条 DIMM 插槽
  • D.USB 接口和外部硬盘

答案:A。HBM 与计算芯粒共同放置在硅中介层上,依靠微凸块和中介层金属线完成短距离互连,类似“立交桥”直接接进大堂。

Q7. HBM3e 数据速率 9.6 Gbps、位宽 1024 bit 时,单 stack 带宽约为多少?

单选题 · extreme

  • A.1.2 TB/s← 正确答案
  • B.9.6 GB/s
  • C.1024 GB/s
  • D.819 GB/s

答案:A。9.6 × 1024 ÷ 8 = 1228.8 GB/s,约 1.2 TB/s。用数据公寓比喻,就是电梯速度提升后,单位时间搬进搬出的租客数量大增。

Q8. 下列哪些属于 HBM 堆叠架构中的核心组成部分?

多选题 · mid

  • A.TSV 硅通孔← 正确答案
  • B.硅中介层← 正确答案
  • C.机械硬盘
  • D.逻辑基底 die← 正确答案

答案:ABD。HBM 依靠 TSV 垂直连接各层 DRAM,依靠硅中介层与处理器互连,底部还有逻辑基底 die 管理数据进出。机械硬盘是外部存储,不属于 HBM 堆叠。

Q9. 增加 HBM 堆叠层数会带来哪些影响?

多选题 · hard

  • A.提升容量← 正确答案
  • B.提高TSV良率难度← 正确答案
  • C.增加散热难度← 正确答案
  • D.必然降低接口带宽

答案:ABC。层数越多,容量越大,但 TSV 对准、散热和良率挑战也随之增加。带宽主要由数据速率和位宽决定,不会因为加层数“必然降低”。

Q10. 下列哪些是 HBM3/HBM3e 演进过程中的典型优化方向?

多选题 · easy

  • A.提高数据速率← 正确答案
  • B.扩大堆叠容量← 正确答案
  • C.降低每bit功耗← 正确答案
  • D.减少内存总线位宽

答案:ABC。HBM3 到 HBM3e 提升速率、扩大容量,并优化能效。减少总线位宽会降低带宽,不是演进方向。