深入了解存算一体技术

乐活   2024-11-14 12:02   北京  

——————————————————————————————

版权声明:

本文作者:烓围玮未。主要从事ISP/MIPI/SOC/车规芯片设计/SOC架构设计

知乎专栏:芯片设计进阶之路

微信公众号:芯片设计进阶之路(x_chip)

转发必须授权,同时保留这段声明,盗版必究!

——————————————————————————————

随着信息技术的飞速发展,计算任务的复杂性和数据量不断增加,传统的计算架构逐渐显现出其局限性。冯·诺伊曼架构下的计算单元(CPU)和存储单元(RAM)分离设计,导致数据频繁传输成为性能瓶颈,即所谓的“冯·诺伊曼瓶颈”。此外,数据移动带来的高能耗和延迟问题也日益突出。为了解决这些问题,存算一体技术应运而生。

存算一体技术是指将计算逻辑直接嵌入到存储单元中,使数据在存储器内完成部分或全部计算任务,从而减少数据在存储器与处理器之间的传输。这种技术可以显著降低数据传输延迟和功耗,提高系统的整体性能。

存算一体的核心思想是在数据所在位置进行计算,避免了数据的长距离传输。这一理念可以通过多种方式实现,包括在存储器内部集成计算单元、在存储器附近放置计算单元等。

  1. 为什么会出现存算一体

技术的出现总是因为当前技术难以解决碰到的各种问题,必须由新技术来解决。存算一体出现的原因是多种的,主要原因是:

1. 冯·诺伊曼瓶颈

传统的计算机架构基于冯·诺伊曼模型,该模型将计算单元(CPU)和存储单元(RAM)分开,数据需要在两者之间频繁传输。随着计算任务的复杂性和数据量的增加,数据传输成为性能瓶颈,导致能效低下和延迟增加。这种现象被称为“冯·诺伊曼瓶颈”。在大数据和人工智能时代,这一问题尤为严重,因为这些应用需要处理大量数据和进行复杂的计算。

2. 数据移动成本

数据在存储和计算单元之间的移动消耗了大量的能量,占到总能量的70%以上,尤其是在大规模并行计算和深度学习任务中。数据传输不仅增加了能耗,还导致了显著的延迟,严重影响了系统的整体性能。对于实时处理和高吞吐量应用,这一点尤为关键。

3. 摩尔定律的放缓

摩尔定律指出,集成电路上可容纳的晶体管数目大约每两年翻一番。然而,近年来,由于物理极限和技术难度,摩尔定律的推进速度明显放缓。传统的性能提升方法(如提高时钟频率、增加晶体管密度)变得越来越困难,迫使研究人员寻找新的计算范式。存算一体技术通过减少数据移动,提供了一种新的解决方案。

4. 新兴应用的需求

新兴应用如人工智能与机器学习、物联网与边缘计算等,对计算系统的性能和能效提出了更高的要求。这些应用需要处理大量的数据和复杂的计算任务,传统的计算架构难以满足其高性能和低功耗的要求。存算一体技术通过减少数据移动,提高了计算效率,满足了这些新兴应用的需求。

5. 能效与可持续性

随着计算系统的规模不断扩大,能效成为一个重要考虑因素。存算一体技术通过减少数据移动,显著提高了能效,降低了能源消耗。这对于降低运营成本和实现可持续发展目标具有重要意义。减少碳足迹,促进绿色计算,是存算一体技术的一大优势。

下面是一个28nm工艺下,各种计算,读写数据功耗对比图;

可以看到,去DDR读写数据的功耗是一个32bit整数乘法的650倍。

  1. 存算一体基本工作原理

以SRAM(静态随机存取存储器)存算一体技术为例,SRAM的基本单元由六个晶体管组成,形成一个双稳态触发器,可以存储一位二进制信息。典型的SRAM阵列由多个这样的存储单元组成,通过字线(Word Line, WL)和位线(Bit Line, BL)进行读写操作。SRAM最经典的单元为6T结构如下:

如果我们通过修改SRAM的逻辑,在SRAM阵列旁边集成计算单元,通过高速缓存机制将数据存储在SRAM中,计算单元可以直接访问这些数据进行处理。

