指挥中心不再忙得团团转,把任务下发到各个街区现场办理,整个城市的效率瞬间提升——这就是PIM技术为计算机架构带来的变革。

“内存墙”问题是近年来计算机系统发展的主要瓶颈之一-1。随着处理器速度的飞速提升,内存的速度却未能同步跟上,导致CPU经常需要等待数据从内存中搬运过来,大量时间和能耗消耗在了数据搬运上,而非实际计算-4

处理内存中的PIM技术正在改变这一局面,它像是给记忆体植入了会思考的“神经元”,让数据在老家就能完成处理,不必再千里迢迢奔赴CPU-4


01 架构变革

冯·诺依曼架构奠定了现代计算机的基础,但它也留下了一个“老大难”问题:CPU和内存是分开的。CPU负责计算,内存只管存储,每次计算前都得把数据从内存搬到CPU-4

这就好比指挥中心仓库离得老远,每次干活都得派车队来回运货,大部分时间花在路上,真正干活的时间反而少了。

随着AI和大数据应用的爆发,这个问题越来越严重。数据量呈指数级增长,但连接CPU和内存的那条“马路”(内存通道)宽度有限,成了严重的交通堵塞点-1

02 技术核心

PIM技术的核心思想很直观——让计算靠近数据,而不是让数据跑向计算。具体到DRAM上,PIM技术DRAM的实现方式主要依靠3D堆叠技术-1

想象一下,传统DRAM就像平房,而3D堆叠DRAM则是楼房。在“楼房”的底层,可以设置一个“逻辑层”,专门安置处理单元-1

这个设计妙在哪呢?数据在“楼上”的存储层,想要计算时不用出大楼,坐个“电梯”到楼下逻辑层就行了,完全避开了拥堵的“城际公路”(内存通道)-1

这种架构带来的好处是实实在在的。数据搬运量大减,系统能耗自然就下来了,同时,内存内部的高带宽得以充分利用,处理速度明显提升-1

03 优势场景

PIM技术DRAM特别适合那些“内存密集型”应用。这类应用的特点是需要处理海量数据,但每个数据的计算相对简单-4

比如推荐系统,它需要扫描用户大量的历史行为数据来预测喜好;又比如自然语言处理中的BERT、GPT等模型,它们的部分运算也非常适合在内存中进行-4

在AI推理场景中,一些研究已经探索使用PIM技术DRAM来加速二进制神经网络,取得了能效和速度的显著提升-5

老实讲,这种技术不是要替代CPU,而是作为CPU的得力助手,专门攻克那些让CPU头疼的数据搬运密集型任务。

04 面临挑战

给内存加上计算能力,说起来简单,做起来却有一堆技术坎要过。首当其冲的就是地址翻译问题-7

CPU通过虚拟内存机制管理内存,有一套复杂的页表和TLB(转译后备缓冲器)系统。现在PIM单元要在内存里直接处理数据,它能不能访问这套系统?如果每次都要问CPU,那又回到了通信瓶颈的老路-1

一些研究提出了解决方案,比如IMPICA,它就像给内存中的处理单元配了本“本地地图”,让指针追逐操作完全在DRAM内部完成地址翻译,不用频繁打扰CPU-1

另一个棘手问题是数据一致性。当CPU和PIM单元都能操作同一份数据时,怎么保证它们看到的数据是最新的?传统的缓存一致性协议扩展性差,难以应对成千上万个PIM单元-7

研究人员提出了LazyPIM等方法,通过减少必须的通信来维护一致性,而不是时刻保持同步-1。这好比团队协作时,不需要每做一步都开会,而是定期同步关键进展。

05 未来趋势

PIM技术的发展正沿着多种路径探索。除了在DRAM中集成处理单元,还有研究专注于新型存储器件,如ReRAM,其本身的物理特性就能实现存储与计算的融合-7

未来的PIM技术DRAM可能会更加灵活和可编程。例如3DL-PIM架构,它不在内存中放置传统的算术逻辑单元,而是部署了大量基于查找表(LUT)的处理元件-8

这些查找表可以现场编程,执行各种逻辑和算术运算,就像一块可反复擦写的“计算白板”,更加灵活高效-8

产业界的步伐也在加快。SK海力士的技术路线图显示,面向AI的专用内存产品,如LPDDR6-PIM,已被纳入发展规划-9。到2029-2031年,随着DDR6和3D DRAM技术的成熟,PIM有望在更广泛的场景中落地-9


PIM技术让内存从被动的数据仓库转变为主动的计算参与者,正在缓解“内存墙”困境-4。随着3D堆叠、新型存储器件等技术的发展,以及产业界的持续投入,未来,我们可能会看到更多“会思考”的内存产品,悄然提升着从数据中心到边缘设备的计算效率-3

网友提问与回答

