当前位置: 首页 > 专利查询>南京大学专利>正文

一种存内计算单元、存算阵列及存算芯片制造技术

技术编号:37502712 阅读:29 留言:0更新日期:2023-05-07 09:38
本申请提供一种存内计算单元、存算阵列及存算芯片。该存内计算单元包括存储电路和计算电路,计算电路包括乘法模块、加和模块和电荷恢复模块,计算电路接收的计算电压是基于权重矩阵列方向的稀疏度所配置的多电平,乘法模块用于在输入信号和权重数据均为高电平时执行输入信号和权重数据的乘法运算,加和模块用于在权重数据为高电平时将乘法结果导通至电荷共享线以与其他乘法模块的乘法结果加和,电荷恢复模块用于在加和阶段之后泄放加和模块上寄生电容的电荷。整个单元可根据稀疏度动态调节输入的计算电压,在降低功耗的同时还能自适应避免权重为0的单元参与计算,在尽可能降低计算电压的情况下,并不影响计算精度。并不影响计算精度。并不影响计算精度。

【技术实现步骤摘要】
一种存内计算单元、存算阵列及存算芯片


[0001]本申请涉及电路
,特别涉及一种存内计算单元、存算阵列及存算芯片。

技术介绍

[0002]深度神经网络(Deep Neural Network,DNN)在许多领域内,例如:图像识别、语音识别和无人驾驶,都已得到广泛应用。存内计算是把计算单元嵌入到内存当中。通常计算机运行的冯诺依曼体系包括存储单元和计算单元两部分,计算机实施运算需要先把数据存入主存储器,再按顺序从主存储器中取出指令,一条一条的执行,数据需要在处理器与存储器之间进行频繁迁移。随着DNN规模的不断扩大,由于传统的冯诺依曼数字计算体系需要处理大量的数据和计算,因此功率开销特别严重,特别是在处理器与寄存器之间的数据迁移,所需要的功耗占比可达到70%以上。因此,研究者的关注点已从以计算为中心转变到到以数据为中心,其关键点在于研发出的加速器可以执行高效的乘加运算(Multiply Accumulate, MAC)。为了进一步降低电荷域存算芯片的功耗,可以通过降低存算芯片的计算电压来实现。
[0003]存算芯片上设置有存算阵列,存算阵列包括多个存内计算单元。传统的存算芯片是在加和过程中将所有的电容都接入到电荷共享端,其最小计算精度的电压V
LSB
受限于计算电压和存算阵列的行数, V
LSB
可通过如下公式确定:;其中,V
LSB
为最小计算精度的电压,n是存算阵列的行数,V
comp
是用于存算阵列进行电荷加和的计算电压。由此可以看出,虽然降低计算电压V
comp
可以降低计算功耗,但是最小计算精度的电压V
LSB
也会对应下降,从而导致存算芯片整体计算精度的下降。

技术实现思路

