存内计算学习分享(十五) | 基于SRAM的存内计算技术概述
目录
前言
近几年关于存内计算技术的研究大都集中于模拟计算,能够实现多位数据的运算,具有更高的计算效率和系统能效,但要实现足够灵活可靠的模拟计算仍然是现有存内计算架构面临的关键挑战.目前模拟域的SRAM存内计算主要可分为基于电压域的计算和基于时域的计算两种.
基于电压域的SRAM存内计算技术
在电压域上实现的SRAM存内计算技术,通常先使用DAC单元将数字量先转化为线性的电压值,然后利用电荷共享的方式实现计算,最后再用ADC单元将模拟的计算结果转换为相应的数字信号.通过将数据量转换成电压值的方式实现多位算法,简单易行,也是当下存内计算的最主要实现形式.如果按计算模块和存储模块之间的距离划分,存内计算技术又可细分为近内存计算、全局计算、阵列中计算和单元中计算四种.下面分别举例描述了这四种不同SRAM存内计算.
基于位串性技术的8TSRAM通用近内存计算
Wang等人提出了一种混合近内存计算阵列,可用于需要高能效、高灵活性和高可编程性的一般用途的应用.该方案支持逻辑操作、整数/浮点算术运算和比较运算.如下图所示,权重存储于SRAM单元中,输入被应用于计算字线CWLs,模拟结果则通过对计算位线CBL或反计算位线CBLB上的电压进行平均来获得.该近内存计算电路使用ADC和逻辑门来产生数字输出,并行度大,相同列多个行上的单元可同时进行同一运算,但计算面积占比大,每一行都需要两个增益放大器和一个运算电路.
基于分裂式字线的6TSRAM单比特全局计算
如下图所示,当输入为1时,WLL将被设置成高电平,WLR接地;当输入为-1时,则相反.当权重为1时,储值Q为1;当权重为-1时,Q为0.此时,BL/BLB上表示的是输入和权重同或的结果.如果结果为1,则在BL或BLB上形成一个充电电流;如果结果为0,则会形成一个放电电流最终通过全局读出电路进行识别.该架构结构简单、面积小、功耗低,但只能用于简单的逻辑操作,不支持复杂算术运算.
基于局部计算单元和6TSRAM的多比特阵列中计算
下图所示,分比特乘法计算单元由16个存储用的6TSRAM和局部计算单元构成.在读写模式下,HWL置为高电平,系统通过VGBL和VGBLB对阵列中相应的SRAM单元进行正常读写.计算模式下,HWL接地,LBL上会反映存储的权重值.4 bit输入IN[3:0]会被拆分成两组分别送到对应的垂直方向上的两条全局位线上,其中VGBL代表IN[3:2],VGBLB代表IN[1:0],并用4种电压电平来分别表示这两位两比特输入数据.最后,水平方向上的全局位线上HGBL就会表现为IN[3:2]跟权重W的乘法电流.对应地,HGBLB上会呈现出IN[1:0]跟权重W的乘法电流.基于局部计算单元和6TSRAM的多比特阵列中计算面积小、容量大,可进行多位数据的MAC运算,能适配不同的神经网络,灵活度高,同时具有很高的能耗效率,但这种阵列中计算对参考电压设计要求很高,计算周期长.
基于双生8TSRAM的多比特单元中计算
如下图所示,每个基本单元由高位8T单元和低位8T单元构成.其中,高位8T单元读端口上两个晶体管的宽长比是低位8T单元的两倍,从而流过高位8T单元的电流刚好是低位8T单元的两倍,因此该双生8TSRAM正好能存储2 bit的权重.两位输入模式下,会在读字线上输入四种不同的电压,产生不同的电流.每一个T8T SRAM单元可以实现2 bit输入和2 bit权重的乘法操作,其对应到RBL上的电流(IMC-T8T=IMC-M8T+IMC-L8T)正比于输入IN和权W的乘法结果.由于双生8T SRAM单元的引入,该架构能很好地支持多比特的深度神经网络,同时获得很高的识别准确率,但这类单元中面积较大,对参考电压设计的要求高,完成一次运算时间长.
尽管电压域SRAM存内计算技术原理简单、易于操作、计算效率高,但电路的工作电压本身存在上限,也难以被多次细分,只能代表有限的位数.因此,电压域SRAM存内计算技术本身存在着天然的瓶颈.
基于时域的SRAM存内计算技术
基于时域的SRAM存算技术通常会使用线性的脉冲宽度或路径延时来表示多位数字.由于时间量不像电压量那样存在上限,可以被多次细分,具有更大的优势.根据数字量表示方式的不同,目前时域SRAM存内计算技术又可被分为两类:基于路径延时的计算和基于脉冲宽度调制的计算.
基于路径延时的TDNN存内计算
每个计算单元都会产生一定的延时,将计算路径上所有计算单元串联在一起,就能完成信号的累加.如图 6所示,框内为一个计算单元的具体电路形式,其中,t为两个脉冲Vp和Vn的时间差,权重值wi控制电阻Rp和Rn来产生不同的延时,特征值xi用来选择Vp和Vn的传播方向,最终延时ti为权重和特征的乘累加结果.通过模拟延时链的方式,该方法获得了48.2 TOPS/W的高能效和76.5 GE/PE的硬件有效性,给众多研究者提供了新的研究思路,但只能通过比较脉冲先后来实现BNN,无法完成更高精度的神经网络.
基于脉冲宽度调制的三明治8T-RAM存内计算
Yang等人设计了一款基于8TSRAM三明治RAM设备,能够实现特征值8 bit,权重1bit的BWN网络.如下图所示,该方案将特征值和权重值的存储单元分别存储在脉冲宽度调制单元PWMU附近.在计算模式下,两位输入会经2-4译码器置换成4种电压水平,用于调整脉冲宽度.权重作用在选择器上,如果权重为1,脉冲宽度会对应扩展,反之则缩短,最终经脉冲量化器量化得到最终结果.该设计通过特制的PWMU实现了时间域的乘加计算,能耗效率可达到119.7 TOPS/W,但是8T SRAM和PWMU单元都会造成大面积开销.同时,模拟域的SRAM存内计算对PVT以及版图走线比较敏感,相应的计算精度、量化误差问题仍亟需进一步优化改进.
总结
本文主要研究了近年来关于存内计算技术的研究进展。近年来,存内计算技术主要集中在模拟计算方面,通过提高计算效率和系统能效来突破传统计算架构的限制。目前,模拟域的SRAM存内计算主要分为基于电压域的计算和基于时域的计算两种。
相关推荐
SRAM存内计算技术综述.docx
SRAM存内计算技术综述 SRAM 存内计算技术是近年来计算机领域的一个热点话题,该技术将计算和存储融合,支持数据在存储模块中直接运算,并将最终结果反馈回处理器,从而大幅缩减了数据在总线传输的用时和能耗
SRAM存内计算:AI边缘突破
本文探讨基于SRAM的存内计算(CIM)技术在人工智能边缘设备中的应用,解析其如何突破传统冯·诺依曼架构的‘内存墙’瓶颈。文章综述了SRAM-CIM的逻辑与乘累加(MAC)运算机制,对比近内存(NMA
SRAM_Module_HSPICE:CNTFET SRAM 的 HSPICE 实现 | BITS项目
标题中的“SRAM_Module_HSPICE:CNTFET SRAM 的 HSPICE 实现 | BITS项目”揭示了我们要讨论的核心内容。
一种8管双分裂控制存储单元、存储阵列及存内计算装置的制作方法.docx
这种设计不仅可以提高系统的能效比,还有助于推动未来微电子技术在低功耗领域的进一步发展。
同步SRAM和异步SRAM FPGA时序约束和分析
### 知识点概述首先,文档提到了Altera TimeQuest时序分析工具,这是一款针对可编程逻辑设备时序约束和分析的软件。