在AI计算中,基本和本质的运算就是乘加运算MAC,也就是基本的矩阵运算:

通过将权重矩阵放到运算附近的存储器(比如SRAM), 就可以不用去存取数据,直接进行运算,极大提高了运算的速度。

当然,这里的存储器可以是多种多样的,如SRAM/DRAM等,不同的存储介质有各种的优缺点。

所以,原理上其实是比较简单的,就是把存储单元附近加上运算单元,减少读写数据的操作,达到提高运算速度,同时没有读写带宽瓶颈。

  1. 存算一体技术分类

存算一体技术可以根据存储与计算的距离远近分为三类:

1. 近存计算(Processing Near Memory, PNM)

近存计算(PNM)技术将计算单元靠近存储单元,但未完全集成在一起。通过缩短数据传输距离,减少传输延迟和能耗。这种技术适用于需要高频数据交换但对集成度要求不高的场景,如某些高性能计算任务。PNM技术通过优化数据路径,提高了系统的整体性能。

2.存内处理(Processing In Memory, PIM)

存内处理(PIM)技术将计算单元部分集成在存储单元内部,但仍保留一定的分离。通过部分集成,进一步减少了数据传输,提高了能效。PIM技术在处理大规模数据集和复杂计算任务时表现出色,适用于人工智能和机器学习等应用。PIM技术通过在存储单元内部进行部分计算,减少了数据移动,提高了计算效率。

3. 存内计算(Computing in Memory, CIM

存内计算(CIM)技术将计算和存储完全集成在同一物理位置,实现了真正的存算一体。这种技术通过在存储单元内部直接执行计算任务,彻底消除了数据移动的延迟和能耗。CIM技术在处理大规模并行计算和深度学习任务时具有显著优势,适用于高性能计算和边缘计算等应用场景。CIM技术通过高度集成,提供了极致的计算效率和能效。

  1. 存算一体存储介质分类

当前存算一体芯片研发企业/机构在成熟介质上的切入点集中在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等非易失性介质

应用场景

高精度要求的应用,如数据中心、汽车电子、智能手机、服务器等

低精度要求的应用,如摄像头、耳机、传感器等

  1. 存算一体技术的应用和前景

存算一体技术通过将计算单元和存储单元集成在同一芯片上,显著提高了数据处理的效率和能效。在人工智能、边缘计算、数据中心、生物医学和汽车电子等多个领域,存算一体技术展现出广阔的应用前景。未来,随着技术的不断进步,存算一体技术有望在更多应用场景中发挥重要作用,推动相关领域的创新和发展。

以下是一个总结存算一体技术应用和前景的表格:

领域

应用

前景

人工智能与机器学习

深度学习:加速模型训练和推理;

自然语言处理:高效处理大规模文本数据

图像识别:实现实时视频处理和高分辨率图像处理

高能效:降低功耗,适合移动设备和边缘计算

大规模并行处理:提高计算吞吐量

边缘计算

物联网设备:实现实时数据处理和低功耗运行

可穿戴设备:提高续航能力和数据处理能力

无人机:实现实时图像处理和导航系统

低延迟:减少数据传输的延迟,实现实时数据处理

低功耗:延长设备使用寿命

数据中心

高性能计算:提高计算性能,减少数据传输瓶颈

大数据处理:高效处理大规模数据集

高带宽:提供更高的数据带宽

绿色计算:降低数据中心能耗

生物医学

基因测序:加速数据分析,提高诊断速度和准确

医疗影像:实现实时图像处理和分析

个性化医疗:支持个性化医疗数据分析

远程医疗:实现实时数据处理和传输

汽车电子

自动驾驶:实现实时数据处理,提高决策速度和安全性

车载娱乐系统:提高响应速度和用户体验

高可靠性:提高系统的可靠性和稳定性

低延迟:减少数据处理的延迟,提高系统响应速度

笔者认为量子芯片前夕最有用的技术: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



芯时代青年
专心数字前端全流程,芯时代有为青年的自我修养
 最新文章