网友A: 看了文章,还是有点抽象。PIM技术DRAM和现在常用的HBM(高带宽内存)有什么区别?它们未来会是竞争还是互补关系?

回答: 这个问题问得很关键,确实容易混淆。简单来说,HBM和PIM技术DRAM解决的是不同层面的问题,它们更像是“搭档”而非“对手”。

HBM的核心目标是提供极高的数据传输带宽。它通过3D堆叠和更宽的接口,在GPU等高性能处理器旁边构建了一个“数据高速服务区”,让处理器能够极快地存取数据-3。你可以把它想象成在繁华商圈旁修建了一个立体停车楼,容量大、进出快,解决了“货物”的快速吞吐问题。

PIM技术DRAM的重点则在于减少数据搬运。它关心的是如何让一部分计算直接在“仓库”(内存)里完成,避免所有“货物”都必须运到“加工中心”(CPU/GPU)。它要解决的是“物流成本”和“交通拥堵”的问题-1

实际上,两者可以非常契合。未来的趋势很可能是融合。3D堆叠技术既是HBM的基础,也为PIM提供了实现的物理条件——在堆叠的内存芯片底部加入逻辑层-1-8。想象一下,未来的高性能内存模组,可能既拥有HBM那样的超高带宽物理接口,又在内部集成了PIM处理单元。

在处理AI工作负载时,可以先用HBM的高带宽满足数据供给,再通过内部的PIM单元高效完成一些预处理或特定的计算操作-4。根据产业路线图,未来的HBM5等产品将整合更多逻辑器件,这种融合的趋势已经显现-3-9。所以,它们不是二选一,而是共同构建下一代高效计算系统的基石。

网友B: 听起来很美好,但PIM技术对普通程序员来说意味着什么?以后写代码的方式要大变样了吗?

回答: 这可能是广大开发者最关心的问题了。别担心,短期内你不会需要彻底重学编程,但长远来看,确实需要一些新的编程思维和工具。

目前的研发重点之一是维持传统的编程模型,比如共享内存模型,让程序员尽可能无感地使用PIM的加速能力-1。理想情况下,编译器或运行时系统能自动识别出哪些代码段(例如那些数据密集但计算规则、访存模式特殊的循环)适合放在PIM上执行,然后悄悄帮你搞定-7

当然,要充分发挥性能,可能需要在代码中给出一些“提示”。这就像现在写并行程序使用OpenMP指令一样,未来可能会有类似的Pragma指令来标记适合PIM的函数或循环-7。但这属于“优化”层面,基础编程逻辑不变。

挑战在于,如何让程序方便地指定数据在PIM内存中的布局,因为连续的数据可能分布在不同的内存颗粒上,这与CPU追求的高带宽访存模式可能存在冲突-7。这需要软硬件协同设计来解决。

对于大多数应用开发者,PIM带来的好处将通过更高效的数据库、机器学习框架或数据分析库来体现。你会感觉运行AI推理或大数据查询更快更省电了,而不必亲自去操控内存中的计算单元。只有系统级、性能关键的底层库开发者,才可能需要深入了解PIM的编程细节。技术的进步,最终目标是让复杂的东西对使用者变得更简单。

网友C: 文章提到工艺变化和噪声是挑战,能具体说说吗?另外,PIM技术会让内存条变得更贵吗?

回答: 这两个问题非常实际,一个涉及技术本质,一个关乎市场接受度。

先说技术挑战。DRAM的制造工艺非常精密,电容器极小,对工艺波动极其敏感。不同芯片之间,甚至同一芯片不同区域的电学特性都会有微小差异,这就是工艺变化-5。PIM需要在DRAM阵列内部或附近做计算,这些微小的差异可能导致计算错误或性能不稳定。

DRAM操作本身(如刷新、行激活)就会在芯片内部产生电噪声-5。旁边进行的计算活动也可能引入新的干扰。这种“邻里纠纷”会影响DRAM存储数据的可靠性,也可能干扰计算精度。

研究人员正在从电路和架构层面解决这些问题。例如PIPF-DRAM这样的设计,通过改进DRAM的操作时序和控制信号,在不大幅改动电路结构的前提下,显著增强了对工艺变化和噪声的鲁棒性-5

关于价格,初期肯定会更贵。任何新技术在引入阶段,研发成本和额外的制造工序都会推高价格。加入逻辑层会使3D堆叠DRAM的封装更复杂-1。但电子产品的规律是,随着量产规模扩大和技术成熟,成本会迅速下降-3

关键要看它带来的价值。如果PIM技术DRAM能为数据中心节省可观的电费,或为手机延长AI应用的续航时间,那么这部分增值完全可能抵消成本的增加。就像当初SSD替代机械硬盘一样,最终市场会衡量性能、功耗与价格的综合天平。产业界的规划也显示,PIM正朝着标准化和降低成本的方向发展,以期在未来几年加速普及-3-9