4、存算一体技术:打破冯·诺依曼瓶颈,SRAM/ReRAM/忆阻器在AI推理中的应用
4.1 冯·诺依曼瓶颈——AI芯片的“心头痛”
做芯片设计这么多年,我见过太多项目在AI推理场景下“翻车”。明明算力够,功耗却爆炸。为什么?
说白了,问题出在冯·诺依曼架构上。这个1945年的设计,把存储和计算分开了。CPU要算一个数,得先去内存里拿数据,算完再存回去。一来一回,数据搬运的时间和能耗,比计算本身还高。
我举个例子。你在做一次8位整数乘法,计算本身可能只消耗1pJ(皮焦耳)。但从DRAM里把数据搬过来,要花200pJ。你想想看,200倍的差距!这就是所谓的“存储墙”和“功耗墙”。
核心矛盾:AI推理中,权重数据需要反复读取。每次读取都是一次“长途跋涉”。模型越大,搬运次数越多,瓶颈越明显。
我在一个边缘AI项目里遇到过这种情况。用传统架构跑一个MobileNet,算力绰绰有余,但内存带宽成了短板。帧率死活上不去,功耗却飙到了3W。后来换了存算一体方案,功耗直接降到0.5W。嗯,这就是存算一体的价值。
4.2 存算一体:把计算搬进存储器
存算一体的思路很直接:别让数据来回跑了。把计算单元和存储单元放在一起,甚至让存储单元本身就能做计算。
这样做的好处很明显:
- 消除数据搬运:计算直接在存储位置完成,延迟和能耗大幅降低
- 高并行度:存储阵列可以同时进行大量乘加运算(MAC),非常适合矩阵运算
- 能效比提升:理论上,存算一体芯片的能效比可以比传统架构高10-100倍
目前主流的存算一体技术路线有三条:SRAM、ReRAM和忆阻器。我分别讲讲。
4.3 SRAM存算一体——成熟工艺的“快车道”
SRAM是静态随机存取存储器。它速度快,工艺成熟,和CMOS逻辑工艺完全兼容。这是我最先接触的存算一体方案。
SRAM存算一体的核心思路,是用6T或8T的SRAM单元,改造一下,让它能同时存储权重和执行乘加运算。
具体怎么做?
- 权重存储:把神经网络的权重值,量化后存在SRAM单元里
- 输入驱动:输入特征图以电压形式,驱动SRAM的字线或位线
- 模拟计算:利用基尔霍夫电流定律,在位线上直接累加电流,得到乘加结果
我的经验:SRAM存算一体最适合做小规模、低精度的推理。比如4-bit或8-bit的量化模型。我建议优先考虑28nm或22nm的工艺节点,性能和功耗的平衡最好。
但SRAM也有短板。它属于易失性存储器,掉电数据就丢了。而且单元面积大,6T单元大概占0.5-1μm²(在先进工艺下)。做大模型的话,芯片面积会很大。
4.4 ReRAM存算一体——非易失性的“潜力股”
ReRAM(电阻式随机存取存储器)就不一样了。它是非易失性的,掉电后数据还在。而且单元结构简单,一个1T1R(一个晶体管加一个电阻)单元,面积可以做到4F²,比SRAM小得多。
ReRAM的工作原理,是利用电阻值的变化来存储数据。比如,高阻态代表“0”,低阻态代表“1”。
在存算一体中,ReRAM是这样工作的:
- 权重映射:把权重值映射成ReRAM单元的电导值(电阻的倒数)
- 输入电压:输入特征图以电压形式加到字线上
- 电流累加:每个ReRAM单元的输出电流 = 输入电压 × 电导值。所有单元的电流在位线上自然累加
你看,这就是一个天然的向量-矩阵乘法器。一次操作,完成所有乘加运算。
注意:ReRAM目前最大的问题是良率和可靠性。我曾在流片测试中发现,ReRAM单元的电阻值会随着读写次数增加而漂移。这会导致推理精度下降。建议在设计中加入冗余校验和在线校准机制。
4.5 忆阻器——下一代存算一体的“终极形态”
忆阻器(Memristor)是蔡少棠教授在1971年提出的第四种基本电路元件。它的电阻值会随着流过的电荷量而变化,而且断电后不丢失。
忆阻器在存算一体中的优势非常突出:
- 多比特存储:一个忆阻器可以存储多个比特(比如4-bit),不像SRAM需要多个单元
- 模拟计算:忆阻器的电导值可以连续变化,非常适合模拟域的神经网络计算
- 极致密度:交叉阵列结构,理论上可以实现超高密度存储和计算
我记得在2022年,看过一个基于忆阻器的存算一体芯片原型。它在MNIST数据集上,能效比达到了10 TOPS/W。这个数字在当时非常惊艳。
但忆阻器目前还处于实验室阶段。主要挑战包括:
- 器件一致性:不同忆阻器单元之间的电导值差异大
- 耐久性:读写次数有限,一般在10⁶-10⁸次
- 工艺兼容性:和CMOS工艺的集成还在优化中
4.6 三种技术路线对比
我把这三种技术放在一起,做个对比。这样你心里就有数了。
| 特性 | SRAM | ReRAM | 忆阻器 |
|---|---|---|---|
| 存储类型 | 易失性 | 非易失性 | 非易失性 |
| 单元面积 | 大(6T-8T) | 小(1T1R) | 极小(交叉阵列) |
| 读写速度 | 极快(<1ns) | 中等(10-100ns) | 中等(10-100ns) |
| 耐久性 | 无限 | 10⁶-10⁸次 | 10⁶-10⁸次 |
| 多比特能力 | 需多个单元 | 可多比特 | 可多比特 |
| 工艺成熟度 | 非常成熟 | 中等 | 实验室阶段 |
| AI推理适用场景 | 小模型、低延迟 | 中等模型、高能效 | 大模型、极致能效 |
4.7 存算一体在AI推理中的实战案例
我参与过一个基于SRAM存算一体的语音唤醒芯片项目。目标是在1mW功耗内,实现“小爱同学”级别的关键词识别。
架构设计是这样的:
- 输入层:MFCC特征提取,输出40维特征向量
- 隐藏层:2层全连接网络,每层128个神经元,权重用4-bit量化
- 输出层:Softmax分类,输出5个关键词的概率
我们把权重存在SRAM阵列里。输入特征以电压形式驱动字线。位线上的电流直接累加,得到乘加结果。整个过程不需要从外部存储器搬运权重。
结果怎么样?
- 功耗:0.8mW(传统方案需要3.5mW)
- 延迟:2.3ms(传统方案是8.1ms)
- 精度:95.2%(和浮点模型相比,只下降了0.8%)
这个项目让我深刻体会到,存算一体不是理论上的“花架子”,而是能真正落地的技术。
4.8 存算一体架构的核心逻辑
为了让你更直观地理解,我画了一张存算一体架构的框架图。它展示了数据流和计算过程。
4.9 我的建议与避坑指南
如果你现在要开始做存算一体芯片,我有几点建议:
- 从SRAM入手:工艺成熟,风险低。适合做小规模、低延迟的推理芯片
- 关注量化精度:存算一体对模拟噪声敏感。我建议用4-bit或8-bit量化,精度损失可控
- 做好校准:ReRAM和忆阻器的电导值会漂移。定期校准是必须的
我曾经踩过的坑:在做ReRAM存算一体芯片时,我忽略了温度对电导值的影响。结果芯片在高温环境下,推理精度直接掉了5%。后来加了温度补偿电路才解决。嗯,这个教训很深刻。
存算一体技术,说白了就是让计算和数据“住在一起”。它打破了冯·诺依曼瓶颈,让AI推理更高效、更低功耗。虽然目前还有挑战,但方向是对的。我相信,未来3-5年,存算一体会成为AI芯片的主流架构之一。
公众号:蓝海资料掘金营,微信deep3321