乘法器与芯片制造技术

技术编号:38350971 阅读:8 留言:0更新日期:2023-08-05 17:24
本发明专利技术涉及芯片技术领域,公开一种乘法器与芯片。所述乘法器包括:存储阵列,用于存储权重矩阵;输入模块,用于按多个周期依次输入一向量中的每个元素中的多个数据块;编码器,用于对每个周期输入的每个数据块进行编码,以获得每个元素在每个周期内的编码数据;部分积生成模块,用于将编码数据与权重矩阵相乘,以得到每个周期内的多组部分积;加法模块,用于将每个周期内的每组部分积相加,以得到每个周期内的每组部分积的总和;以及累加器,用于将每组部分积的总和进行移位相加,由此实现了数字存算一体电路,消除存储器与处理器之间的数据搬移,极大地提高能效与算力。极大地提高能效与算力。极大地提高能效与算力。

【技术实现步骤摘要】
乘法器与芯片


[0001]本专利技术涉及芯片
,具体地涉及一种乘法器与芯片。

技术介绍

[0002]近年来,为了解决器件尺寸微缩挑战与冯诺依曼计算架构瓶颈,存算一体技术得到人们的广泛关注,其基本思想是存储与计算融合在同一个芯片,从而直接利用存储器进行计算,减少存储器与处理器之间的数据传输,降低功耗的同时提高性能。
[0003]存算一体技术目前被认为是后摩尔时代解决大数据实时智能处理的高效硬件方案之一,也是目前深度学习神经网络高效实施方案之一。对于深度学习神经网络应用,其最频繁的运算是乘积累加运算(Multiply Accumulate,简称MAC),通过存算一体的方式可以高效的实现MAC运算,从而在大幅度提高性能的同时降低功耗。
[0004]现有的存算一体处理器通常依赖模拟存算一体技术,以实现具有低精度整数乘法累加(MAC)支持的高效神经网络推理。尽管大多数先前的工作集中于基于模拟的存算一体技术以利用位线(BL)的充电/放电操作,但晶体管的变化和模数转换器(ADC)导致的精度不足仍然是一个问题。与边缘深度学习不同,云端深度学习对神经网络推理和训练有更高的精度要求,因此,模拟方法可能不适合于要求高精度的一些应用。

技术实现思路

[0005]本专利技术的目的是提供一种乘法器与芯片,其对输入数据进行分周期

分块输入,从而减少运算周期以及累加器的存储空间,实现了数字存算一体电路,从而消除存储器与处理器之间的数据搬移,极大地提高能效与算力,进而可实现高精度计算任务。r/>[0006]为了实现上述目的,本专利技术第一方面提供一种乘法器,所述乘法器包括:存储阵列,用于存储权重矩阵;输入模块,用于按照多个周期依次输入一向量中的每个元素中的多个数据块,其中,所述数据块包括多个相邻的数据位;编码器,用于对每个周期输入的所述向量中的所述每个元素中的每个数据块进行编码,以获得所述每个元素在所述每个周期内的编码数据;部分积生成模块,用于将所述向量中的所述每个元素在所述每个周期内的编码数据与所述权重矩阵的相应元素相乘,以得到所述每个周期内的多组部分积,其中,每组部分积与所述向量的所有元素相关联,以及所述多组部分积的组数等于所述向量与所述权重矩阵的乘法结果中的所有元素的数目;加法模块,用于将所述每个周期内的所述每组部分积相加,以得到所述每个周期内的所述每组部分积的总和;以及累加器,用于将所述每个周期内的所述每组部分积的总和进行移位相加。
[0007]优选地,所述编码器包括波兹编码器。
[0008]优选地,所述编码器用于对每个周期输入的所述向量中的所述每个元素中的每个数据块进行编码包括:对每个周期输入的所述向量中的所述每个元素中的每个数据块进行基4波兹编码。
[0009]优选地,所述累加器包括多个累加单元,其中,所述累加单元包括:寄存器,用于存
储第i+1周期内的所述每组部分积的总和,其中,i为0到N

1之间的整数,以及N为所述多个周期的数目;移位器,用于将所述第i+1周期内的所述每组部分积的总和左移m位,其中,m为所述第i+1周期输入的数据块与包括最低数据位的数据块之间的位差;以及加法器,用于将移位后的所述第i+1周期内的所述总和与所述寄存器存储的第i周期内的所述加法器的输出结果相加,其中,所述第0周期内的所述加法器的输出结果为0,所述寄存器还用于,存储所述第i+1周期内的所述加法器的输出结果。
[0010]优选地,所述加法模块包括多个加法单元,其中,所述加法单元为采用加法树算法的单元。
[0011]优选地,所述多个加法单元与所述多个累加单元的数目等于所述向量与所述权重矩阵的乘法结果中的所有元素的数目。
[0012]优选地,所述部分积生成模块包括:多个部分积生成单元,其中,所述部分积生成单元包括:移位器,用于对所述权重矩阵中的元素进行移位;反相器,用于对所述权重矩阵中的元素取补码;以及多路复用器,用于根据所述向量中的相应元素在所述每个周期内的编码数据,从所述权重矩阵中的所述元素的移位、取补码或者未操作的结果中选择一者,并输出所选择的一者。
[0013]优选地,所述多个部分积生成单元的数目等于所述权重矩阵中的所有元素的数目。
[0014]优选地,所述多个周期的数目根据所述向量中的每个元素的比特数目确定。
[0015]优选地,所述存储阵列包括SRAM阵列,每个SRAM单元存储1比特数据。
[0016]优选地,所述乘法器还包括:缓存器,用于对按照所述多个周期依次输入的所述向量中的所述每个元素中的所述多个数据块进行缓存。
[0017]通过上述技术方案,本专利技术创造性地通过存储阵列存储权重矩阵;通过输入模块按照多个周期依次输入一向量中的每个元素中的多个数据块;通过编码器对每个周期输入的所述向量中的所述每个元素中的每个数据块进行编码,以获得所述每个元素在所述每个周期内的编码数据;通过部分积生成模块将所述向量中的所述每个元素在所述每个周期内的编码数据与所述权重矩阵的相应元素相乘,以得到所述每个周期内的多组部分积,其中,每组部分积与所述向量的所有元素相关联,以及所述多组部分积的组数等于所述向量与所述权重矩阵的乘法结果中的所有元素的数目;通过加法模块将所述每个周期内的所述每组部分积相加,以得到所述每个周期内的所述每组部分积的总和;以及通过累加器将所述每个周期内的所述每组部分积的总和进行移位相加。由此,本专利技术可对输入数据进行分周期

分块输入,从而减少运算周期以及累加器的存储空间,实现了数字存算一体电路,从而消除存储器与处理器之间的数据搬移,极大地提高能效与算力,进而可实现高精度计算任务。
[0018]本专利技术第二方面提供一种芯片,所述芯片包括:所述的乘法器。
[0019]本专利技术的其它特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
[0020]附图是用来提供对本专利技术实施例的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本专利技术实施例,但并不构成对本专利技术实施例的限制。在附图中:
[0021]图1是本专利技术一实施例提供的乘法器的结构示意图;
[0022]图2是本专利技术一实施例提供的存储阵列的示意图;
[0023]图3是本专利技术一实施例提供的输入数据的示意图;
[0024]图4是本专利技术一实施例提供的加法树的示意图;
[0025]图5是本专利技术一实施例提供的累加单元的示意图;以及
[0026]图6是本专利技术一实施例提供的融合波兹编码的乘法器的数字存算一体架构的示意图。
具体实施方式
[0027]以下结合附图对本专利技术的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本专利技术,并不用于限制本专利技术。
[0028]图1是本专利技术一实施例提供的乘法器的结构示意图。如图1所示,所述乘法器可包括:存储阵列10,用于存储权重矩阵;输入模块20,用于按照多个周期依次输入一向量中的每个元素中的多本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种乘法器,其特征在于,所述乘法器包括:存储阵列,用于存储权重矩阵;输入模块,用于按照多个周期依次输入一向量中的每个元素中的多个数据块,其中,所述数据块包括多个相邻的数据位;编码器,用于对每个周期输入的所述向量中的所述每个元素中的每个数据块进行编码,以获得所述每个元素在所述每个周期内的编码数据;部分积生成模块,用于将所述向量中的所述每个元素在所述每个周期内的编码数据与所述权重矩阵的相应元素相乘,以得到所述每个周期内的多组部分积,其中,每组部分积与所述向量的所有元素相关联,以及所述多组部分积的组数等于所述向量与所述权重矩阵的乘法结果中的所有元素的数目;加法模块,用于将所述每个周期内的所述每组部分积相加,以得到所述每个周期内的所述每组部分积的总和;以及累加器,用于将所述每个周期内的所述每组部分积的总和进行移位相加。2.根据权利要求1所述的乘法器,其特征在于,所述编码器包括波兹编码器。3.根据权利要求2所述的乘法器,其特征在于,所述编码器用于对每个周期输入的所述向量中的所述每个元素中的每个数据块进行编码包括:对每个周期输入的所述向量中的所述每个元素中的每个数据块进行基4波兹编码。4.根据权利要求1

3中任一项所述的乘法器,其特征在于,所述累加器包括多个累加单元,其中,所述累加单元包括:寄存器,用于存储第i+1周期内的所述每组部分积的总和,其中,i为0到N

1之间的整数,以及N为所述多个周期的数目;移位器,用于将所述第i+1周期内的所述每组部分积的总和左移m位,其中,m为所述第i+1周期输入的数据块与包括最低数据位的数据块之间的位差;以及加法器,用于将移位后的所述第i+1周期内的所述总和与所述寄存器存储的第i周期内的...

【专利技术属性】
技术研发人员:刘亮莫柯凡张喆潘彪孙玉峰周佳慧张茜歌李雷
申请(专利权)人:北京航空航天大学
类型:发明
国别省市:

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

1