Lecture 7:存内计算(In-Memory Computing)

ECE 6465 Memory Device Technologies and Applications · Shimeng Yu(Georgia Tech)· 时长约 79 分钟 · 观看视频

1. 课程引入:存内计算的动机 00:00:03

在学完 SRAM、DRAM、NAND Flash 以及各种新兴存储器之后,本讲讨论一个前沿话题——如何"用存储器做计算"。这是包括 Yu 教授课题组在内的许多研究团队正在攻关的方向。驱动力非常明确:在片上加速 AI 算法。神经网络拓扑在过去十多年间快速演化——前馈网络(FF)、深度卷积网络(DCN)、带 bypass 连接的残差网络(DRN)、循环网络(RNN)、LSTM、生成对抗网络(GAN),直到注意力模型(Attention)——后者正是今天 Transformer 与大语言模型的基础。

无论哪种拓扑,内存都是大瓶颈,原因有二:(1)所有权重都存放在存储器中,训练要更新权重、推理也要读权重;(2)计算过程会产生大量中间数据(如部分和 partial sum),同样需要保存。这就是把计算搬进(或搬近)存储器的根本动机。

标题页:ECE 6465 Section 7 In-Memory Computing,Prof. Shimeng Yu
图:本讲标题页——ECE 6465 Section 7: In-Memory Computing。

2. ImageNet 分类与片上存储需求 00:02:45

AI 的复兴始于 2012 年 AlexNet 在 ImageNet 竞赛中夺冠——它是首个跑在 GPU 上的里程碑模型;其后 VGG、引入 bypass 的 ResNet,再到近年的 ViT(视觉 Transformer),Top-1 精度从早年的约 70% 提升到今天 ViT 的 90% 以上。

典型 ImageNet 分类模型的参数量在 10~100 Million 量级。若权重量化为 8-bit 整数,10M 参数约等于 10 MB,因此模型需要 10~100 MB 的存储,而且最好全部放在片上——这样可以省掉片外 DRAM 访问的时间和能耗。堆叠 SRAM 有可能达到这一片上容量。

State-of-the-Art ImageNet Classification:精度演进曲线与参数量/FLOPs 对比
图:ImageNet SOTA 模型精度演进与参数规模——10~100M 参数对应 10~100 MB 内存,最好全片上。

3. 训练 vs 推理的内存需求 00:06:13

推理只需要读权重,内存容量约等于模型大小再加少量缓冲/寄存器;而训练必须存储每一层的中间数据(激活、误差、梯度),并且要跨 batch 累积,内存需求远大于模型本身。幻灯片给出的数据(批大小 64、64-bit 字长):

模型类型/应用模型大小训练内存推理内存
ResNetCNN,视觉120 MB21 GB0.12 GB
LSTM 语言模型(非 Transformer)RNN,语言2.5 GB40 GB2.5 GB
讲者强调:必须理解推理与训练的根本区别——全片上训练至今仍然很难,训练严重依赖片外 DRAM,也就是当今最好的 DRAM——HBM。后面讨论的多数 CIM 方案都是针对推理的。
Training needs even more memories 表格:ResNet/LSTM 训练与推理内存用量对比
图:训练比推理需要多 1~2 个数量级的内存(ResNet 训练 21 GB vs 推理 0.12 GB)。

4. AI 硬件趋势与能效指标(TOPS/W) 00:09:18

AI 应用已从计算机视觉(自动驾驶等)扩展到近两年由 Transformer 驱动的 NLP / 生成式 AI(ChatGPT)。GPU 仍是 AI 训练和推理的主力(NVIDIA),依赖 HBM 与 2.5D 集成(如 TSMC CoWoS);但 GPU 非常耗电——单卡几百瓦到约 1000 W,集群达数十 kW,大规模系统达 MW 量级,已经引来碳排放方面的批评。

本领域核心指标:能效 = 吞吐量 / 功率,单位 TOPS/W(Tera Operations Per Second per Watt)。为了公平比较,1 次操作(OP)统一定义为一次 8-bit×8-bit 的 MAC(乘累加)——不同论文口径不一,引用数据时必须先归一化。

量级对比:CPU 最低;GPU < 1 TOPS/W;近存计算(TPU 类数字加速器)约 1–10 TOPS/W;存内计算的目标是约 10–100 TOPS/W。近存计算(TPU)采用数字脉动阵列:大量 PE(处理单元 = 数字乘法器 + 加法器 + 本地寄存器)加上共享 SRAM 全局缓冲,并配有池化/激活等专用功能单元,比通用 GPU 更定制化;模型放不下时仍需访问片外 DRAM。

