一、存算一体概述:从冯·诺依曼瓶颈到存算一体

大家好,我是你们这门课的主讲。在芯片行业摸爬滚打了十几年,从传统的数字后端做到编译器,再到一头扎进存算一体这个方向,我最大的感受就是:架构变了,一切都要跟着变。

今天咱们先聊点背景。你想想看,为什么这几年「存算一体」突然火得不行?说白了,就是传统的冯·诺依曼架构扛不住了。

1.1 冯·诺依曼瓶颈:那个绕不开的墙

冯·诺依曼架构大家都不陌生。指令和数据存在一个地方,处理器和存储器分开,中间靠总线传。这个模型统治了计算机半个多世纪。

但问题来了——处理器越来越快,存储器却跟不上。CPU 每秒钟能处理几十亿条指令,可内存的读写速度才多少?这就导致处理器大部分时间在「等数据」。业内管这个叫「存储墙」,也叫「冯·诺依曼瓶颈」。

我记得刚入行那会儿,做一款 AI 加速芯片。算法团队把模型跑在 GPU 上,说推理延迟只要 5 毫秒。结果一上我们的芯片,延迟直接飙到 50 毫秒。查了半天,问题出在数据搬运上——计算只占了 10% 的时间,剩下 90% 都在搬数据。

核心矛盾:计算能力每年提升约 60%,而内存带宽每年只提升约 10%。这个剪刀差,就是存算一体要解决的问题。

为什么会这样?因为冯·诺依曼架构里,计算和存储是物理分离的。数据要从存储器搬到计算单元,算完再搬回去。这个「搬运」过程,既耗时间又耗功耗。

我给大家算笔账:一次 32 位浮点加法,计算本身只消耗约 1 pJ(皮焦耳)。但从片外 DRAM 读一次数据,要消耗约 200 pJ。差了整整两个数量级!你想想看,大部分能量都浪费在路上了。

1.2 存算一体:把计算搬进存储里

存算一体的思路很直接:别让数据来回跑了,直接在存储的地方算。

这个概念其实不新。上世纪 70 年代就有学者提过,但当时工艺不行,也没那么迫切的需求。现在不一样了——AI 模型动辄几亿参数,边缘设备又要求低功耗,传统架构实在玩不转了。

我个人习惯把存算一体分成三个层次,每个层次的「存算融合」程度不一样:

技术分类 融合程度 典型实现 我眼中的优缺点
近存计算 物理靠近,逻辑分离 HBM + 近存处理器 改动小,但带宽仍有上限
存内计算 逻辑融合,数字计算 SRAM/ReRAM 存内计算宏 能效高,但精度和灵活性受限
模拟存算一体 物理融合,模拟计算 基于 ReRAM 的模拟矩阵乘法 能效极高,但工艺和噪声挑战大

近存计算

近存计算,说白了就是把计算单元和存储单元封装在一起,尽量缩短物理距离。比如 HBM(高带宽存储器)把多个 DRAM 堆叠起来,中间穿个硅通孔,带宽能做到传统 DDR 的好几倍。

我在项目中遇到过用 HBM 做 AI 推理的场景。效果确实不错,带宽上去了,延迟降下来了。但本质上还是「搬数据」,只是搬得快了点。功耗墙依然在,只是往后推了推。

存内计算

存内计算更进一步——直接在存储阵列里做数字计算。比如用 SRAM 的位线做加法,或者用 ReRAM 的电流求和做乘法。

嗯,这里要注意:存内计算虽然能效高,但有个坑——精度问题。数字计算要求严格的位宽,而存储单元的特性会有偏差。我曾经调试过一款 SRAM 存内计算芯片,同样的输入,不同批次的结果能差 2-3%。后来加了校准电路才搞定。

避坑指南:做存内计算设计时,一定要预留校准接口。我曾经因为没留校准通路,流片回来发现精度不达标,只能靠软件补偿,效果大打折扣。

模拟存算一体

模拟存算一体是这三个里面最「激进」的。它利用物理定律直接做计算——比如电流的基尔霍夫定律做加法,欧姆定律做乘法。最典型的例子就是基于 ReRAM 交叉阵列的矩阵向量乘法。

你想想看,一个 256×256 的 ReRAM 阵列,一次读操作就能完成 65536 次乘加运算。这在传统架构里,得循环多少次?能效比可以做到传统数字芯片的 100 倍以上。

但代价也很明显:模拟计算的精度受工艺波动、温度、噪声影响很大。而且 ReRAM 器件的良率和耐久性还在改善中。我个人觉得,模拟存算一体更适合对精度要求不那么苛刻的场景,比如推理而不是训练。

1.3 典型应用场景

说了这么多理论,咱们看看实际中哪些地方用到了存算一体。

AI 推理

这是目前最火的应用。AI 推理的特点是:计算模式固定,数据量大,对延迟敏感。

比如在手机端跑一个图像分类模型。传统方案是 CPU/GPU 从内存读权重,算完再写回去。存算一体方案则把权重存在计算单元旁边,甚至直接存在计算单元里。推理延迟可以从几十毫秒降到几毫秒,功耗也能降一个数量级。

我记得有个项目,客户要求在 1mW 功耗内跑通 MobileNet。传统方案试了一圈都超功耗,最后用存内计算方案才搞定。功耗从 5mW 降到了 0.8mW,客户当场就拍板了。

边缘计算

边缘计算对功耗和实时性要求极高。比如工业摄像头,要在 10 毫秒内完成缺陷检测,还不能用大电池。

存算一体在这里的优势很明显:省掉了数据搬运的功耗,计算能效比高。而且存算一体芯片的面积通常更小,适合集成到传感器模组里。

注意:边缘场景的算法经常更新。如果用了模拟存算一体,权重更新可能比较慢。我建议在方案选型时,先评估算法更新的频率。如果一周改一次模型,那还是用近存计算更稳妥。

物联网

物联网设备,说白了就是「电池供电,常年不换」。一个温湿度传感器,可能要在纽扣电池下跑一年。

存算一体芯片的待机功耗可以做到微瓦级,工作时功耗也才毫瓦级。而且因为计算在存储内部完成,不需要频繁唤醒主处理器,进一步省电。

我做过一个智能门锁的项目,用存内计算做指纹识别。传统方案每次识别要 200 毫焦,存内计算方案只要 15 毫焦。电池寿命从 3 个月延长到了 18 个月。这就是存算一体的价值。

1.4 本章小结

咱们这一章聊了三个核心问题:

  • 冯·诺依曼瓶颈:计算和存储分离,数据搬运成了瓶颈。功耗和延迟都浪费在路上。
  • 存算一体技术分类:近存计算、存内计算、模拟存算一体。融合程度越高,能效越好,但挑战也越大。
  • 典型应用场景:AI 推理、边缘计算、物联网。这些场景的共同点是:对功耗和延迟敏感,计算模式相对固定。

下一章,咱们会深入存内计算的核心——存储单元与计算单元的融合设计。我会带大家看看 SRAM 和 ReRAM 到底怎么「边存边算」。

存算一体技术体系 冯·诺依曼瓶颈 存储墙 · 功耗墙 存算一体 打破存储墙 近存计算 物理靠近 · 逻辑分离 HBM · 近存处理器 存内计算 逻辑融合 · 数字计算 SRAM/ReRAM 宏 模拟存算一体 物理融合 · 模拟计算 ReRAM 矩阵乘法 AI 推理 边缘计算 物联网
可可精品资料库