【技术实现步骤摘要】
一种存算一体电路、芯片系统及电子设备
[0001]本申请涉及电路
,具体涉及一种存算一体电路、芯片系统及电子设备。
技术介绍
[0002]近年来,大数据与人工智能技术在各领域中迅速发展,数据的通信和计算需求急剧增长,这对集成电路的能效提出了更高的挑战。应运而生的新型“存算一体(computing in memory,CIM)”计算架构受到广泛关注。其通过将计算电路集成设计在存储电路中,解决计算任务中数据搬运等能耗问题。随着人工智能(artificial intelligence,AI)算法与信号处理算法的发展,存算一体架构需要解决复数运算的基本操作。
[0003]目前解决复数运算的存算一体架构通常是基于静态随机存取存储器(static random access memory,SRAM)实现的,复数运算中复数形式的输入信号输入SRAM单元,SRAM单元中存储另一复数的两份正值形式的实部,以及一份正值形式的虚部和一份负值形式的虚部,复数形式的输入信号与SRAM单元中存储的两份复数的实部和虚部分别进行乘积,再做累加,得到乘累加结果。因为要存储两份实部和虚部,所以需要两倍的存储阵列资源,而且每份内存阵列都需要一份外围的资源(如:外围的驱动电路以及后端布线等资源),这导致目前的存算一体电路的体积大,功耗大,计算效率低下。
技术实现思路
[0004]本申请提供一种存算一体电路,用于以较小面积与功耗实现存算一体的复数乘累加计算。本申请实施例还提供了相应的芯片系统及电子设备。
[0005]本申 ...
【技术保护点】
【技术特征摘要】
1.一种存算一体电路,其特征在于,所述存算一体电路包括存算阵列和数据处理电路,所述存算阵列包括至少一个存算子阵列,其中,每个存算子阵列中包括按照n行m列排布的n*m个存算单元,所述数据处理电路包括至少一个乘累加MAC处理电路,所述至少一个存算子阵列与所述至少一个MAC处理电路一一对应,所述n和m为大于1的整数;每个存算单元连接一组行信号线和一组列信号线,所述一组行信号线连接位于同一行上的m个存算单元,所述一组列信号线连接位于同一列上的n个存算单元,以及所述n个存算单元所在的存算子阵列对应的目标MAC处理电路;所述每个存算单元用于从所连接的一组行信号线分别接收第一复数的第一实部比特数据和第一虚部比特数据,并与第二复数的第二实部比特数据,以及目标比特数据的相关数据进行运算,以得到第一乘积结果和第二乘积结果,所述第二实部比特数据和所述目标比特数据存储于所述存算单元中,所述目标比特数据包括第二虚部比特数据或所述第二虚部比特数据的反相数据,所述目标比特数据的相关数据包括所述第二虚部比特数据和所述第二虚部比特数据的反相数据;所述目标MAC处理电路用于从所连接的m组列信号线接收多个所述第一乘积结果和多个所述第二乘积结果,并对所述多个所述第一乘积结果进行累加以得到第一输出数据,以及对所述多个所述第二乘积结果进行累加以得到第二输出数据。2.根据权利要求1所述的存算一体电路,其特征在于,所述每个存算单元包括第一计算单元、第二计算单元、第三计算单元、第四计算单元,第一存储单元和第二存储单元;所述第一存储单元连接所述第一计算单元和所述第三计算单元,所述第二存储单元连接所述第二计算单元和所述第四计算单元;所述一组行信号线中的至少一条第一行信号线连接所述第一计算单元和所述第四计算单元,至少一条第二行信号线连接所述第二计算单元和所述第三计算单元,所述一组列信号线中的第一列信号线连接所述第一计算单元和所述第二计算单元,第二列信号线连接所述第三计算单元和所述第四计算单元;所述第一存储单元用于存储所述目标比特数据,所述第二存储单元用于存储所述第二实部比特数据。3.根据权利要求2所述的存算一体电路,其特征在于,所述第一存储单元用于向所述第一计算单元输出所述第二虚部比特数据,向所述第三计算单元输出所述第二虚部比特数据的反相数据;所述第二存储单元用于向所述第二计算单元和所述第四计算单元输出所述第二实部比特数据;所述第一计算单元用于计算所述第一实部比特数据与所述第二虚部比特数据的乘积;所述第二计算单元用于计算所述第一虚部比特数据与所述第二实部比特数据的乘积;所述第三计算单元用于计算所述第一虚部比特数据与所述第二虚部比特数据的反相数据的乘积;所述第四计算单元用于计算所述第一实部比特数据与所述第二实部比特数据的乘积;所述第一乘积结果包括所述第一实部比特数据与所述第二虚部比特数据的乘积,以及所述第一虚部比特数据与所述第二实部比特数据的乘积,所述第二乘积结果包括所述第一实部比特数据与所述第二实部比特数据的乘积,以及所述第一虚部比特数据与所述第二虚
部比特数据的反相数据的乘积。4.根据权利要求2或3所述的存算一体电路,其特征在于,所述目标MAC处理电路包括虚部处理电路和实部处理电路,所述虚部处理电路连接m条第一列信号线,所述实部处理电路连接m条第二列信号线;所述虚部处理电路用于通过每条所述第一列信号线接收来自于每列的存算单元的所述第一乘积结果,并将来自于同一列的多个第一乘积结果进行累加,以得到第一列累加结果,再对不同列的第一列累加结果做加权运算,然后再对加权运算后的不同列的第一列累加结果进行累加,以得到所述第一输出数据;所述实部处理电路用于计算通过每条所述第二列信号线接收自于每列的存算单元的所述第二乘积结果,并将来自于同一列的多个第二乘积结果进行累加,以得到第二列累加结果,再对不同列的第二列累加结果做加权运算,然后再对加权运算后的不同列的第二列累加结果进行累加,以得到所述第二输出数据。5.根据权利要求4所述的存算一体电路,其特征在于,所述数据处理电路还包括补偿电路,所述补偿电路的一端通过目标列信号线与N条第二行信号线连接,另一端与所述至少一个MAC处理电路中的每个MAC处理电路中的所述实部处理电路连接;所述补偿电路用于从所述N条第二行信号线接收多个第一虚部比特数据,并对所述多个第一虚部比特数据进行累加,将所述多个第一虚部比特数据的累加结果传输给所述实部处理电路;所述实部处理电路用于将所述多个第一虚部比特数据的累加结果与所述第二输出数据做求和运算,以得到第三输出数据。6.根据权利要求4或5所述的存算一体电路,其特征在于,位于同一行的m个存算单元用于存储所述第二复数的实部和虚部分别进行二进制转换后的不同有效位的比特数据;位于同一列的n个存算单元用于存储不同第二复数的同一有效位的比特数据。7.根据权利要求4或5所述的存算一体电路,其特征在于,所述第一复数的第一实部比特数据包括所述第一复数的实部进行二进制转换后的不同有效位的比特数据;所述第一复数的第一虚部比特数据包括所述第一复数的虚部进行二进制转换后的不同有效位的比特数据。8.根据权利要求2
‑
7任...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。