但即便如此,"存储墙"(memory wall)依然存在:计算(PE)与存储(共享 SRAM)是分离的,片上数据搬运量仍然很大——这正是推动向存内计算范式转移的原因。

AI Hardware Trends 总览:CPU→GPU→近存计算→存内计算的能效阶梯,RRAM CIM 芯片照片与 CIM 宏结构
图:本讲核心总览——AI 硬件能效阶梯 CPU → GPU(<1 TOPS/W)→ 近存计算(1–10 TOPS/W)→ 存内计算(~10–100 TOPS/W)。

5. 存内计算范式与技术选型 00:17:18

存内计算的基本范式是权重固定(weight stationary):权重存在存储器(SRAM 或 RRAM 等)中不动,只搬运输入和输出。与常规存储访问的本质区别在于:常规读写一次只打开一行(wordline),而 CIM 要同时打开多行,把输入向量并行加载,在阵列内部完成计算,最大化并行度。

技术选型上,Yu 组多年流片得出的经验是:

注意:若设备 100% 活跃使用,SRAM 的能效仍然完胜;只有在低占空比场景(例如只有 1% 的时间在工作)下,RRAM 的总能耗才可能更低。Yu 组已通过 TSMC 流片了 40nm RRAM CIM 芯片验证这一路线。

6. 现代 AI 模型的内存需求分级 00:23:39

近两年研究兴趣从小模型(图像分类,约 10~100 MB)转向大语言/多模态模型。GPT-4 约有 1.8 万亿(trillion)参数,超过 TB 级——SRAM、RRAM 等嵌入式片上存储对此完全无用(SRAM 再 scaling 20 年也达不到这个容量),这是 DRAM 甚至 NAND Flash 的领域(NAND 太慢,所以实际靠 DRAM)

幻灯片给出的分级:图像分类类模型(10~100 MB 级)→ 计算嵌入到片上存储(与逻辑同芯片);语言/图模型(10 GB~TB 级)→ 计算结合存储级存储器(与逻辑分芯片)。量化估算:HBM 堆叠 12 层 2D DRAM,每片约 32 Gbit = 4 GB,一个 HBM 栈只有几十 GB;要装下 1 TB 模型需要约 10 块 GPU(每块配一套 HBM)。因此 DRAM 的持续 scaling(如 DRAM 讲中提到的单片 3D DRAM)一旦实现,将进一步推动大模型应用。

The Memory Demand of Modern AI Models:参数量随年份增长图,AlexNet 61MB 到 DLRM-2022 2TB
图:现代 AI 模型内存需求的爆炸式增长(AlexNet 61 MB → GPT-3 175 GB → DLRM-2022 2 TB)及嵌入式 vs 存储级 CIM 的分级。

7. Google TPU v1 架构与各代参数 00:27:05

TPU(Tensor Processing Unit)约 2016 年问世。Google 只在 ISCA 2017 论文中公开了 TPU v1 的细节,最新已演进到 v5(细节未公开)。TPU v1 的关键参数:28nm 工艺,die 面积 331 mm²;矩阵乘法单元 MXU = 256×256 = 65,536 个 8-bit MAC(占芯片面积 24%);统一缓冲(Unified Buffer)24 MB SRAM(占 29% 面积,主要存权重和激活);累加器 4 MB SRAM(存中间数据/部分和)——片上 SRAM 共 28 MB,约占芯片面积 35%;时钟 700 MHz;片外 8 GB DDR3;功耗 75 W;峰值 23 TOPS,能效 0.3 TOPS/W。

代次(年份)工艺时钟片外存储功耗峰值吞吐能效
TPU v1(2016)28nm,331mm²700 MHz8 GB DDR375 W23 TOPS0.3 TOPS/W
TPU v2(2017)16nm16 GB HBM45 TOPS
TPU v3(2018)16nm940 MHzHBM123 TOPS
TPU v4(2021)7nm,<400mm²1050 MHz32 GB HBM170 W275 TOPS1.62 TOPS/W
Edge TPU v1(2018)2 W4 TOPS2 TOPS/W

可以看到:早期版本能效低于 1 TOPS/W,近期也只有几个 TOPS/W;片上 SRAM 只有几十 MB,跑大模型仍然需要挂 DRAM/HBM。

