本发明涉及存内计算芯片设计,尤其是一种存内计算装置及存内计算方法。
背景技术:
1、存内计算技术是目前神经网络加速器方向和人工智能方向的研究热点,为了更好的发挥存内计算技术的优势,研究人员对sram存储阵列进行改进。使得sram存储阵列更加适用于存内计算技术的发展。目前的存内计算芯片主要实现的功能为神经网络的乘法累加计算过程,其中对sram存储阵列进行改进,使得sram存储阵列能够同时具有存储功能和乘法功能。
2、现有技术中采用存储单元和计算单元阵列共同构成计算结构的方法,它们的门分别连接sram互补位线(blp和bln),以及中间输入线inp和inn。sram中存储的数据(w)选择互补位线(blp和bln)连接到计算单元。sram存储单元为由6个晶体管组成的存储单元以及由6个晶体管组成的计算单元两部分组成,这种计算阵列虽然可以很好的进行各种计算功能的实现与切换,但是采用的动态逻辑电路的总功耗会明显高于静态传输门,因为是时钟周期控制,每个周期都有一个翻转;并且由于计算单元晶体管数量较多,占用芯片上面积较大,影响了存内计算芯片的利用率。
3、因此,需要设计一种结构更优的计算单元,以解决现有技术中计算单元使用晶体管数量较多的问题,从而提升存内计算芯片的利用率。
技术实现思路
1、本发明的目的在于提供一种存内计算装置及存内计算方法,用于解决现有技术中计算单元使用晶体管数量较多的问题。
2、为了实现上述目的,本发明提供如下技术方案:
3、第一方面,本发明提供一种存内计算装置,所述存内计算装置包括多个存内计算列以及控制单元;
4、所述存内计算列包括计算单元和多个存储单元,所述计算单元与多个所述存储单元连接;
5、所述控制单元分别与多个所述存内计算列中的计算单元连接;
6、所述控制单元用于根据预设的目标控制信号,控制多个所述存内计算列中的计算单元实现对应的逻辑计算功能。
7、第二方面,本发明提供一种存内计算方法,所述存内计算方法应用于第一方面所述的存内计算装置;所述存内计算装置包括多个存内计算列以及控制单元,所述存内计算列包括计算单元和多个存储单元;所述方法包括:
8、所述控制单元接收输入信号、位线信号、第一控制信号以及第二控制信号;所述位线信号为多个所述存储单元通过位线发送的信号;
9、基于所述输入信号、所述位线信号、所述第一控制信号以及所述第二控制信号,控制预设的传输门进行逻辑与功能操作或逻辑或功能操作,使得所述计算单元实现对应的逻辑计算功能。
10、与现有技术相比,本发明提供的一种存内计算装置,该存内计算装置包括多个存内计算列以及控制单元;该存内计算列包括计算单元和多个存储单元,所述计算单元与多个所述存储单元连接;通过将控制单元分别与多个所述存内计算列中的计算单元连接;控制单元用于根据预设的目标控制信号,控制多个所述存内计算列中的计算单元实现对应的逻辑计算功能;可以实现利用控制单元对多个计算单元进行逻辑功能控制,从而可以将存内计算列中计算单元使用晶体管的数量降低为2个,大大减少了现有技术中计算单元对晶体管的使用量。
1.一种存内计算装置,其特征在于,所述存内计算装置包括多个存内计算列以及控制单元;
2.如权利要求1所述的装置,其特征在于,所述存内计算装置包括第一数量个存内计算列以及第二数量个控制单元,所述第一数量大于所述第二数量;
3.如权利要求2所述的装置,其特征在于,第三数量个所述计算单元包括第一计算子单元以及第二计算子单元,所述第一计算子单元与第二计算子单元连接;所述控制单元包括第一控制子单元和第二控制子单元;
4.如权利要求3所述的装置,其特征在于,所述第一控制子单元包括第一传输门和第二传输门;所述第一计算子单元包括第一n型晶体管;
5.如权利要求3所述的装置,其特征在于,所述第二控制子单元包括第三传输门和第四传输门;所述第二计算子单元包括第二n型晶体管;
6.如权利要求3所述的装置,其特征在于,所述控制单元还包括第一反相器和第二反相器;
7.如权利要求6所述的装置,其特征在于,第三数量个所述计算单元还包括第三反相器;
8.一种存内计算方法,其特征在于,所述存内计算方法应用于存内计算装置;所述存内计算装置包括多个存内计算列以及控制单元,所述存内计算列包括计算单元和多个存储单元;所述方法包括:
9.如权利要求8所述的方法,其特征在于,所述控制单元包括第一控制子单元和第二控制子单元,所述第一控制子单元包括第一传输门和第二传输门,所述第二控制子单元包括第三传输门和第四传输门;
10.如权利要求9所述的方法,其特征在于,所述基于所述输入信号、所述位线信号、所述第一控制信号以及所述第二控制信号,控制预设的传输门进行逻辑与功能操作或逻辑或功能操作,使得所述计算单元实现对应的逻辑计算功能,还包括: