本技术涉及存储器领域,尤其涉及一种支持存内计算的存储器、存储单元阵列和级联加法器。
背景技术:
1、随着云计算、人工智能的飞速发展,当前的数据处理需求正以前所未有的规模增长。这种增长对主机的计算资源,比如内存、中央处理器(central processing unit,简称cpu)等提出了更高要求。
2、在实际中,可以对主机中的存储器进行改造以实现存内计算(in-memorycomputing,简称imc)。由于存内计算是将计算操作直接在存储器的存储单元内进行,而不用将数据从存储单元转移到处理单元后再进行计算,因此,可以减少数据传输所需的时间,从而提高主机的数据处理性能。
3、在此基础上,在利用存储器实现存内计算的同时,如何降低存储器的功耗就成为一个亟待解决的问题。
技术实现思路
1、有鉴于此,本技术的多个方面提供一种支持存内计算的存储器、存储单元阵列和级联加法器,用以在提高数据处理效率的同时,降低处理器的功耗。
2、本技术实施例提供一种支持存内计算的存储器,包括:电连接的控制电路和存储单元阵列,以及被所述存储单元阵列中一列存储单元共用的数据读写单元和位线;
3、其中,被所述一列存储单元共用的数据读写单元与位线之间存在电连接,被所述一列存储单元共用的位线上设置有多个开关电路;所述一列存储单元包括多组存储单元,不同组中存储单元的开关状态分别由不同的开关电路控制;所述存储单元阵列中的任一存储单元与所述任一存储单元对应的字线电连接;
4、所述控制电路,用于根据包含第一地址的读写信号,控制具有所述第一地址的第一存储单元对应的开关电路闭合,以使包含所述第一存储单元的一组存储单元处于导通状态;控制其他开关电路断开,以使不包含第一存储单元的其他组存储单元处于断开状态;根据所述读写信号,将所述第一存储单元电连接的字线置为高电平;
5、所述数据读写单元,用于接收所述读写信号中的待读写数据;
6、被包含所述第一存储单元的一列存储单元共同的位线,用于在所述字线置为高电平时,根据所述位线的电平值响应所述读写信号,以以按照所述待读写数据对所述第一存储单元进行读写。
7、本技术实施例提供一种支持存内计算的存储器,包括:电连接的控制电路和存储单元阵列、被所述存储单元阵列中一列存储单元共用的数据读写单元,以及与存储单元阵列电连接的级联加法器;任一存储单元中存储有权重值;
8、所述控制电路,用于输出包含多个地址的计算信号,所述多个地址包括第一地址、第二地址、第三地址和第四地址;
9、根据所述计算信号,控制开关电路闭合,以使具有所述第一地址的第一存储单元和具有所述第二地址的第二存储单元处于导通状态,以使具有所述第三地址的第三存储单元和具有所述第四地址的第四存储单元处于导通状态;控制开关电路断开,以使不包含所述第一存储单元至所述第四存储单元的至少一组存储单元处于断开状态,其中,所述第一存储单元至所述第四存储单元分别包含在同组或不同组的存储单元中;
10、所述级联加法器中的一个第一级加法器,用于根据所述第一存储单元中的权重值、所述第二存储单元中的权重值、以及所述计算信号中的第一待计算值、第二待计算值,在查找表中查询所述第一待计算值和所述第二待计算值的加权求和结果,其中,所述计算信号中的待计算值和存储单元中的权重值为二进制数据,所述查找表包括对不同待计算值和存储单元中不同权重值进行组合后得到的加权求和结果;
11、所述级联加法器中的另一个第一级加法器,用于根据所述第三存储单元中的权重值、所述第四存储单元中的权重值以及所述计算信号中的第三待计算值、第四待计算值,在查找表中查询所述第三待计算值和所述第四待计算值的加权求和结果;
12、所述级联加法器中的第二级加法器,用于对不同的第一级加法器输出的加权求和结果进行计算。
13、本技术实施例提供一种存储单元阵列,所述存储单元阵列中一列存储单元共用数据读写单元和位线;所述存储单元阵列中的任一存储单元与所述任一存储单元对应的字线电连接;
14、被所述一列存储单元共用的数据读写单元与位线之间存在电连接,被所述一列存储单元共用的位线上设置有多个开关电路;所述一列存储单元包括多组存储单元,不同组中存储单元的开关状态分别由不同的开关电路控制;
15、所述控制电路,用于根据包含第一地址的读写信号,控制具有所述第一地址的第一存储单元对应的开关电路闭合,以使包含所述第一存储单元的一组存储单元处于导通状态;控制其他开关电路断开,以使不包含第一存储单元的其他组存储单元处于断开状态;根据所述读写信号,将所述第一存储单元电连接的字线置为高电平;
16、所述数据读写单元,用于接收所述读写信号中的待读写数据;
17、被包含所述第一存储单元的一列存储单元共同的位线,用于在所述字线置为高电平时,根据所述位线的电平值响应所述读写信号,以以按照所述待读写数据对所述第一存储单元进行读写。
18、本技术实施例提供一种级联加法器,包括:第一级加法器和第二级加法器,所述第二级加法器包括零值检测电路、或门以及加法器单元;
19、任一第一级加法器,用于响应于计算信号,输出计算结果;
20、所述零值检测电路,用于判断不同的第一级加法器各自输出的加权求和结果中是否包含零值;
21、若所述不同的第一级加法器各自输出的加权求和结果中包含零值,则输出高电平的或门使能信号,输出低电平的加法器使能信号;
22、若不同的第一级加法器输出的加权求和结果中不包含零值,则输出低电平的或门使能信号,输出高电平的加法器使能信号;
23、所述或门,用于在被高电平的或门使能信号激活后,对所述不同的第一级加法器中不为零的加权求和结果进行或逻辑运算;
24、所述加法器单元,用于在被高电平的加法器使能信号激活后,对所述不同的第一级加法器各自输出的加权求和结果进行求和。
25、本技术实施例提供的支持存内计算的存储器包括:电连接的控制电路和存储单元阵列,以及被存储单元阵列中一列存储单元共用的数据读写单元和位线。其中,被共用的数据读写单元和位线之间也存在电连接。并且被一列存储单元共用的位线上可以设置有多个开关电路。一列存储单元又可以被划分为多个组,不同组中存储单元的开关状态分别由不同的开关电路控制。开关电路用于控制一组存储单元的开关状态;存储单元阵列中的任一存储单元与任一存储单元对应的字线电连接。
26、对于具有上述结构的存储器,当对存储单元阵列中具有某一地址的存储单元产生读写信号时,控制电路可以生成包含地址的读写信号,以控制该存储单元的开关电路闭合,从而使得包含该存储单元在内的一组存储单元处于导通状态。同时,控制电路还可以控制存储单元阵列中其他组存储单元的开关电路会断开,以使其他组中的存储单元处于断开状态。
27、也就是说,本技术实施例提供的存储器通过对存储单元进行分组并且为不同组的存储单元分别设置对应的开关电路,可以对存储单元的开关状态进行更精细的控制。在数据读写时,与该读写信号相关的存储单元处于导通状态,而其他存储单元处于断开状态,相比于全部存储单元都导通,这显然可以降低存储器的功耗。