存内计算原理分类——数字存内计算与模拟存内计算

存算一体作为一种新型架构,将数据存储和计算融合一体化,有望突破算力与功耗瓶颈。存内计算可分为模拟和数字两大类别。接下来我们将重点介绍数字存内计算与模拟存内计算及其优劣

一.数字存内计算

数字存内计算利用全数字电路执行计算,指将数字逻辑集成到存内计算中,能够将逐位数字乘积累加运算直接集成到存储器阵列。由于数字存内计算结构上对乘积累加计算有良好的支持,在神经网络需求的运算场景中应用潜力巨大,如智能手表、蓝牙耳机中的语音处理,智能手机中的神经网络运算加速,模型训练加速卡等。

数字存内计算的主要优势就是存储器中权重可更换、高带宽以及高鲁棒性,但面积和功耗开销都比较大,适用于高精度、对功耗等要求不高的应用场景。

图 1 数字存内计算核结构[1]

以ISSCC 2022中的文献[1]中展示的数字存内计算总体结构为例,解释数字存内计算的运算方式,其结构如图1所示。

该运算核结构由64个如图中顶层所示的MAC array构成。在每一个MAC array中,存储器存储权重数据(图1中左侧12T bitcell array部分),乘法器计算输入数据与权重数据的元素乘积结果,加法计算元素乘积结果的和(图中4b×1b multiplier & 6 stages adder tree部分),移位累加器将加法器树计算得到的结果移位累加(图中Bit shifter & accumulator部分)。

运算核计算64×1的4bit输入向量XIN[63:0][3:0]与64×64的4bit权重矩阵的内积结果,其结果为一列64×1的14bit向量NOUT[63:0][13:0]。计算过程为:权重矩阵的权重信息被拆分为64个64×1的4bit权重向量存储在每一层MAC array的存储器中,写入过程受到WA[7:0]信号控制,每次写入向量中一个元素的4bit信息D[4:0],一共64个MAC array,一次需要写入D[255:0]。输入向量受XINSEL[3:0]控制按比特由高到低依次输入,每个时钟周期计算一个输入比特64 XINLBs与权重向量256 RBLBs的元素乘积,并求和,将四个周期的结果移位累加便得到该MAC array的权重向量与输入向量的内积,将每层MAC array的结果组成为一个向量,即为NOUT[63:0][13:0]

据悉已有基于数字存内计算的产品产出。后摩于2023年5月推出鸿途™H30,该芯片基于SRAM存储介质,据其官网信息,该产品拥有极低的访存功耗和超高的计算密度,在Int8数据精度条件下,其AI核心IPU能效比高达15Tops/W,是传统架构芯片的7倍以上,暂未落地到市场化应用实测性能。

二.模拟存内计算[2]

不同于前述的数字存内计算,模拟存内计算主要基于物理定律(欧姆定律和基尔霍夫定律),在存算阵列上实现乘积累加运算。对于模拟存内计算,其存内计算电路的计算模式通过定制模拟计算电路模块来实现,通过这些模拟计算电路与存储单元的结合来实现高能效存内计算,一般使用RRAM(阻变随机存储器,又名忆阻器)和Flash(闪存)

模拟存内计算面积、功耗等开销小,能量效率高,但是缺乏准确性,适用于需要低功耗、对精度要求不高的应用场景。

下面以RRAM为例,来描述模拟存内计算的原理

忆阻器电路可以做成阵列结构,如下图2所示,与矩阵类似,利用其矩阵运算能力,可以广泛应用于人工智能推理场景中。在推理过程中,通过输入矢量与模型的参数(也即权重)矩阵完成乘加运算,便可以得到推理结果。

图 2 3×3交叉阵列的模拟型忆阻器[3]

图 3 交叉阵列进行矩阵乘加运算示意图[4]

关于矩阵乘加运算,如上图3所示,将模型的输入数据设为矩阵[V],模型的参数设为矩阵[G],运算后的输出数据设为矩阵[I]。运算前,先将模型参数矩阵按行列位置存入忆阻器(即[G]),在输入端给定电压值来表示输入矢量(即[V]),根据欧姆定律,便可在输出端得到对应的电流矢量,再根据基尔霍夫定律将电流相加,即得到输出结果(即[I])。此外,多个存算阵列并行,便可完成多个矩阵乘加计算。

目前模拟存内计算研究已经有了很多成果。例如,2023年10月,清华钱鹤、吴华强带领团队创新设计出适用于RRAM存算一体的高效片上学习的新型通用算法和架构(STELLAR),研制出全球首颗全系统集成的、支持高效片上学习的RRAM存算一体芯片,该成果已发表在《Science》上。此外,基于Flash的模拟存内计算也是研究重点。2022年,国内的知存科技率先量产商用WTM2101芯片,结合了RISC-V指令集与NOR Flash存内计算阵列,使用特殊的电路设计抑制阈值电压漂移对计算精度的影响,可实现低功耗计算与低功耗控制,其阵列结构与芯片架构如图4所示,包括1.8 MB NOR Flash存内计算阵列,一个RISC-V核,一个数字计算加速器组,320 kB RAM以及多种外设接口[5]。WTM2101芯片适配低功耗AIoT应用,可使用微瓦到毫瓦级功耗完成大规模深度学习运算,可应用于智能语音、智能健康等市场领域,目前已完成批量生产和市场应用。此外,知存科技也推出了WTM-8系列产品芯片,这是针对视频增强处理的一款高性能低功耗的存算一体AI处理芯片,采用第二代3D存内计算架构,为全球首粒端侧大算力存算一体芯片,即将量产,具备高算力、低功耗、高能效、低成本的核心优势,应用于1080P-4K视频的实时处理和空间计算[6]。WTM2101和WTM-8的主要产品性能如下表1所示, 未公开的数据用“-”表示,请酌情采信。

表1 WTM2101与WTM-8产品性能

WTM2101

WTM-8

存内计算模式

模拟存内计算

模拟存内计算

存储介质

Flash

Flash

算力

50Gops

>24Tops

制程

40nm

-

面积

2.6✖3.2mm2

-

功耗

5uA-3mA

-

最大模型参数

1.8M

64M

计算精度

8bit

12bit

备注

用于智能可穿戴设备的高算力低功耗定位,主要应用于智能语音和智能健康

定位为移动设备计算视觉芯片,具有4核高精度存内计算,支持linux,支持AI超分、插帧、HDR、识别和检测,应用于1080P-4K视频实时处理和空间计算

图 4 WTM2101芯片阵列及架构[7]

三.二者优劣对比分析

数字存内计算与模拟存内计算都是存算一体发展进程中的重点发展路径,二者有着不同的优缺点与应用场景。

数字存内计算主要以SRAM作为存储器件,采用先进逻辑工艺,具有高性能高精度的优势,且具备很好的抗噪声能力和可靠性,可以避免由于工艺变化、数据转换开销和模拟电路的可缩放性差而导致的不准确,因此更适合大规模高计算精度芯片的实现。然而,数字存内计算单位面积功耗高,在功率和面积等方面都遇到了新的问题,比如一个一般的CMOS全加器单元就需要28个晶体管,面积和功耗开销都比较大。综上,数字存内计算适用于高精度、对功耗不敏感的算力计算场景,比如云边AI场景

模拟存内计算通常以RRAM、Flash等非易失性介质作为存储器件,存储密度大,并行度高,面积、功耗等开销小,成本较低,能量效率高。但是模拟存内计算对环境噪声和温度非常敏感,由于晶体管变化和ADC(模数转换器)等的影响,SNR(信噪比)不足,模拟存内计算往往缺乏准确性适用于低功耗、功能灵活性要求不高对精度要求不高的高能效小算力应用场景,如端侧可穿戴设备等[8]两种存内计算模式的优劣对比如下表2所示。

表 2 两种存内计算模式对比

数字存内计算

模拟存内计算

运算精度

较低

抗噪性

通用性、灵活性

较强

较弱

能量效率

较高

功耗

较高

存储介质

主要为SRAM

各种非易失性介质

面积开销

面积较大

面积较小

适应场景

大算力、高精度、

云计算、边缘计算

小算力、低成本、

端侧、长时待机

总而言之,数字存内计算与模拟存内计算各有优劣,都是存算一体发展进程中的重点发展路径,数字存内计算由于其高速、高精度、抗噪性强、工艺技术成熟、能效比高等特点,更适用于大算力、云计算、边缘计算等应用场景;模拟存内计算由于其非易失性、高密度、低成本、功耗低等特点,更适用于小算力、端侧、需长时待机等的应用场景。在如今可穿戴设备、智能家具、玩具机器人等应用走进千家万户的背景下,模拟存内计算的高能效、小面积、低成本等市场优势逐渐凸显,比如前面所提到的知存科技WTM2101已率先进入市场规模化应用,在商业化进程中处于领先地位,且更高算力WTM-8系列即将量产,在端侧AI市场具有极大的应用潜力。

不论是数字存内计算还是模拟存内计算,目前都面临各自的一些挑战,比如编程模型的复杂性、硬件设计的复杂性、硬件系统的可靠性等等,但随着研究人员的不断努力,这些难题将逐步得到解决,存内计算芯片的未来将大有可期。

参考文献

[1] Yan B, Hsu J L, Yu P C, et al. A 1.041-Mb/MM 2 27.38-TOPS/W signed-INT8 dynamic-logic-based ADC-less SRAM compute-in-memory macro in 28nm with reconfigurable bitwise operation for AI and embedded applications[C]//2022 IEEE International Solid-State Circuits Conference (ISSCC). IEEE, 2022, 65: 188-190.

[2][4] 存算一体白皮书(2022年),中国移动通信有限公司研究院.