Floor Plan of TPU v1 带教授批注:芯片版图、各代 TPU 参数对比表、MXU/UB/Accumulator 说明
图:TPU v1 芯片版图(带批注:全局缓冲存权重、累加器存中间数据)与各代 TPU 参数对比。

8. 脉动阵列架构与数据流 00:31:43

脉动阵列(systolic array)= 规则的 2D PE 阵列;每个 PE 只与最近邻相连;每个 PE 是一个 MAC 单元(数字乘法器 + 加法器 + 本地寄存器);输入和中间输出每个时钟周期前进一个 PE。其核心思想是数据流(dataflow)与数据复用:尽量减少 PE 与 SRAM 全局缓冲之间的往返。计算开始前,权重先从缓冲预取、存入各 PE 的本地寄存器。

以向量-矩阵乘法为例:输入 x1 与权重 W11 相乘得到部分和 y1 的第一项,部分和沿水平方向逐周期传递并累加(y1 = x1·W11 + x2·W12 + …);同时输入 x 沿垂直方向传给下方邻居复用——形成一个波前(wavefront)扫过整个阵列,最终在阵列边缘得到输出向量。优点:部分和不必写回全局缓冲、输入不必重复从全局缓冲读取,只有最近邻的短距离数据传输,同时节省延迟和能量。

矩阵-矩阵乘法则可以流水线化:输入矩阵的不同行对应不同波前依次泵入,PE 不空闲,计算密度高。这一架构被 Google 及众多设计公司、初创公司广泛采用。

Systolic Array Architecture:2D PE 阵列与 MAC 单元(乘法器+加法器+REG)结构
图:脉动阵列架构——2D PE 阵列,每个 PE 含乘法器、加法器与本地寄存器。
Systolic Array Operation:矩阵-矩阵乘法的波前流水线映射,权重驻留、输入按行分波泵入
图:脉动阵列的矩阵-矩阵乘法波前流水线——权重驻留、输入与部分和在邻居间流动,复用充分、数据搬运全部本地化。

9. 替换 TPU 全局缓冲:判据与 2T 增益单元 eDRAM 00:41:01

TPU 架构中 MAC 部分用先进逻辑工艺即可,真正的瓶颈和改进机会在全局缓冲——越大越好。若想用新型存储器替换这块 SRAM,判据是:容量 10~100 MB 或更大;高速 <3 ns(兼容末级缓存,时钟约 700 MHz~1 GHz);读写都密集;长耐久 >1E14 次;保持时间可放宽到秒级(数据可以刷新)。

这些判据排除了大多数新兴 NVM——RRAM、PCM 甚至 STT-MRAM:写速度太慢(~100 ns)、耐久只有 1E6~1E9 次、写能耗超过 1 pJ/bit(MRAM 写能耗过大)。唯一的候选是 2T 增益单元(gain cell)eDRAM——无电容 DRAM:一个写晶体管加一个读晶体管,电荷暂存于存储节点,利用读晶体管的跨导实现非破坏性读出。关键挑战是保持时间由写晶体管漏电决定——硅沟道只有微秒级(刷新太频繁,收益尽失);改用宽禁带氧化物半导体沟道(如 IWO)后,保持时间可达秒级甚至 10 秒

Yu 组的 benchmark(128 MB cache,3nm SRAM vs CAA-IWO 2T 增益单元,垂直晶体管,单元面积 0.013 µm²):

指标3nm SRAMCAA-IWO 2T-GC变化
面积24.147 mm²10.545 mm²-56%
读延迟9.794 ns8.016 ns-18%
写延迟5.613 ns6.504 ns+16%(略慢)
读能量-29%
写能量+6%
漏电功耗370.66 mW209.949 mW-43%

氧化物沟道是 BEOL 兼容的,可以堆叠多层(tier),容量潜力达数百 MB 甚至约 8 层堆叠下的 1 GB。该方向仍处研究阶段,但很多公司持续关注。

Replacing SRAM Global Buffer with Emerging Memories:判据列表、3nm SRAM vs CAA-IWO 2T-GC PPA 对比表、CAA IWO MOSFET 结构
图:替换 TPU 全局缓冲的判据、3nm SRAM 与 CAA-IWO 2T 增益单元的 PPA 对比及 3D 堆叠示意。

10. CIM 基础:模拟/混合信号计算 00:47:06

