——————————————————————————————
版权声明:
本文作者:烓围玮未。主要从事ISP/MIPI/SOC/车规芯片设计/SOC架构设计
知乎专栏:芯片设计进阶之路
微信公众号:芯片设计进阶之路(x_chip)
转发必须授权,同时保留这段声明,盗版必究!
——————————————————————————————
随着信息技术的飞速发展,计算任务的复杂性和数据量不断增加,传统的计算架构逐渐显现出其局限性。冯·诺伊曼架构下的计算单元(CPU)和存储单元(RAM)分离设计,导致数据频繁传输成为性能瓶颈,即所谓的“冯·诺伊曼瓶颈”。此外,数据移动带来的高能耗和延迟问题也日益突出。为了解决这些问题,存算一体技术应运而生。
存算一体技术是指将计算逻辑直接嵌入到存储单元中,使数据在存储器内完成部分或全部计算任务,从而减少数据在存储器与处理器之间的传输。这种技术可以显著降低数据传输延迟和功耗,提高系统的整体性能。
存算一体的核心思想是在数据所在位置进行计算,避免了数据的长距离传输。这一理念可以通过多种方式实现,包括在存储器内部集成计算单元、在存储器附近放置计算单元等。
为什么会出现存算一体
技术的出现总是因为当前技术难以解决碰到的各种问题,必须由新技术来解决。存算一体出现的原因是多种的,主要原因是:
1. 冯·诺伊曼瓶颈
传统的计算机架构基于冯·诺伊曼模型,该模型将计算单元(CPU)和存储单元(RAM)分开,数据需要在两者之间频繁传输。随着计算任务的复杂性和数据量的增加,数据传输成为性能瓶颈,导致能效低下和延迟增加。这种现象被称为“冯·诺伊曼瓶颈”。在大数据和人工智能时代,这一问题尤为严重,因为这些应用需要处理大量数据和进行复杂的计算。
2. 数据移动成本
数据在存储和计算单元之间的移动消耗了大量的能量,占到总能量的70%以上,尤其是在大规模并行计算和深度学习任务中。数据传输不仅增加了能耗,还导致了显著的延迟,严重影响了系统的整体性能。对于实时处理和高吞吐量应用,这一点尤为关键。
3. 摩尔定律的放缓
摩尔定律指出,集成电路上可容纳的晶体管数目大约每两年翻一番。然而,近年来,由于物理极限和技术难度,摩尔定律的推进速度明显放缓。传统的性能提升方法(如提高时钟频率、增加晶体管密度)变得越来越困难,迫使研究人员寻找新的计算范式。存算一体技术通过减少数据移动,提供了一种新的解决方案。
4. 新兴应用的需求
新兴应用如人工智能与机器学习、物联网与边缘计算等,对计算系统的性能和能效提出了更高的要求。这些应用需要处理大量的数据和复杂的计算任务,传统的计算架构难以满足其高性能和低功耗的要求。存算一体技术通过减少数据移动,提高了计算效率,满足了这些新兴应用的需求。
5. 能效与可持续性
随着计算系统的规模不断扩大,能效成为一个重要考虑因素。存算一体技术通过减少数据移动,显著提高了能效,降低了能源消耗。这对于降低运营成本和实现可持续发展目标具有重要意义。减少碳足迹,促进绿色计算,是存算一体技术的一大优势。
下面是一个28nm工艺下,各种计算,读写数据功耗对比图;
可以看到,去DDR读写数据的功耗是一个32bit整数乘法的650倍。
存算一体基本工作原理
以SRAM(静态随机存取存储器)存算一体技术为例,SRAM的基本单元由六个晶体管组成,形成一个双稳态触发器,可以存储一位二进制信息。典型的SRAM阵列由多个这样的存储单元组成,通过字线(Word Line, WL)和位线(Bit Line, BL)进行读写操作。SRAM最经典的单元为6T结构如下:
如果我们通过修改SRAM的逻辑,在SRAM阵列旁边集成计算单元,通过高速缓存机制将数据存储在SRAM中,计算单元可以直接访问这些数据进行处理。
在AI计算中,基本和本质的运算就是乘加运算MAC,也就是基本的矩阵运算:
通过将权重矩阵放到运算附近的存储器(比如SRAM), 就可以不用去存取数据,直接进行运算,极大提高了运算的速度。
当然,这里的存储器可以是多种多样的,如SRAM/DRAM等,不同的存储介质有各种的优缺点。
所以,原理上其实是比较简单的,就是把存储单元附近加上运算单元,减少读写数据的操作,达到提高运算速度,同时没有读写带宽瓶颈。
存算一体技术分类
存算一体技术可以根据存储与计算的距离远近分为三类:
1. 近存计算(Processing Near Memory, PNM)
近存计算(PNM)技术将计算单元靠近存储单元,但未完全集成在一起。通过缩短数据传输距离,减少传输延迟和能耗。这种技术适用于需要高频数据交换但对集成度要求不高的场景,如某些高性能计算任务。PNM技术通过优化数据路径,提高了系统的整体性能。
2.存内处理(Processing In Memory, PIM)
存内处理(PIM)技术将计算单元部分集成在存储单元内部,但仍保留一定的分离。通过部分集成,进一步减少了数据传输,提高了能效。PIM技术在处理大规模数据集和复杂计算任务时表现出色,适用于人工智能和机器学习等应用。PIM技术通过在存储单元内部进行部分计算,减少了数据移动,提高了计算效率。
3. 存内计算(Computing in Memory, CIM)
存内计算(CIM)技术将计算和存储完全集成在同一物理位置,实现了真正的存算一体。这种技术通过在存储单元内部直接执行计算任务,彻底消除了数据移动的延迟和能耗。CIM技术在处理大规模并行计算和深度学习任务时具有显著优势,适用于高性能计算和边缘计算等应用场景。CIM技术通过高度集成,提供了极致的计算效率和能效。
存算一体存储介质分类
当前存算一体芯片研发企业/机构在成熟介质上的切入点集中在SRAM、Nor-Flash和DRAM等;部分学术机构选择切入RRAM等新型介质研发。
从存储介质的分类来讲,分为易失性存储器和非易失性存储器。按照存储器件工艺划分为成熟存储工艺和新型存储工艺,对比如下表所示:
类别 | 子类别 | 优势 | 缺点 | 代表企业/机构 |
成熟存储工艺 | SRAM | SRAM的优势是基于CMOS工艺,可以采用最先进的工艺节点,读写速度快;但是有存储密度低、静态漏电流高的缺点。 | ||
基于SRAM的近存计算 | 基于CMOS工艺,读写速度快,适合大算力场景 | 存储密度低,静态漏电流高 | Graphcore, Tenstorrent | |
基于SRAM的数字存内计算 | 改造SRAM阵列,加入数字计算逻辑单元,支持MAC计算,适合AI大算力场景 | 存储密度低,静态漏电流高 | 后摩智能, 苹芯, TSMC | |
基于SRAM的模拟存内计算 | 利用电流、电荷累计等模拟计算方式,支持MAC计算,低功耗 | 低精度计算,适合边缘/物联网等低算力场景 | 九天睿芯 | |
DRAM | DRAM的优势是存储密度高于SRAM,适合数据中心等处理大容量模型的场景;但与CMOS工艺不兼容,访存性能和能效不如SRAM,其次设计需要DRAM vendor的支持 | |||
基于2D DRAM的近存计算 | 存储密度高,性价比高,可扩展性好 | 计算密度受限,跨芯片间通信带宽受限 | Upmem, 三星, 海力士 | |
基于2.5D DRAM的近存计算 | 2.5D集成技术,大访存带宽,适合大算力场景 | 价格昂贵,功耗较高 | GPU, TPU, 寒武纪 | |
基于3D DRAM的近存计算 | 计算单元与DRAM堆叠,提升带宽,减少访存功耗 | 功耗密度增加,存储容量减少 | 三星, 平头哥 | |
基于DRAM的存内计算 | 修改DRAM存储阵列,支持基本计算逻辑 | 对DRAM修改较大,主要在学术界提出原型设计 | 学术界 | |
Flash | Flash优势是存储密度高,但读写速度慢、擦写次数受限明显 | |||
基于SSD的近存计算 | 存储密度高,适合数据中心大规模数据密集应用 | 读写速度慢,擦写次数受限 | 三星/Xilinx, ScaleFlux, NGD Systems | |
基于Flash的模拟存内计算 | 功耗低,适合模型固定的低功耗应用场景 | 写入速度慢,高精度数值写入有挑战 | 知存科技, Mythic, 闪忆科技 | |
新型存储工艺 | ReRAM | 存储密度高,工艺和CMOS兼容,性价比高,成本较低 | 写入速度和耐久性有待提高 | 学术界, 知存科技, 华为, IBM |
MRAM | 读写性能好,可以作为片上存储介质使用 | 成本较高,工艺复杂度高 | Everspin, GlobalFoundries, TSMC | |
PCRAM | 存储密度高,已被用作非易失内存,存储密度比DRAM高数倍 | 写入速度和耐久性有待提高,功耗较高 | Intel (Optane), Micron, Samsung | |
FeRAM | 读写性能好,可以作为片上存储介质使用 | 存储密度相对较低,工艺复杂度高 | Ramtron, Texas Instruments, Samsung |
说明:
成熟存储工艺:包括SRAM、DRAM和Flash,这些存储器已经广泛应用于现有计算系统中,具有成熟的技术基础和广泛的市场应用。
新型存储工艺:包括ReRAM、MRAM、PCRAM和FeRAM,这些存储器具有更好的读写性能、更高的存储密度和更好的工艺可扩展性,但仍在研发和商业化过程中。
另外,选择数字计算与模拟计算也是影响存算一体芯片性能的因素之一,
数字存算一体:不受信噪比影响,精度高,抗噪声能力强,适用于需要高精度计算的场景。
模拟存算一体:受到低信噪比影响,精度有限,只能做定点数计算,难以做浮点数计算,适用于对精度要求不高但对功耗敏感的场景。
对比如下:
对比项 | 数字存算一体 | 模拟存算一体 |
精度 | 高精度,可达32bit及以上 | 低精度,通常限于8bit左右 |
计算类型 | 支持浮点计算 | 只能做定点数计算 |
抗噪性 | 抗噪声能力强 | 对噪声敏感 |
温度敏感性 | 不受影响 | 对温度敏感 |
存储器件 | 通常使用SRAM和RRAM | 通常使用FLASH、RRAM、PRAM等非易失性介质 |
应用场景 | 高精度要求的应用,如数据中心、汽车电子、智能手机、服务器等 | 低精度要求的应用,如摄像头、耳机、传感器等 |
存算一体技术的应用和前景
存算一体技术通过将计算单元和存储单元集成在同一芯片上,显著提高了数据处理的效率和能效。在人工智能、边缘计算、数据中心、生物医学和汽车电子等多个领域,存算一体技术展现出广阔的应用前景。未来,随着技术的不断进步,存算一体技术有望在更多应用场景中发挥重要作用,推动相关领域的创新和发展。
以下是一个总结存算一体技术应用和前景的表格:
领域 | 应用 | 前景 |
人工智能与机器学习 | 深度学习:加速模型训练和推理; 自然语言处理:高效处理大规模文本数据 图像识别:实现实时视频处理和高分辨率图像处理 | 高能效:降低功耗,适合移动设备和边缘计算 大规模并行处理:提高计算吞吐量 |
边缘计算 | 物联网设备:实现实时数据处理和低功耗运行 可穿戴设备:提高续航能力和数据处理能力 无人机:实现实时图像处理和导航系统 | 低延迟:减少数据传输的延迟,实现实时数据处理 低功耗:延长设备使用寿命 |
数据中心 | 高性能计算:提高计算性能,减少数据传输瓶颈 大数据处理:高效处理大规模数据集 | 高带宽:提供更高的数据带宽 绿色计算:降低数据中心能耗 |
生物医学 | 基因测序:加速数据分析,提高诊断速度和准确 医疗影像:实现实时图像处理和分析 | 个性化医疗:支持个性化医疗数据分析 远程医疗:实现实时数据处理和传输 |
汽车电子 | 自动驾驶:实现实时数据处理,提高决策速度和安全性 车载娱乐系统:提高响应速度和用户体验 | 高可靠性:提高系统的可靠性和稳定性 低延迟:减少数据处理的延迟,提高系统响应速度 |
笔者认为量子芯片前夕最有用的技术:Chiplet和存算一体。
存算一体已经是一个非常热门的方向,并且会随着对功耗,带宽的需求越来越高,必然是以后芯片的关键技术。可以预见,基于存算一体的芯片,加上Chiplet技术,会创造出巨大的价值。
后纪
技术很重要,技术背后的思想更重要!
技术背后的某些思想就是你解决以后问题的钥匙。我的文章可能一篇中知识点不太多,但是力求让你能深入理解,为你进阶打下基础。如果有一点点收获,也算是我对中国芯片行业的一点点贡献吧。
赠人玫瑰,手有余香。如果你有所收获,麻烦花一秒时间帮我点个赞和在看吧,谢谢!
知乎专栏:芯片设计进阶之路
微信公众号:芯片设计进阶之路 x_chip
——————————————————————————————
参考文献
https://www.jiqizhixin.com/articles/2022-04-15-2
https://www.bilibili.com/video/BV1ph41167pK?vd_source=3e1007d15c65de050b2c3306e00e7d96
https://mp.weixin.qq.com/s/XvxzFQnKFliabFf8iey7cQ