三、技术分类:近存计算、存内计算、存算一体架构的演进路线
好,咱们进入第三章。这一章我打算把存算相关的几个概念彻底掰扯清楚。
很多初学者一上来就被「近存计算」、「存内计算」、「存算一体」这三个词搞晕了。说实话,我刚入行那会儿也迷糊过。有一次跟客户开会,对方问我们做的是近存还是存内,我支支吾吾了半天...嗯,后来我花了整整一周,把这三者的边界和演进逻辑理了一遍。今天就把这套理解分享给你。
3.1 为什么会有这三种不同的技术路线?
核心原因只有一个:存储墙。
你想想看,处理器算力每年涨个50%,但内存带宽每年只涨10%左右。这个剪刀差越来越大。数据在DRAM和计算单元之间搬来搬去,功耗高、延迟大。
我习惯把这个问题比作「工厂和仓库离得太远」。工人(计算单元)要干活,得不停去仓库(存储)取料。路上花的时间比干活还多。
那怎么办?三种思路:
- 近存计算:把仓库搬到工厂隔壁
- 存内计算:直接在仓库里干活
- 存算一体:把仓库改造成自带加工能力的智能仓库
这三者不是互斥的,而是递进关系。说白了,是逐步把「计算」往「存储」里面塞的过程。
核心观点:从近存到存内再到存算一体,本质上是数据搬运距离不断缩短、计算与存储融合程度不断加深的过程。
3.2 近存计算:把计算单元搬到存储旁边
近存计算(Near-Memory Computing)是最早被广泛采用的思路。它的做法很简单:把处理器和内存封装在一起,缩短物理距离。
典型的例子就是HBM(高带宽存储器)配合2.5D/3D封装。GPU和HBM通过硅中介层连接,距离从厘米级缩短到毫米级。
我在项目中遇到过这样一个场景:做AI推理加速器时,最开始用DDR4,带宽死活上不去。后来换成HBM,同样的计算逻辑,吞吐量直接翻了4倍。这就是近存计算的价值——不改变计算方式,只改变数据通路。
避坑指南:我曾经以为近存计算就是万能的。后来发现,如果计算密度太高,近存方案依然会遇到带宽瓶颈。因为物理距离虽然缩短了,但数据还是要通过总线传输,总线宽度是有限的。
近存计算的关键技术点:
- 3D堆叠:通过TSV(硅通孔)垂直连接存储和计算层
- 高带宽接口:如HBM的1024位数据总线
- 数据局部性优化:尽量让数据在本地处理,减少跨芯片通信
3.3 存内计算:直接在存储阵列里做运算
存内计算(In-Memory Computing)就更激进了。它直接在存储单元内部完成计算,数据根本不需要搬出去。
你可能会问:存储单元不是只能存0和1吗?怎么算?
嗯,这里有个巧妙的设计。以SRAM为例,它的存储单元是6T结构。如果同时激活多个存储单元的行,让它们在位线上做电荷共享,就能实现模拟域的加法运算。说白了,就是利用物理特性做计算。
我记得第一次看到这个方案时,觉得这简直是「作弊」。但仔细一想,这正是存内计算的精髓——用存储器的物理行为代替数字逻辑。
存内计算的主要流派:
| 存储介质 | 计算方式 | 典型应用 | 我个人的评价 |
|---|---|---|---|
| SRAM | 模拟电荷共享 | 小规模神经网络 | 速度快,但面积大 |
| RRAM | 基尔霍夫定律 | 向量矩阵乘法 | 密度高,但精度受限 |
| MRAM | 自旋转移矩 | 逻辑运算 | 非易失,但工艺不成熟 |
| FeFET | 铁电效应 | 存内逻辑 | 潜力大,还在实验室阶段 |
注意:存内计算虽然减少了数据搬运,但模拟计算本身有精度损失。我曾经测试过一个RRAM存内计算方案,8位精度下准确率还行,降到4位就直接崩了。所以,精度和能效之间需要做权衡。
3.4 存算一体架构:从物理融合到逻辑融合
存算一体(Compute-in-Memory,CIM)是更高层次的融合。它不仅仅是把计算单元放到存储旁边或里面,而是从架构层面重新设计计算和存储的关系。
我理解的存算一体,有三个层次:
- 物理层融合:存储和计算在同一个die上,共享工艺
- 电路层融合:存储单元本身具备计算能力(就是存内计算)
- 架构层融合:整个系统的数据流、控制流都围绕「计算即存储」来设计
说白了,前两种是「硬件上的融合」,第三种是「思维上的融合」。
举个例子。传统架构里,CPU从内存取数据,算完再写回去。存算一体架构里,你直接对存储阵列发一条「计算指令」,存储阵列自己算完,结果还留在里面。整个过程不需要数据离开存储介质。
我在设计一款存算一体AI芯片时,遇到的最大挑战不是电路设计,而是编程模型。传统程序员习惯了「load-compute-store」的思维,你让他直接操作存储阵列,他根本不知道怎么写代码。所以,存算一体要落地,必须配套新的编译器工具链。
演进路线的本质:近存计算解决「距离问题」,存内计算解决「搬运问题」,存算一体解决「架构问题」。每一步都在打破冯·诺依曼瓶颈,但每一步也都有新的工程挑战。
3.5 演进路线图:一张图看懂全局
下面这张SVG图,是我自己梳理的存算技术演进路线。你仔细看看,能发现一个规律:越往右,数据搬运越少,但设计复杂度越高。
3.6 实际项目中的选择建议
说了这么多,你可能会问:那我到底该选哪种方案?
我的建议是:看场景。
- 如果你做的是数据中心加速卡,功耗预算充裕,优先考虑近存计算。HBM方案成熟,生态完善,风险最低。
- 如果你做的是边缘AI芯片,对能效比要求高,可以尝试存内计算。但要做好精度损失的补偿方案。
- 如果你做的是超低功耗传感器节点,存算一体是终极目标。但要做好长期迭代的准备,工具链和工艺都不成熟。
我的经验:不要为了「存算一体」而存算一体。我见过一个团队,明明用近存计算就能满足需求,非要上存内计算,结果流片三次都没成功。技术选型要务实,能解决问题的技术就是好技术。
好了,这一章的内容就到这里。三种技术路线各有优劣,关键是要理解它们的本质区别和适用场景。下一章我们会深入存内计算的电路实现细节,到时候再聊。
想要更多资料,联系可可