把神经网络层映射到存储阵列的方法:输入作为电压加到字线(WL),权重预先存为单元的电导。根据欧姆定律,电压 × 电导 = 单元电流;同时打开多行后,各单元电流沿位线(BL)自动求和(基尔霍夫电流定律),列底部的总电流就是部分和——乘累加完全在模拟域完成,"全靠物理定律计算":Isum,j = Σi VWL,i × Gi,j

列尾用 ADC 把模拟电流量化回数字位。若权重是 8-bit 而每个单元只能存 1-bit,就用 8 个单元拼出 1 个权重,各列输出带有 MSB/LSB 的位权差异,需要移位累加(shift-add)重构部分和。阵列外围电路包括 WL 驱动、MUX、ADC 和 shift-add 单元;能存多位的单元更适合做突触权重。位单元的三类选择:

多行并行开启正是 CIM 吞吐量与能效提升的来源。

CIM Basics:神经网络到阵列的映射、WL驱动/MUX/ADC/Shift-add 外围、8T SRAM/1T1R/1FeFET 三种单元
图:CIM 基础——神经网络层到交叉阵列的映射、外围电路与三种候选位单元(引自 Yu 等 IEEE CAS Magazine 2021 综述)。

11. 为什么用 SRAM 做 ACIM:位单元变体 00:51:14

SRAM 是成熟的硅 CMOS 技术,随逻辑工艺一路 scaling 到 3nm 及以后;大容量缓存早已验证(7nm 256Mb [ISSCC 2017]、5nm 256Mb [IEDM 2019])。针对模拟 CIM(ACIM),领域内修改 SRAM 位单元的论文至少上百篇,主要变体有四种:

Why SRAM for ACIM:Conventional 6T / Split 6T / 8T read decoupled / Transposable 8T 四种位单元电路图
图:ACIM 的四种 SRAM 位单元变体电路。

12. 实例:TSMC 7nm SRAM ACIM(ISSCC 2020)与 SRAM CIM 小结 00:53:13

代表作(Q. Dong et al., ISSCC 2020,TSMC):7nm 工艺、foundry 8T 读解耦单元、4 kb 演示阵列(64×64),输入/权重/输出精度均为 4-bit,宏面积 0.0032 mm²,工作电压 0.65~1 V;0.8 V 时周期 5.5 ns、最大功率 1.42 mW,吞吐 372.4 GOPS,能效 262.3~610.5(平均 351)TOPS/W——注意这是 4b×4b 口径。

归一化要点:4b×4b 口径的 TOPS/W 必须除以 4 折算到 8b×8b 标准 → 约 88 TOPS/W。这仍然很高,但它只是单宏(macro)数字;集成到系统后(宏间通信等开销),系统级能效会明显更低。

设计亮点:多行同开、列电流累加表示部分和;模拟移位累加——不为每列单独配 ADC,而是用电容式 DAC 阵列(charge sharing)按电容位权放大不同列(MSB 列的电流权重是 LSB 列的 8 倍),在模拟域先完成 shift-add 再送入 4-bit Flash ADC;另加补偿电容平衡不同列的 RC 延迟。多位输入用 RWL 脉冲个数实现,4-bit 权重靠 ADC 前的电荷共享实现。

SRAM ACIM @ ISSCC 2020 (TSMC):芯片参数表与 88 TOPS/W 归一化说明
图:TSMC 7nm SRAM ACIM 参数表——归一化到 8b×8b 后约 88 TOPS/W。
Key Features:64×64 8T 阵列、补偿电容、4-bit Flash ADC、电荷共享实现 4b 权重(带 MSB/LSB 批注)
图:该设计的关键特性——电容电荷共享实现模拟移位累加 + 4-bit Flash ADC。

SRAM CIM 小结 00:56:31:SRAM 是 CIM 的成熟候选,3nm 及以后可用,原型能效亮眼;大容量 SRAM 阵列的主要劣势是漏电功耗。6T 最紧凑但读写不解耦,多行激活存在读干扰——降低 WL 电压有帮助,但可同开的字线数受限(例如 64 行);8T 解耦读写路径,CIM 设计更灵活。

Foundry 设计规则限制:foundry 只对 6T/8T 提供紧凑设计规则(compact design rule);任何进一步修改位单元都必须改用手工 logic 设计规则,单元版图面积会大 2×~4×,密度优势尽失。旧节点(65nm)修改位单元和 WL/BL 布线的自由度大;先进节点(28nm 及以后)foundry 基本不允许改动。
Summary of SRAM based CIM 总结页
图:SRAM CIM 总结页。

