[发明专利]一种存内计算电路及方法在审
| 申请号: | 202210932933.9 | 申请日: | 2022-08-04 |
| 公开(公告)号: | CN115394337A | 公开(公告)日: | 2022-11-25 |
| 发明(设计)人: | 张创豪;麦扬湛;王明羽;虞志益 | 申请(专利权)人: | 中山大学 |
| 主分类号: | G11C11/413 | 分类号: | G11C11/413;G06N3/063 |
| 代理公司: | 广州嘉权专利商标事务所有限公司 44205 | 代理人: | 梁嘉琦 |
| 地址: | 510275 广东*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 计算 电路 方法 | ||
本发明申请公开了一种存内计算电路及方法,通过逻辑计算单元在单个周期内读取第一权重值和第一激活值并进行或非操作输出第一结果,实现了在单个周期内进行单比特权重值和单比特激活值的乘法结果输出;通过逻辑计算阵列在单个周期内根据第一结果输出权重值阵列中一列的单比特权重值与激活值阵列中一列的单比特激活值的乘结果,即第二结果,并通过计算单元对第二结果进行移位累加计算,实现了在单个周期内执行一比特的权重值和激活值的乘累加,减小了存内计算电路的面积,增加了存储单元密度,从而降低了能耗;并且提高了存内计算电路的灵活性,使得存内计算电路具备较高的可配置精度,从而实现对神经网络识别任务中的权重值和激活值的高精度配置。
技术领域
本发明涉及计算机技术领域,尤其是一种存内计算电路及方法。
背景技术
近年来,从图像分类到语音识别,人工智能(AI)已被越来越广泛地应用于工业和日常生活中的场景。AI模型通常包含大量参数,需要进行大量乘累加(MAC)操作才能进行单次推理。为了提高AI设备的性能和能效,许多硬件加速器被提出。然而,基于冯诺依曼架构的存储器结构设计很难通过硬件加速器进一步提高能效,其能耗和延迟主要由内存和处理元件之间的数据移动决定,即由“存储墙”决定。
现有技术一般通过设计存内计算架构克服“存储墙”问题。存内计算架构可以通过在内存块内执行计算来消除片上缓冲区和运算器之间的数据移动,从而避免片上缓冲区和运算器之间数据移动带来的能量消耗。然而,神经网络在识别任务中的权重值以及激活值的精度随着结构的变化而变化,而当前大部分存内计算系统所支持的精度不可配置或者可配置精度较少,在神经网络识别任务的权重值和激活值的配置上存在一定的局限性;同时,当前大部分存内计算电路中的计算单元在内存中的面积占比较大,导致存储单元密度较小,从而存储单元所能存储的数据量较少,间接增加了数据流动量,引起功耗的升高。
发明内容
为解决上述技术问题,本发明实施例提供了一种存内计算电路及方法。
一方面,本发明实施例所采取的技术方案是:
一种存内计算电路,包括:
权重值存储阵列,用于存储权重值阵列;
激活值存储阵列,用于存储激活值阵列;
逻辑计算阵列,包括若干个逻辑计算单元,所述逻辑计算单元用于在单个周期内从所述权重值存储阵列读取第一权重值,从所述激活值存储阵列中读取第一激活值,并对所述第一权重值和所述第一激活值进行或非操作,输出第一结果,所述第一权重值为所述权重值阵列中单比特权重值的相反值,所述第一激活值为所述激活值阵列中与所述第一权重值行数相同的单比特激活值的相反值;所述逻辑计算单元的数量与所述权重值阵列的行数以及所述激活值阵列的行数相同;所述逻辑计算阵列用于在所述单个周期内根据所述第一结果输出第二结果,所述第二结果为所述权重值阵列中一列的单比特权重值与所述激活值阵列中一列的单比特激活值的乘结果;
计算单元,用于根据所述第二结果进行移位累加计算,输出第三结果。
作为一种可选的实施方式,所述计算单元包括:
加法器,用于计算所述第二结果中的各个乘结果的和,得到第四结果;
寄存器,用于保存所述第四结果;
补零模块,用于对所述寄存器中保存的所有所述第四结果进行补零操作,生成第五结果;
移位累加模块,用于对所述第五结果进行移位累加计算,生成所述第三结果并输出。
作为一种可选的实施方式,所述计算单元还包括符号位控制模块;
所述符号位控制模块用于对所述第五结果进行有符号计算或者无符号计算。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中山大学,未经中山大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210932933.9/2.html,转载请声明来源钻瓜专利网。





