三星把 AI 算力搬进内存条:Hot Chips 2026 LPDDR-PIM 技术解读

三星在 Hot Chips 2026 公布的 LPDDR5X-PIM 模式切换设计

一颗 LPDDR5X 内存芯片,DRAM 阵列内部的可用带宽是 614 GB/s,能送出芯片的接口带宽只有 76.8 GB/s,差 8 倍。AI 计算最频繁的动作是把数据从内存搬给计算单元,每一次搬运都要穿过这条窄接口。Hot Chips 2026 会议上,三星给出的思路是缩短这条路:LPDDR5X-PIM,在 DRAM bank 旁边直接放乘加(MAC)计算单元,芯片对外仍是一颗标准 LPDDR5X,接普通内存控制器就能工作。硬件分析网站 Chips and Cheese 对这份方案做了逐层拆解,结论分两半:硬件设计相当巧,软件集成是真正的难关。

五年路线:从 HBM-PIM 到 LPDDR5X-PIM

内存里做计算(Processing-in-Memory,PIM)不是新想法,三星已经推了五年。2021 年 2 月,三星发布 HBM-PIM(Aquabolt-XL),把 AI 计算引擎放进 HBM2 显存的每个 bank,官方口径是系统性能提升超过两倍、能耗降低超过 70%,论文出现在当年的 ISSCC 2021。那篇论文给出的实测数据是:对比典型的 GPU 加 HBM2 系统,性能提升 2.1 倍,系统能耗降低 71%,芯片用 20nm DRAM 工艺制造。同年,HBM-PIM 集成进 Xilinx Alveo AI 加速卡实测,系统性能提升约 2.5 倍,能耗降低超过 60%。三星当时就宣布要把 PIM 从 HBM 扩展到主流 DRAM 模组和移动内存。

2026 年的 LPDDR5X-PIM 就是这个扩展方向的落地形态:从服务器显存下沉到手机、平板、笔记本通用的 LPDDR。服务器 HBM 位宽极宽、价格高昂,LPDDR 则是出货量最大的内存品类,这一步跨过去,PIM 才谈得上规模。

微架构:16 个 bank,16 个 PIM 块

LPDDR5X-PIM 的基底是一颗普通的 LPDDR5X-9600 芯片:16 个 bank,标准读写逻辑原样保留。改动在每个 bank 旁边加一个 PIM 块,PIM 块访问自己挂着的 DRAM bank 时不经过芯片外部总线,16 个 PIM 块合起来可以用满芯片内部带宽,即前面说的 614 GB/s;常规 DRAM 访问同时最多打两个 bank,上限 76.8 GB/s。

每个 PIM 块内部是一棵 MAC 树加三组寄存器和控制逻辑:

  • 指令寄存器:1024 bit,存 64 条 16 位指令,规定对源操作数做什么运算;
  • 源寄存器:4 kbit,放激活向量(activation vector),给 MAC 阵列提供第一个操作数;
  • 缩放寄存器:2 kbit,放缩放因子,用于在计算前对权重做数值缩放。

第二个操作数不用搬运:三星预期软件把模型权重直接装进 DRAM,MAC 计算时按 bank 原地取数。这种「权重驻留内存、激活值写入寄存器」的分工,正好对应神经网络推理里权重不动、激活值流动的数据流特征。

算力方面,三星的数据是每个 PIM 块的 MAC 阵列每个数据时钟(data clock)维持 4 次 INT8 或 FP8 乘加,不考虑双倍数据率时为每周期 8 次;输入权重降到 4-bit 时吞吐翻倍,整颗芯片的算力达到 2.4 TOPS。单看这个数不高,但 PIM 的规模逻辑是堆芯片数:8 颗 LPDDR5X 合计约 9.6 INT8 TOPS,大致相当于英特尔 Meteor Lake 笔记本处理器里 NPU 的水平。代价同样直白:8 颗 16GB 的 LPDDR5X 意味着 128GB 系统内存,这是一笔不小的成本。

标准协议怎么承载计算:特殊行地址

LPDDR5X-PIM 最工程化的部分,是它没有给 DRAM 接口增加任何新命令。计算能力的暴露方式是预留特殊行地址,工作方式类似 MMIO:每个通道有一对预定义行,激活其中一行把芯片切到单 bank 模式(常规模式),激活另一行切到多 bank 模式(PIM 模式);每个 bank 还有一条预定义行,激活后读写命令就不再访问存储阵列,而是访问 PIM 寄存器。

典型流程是四步。第一步,常规单 bank 模式下把模型权重写进 DRAM;第二步,切到多 bank 模式加 PIM 寄存器激活状态,此时因为处于多 bank 模式,每次 PIM 寄存器写入都向全部 16 个 bank 广播,运算指令、缩放因子、激活向量在所有 PIM 块上保持一致,整个芯片相当于一台约束极强的 SIMD 处理器;第三步,发读命令,这些读不再返回存储数据,而是触发计算,结果累加进各 PIM 块的向量寄存器(VRF);第四步,写命令把 VRF 内容写回 DRAM bank,切回单 bank 模式,一切恢复正常。