[3] 针对忆阻器的工作原理和发展的研究-知乎.

[5][7] 郭昕婕,王光燿,王绍迪.存内计算芯片研究进展及应用[J].电子与信息学报,2023,45(05):1888-1898.

[6] 知存科技官网 (witintech.com).

[8] Chih Y D, Lee P H, Fujiwara H, et al. 16.4 An 89TOPS/W and 16.3 TOPS/mm 2 all-digital SRAM-based full-precision compute-in memory macro in 22nm for machine-learning edge applications[C]//2021 IEEE International Solid-State Circuits Conference (ISSCC). IEEE, 2021, 64: 252-254.

  • 10
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 《分布式计算系统导论:原理与组成》是一本介绍分布式计算系统的入门学习资料。本书从系统介绍、原理讲解、组成要素、应用案例等多个方面进行了全面阐述。 首先,本书介绍了分布式计算系统的定义和基本概念。分布式计算系统是一种将任务分散到多个计算节点上进行并行处理的系统,它具有高性能、可靠性、可扩展性等特点。 接着,本书详细解释了分布式计算系统的原理和工作机制。说明了数据分布、并行计算、通信协议等关键技术,并介绍了分布式文件系统、分布式数据库、分布式存储等常用的组成要素。 然后,本书还通过实际应用案例来展示分布式计算系统的实际应用场景和解决问题的能力。例如,分布式计算系统在科学计算、云计算、大数据处理等领域具有广泛的应用。 最后,本书提供了相关教学参考和学习资源,包括习题和参考文献。这些资源对于读者深入理解分布式计算系统的原理和组成具有重要作用。 总之,《分布式计算系统导论:原理与组成》通过简明扼要的方式,全面介绍了分布式计算系统的原理和组成要素,深入浅出地向读者展示了分布式计算系统的基本概念、工作原理和应用案例。这本书对于学习和研究分布式计算系统的人员来说是一本很好的入门资料。 ### 回答2: 《分布式计算系统导论——原理与组成》是一本介绍分布式计算系统的相关原理和组成的书籍。分布式计算系统是指将任务或数据拆分为多个子任务或子数据,并在多个计算节点上进行并行计算和处理的一种系统。本书从理论和实践两方面详细介绍了分布式计算系统的基本原理和构成要素。 在原理方面,本书首先介绍了分布式计算系统的基本概念和发展历程,然后讲解了分布式计算系统的基本原理,包括任务划分与调度、通信与同步、容错与恢复等。这些原理是构建分布式计算系统的基石,对于理解和设计分布式计算系统非常重要。 在组成方面,本书详细讲解了分布式计算系统的各个组成部分。首先介绍了分布式文件系统,它是分布式计算系统的底层支撑,用于存储和管理分布式计算系统的数据。然后介绍了任务管理器和资源调度器,它们负责分配任务和资源给计算节点,确保系统能够高效地完成任务。接着介绍了通信中间件和数据传输协议,它们负责计算节点之间的通信和数据传输。最后介绍了容错和恢复机制,保证系统在节点故障时仍然能够正常运行。 总之,《分布式计算系统导论——原理与组成》是一本深入浅出地介绍分布式计算系统的理论和实践的书籍。通过学习本书,读者可以全面了解分布式计算系统的基本原理,以及构成分布式计算系统的各个组成部分。这将有助于读者在实际应用中设计和搭建高效可靠的分布式计算系统。 ### 回答3: 《分布式计算系统导论——原理与组成》是一本介绍分布式计算系统的教材。该教材主要围绕分布式计算系统的原理和组成展开讲解。 在原理方面,教材首先介绍了分布式计算系统的概念和基本原理。分布式计算系统是由多个计算节点组成的系统,节点之间通过网络进行通信和协作,共同完成任务。教材深入阐述了分布式系统的通信模型、一致性协议、容错原理等重要内容,使读者能够全面了解分布式计算系统的基本原理。 在组成方面,教材详细介绍了分布式计算系统的关键组成部分。其中包括分布式文件系统、分布式数据库、分布式调度器、分布式存储等。针对每个组成部分,教材都给出了其设计思路、实现原理和应用场景等详细信息,帮助读者全面掌握分布式计算系统的搭建和应用。 此外,教材还涉及了分布式计算系统的挑战和趋势。随着信息技术的不断发展,分布式计算系统面临着越来越多的挑战,如数据安全、任务调度等。教材对这些挑战进行了深入的分析,并提供了一些解决方案。同时,教材还展望了分布式计算系统的未来发展趋势,如云计算边缘计算等,使读者对分布式计算系统的未来有一个清晰的认识。 总的来说,《分布式计算系统导论——原理与组成》通过深入浅出的讲解,帮助读者全面了解分布式计算系统的原理和组成。无论是学习分布式计算系统的初学者还是从事相关工作的专业人士,都能从该教材中获得宝贵的知识和经验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值