13. 为什么用 RRAM 做 ACIM:NTHU/TSMC 22nm 实例 00:57:47

同一技术节点下,RRAM 相对 SRAM 的好处:单元更小且可能做到多 bit/cell;约 100 MB 参数可以全片上;减少片外访问;非易失、几乎无漏电,可动态电源门控、即开即用(边缘场景的关键优势);还有 BEOL 3D 堆叠潜力。RRAM 工艺日趋成熟:TSMC 40nm RRAM(ISSCC 2018)、Intel 22nm RRAM(ISSCC 2019);厂商还有 Winbond、Sony、Panasonic 等,但商业上对外提供 RRAM 流片服务的主要是 TSMC

代表作(C.-X. Xue et al., ISSCC 2021,新竹清华大学 Marvin Chang 组 + TSMC):22nm CMOS 逻辑工艺、foundry 1T1R SLC ReRAM、容量 4Mb(8 个 sub-bank)、子阵列 1024 行 × 512 列;0.8 V 下 8bIN-8bW-14bOUT 延迟 14.8 ns。能效随精度配置变化:

精度配置(输入-权重-输出)能效(TOPS/W)
1b IN - 2b W - 4b OUT195.7
4b IN - 4b W - 10b OUT47.26
8b IN - 8b W - 14b OUT11.91

归一化到 8b×8b 后约 12 TOPS/W,低于 SRAM 方案——部分原因是 22nm 对 7nm 的节点差距。设计要点:8-bit 权重存于 8 个单元(2 补码编码);输入分 3 相、用不同 WL 脉宽实现。

讲者强调的设计约束:该芯片一次只并行打开 4 行——RRAM 电阻太低,如果开满 1000 多行,列电流会达到数十 mA,直接烧毁芯片。低导通电阻从根本上限制了 RRAM CIM 的并行读能力。
Why RRAM for ACIM:RRAM 优点列表、氧空位导电细丝原理图、I-V 特性、TSMC 40nm 与 Intel 22nm 芯片照片
图:RRAM 做 ACIM 的优点与工艺成熟度(TSMC 40nm、Intel 22nm)。
RRAM ACIM @ ISSCC 2021 (NTHU/TSMC):宏框图、芯片参数与能效表、Shmoo 图(带批注)
图:NTHU/TSMC 22nm RRAM ACIM——4Mb 1T1R 宏,归一化后约 12 TOPS/W(Shmoo 图显示 0.8 V 下 14.8 ns)。

14. RRAM ACIM 的 PVT 挑战与小结 01:00:08

无论 SRAM 还是 RRAM,做模拟 CIM 都不可避免地受 PVT(工艺/电压/温度)变化引起的精度下降——这是模拟电路的固有问题,部分和结果天然带噪声。Yu 组 40nm RRAM-CIM 流片实测(W. Li et al., JSSC 2022,GaTech 设计 + TSMC 工艺):不同 VDD(1.0/0.9/0.8/0.7 V)下,即使加了 (16,10) MAC-ECC 纠错,高部分和值处的正确输出百分比仍会下降;不同温度(25~120°C)下同样如此。

把芯片实测统计注入神经网络仿真,即便是中等难度的 CIFAR-10,精度也有可感知下降:软件基线 92.0%;外部参考方案 25°C 时 91.5%、120°C 跌到 79.6%;片上参考方案 25°C 时 90.7%、120°C 时 85.8%——片上参考加偏移消除有缓解作用,但仍降低几个百分点。

应用启示:安全攸关(如自动驾驶)等不容许精度损失的场景不适合模拟 CIM,即使其能效高于数字方案。
RRAM ACIM Challenges:40nm 芯片照片、不同 VDD/温度下正确输出率柱状图与热图、CIFAR-10 精度对比
图:GaTech 40nm RRAM CIM 实测——PVT 变化导致的输出错误与 CIFAR-10 精度下降。

RRAM CIM 小结 01:02:39:1T1R 或 2T2R 是典型位单元,单元面积约 30F²~60F²,同节点下密度约为 SRAM 的 2.5×~5×(但 22nm RRAM 对 7nm SRAM 就毫无优势了)。RRAM 有多级单元(MLC,如 2 bit/cell)潜力可再提密度,但 MLC 可靠性需要优化(编程后弛豫、阻值漂移、高温保持等)——对推理芯片来说,关键是中间阻态要稳定:阻值变了权重就变、精度就变。此外仍面临高编程电压(尤其 forming)和低导通电阻的挑战。

