存内计算单元、模块和系统技术方案

技术编号:33630956 阅读:15 留言:0更新日期:2022-06-02 01:34
本发明专利技术涉及一种存内计算单元、模块和系统。存内计算单元包括存储阵列,包含多个呈N行N列排布的存储单元,位于第i行第j列的存储单元记为S

【技术实现步骤摘要】
存内计算单元、模块和系统


[0001]本专利技术涉及计算存储一体化,特别是涉及一种存内计算单元、模块和系统。

技术介绍

[0002]计算存储一体化是近年来出现的新型计算技术,其目标为在内存中完成数据计算,避免或减少数据在内存和CPU之间的搬运,提高计算效率。尤其是随着人工智能(artificial intelligence,AI)的发展,数据量和计算量快速增加,传统的冯诺依曼计算机结构正受到越来越多的挑战。以卷积神经网络(convolution neural network,CNN)为例,每次乘运算之后,需要先将乘积存储起来,取出到CPU内相加,周而复始。数据在内存和CPU之间的不断存取占用大量能耗,效率很低。
[0003]为了进一步提高计算效率,人们提出了存内计算的思路,即在存储模块内部完成数据的计算,而无需再将数据搬运至CPU内进行运算。然而,随着卷积神经网络的发展,模型复杂度越来高,所需用到的过滤器(filter)个数也越来越多,如果为每个filter分配专属的内存单元来存储权重值,则会占用大量内存,降低内存利用率,提高成本。并且,现有的存内计算结构需要将各存储单元输出的饱和电流汇入同一个输出线路后,再将其转换为数字信号,以求得乘积和。由于不同存储单元输出的饱和电流不可能完全保持一致,必然存在一定的误差,因此在电流汇集的过程中,会存在累积误差不断增大的风险。当汇集的饱和电流个数越多,累积误差也越大。

技术实现思路

[0004]基于此,有必要针对上述问题,提供一种存内计算单元、模块和系统。
[0005]一种存内计算单元,包括:存储阵列,包含多个呈N行N列排布的存储单元,位于第i行第j列的所述存储单元记为S
i,j
;位于同一列的所述存储单元中存储的数据值相同;所述存储阵列用于存储N比特的第一数据;其中,N大于等于1,i大于等于1且小于等于N,j大于等于1且小于等于N;其中,所述存储单元包括门控访问元件和存储元件,所述存储单元的控制端为所述门控访问元件的栅极;所述存储单元的输出端为所述门控访问元件的漏极;N条字线,所述字线用于输入N比特的第二数据;位于同一行所述存储单元的控制端经由同一条所述字线依次串接;M个位线组,第k组位线记为位线组BL
k
,M等于2N

1,k大于等于1且小于等于M;其中,当k大于等于1且小于等于N时,第k组位线具有k条位线,k条位线分别连接至和存储单元S
1,k
及存储单元S
k,1
位于同一直线上的各存储单元的输出端;当k大于N且小于等于M时,第k组位线具有2N

k条位线,2N

k条位线分别连接至和存储单元S
k

N+1,N
及存储单元S
N,k

N+1
位于同一直线上的各存储单元的输出端。
[0006]上述存内计算单元,上述存内计算单元将第二数据通过字线直接作用于存储单元的控制端,将第一数据按照一定规则存储于阵列排布的存储单元,可以在一个时钟周期内完成Nbit与Nbit的二进制乘法运算。无需将存储数据搬运至CPU内进行运算,可以在存储模块中直接完成运算,减少了数据搬运,在运算量大的情况下,可以大幅提升运算速度,降低
功耗。并且,每个存储单元的输出端均单独连接至一条独立的位线,与传统的技术方案相比,无需再将不同的存储单元输出的电流汇合到一根位线上,解决了电流汇合所导致的误差累积的问题。并且,通过门控访问元件可以对存储元件进行写入操作,以更新存储元件中的数值,从而改变存储阵列中第一数据的值,提高内存利用率。
[0007]在其中一个实施例中,所述存储单元包括易失性存储器。
[0008]在其中一个实施例中,所述门控访问元件包括晶体管,所述存储元件包括锁存器。
[0009]在其中一个实施例中,所述第一数据所述第二数据均为二进制数据,所述锁存器用于存储比特值0或1。
[0010]在其中一个实施例中,当所述字线上的电压大于等于预设电压,则所述字线上的比特值为1,与所述字线串接的各个所述存储单元的所述门控访问元件导通;当所述字线上的电压小于所述预设电压,则所述字线上的比特值为0,与所述字线串接的各个所述存储单元的所述门控访问元件关断。
[0011]在其中一个实施例中,所述存内计算单元还包括M

