[发明专利]基于TCAM和LUT的存内计算架构神经网络加速器有效
| 申请号: | 202111588448.6 | 申请日: | 2021-12-23 |
| 公开(公告)号: | CN114239818B | 公开(公告)日: | 2023-04-18 |
| 发明(设计)人: | 常亮;周军;李苇航;樊嘉靖 | 申请(专利权)人: | 电子科技大学 |
| 主分类号: | G06N3/063 | 分类号: | G06N3/063 |
| 代理公司: | 电子科技大学专利中心 51203 | 代理人: | 周刘英 |
| 地址: | 611731 四川省成*** | 国省代码: | 四川;51 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 基于 tcam lut 计算 架构 神经网络 加速器 | ||
1.一种基于TCAM和LUT的存内计算架构神经网络加速器,其特征在于,该神经网络加速器是专门为了加速乘加运算而设计,采用全数字化的存内计算架构,所述乘加运算是神经网络的主要运算形式,指的是:多组输入I1,I2,…,In和多组权重W1,W2,…,Wn分别对应相乘,再将各乘积相加的运算形式,如:
I1*W1+I2*W2+…+In*Wn (1)
所述神经网络加速器由以下部分组成:一个预编码器,一个控制器,M个TCAM,另外,每一个TCAM配置有若干个加法器、若干个缓存区、一个LUT以及一个局部控制器,其中TCAM的每一行对应一个加法器和一个缓存区;
每一个TCAM能够作为存储器工作进行正常读写,也能够存储由神经网络的任意一个输入I及其对应的权重W编码成的码字,从而加速神经网络的乘加运算,其中,所述码字也被称为key;
所述预编码器使每一个写入TCAM的由输入I和权重W组成的“输入-权重对”被编码成对应的码字,然后再写入TCAM,此处的编码规则是任意的,唯一的要求是乘法结果相同的“输入-权重对”被编码成同一个码字;
所述控制器起到全局控制的作用,主要管理神经网络中的输入I、权重W和对应的乘法结果的读出和写入到TCAM中的哪个位置;
每个TCAM都需要配置一个局部控制器,用于不断产生需要用于搜索的key,并控制所述LUT输出key对应的乘法结果;
所述LUT的作用是存储所有码字对应的乘法结果,当所述局部控制器产生用于搜索的key时,模拟人类的查表行为,输出对应的乘法结果;
在任意一个TCAM的每一行都需要配置一个加法器,当在任意时钟周期检测到该行输出“1”时,需要将对应缓存区的数据和该时钟周期对应LUT输出的乘法结果相加,并存回到对应缓存区中;
缓存区用于存储乘法结果和多个乘法结果相加的结果;
所述神经网络加速器将运行神经网络算法所需要用到的“输入-权重对”依次输入预编码器,得到对应的码字,然后写入TCAM中,所述控制器集中管理码字在TCAM中存储的位置;
局部控制器产生一个key,同时输出给TCAM和LUT,TCAM根据key搜索匹配的数据,匹配的数据所存在的行会输出“1”,否则输出“0”;LUT根据key输出对应的乘法结果,该乘法结果可能由LUT直接输出,也有可能由上一个时钟周期的输出移位得到;每一行的加法器如果检测到该行输出了“1”,则将对应缓存区内的数据和LUT输出的乘法结果相加,得到加法结果,并将该加法结果存回对应缓存区;在计算阶段,每一个时钟周期都需要执行上述从局部控制器产生一个key到将加法结果存回对应缓存区的操作,在计算完TCAM中的所有乘法之后,需要重新输入下一批需要用到的“输入-权重对”到预编码器,再开始计算;在计算完式(1)的所有乘法后,缓存区的数据即为式(1)的运算结果。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于电子科技大学,未经电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111588448.6/1.html,转载请声明来源钻瓜专利网。





