冯·诺依曼瓶颈
传统计算机架构中,处理器和存储器是分离的。计算时,数据要从内存搬到处理器,算完再搬回去。
这个"搬数据"的过程,在时间和能耗上都可能超过计算本身——这就是冯·诺依曼瓶颈,也是前文提到的"内存墙"问题的架构根源。
在 AI 计算中这个问题尤其突出:神经网络的运算中,绝大部分是矩阵乘加,需要频繁读写权重和激活值。
存算一体的思路
核心想法:既然搬数据这么贵,那就让计算在数据存储的地方发生。
几种实现路径
一、近存计算(Processing Near Memory)
不改变存储单元本身,但把计算单元紧挨着存储器放置,用极高带宽的互连(如硅通孔 TSV)连接。
比如把计算逻辑与 DRAM 堆叠封装在一起,让数据在垂直方向高速流动,避免走 PCB 板上的长距离走线。
代表:HBM 相关的一些方案,以及把处理器与内存 3D 堆叠的设计。
二、存内计算(Processing In Memory)
直接利用存储阵列本身的物理特性来完成计算。
最典型的例子是基于 SRAM 或闪存的乘加运算:
考虑一个存储阵列,每一行是一条字线,每一列是一条位线。如果同时在多条字线上施加电压,根据欧姆定律,每条位线上流过的电流总和,天然就是各个存储单元电导与输入电压乘积的累加——这正好是矩阵乘法的核心运算。
换句话说,存储阵列的物理结构,本身就是一台模拟的矩阵乘法器。
三、新型存储器件
利用忆阻器(Memristor)、相变存储器(PCM)、磁性存储器(MRAM)等新型器件,它们既能存储信息,又具备特定的电学特性,适合做存算一体。
主要挑战
一、精度问题。 模拟计算(基于电流、电压的运算)天然受噪声、器件不一致性、温度漂移影响,精度远低于数字计算。而神经网络训练通常需要高精度。
因此,存算一体目前更适合推理(对精度要求相对宽松),而非训练。
二、工艺与集成。 要在标准 CMOS 工艺中集成新型存储器件,工艺复杂度和成本控制都是挑战。
三、软件生态。 现有的编程模型、编译器、算法框架都建立在冯·诺依曼架构之上。要发挥存算一体的优势,需要重新设计软件栈。
四、适用范围有限。 存算一体擅长的是数据密集、计算规则的运算(如矩阵乘法)。对于控制逻辑、分支密集的任务,传统架构仍然更有效。
现实定位
存算一体不会取代传统架构,更可能的路径是作为特定任务的加速器——与 CPU、GPU 协同,承担那些数据搬运开销最大的部分。
说明:本文为新型计算架构的公开知识整理。