与存储应用的本质区别:存储只要求阻值分布尾部有间隙、能区分 0/1 即可;CIM 要把模拟阻值累加,每个阻值分布必须非常紧贴理想值,所以要用激进的迭代 write-verify 收紧分布——这使 RRAM CIM 只适合推理(离线训练后一次写入),难以做原位训练。RRAM scaling 落后 SRAM,量产最先进 22nm(TSMC、Intel),22nm 可能是低成本边缘平台的"甜点"。
Summary of RRAM based CIM 总结页
图:RRAM CIM 总结页。

15. 系统级架构与卷积核权重映射 01:05:31

现状:ISSCC 上大多只演示单个宏(macro)或单个 PE,模拟 CIM 至今还没有系统级 demo——系统级需要集成多个宏、整体数据流、缓冲和专用功能单元,集成工作量很大。Yu 组提出的层级化系统架构:Chip(全局控制、池化/累加/激活单元、L3 buffer)→ Tile(PE 阵列 + L2 buffer)→ PE(子阵列 + L1 buffer + 控制)→ Sub-array(1T1R 阵列 + WL/SL 开关矩阵 + MUX + ADC + 减法/移位累加/寄存器)。

卷积是 4 维张量运算(输入特征图 IFM 三维 + 多个 kernel),必须展开(unroll)到二维存储阵列

Overall RRAM CIM Architecture:Chip/Tile/PE/Sub-array 四级层次图
图:系统级 RRAM CIM 架构——Chip / Tile / PE / Sub-array 四级层次。
A Better Weight Mapping of Conv. Kernel:K×K 子矩阵映射与 IFM 邻居复用
图:改进的卷积核权重映射——K×K 个子阵列并行处理 kernel 各空间位置,IFM 在相邻 PE 间复用。

16. 电容式电荷域 ACIM 01:09:14

动机:电阻式电流域计算中,只要输入为高,每一行都持续流过电流,静态功耗占主导,这也限制了可并行打开的行数。Yu 组提出的思路:把交叉点换成可编程电容(nvCap,高/低电容两态,类比高/低阻态)。电容只在输入翻转时有瞬态充放电电流(只有动态功耗),输入稳定后零功耗。

计算公式从电流域的 Iout,j = Σ VWL,i × Gi,j(电压×电导→电流求和)变为电荷域的 Vout,j = Σ(VWL,i × CFE,i,j) / Cref(电压×电容→电荷转移),电荷转移到阵列边缘由运放/参考电容读出。其他优点:读在 DC 0V 下进行,无读干扰;导线 IR 压降可忽略(电容阻抗远高于 Rcell/Rwire);单元面积小、无潜行路径电流(无需选通管);BEOL 3D 堆叠特性好(FEOL CMOS 放在阵列下方)。

子阵列级 benchmark(128×128 阵列,1-bit 向量-矩阵乘归一化,Y.-C. Luo, IEDM 2021):

技术能量延迟BEOL 堆叠
电容式(nvCap)0.96 pJ5.1 ns支持(唯一)
1T-1RRAM88 pJ<5 ns
1T-1MRAM193 pJ<5 ns
1T-1FeFET21 pJ<5 ns

电容式方案的能量比电阻式低数十到上百倍(10~100 倍量级),延迟与其他方案相当。

Capacitive ACIM in Charge-Domain:电阻式 vs 电容式交叉阵列对比、两个域的计算公式
图:电流域 vs 电荷域 ACIM——交叉点从可编程电阻换成可编程电容,计算公式相应改变。
Benefits of Charge-domain ACIM:充电/电荷转移两相操作图、子阵列级 benchmark 对比表
图:电荷域 ACIM 的两相操作与子阵列级 benchmark——0.96 pJ vs 电阻式 21~193 pJ。

17. 数字 CIM(DCIM):从模拟回到数字 01:11:55

新趋势:由于模拟 CIM 深受变差导致的精度下降困扰,业界正在从模拟转回数字——数字计算无噪声、无精度损失。TSMC 提出的 DCIM 方案(Yu-Der Chih et al., ISSCC 2021):SRAM 存权重、输入并行加载,每个 SRAM 单元旁边加一个本地逻辑门做 1-bit 乘法——从真值表可知 1-bit 乘积恰好就是一个 NOR 门;仍然多行开启保持输入并行性;部分和不再用电流求和,而是经加法树(adder tree)做数字累加,再做 shift/add。

