【文献阅读09】针对边缘神经网络的基于分离字线6T-SRAM的水平权重移位和垂直特征移位的28nm存算宏

标题:A 28nm Horizontal-Weight-Shift and Vertical-Feature-Shift-Based Separate-WL 6T-SRAM Computation-in-Memory Unit-Macro for Edge Depthwise Neural-Networks

时间/来源:2023/ISSCC/东南大学


  1. 基于SRAM的存内计算宏在提升边缘计算设备的能效方面展示了巨大的潜力。许多存内计算(CIM, compute-in-memory)工作针对更高精度的输入IN,权重W,输出OUT的乘累加展开(MAC, multipy-and-accumulate),适用于标准的卷积与全连接层。边缘AI神经网络在参数量和推理精度之间存在折中。对于很多轻量级的CNN模型来说,对深度卷积神经网络的支持是很有必要的,譬如MobileNet-V2。然而,当部署深度卷积时,最近的基于SRAM的存算宏只支持静态的权重,目前面临着3个挑战:
    • 由于短的累加长度和大量深度卷积的通道数量,能效变得很小;
    • 阵列利用率低,且由于剩余数据的传输,从缓存到macro的功耗大;
    • 稀疏与轻量级网络的计算需要高精度、高速小面积的读出电路,如图7.5.1所示