带宽账也能算清楚:DDR 突发长度 16 下每个 DRAM 包 256 bit,填满一组源寄存器要 16 次写。如果单 bank 逐个填,16 个 bank 就是 256 次写,主机到 PIM 寄存器的写带宽立刻成为瓶颈。多 bank 广播模式下这个问题被摊平,三星也保留了单 bank 写 PIM 寄存器的能力,但明确它只用于调试。

内存控制器 reorder 访问顺序怎么办?指令寄存器默认按顺序引用源寄存器元素,一旦访问被重排,指令和数据就对不上号。三星的解法是地址对齐模式(AAM):让每条指令从正在访问的列地址推算自己该用哪个源寄存器元素,顺序假设就被彻底移除了。

软件才是硬骨头

Chips and Cheese 图解:乱序执行的推测读会意外触发 PIM 计算

Chips and Cheese 对硬件的评价是正面的,对软件的担忧则贯穿全文,问题集中在四层。

并发冲突。PIM 模式改变了 DRAM 命令的语义:多 bank 模式下,写命令可能是往 PIM 寄存器灌激活值,读命令可能是触发计算。内存控制器和 DRAM 芯片并不知道每个访问来自哪个线程,只要一个非 PIM 线程在 PIM 计算进行中读了同一通道,读请求可能变成一次计划外的计算,把错误结果累进 VRF;一次普通写可能让 VRF 数据写回错误地址。三星的应对是在主机侧隔离出 PIM 专用内存区域,而这通常意味着取消通道间地址交织、把部分通道划给 PIM 独占,非 PIM 应用从此用不上这些通道的带宽,PIM 代码也失去其余通道的算力,两边各让一步。

多任务与抢占。多线程应用要用 PIM 就得加锁,防止一个线程算数、另一个线程读写。更麻烦的是操作系统层面:多个进程可能互不知情地抢用 PIM,一种稳妥做法是 PIM 计算段执行时阻塞其他线程、关中断,代价是系统响应性。抢占一个 PIM 线程意味着把每个 bank 的指令、源、缩放、向量四组寄存器全部读出保存,上下文切换的成本远超普通线程。Chips and Cheese 的原话是,中断和上下文切换对操作系统而言在任何情况下都像是噩梦。

缓存与乱序执行。PIM 计算会修改 DRAM 内容而绕过整个缓存层级,缓存里可能留着过期数据;反过来,缓存也会把本该触发 PIM 运算的访问吸收掉。三星因此建议把 PIM 内存映射为不可缓存,可这一来 CPU 就要在未缓存的慢速内存上空等,性能坍塌。问题还不止缓存:读命令现在带有副作用(触发计算、修改 VRF),而现代 CPU 的推测执行、分支预测、预取器都建立在「读是无害的」这个前提上。预取器提前读一批数据,平时无所谓,对 PIM 就是凭空多出一串计算。上面的示意图画的正是这种场景:分支预测猜错了路径,一次推测读意外触发了 456×2×5 的乘加。

块间没有通路。每个 PIM 块只能快速访问自己挂的那个 bank,PIM 块之间不能直接交换数据,一个块要用另一个块的结果,得由主机用普通 DRAM 读写搬运。对于层与层之间需要全局规约的神经网络,这是一笔绕不开的额外开销。

修路的三种办法

Chips and Cheese 在文末给出了三条改造建议,方向都是把 PIM 嵌回现有的软硬件契约:其一,扩展 DRAM 接口,加一组专用计算命令,省掉模式切换的复杂度;其二,让内存控制器参与缓存一致性协议,计算前对涉及的缓存行做 read-for-ownership,拿到最新数据、持有所有权直到计算完成,CPU 侧无需失效缓存就能看到结果;其三,在 CPU 指令集层面加一条类似 rep macb 的指令,对一段内存做乘加,由硬件决定这次走内存侧计算还是走普通内部运算,编译出来的代码前向兼容,不绑定具体实现。

落点

LPDDR5X-PIM 把「内存里做计算」从服务器专用显存带到了出货量最大的移动内存品类,兼容标准内存控制器意味着理论上服务器、台式机、笔记本甚至手机都能插上就用。Chips and Cheese 留下的判断同样明确:模式切换搅动多任务系统,带副作用的读命令瓦解缓存、预取和乱序执行,不改内存子系统就难以好用。2021 年 HBM-PIM 在加速卡里跑出的性能翻倍和能耗下降说明硬件收益真实存在,2026 年的 LPDDR5X-PIM 把硬件形态又推进了一步,剩下的问题写在软件侧,等待内存控制器、操作系统和指令集给出答案。

来源: