一、存算一体概述:冯·诺依曼瓶颈、基本概念与发展驱动力
1.1 冯·诺依曼架构与那个“要命”的瓶颈
做芯片设计的人,没人不知道冯·诺依曼架构。说白了,就是“存储”和“计算”分开。指令和数据存在一个地方,处理器从那里取出来算,算完再存回去。这个模型统治了计算机行业大几十年。
但问题来了——处理器越来越快,内存却跟不上。处理器空转等着数据,就像你点了个外卖,骑手却堵在路上。这个现象,就是著名的“冯·诺依曼瓶颈”。
我个人习惯把这个瓶颈拆成两个层面看:
- 带宽瓶颈:处理器和存储器之间的数据通路就那么宽,一次搬不了多少数据。你算得再快,数据喂不进来也是白搭。
- 功耗瓶颈:搬数据比算数据费电得多。我做过一个粗略估算,在传统架构下,搬一次32位数据的能耗,够做几十次加法了。你想想看,大部分能量都花在了“路上”,而不是“干活”上。
核心观点:冯·诺依曼瓶颈的本质,是“存储墙”和“功耗墙”的双重夹击。处理器和存储器之间的鸿沟,随着工艺进步反而越拉越大。
为什么会这样?因为处理器性能每年提升约50%,而内存访问延迟每年只改善约7%。这个剪刀差,就是所有做高性能计算的人头疼的根源。
1.2 存算一体:换个思路解决问题
存算一体,英文叫Processing-in-Memory或Compute-in-Memory。思路很简单:让计算发生在数据所在的地方,而不是把数据搬来搬去。
我在项目中遇到过这样一个场景:一个神经网络推理任务,90%的时间花在数据搬运上,真正计算只占10%。我当时就想,要是能让存储单元自己算,那该多好。嗯,这就是存算一体的朴素想法。
存算一体有几个关键特征:
- 消除数据搬运:计算直接在存储阵列中完成,不再需要反复读写外部存储器
- 高并行度:存储阵列天然是二维结构,可以同时处理大量数据
- 低功耗:省去了数据搬移的能耗,能效比可以提升几个数量级
避坑指南:我曾经以为存算一体就是“把ALU放到内存旁边”,后来发现远没那么简单。真正的存算一体,是在存储单元内部做计算,连“搬”这一步都省了。这个区别很关键。
1.3 发展历程:从概念到落地
存算一体不是新概念。早在1970年代,就有研究者提出过类似想法。但为什么直到最近几年才火起来?
我把它分成三个阶段:
| 阶段 | 时间 | 特点 | 代表工作 |
|---|---|---|---|
| 萌芽期 | 1970s-1990s | 概念提出,受限于工艺,停留在学术讨论 | 智能存储器、计算RAM |
| 探索期 | 2000s-2015 | 非易失性存储器兴起,开始有原型芯片 | 忆阻器、RRAM交叉阵列 |
| 爆发期 | 2016-至今 | AI需求驱动,产业界开始投入 | 存算一体AI加速器 |
为什么2016年是个转折点?因为深度学习火了。神经网络的计算模式——大量矩阵乘法、数据复用率高——恰好是存算一体擅长的。说白了,是应用需求倒逼技术变革。
1.4 驱动力:为什么现在非做不可
我总结了三股驱动力:
- 摩尔定律放缓:晶体管不再“免费”变小,靠堆算力这条路越来越难走。我们需要架构创新。
- AI算力饥渴:大模型、边缘计算、自动驾驶……这些场景对算力和能效的要求,传统架构已经快撑不住了。
- 新器件成熟:RRAM、MRAM、PCM这些新型存储器件,让在存储单元里做计算成为可能。
注意:存算一体不是万能药。它特别适合数据密集型、计算模式规整的任务(比如矩阵乘法、卷积)。对于控制密集、分支多的任务,传统架构仍然有优势。选型时一定要看场景。
1.5 知识体系总览
下面这张图,是我梳理的本章知识结构。你可以把它当作整个课程的“地图”:
这张图把本章的核心逻辑串起来了。从冯·诺依曼瓶颈出发,引出存算一体的概念,再展开发展历程、驱动力和优势。后面的章节,我们会逐一深入这些技术细节。
一句话总结:存算一体不是要推翻现有架构,而是在数据搬运这个“痛点”上做手术。它让计算靠近数据,而不是让数据迁就计算。这个思路的转变,可能会重新定义未来十年的芯片设计范式。
好了,这一章就到这里。记住,理解瓶颈在哪里,比知道解决方案更重要。下一章我们会深入存算一体的具体实现方式,包括模拟计算、数字计算,以及各种新型存储器件。到时候见。
想要更多资料,联系可可