在这里插入图片描述

  1. 以上挑战通过以下方式解决:

    • in-SRAM的权重/特征保持来对标准/深度卷积的高阵列利用率;
    • 利用计算与移位单元CSU(computation and shift unit)实现水平权重移位机制(HWS,horizontal weight shift)和垂直特征移位机制VFS(vertical-feature-shift),利用分离WL的6T-SRAM(SW6T)来消除卷积计算中交叠数据的缓存到宏(B2M,buffer-to-memory)的搬移并降低功耗;
    • 通过快速电流反馈实现计算电流跟踪、电流到数字的转换机制来提升每输出bit的转换时间;

    所提出的28nm 9Kb的CSU和基于SW6T的SRAM存算宏在针对深度卷积的硅基INT8的乘累加中,实现了目前为止最高的阵列利用率,访问时间最小为0.3ns/b,实现了目前最高的能效14.24TOPS/W。

  2. 图7.5.2展示了2-bank的CSU和SW6T-SRAM CIM单元宏(CSUM)的总体架构。每个bank包含1个36x128b的CSU-SW6T SRAM阵列,12个水平移位控制单元(HSCU),1个WL驱动(WLDRV)和垂直移位控制单元(VSC),1个读写IO和3选1的选通器,1个计算电流跟踪的电流数字转换器(CCT-CDCs,computation-current-tracked current-to-digital converter)以及数字加法器和移位器。
    在这里插入图片描述
    每个CSU SW6T-SRAM阵列包含8个本地CIM数据bank(LCDB,local CIM data banks),LCDB由16x36紧耦合的SW6T存储单元和36个CSU组成。所提出的CSUM支持3中工作模式:存储,CNN和DW(depthwise CNN)。

    • 在存储模式,权重和特征数据通过读写IO存储在每个LCDB,CSUM工作在权重保持模式,每个nxn的k-bit的CNN权重,从MSB计算bank到LSB计算bank以2的补码的形式存储CSU-SW6T SRAM阵列的LCDB中。
    • 对于n通道的MAC累加操作,n digital的m-bit特征通过HSCU进入到CSU-SW6T。每个LCDB通过CSU和CCT-CDC支持n个m-bit特征和n个1bit权重的MAC。随后这些数字MAC值被送入数字加法器和移位加中进行组合得到最终的MAC。
    • 在DW模式,CSUM工作在特征静止模式,n个3x3的m-bit特征与n个3x3的DW模式相关,在LCDB中以2的补码形式存储。每1行存储real feature bit,奇数行存储特征的negation bit。对于n个DW与n个3x3的k-bit权重MAC,通过HK【2:0】的控制bit,权重数据通过HSCU被送入CSU-SW6T,每个LCDB通过CSU和CCT-CDC可支持9个k-bit的权重与9个1b的特征的MAC。
  3. 图7.5.3展示了原理图的细节、每个LCDB的工作、所提出的针对DW和CNN模式的CSU和VFS机制。每个LCDB包含36个计算与移位列(CSCs),包含16个紧耦合规则的SW6T bit单元和1个9T的CSU。1组3个的CSU共享1个垂直移位(VS vertical-shift)关键bit ,分别为VK【0】~ VK【2】。当VK为0/1时,相应SW6T的左/右侧读被选中。在存储模式, 水平WL(HWL)和WL对(WLL, WLR)被设为高,在基于VFS的DW计算模式。HWL连接VSS使得GBL/GB/B和LBL/LBLB之间的连接被截断。当偶数WL被选中(WL[2n])时,WLL[2n+1]和WLR[2n]被设置为高。当奇数WL被选中时(WL[2n+1]),WLL[2n+1]和WL[2n]被设置为高。例如1个3x3的MAC和18个特征,F0-F17被分为4个状态:VS0-VS3,VK[2:0]=000,001,011,111。从而卷积操作可以最大程度的利用阵列。
    在这里插入图片描述

  4. 图7.5.4展示了针对DW模式的HSCU,在CSU-SW6T SRAM阵列中的HWS和3列的数据更新操作。每个HSCU包含2对水平移位逻辑(HSL,horizon shift logic)。1个针对MSB,1个针对LSB。每个HSL包含3个被HK[2:0]控制的3选1的NMOS多路选通。当执行2x3x3的输入与3x3的DW卷积时,在4个水平移位(HS0-HS3)中有冗余数据。为了避免重新读出和安排权重与输入数据,本文提出了负载计算方案,可减少特征图的重载和HWS计算。例如,在HS0计算阶段,3个新的特征数据(F9, F12, F15)通过R/W 3选1的读写IO被写入F0, F1, F2的存储阵列。接着,HK[2:0]从001变为000来重新映射权重开启HS1的计算周期。组合所提出的VFS和HWS机制,CNN和DW操作均被多个CSUM有效地实现。
    在这里插入图片描述

  5. 图7.5.5展示了所提出的CCT-CDC的原理图和工作波形。与此前的使用多个参考电压或复制DC直流的的SRAM CIM不同,本文提出了无直流电流的共享参考产生器(SRG,shared reference generator)。SRG包含9个dummy CSU记录CSU的PVT偏差,产生了1个参考电流16I0(I_MSB)。对于5b的转换,CSCO的电流和被首先与SRG产生的MSB电流比较。接着,剩下的电流被送入N1结点继续4个连续转换。每个转换分为3个周期。
    在这里插入图片描述
    第1个周期,INIT开关开启,使得N1和N2点的电压相等(VN1=VN2=VINIT),等于MP1和MN1触发点的电压。MN2和MP2可以被认为为2个没有电流的反相二极管。第2个周期,INIT开关关闭,进行第1此比较,IMP2=IMN2=IMAC-IMSB+Ihalf_msb,如果IMAC<IMSB,那么MN2的VGS会变大,使得VN2>VN1。否则,MP2的VGS变小,使得VN2<VN1。在第3阶段,ACCE使能去锁存输出。

  6. 图7.5.6展示了28nm工艺下9KbCSUM测试芯片的测量结果。ShuffleNet-V2,MobileNet-V2,和EfficientNet-V2作为3种典型的神经网络参与测试。本工作减少了没帧>4MB的B2M访问。对于9通道的DW擦欧洲哦,除开通道延时所测量的MAC访问时间为8b输入,8b权重,20bMAC输出时为6ns。与此前的工作相比,当使用8b输入,8b权重以及全精度的DW输出时,本工作实现了>4.09x的能效提升和>4.18倍的FoM提升。图7.57展示了die的图片和chip总结。

在这里插入图片描述

在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值