代价与收益:加法树的面积/能耗使 DCIM 的效率低于电流求和,加法树成为新的瓶颈;但它彻底消除了噪声、无精度损失,并且能完整享受先进逻辑节点的 scaling(3nm 及以后)。产业原型迭代:TSMC 5nm DCIM(ISSCC 2022,12T 单元)→ TSMC 3nm DCIM(ISSCC 2023,6T 单元,0.0157 mm² 宏)→ MediaTek 3nm DCIM(ISSCC 2024)把宏集成进带主处理器的完整 SoC——从宏走向系统。能效与输入稀疏度相关(输入翻转率 10%~25% 等不同条件):3nm 演示从几十到 100+ TOPS/W(4b×4b 口径),归一化到 8b×8b 后仍可达数十 TOPS/W 量级

Digital CIM (DCIM):模拟 CIM vs 数字 CIM 对比框图、NOR 真值表、加法树阵列(带批注)
图:DCIM 原理——SRAM 单元旁加 NOR 门做 1-bit 乘法,部分和经加法树数字累加。
Trending: Moving from ACIM to DCIM:TSMC 5nm/3nm 与 MediaTek 3nm 芯片及参数表
图:ACIM→DCIM 产业趋势——TSMC 5nm/3nm 宏到 MediaTek 3nm SoC 集成。

18. 大模型加速:DRAM PIM(近 DRAM 计算) 01:15:29

大语言模型是"DRAM 的天下",因此 Samsung、SK Hynix 都推出了 PIM(Processing-In-Memory)/ 近 DRAM 计算产品。Samsung HBM-PIM(Aquabolt-XL,已上市):在 DRAM bank 旁增加 MAC 单元。微架构三大组成:16 通道 FP16 SIMD FPU 阵列(16 个 FP16 乘法器 + 16 个加法器,支持浮点);命令/通用/标量寄存器堆(CRF、GRF、SRF)PIM 单元控制器(取指、译码、流水线控制)。PIM 单元位于每个 2D DRAM die 上,而不是逻辑基底 die 上。

讲者提醒:HBM-PIM 本质上是"近存"计算——计算不能真正进到 DRAM 阵列内部,数据要先经感测放大器/行缓冲就绪后再送 PIM 单元。而且 DRAM 工艺中的逻辑器件是老旧节点(等效约 65nm),MAC 性能不佳。Yu 组建议的理想方案是把 DRAM die 与先进逻辑 die(如 3nm)做混合键合(hybrid bonding),而不是在 DRAM die 上做旧逻辑——业界尚未演示。

系统验证:HBM2-PIM 与未修改的 GPU + Xilinx FPGA 集成验证;片外 / 片上 PIM 计算带宽分别为 1.23 TB/s 和 4.92 TB/s。SK Hynix 也有类似 PIM 产品,但基于 GDDR6 而非 HBM。

Processing-in-Memory / Near-DRAM-compute:HBM-PIM 微架构(FP16 MULT/ADD、CRF/GRF、bank 接口)
图:Samsung HBM-PIM 微架构——bank 旁的 FP16 SIMD FPU 与寄存器堆。
HBM-PIM 系统集成:Aquabolt-XL die 照片、3D 堆叠 PIM-HBM、4-HBM+GPU 集成
图:HBM-PIM 系统集成与带宽(片外 1.23 TB/s、片上 4.92 TB/s);SK Hynix 另有 GDDR6-PIM 产品。

19. 总结与展望 01:18:34

Outlook 页要点(因时间关系讲者口头略过,以下为幻灯片内容):

Outlook 总结页全文
图:本讲 Outlook 总结页。

本讲要点总结

术语表