[0004]本申请提供了一种存内计算单元、存算阵列及存算芯片,可用于解决传统的存算芯片在降低存算阵列的计算电压的同时会影响存算计算精度的技术问题。
[0005]第一方面,本申请实施例提供一种存内计算单元,包括:存储电路,被配置为存储权重数据;计算电路,包括乘法模块、加和模块和电荷恢复模块;所述乘法模块与所述存储电路耦接,用于接收计算电压,以及,在乘法阶段,若获取到的输入信号和所述权重数据均为高电平,则执行所述输入信号与所述权重数据的乘法运算,所述计算电压是基于权重矩阵的列方向的稀疏度所配置的多电平;所述加和模块分别与所述存储电路、所述乘法模块和电荷共享线耦接,用于在加和阶段,若所述权重数据为高电平,则将所述乘法模块的乘法结果导通至所述电荷共享线,以与其他乘法模块的乘法结果进行加和;所述电荷恢复模块与所述加和模块和所述乘法模块耦接,用于在所述加和阶段之
后,泄放所述加和模块上寄生电容的电荷。
[0006]结合第一方面,在第一方面的一种可实现方式中,所述乘法模块包括:第一晶体管,所述第一晶体管的第一输入端用于接收所述计算电压,所述第一晶体管的第二输入端用于接收所述输入信号;第二晶体管,所述第二晶体管的第一输入端耦接所述第一晶体管的输出端,所述第二晶体管的第二输入端耦接所述存储电路的输出端;电容器,所述电容器的一端耦接所述第二晶体管的输出端,所述电容器的另一端接地。
[0007]结合第一方面,在第一方面的一种可实现方式中,所述加和模块包括:第三晶体管,所述第三晶体管的第一输入端耦接所述存储电路的输出端,所述第三晶体管的第二输入端用于接收加和触发信号;第四晶体管,所述第四晶体管的第一输入端耦接所述第二晶体管的输出端,所述第四晶体管的第二输入端耦接所述第三晶体管的输出端,所述第四晶体管的输出端耦接所述电荷共享线。
[0008]结合第一方面,在第一方面的一种可实现方式中,所述电荷恢复模块包括:第五晶体管,所述第五晶体管的第一输入端耦接所述第三晶体管的输出端,所述第五晶体管的第二输入端用于接收所述加和触发信号,所述第五晶体管的输出端耦接所述电容器的另一端。
[0009]结合第一方面,在第一方面的一种可实现方式中,所述电荷共享线上设置有复位开关,所述复位开关用于在第一复位信号的控制下断开,以使所述电荷共享线上的电压和所述电容器上的电压均恢复为零。
[0010]结合第一方面,在第一方面的一种可实现方式中,所述存储电路包括交叉耦合反相器、第六晶体管和第七晶体管;所述第六晶体管的第一输入端耦接对应的位线,所述第七晶体管的第一输入端耦接对应的反位线,所述第六晶体管的第二输入端和所述第七晶体管的第二输入端均耦接对应的字线,所述第六晶体管的输出端耦接所述交叉耦合反相器的第一输入端,所述第七晶体管的输出端耦接所述交叉耦合反相器的第二输入端,所述交叉耦合反相器的输出端分别耦接所述乘法模块和所述加和模块。
[0011]结合第一方面,在第一方面的一种可实现方式中,所述计算电压通过以下公式确定:;其中,V
comp
为所述计算电压,α为所述权重矩阵的列方向的稀疏度,α大于0且小于1,VDD为提供的电源电压。
[0012]第二方面,本申请实施例还提供一种存算阵列,包括如第一方面及各种可实现方式中的存内计算单元,所述存内计算单元的数量与权重矩阵中权重的数量相同,且多个所述存内计算单元呈阵列排布。
[0013]第三方面,本申请实施例还提供一种存算芯片,包括如第二方面中的存算阵列。
[0014]本申请实施例提供一种存内计算单元、存算阵列及存算芯片,在进行乘加运算时,可以根据权重矩阵的列方向的稀疏度动态调节输入的计算电压,在降低功耗的同时,还能
自适应地避免存储的权重为0的单元参与计算,从而使得这些单元中用于加和的电容器不会导通至电荷共享线,进而不会导致最小计算精度的电压的下降,因此在尽可能降低计算电压的情况下,并不会影响计算精度。
附图说明
[0015]为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0016]图1是本申请实施例提供的一种存内计算单元的整体结构示意图;图2是本申请实施例提供的一种存内计算单元的具体结构示意图。
具体实施方式
[0017]为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
[0018]为了解决传统的存算芯片在降低存算阵列的计算电压的同时会影响存算计算精度的技术问题,本申请通过以下实施例公开了一种存内计算单元。本申请实施例提供的存内计算单元应用于存算芯片,用于根据输入信号以及自身存储的权重数据执行乘加运算。
[0019]图1是本申请实施例提供的一种存内计算单元的整体结构示意图。参照图1所示,本申请实施例提供的存内计算单元包括存储电路100和计算电路200。存储电路100被配置为存储权重数据。计算电路200包括乘法模块210、加和模块220和电荷恢复模块230。
[0020]其中,乘法模块210与存储电路100耦接,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种存内计算单元,其特征在于,包括:存储电路,被配置为存储权重数据;计算电路,包括乘法模块、加和模块和电荷恢复模块;所述乘法模块与所述存储电路耦接,用于接收计算电压,以及,在乘法阶段,若获取到的输入信号和所述权重数据均为高电平,则执行所述输入信号与所述权重数据的乘法运算,所述计算电压是基于权重矩阵的列方向的稀疏度所配置的多电平;所述加和模块分别与所述存储电路、所述乘法模块和电荷共享线耦接,用于在加和阶段,若所述权重数据为高电平,则将所述乘法模块的乘法结果导通至所述电荷共享线,以与其他乘法模块的乘法结果进行加和;所述电荷恢复模块与所述加和模块和所述乘法模块耦接,用于在所述加和阶段之后,泄放所述加和模块上寄生电容的电荷。2.根据权利要求1所述的存内计算单元,其特征在于,所述乘法模块包括:第一晶体管,所述第一晶体管的第一输入端用于接收所述计算电压,所述第一晶体管的第二输入端用于接收所述输入信号;第二晶体管,所述第二晶体管的第一输入端耦接所述第一晶体管的输出端,所述第二晶体管的第二输入端耦接所述存储电路的输出端;电容器,所述电容器的一端耦接所述第二晶体管的输出端,所述电容器的另一端接地。3.根据权利要求2所述的存内计算单元,其特征在于,所述加和模块包括:第三晶体管,所述第三晶体管的第一输入端耦接所述存储电路的输出端,所述第三晶体管的第二输入端用于接收加和触发信号;第四晶体管,所述第四晶体管的第一输入端耦接所述第二晶体管的输出端,所述第四晶体管的第二输入端耦接所述第三晶体管的输出端,所述第四晶体管的输出端耦接所述电荷共享...

【专利技术属性】
技术研发人员:杜力杜源
申请(专利权)人:南京大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1