2个比特编码器,所述M

2个比特编码器与第2个至第M

1个位线组一一对应连接,所述比特编码器用于将所述位线组的输出信号进行编码,以得到数字信号。
[0012]上述存内计算单元,将各个位线组连接到对应的比特编码器,把位线组中各位线上的电流电压信号进行编码,无需再采用模数转换模块对位线中的电流信号进行转换,不仅在时间上节省了模数转换的时间,也在面积上节省了模数转换模块的面积。虽然增加了位线的数量和比特编码器,但是从存内计算单元整体来看,面积还是得到了缩减,计算速度也得到了提升。
[0013]在其中一个实施例中,所述存储单元包括SRAM存储器。
[0014]采用SRAM存储器作为存储单元,可以比非易失性存储器(例如NOR存储单元)作为存储单元时具有更快的读写速度,从而提高存内计算系统的计算速度。
[0015]在其中一个实施例中,所述存储单元采用全耗尽绝缘体上硅工艺制备得到。
[0016]一种存内计算模块,包括一个或多个上述实施例中所述的存内计算单元。
[0017]一种存内计算系统,包括一个或多个上述实施例中所述的存内计算模块。
[0018]上述存内计算模块和存内计算系统,无需借助于CPU进行数据运算,可以在存储阵列中直接完成数据运算,减少了数据搬移所消耗的时间和能耗,提高了运算效率;同时,采用比特编码器代替传统的模数转换模块或感应放大器,完全采用数字电路,节省了模拟信号转换为数字信号所消耗的时间,提高了数字信号的获取速度,也避免了模数转换过程中电流合并带来的误差累积的问题,同时还减小了整体结构的体积。并且,利用易失性存储器可以快速写入的优势,无需为每一个filter配置专属的存内计算模块,可以弹性下载不同的weight(权重)值写入存储单元,使得一个存内计算模块可以用于不同layer(层)不同weight的计算。
附图说明
[0019]图1为本申请一实施例中存内计算单元的结构示意图。
[0020]图2为图1的虚线框A中部分存内计算单元的结构放大示意图。
[0021]图3为两个8bit的二进制数据相乘的计算过程示意图。
[0022]图4为本申请一实施例中存储单元的结构示意图。
[0023]图5为图4所示存储单元的标识符号。
[0024]图6为本申请另一实施例中存内计算单元的结构示意图。
[0025]图7为本申请一实施例中将存内计算单元的各位线组上的数字信号进行求和的示意图。
[0026]图8为本本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种存内计算单元,其特征在于,所述存内计算单元包括:存储阵列,包含多个呈N行N列排布的存储单元,位于第i行第j列的所述存储单元记为S
i,j
;位于同一列的所述存储单元中存储的数据值相同;所述存储阵列用于存储N比特的第一数据;其中,N大于等于1,i大于等于1且小于等于N,j大于等于1且小于等于N;其中,所述存储单元包括门控访问元件和存储元件,所述存储单元的控制端为所述门控访问元件的栅极;所述存储单元的输出端为所述门控访问元件的漏极;N条字线,所述字线用于输入N比特的第二数据;位于同一行所述存储单元的控制端经由同一条所述字线依次串接;M个位线组,第k组位线记为位线组BLk,M等于2N

1,k大于等于1且小于等于M;其中,当k大于等于1且小于等于N时,位线组BLk具有k条位线,k条所述位线分别连接至和存储单元S1,k及存储单元Sk,1位于同一直线上的各存储单元的输出端;当k大于N且小于等于M时,位线组BLk具有2N

k条位线,2N

k条所述位线分别连接至和存储单元Sk

N+1,N及存储单元SN,k

N+1位于同一直线上的各存储单元的输出端。2.根据权利要求1所述的存内计算单元,其特征在于,所述存储单元包括易失性存储器。3.根据权...

【专利技术属性】
技术研发人员:杨展悌苏炳熏叶甜春朱纪军李彬鸿罗军赵杰
申请(专利权)人:澳芯集成电路技术广东有限公司
类型:发明
国别省市:

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

1