术语中文说明
In-Memory Computing (IMC) / CIM存内计算将计算(主要是乘累加)直接在存储阵列内/旁完成,避免数据搬运的架构范式。
Near-Memory Computing近存计算计算单元靠近存储(如 TPU 的 PE+共享 SRAM),但计算与存储仍分离,能效约 1-10 TOPS/W。
Processing-In-Memory (PIM)存内处理业界(三星/海力士)对在 DRAM bank 旁加计算单元方案的称呼,本质是近存计算。
MAC (Multiply-and-Accumulate)乘累加神经网络核心运算:先乘后加;能效统一以 8b×8b MAC 为 1 个操作计。
TOPS/W每瓦太拉操作数能效指标 = 吞吐量(TOPS)/ 功率(W)。
Memory Wall存储墙冯·诺依曼架构中处理器与存储间数据搬运成为性能/能耗瓶颈的现象。
Weight Stationary权重固定数据流策略:权重驻留在存储/PE 中不动,只移动输入和输出。
Systolic Array脉动阵列2D PE 阵列,数据像波前一样逐周期在相邻 PE 间传递,输入垂直流动、部分和水平流动。
PE (Processing Element)处理单元含数字乘法器、加法器和本地寄存器的基本计算单元。
TPU (Tensor Processing Unit)张量处理单元Google 的数字脉动阵列 AI 加速器。
Unified Buffer / Global Buffer统一缓冲/全局缓冲TPU 中存放权重与激活的大容量共享 SRAM(v1 为 24 MB)。
Partial Sum部分和乘累加过程中的中间累加结果,CIM 中对应位线求和电流。
ACIM (Analog CIM)模拟存内计算利用欧姆定律和基尔霍夫电流定律在模拟域做乘法与电流求和的 CIM。
DCIM (Digital CIM)数字存内计算SRAM 单元旁加 NOR 门做 1-bit 乘法、用加法树数字累加的 CIM,无精度损失。
ADC模数转换器把位线求和电流/电压量化回数字位的电路,是 ACIM 的主要开销之一。
Shift-and-Add移位累加多个 1-bit 单元拼成多位权重时,按 MSB/LSB 位权重构部分和的操作。
8T SRAM (Read-decoupled)8 管读解耦 SRAM增加独立读路径的 SRAM 单元,多行开启时无读干扰,ACIM 常用。
Read Disturb读干扰多行同开时位线过度放电破坏 6T SRAM 存储数据的风险。
1T1R一管一阻一个选通晶体管串联一个 RRAM 电阻的位单元,电导代表权重。
RRAM (ReRAM)阻变存储器基于氧空位导电细丝的非易失存储器,量产最先进节点 22nm。
MLC (Multi-Level Cell)多级单元一个单元存多于 1 bit(多个阻值/电容级),可提升密度但可靠性要求更高。
Write-Verify写校验迭代写入并验证以收紧阻值分布的编程方法;使 RRAM CIM 只适合推理而难以原位训练。
PVT Variation工艺/电压/温度变差模拟电路固有的变差来源,导致 ACIM 不可避免的精度下降。
ECC (Error Correction Code)纠错码用于缓解 CIM 输出误差的冗余编码(如 (16,10) MAC-ECC)。
Gain Cell (2T eDRAM)增益单元两晶体管无电容 eDRAM,靠读管跨导非破坏性读出;氧化物沟道(IWO)可把保持时间提到秒级。
IWO (Indium-Tungsten-Oxide)铟钨氧化物宽禁带氧化物半导体沟道材料,超低关态漏电,BEOL 兼容。
BEOL (Back-End-Of-Line)后道工艺金属互连层工艺;BEOL 兼容器件可堆叠在 CMOS 上方实现 3D 集成。
Charge-Domain Computing电荷域计算用可编程电容(nvCap)做 V×C 电荷转移计算,只消耗动态功耗,能耗比电流域低 10~100 倍。
nvCap非易失电容可编程为高/低电容两态的交叉点器件(如铁电电容 CFE)。
Adder Tree加法树DCIM 中对各行 1-bit 乘积做数字累加的树状加法器结构,是 DCIM 的面积/能耗瓶颈。
HBM (High Bandwidth Memory)高带宽存储器多层 2D DRAM 的 3D 堆叠(如 12 层),通过 2.5D 集成(CoWoS)与 GPU 相连。
HBM-PIM (Aquabolt-XL)三星 HBM 存内处理产品在每个 DRAM die 的 bank 旁集成 FP16 SIMD FPU 的 PIM。
Hybrid Bonding混合键合将 DRAM die 与先进逻辑 die 直接键合的 3D 集成技术,可绕开 DRAM 内老旧逻辑工艺的限制。
IFM / OFM输入/输出特征图卷积层的输入与输出张量;权重映射需把 4D kernel 张量展开到 2D 存储阵列。
Inference / Training推理 / 训练推理只读权重,内存约等于模型大小;训练需存储并跨 batch 累积中间数据,内存需求高 1~2 个数量级。