[发明专利]一种神经网络加速器的浮点乘法运算电路和方法有效
| 申请号: | 201910667528.7 | 申请日: | 2019-07-23 |
| 公开(公告)号: | CN110489077B | 公开(公告)日: | 2021-12-31 |
| 发明(设计)人: | 廖裕民;强书连 | 申请(专利权)人: | 瑞芯微电子股份有限公司 |
| 主分类号: | G06F7/57 | 分类号: | G06F7/57;G06N3/08 |
| 代理公司: | 福州市鼓楼区京华专利事务所(普通合伙) 35212 | 代理人: | 林云娇 |
| 地址: | 350000 福建省*** | 国省代码: | 福建;35 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 神经网络 加速器 浮点 乘法 运算 电路 方法 | ||
1.一种神经网络加速器的浮点乘法运算电路,其特征在于:包括乘法运算单元,首通道判断直通单元,累加结果缓存单元,指数比较单元,指数对齐单元,加法运算单元,全通道运算结束判断单元以及通道乘法个数配置信息单元;
所述乘法运算单元,所述首通道判断直通单元,所述指数比较单元,所述指数对齐单元,所述加法运算单元,以及所述全通道运算结束判断单元依次连接;
所述累加结果缓存单元分别连接所述首通道判断直通单元,所述指数比较单元和所述全通道运算结束判断单元;且
所述通道乘法个数配置信息单元分别连接所述首通道判断直通单元和所述全通道运算结束判断单元;
所述乘法运算单元,负责将待运算的浮点数据权重和特征值的精度位进行乘法操作得到结果数据的精度位,将指数位进行加法操作得到结果数据的指数位,将符号位进行异或操作得到结果数据的符号位,然后将结果数据输出到通路选择单元;
所述首通道判断直通单元,负责判断当前输入的数据是否为该组通道的第一个结果数据,如果是,则让该结果数据直接存入累加结果缓存单元;如果不是,则将该结果数据送往所述指数比较单元;
所述累加结果缓存单元,负责缓存通道内之前乘法结果的累加值,在一组通道第一个结果数据时直接存储该结果数据,在一组通道非第一个结果数据时将之前的累加结果送往所述指数比较单元进行指数比较操作,然后在累加结束后存储之前累加结果和最新乘法结果的累加值,并在下一个新的乘法结果到来时继续送出之前的累加值;
所述加法运算单元,负责对当前乘法结果和之前累加结果进行相加,然后将结果送往所述全通道运算结束判断单元;
所述全通道运算结束判断单元,根据通道乘法个数配置信息单元中存储的通道乘法的计算个数,判断当前通道的累加是否已经结束,如果结束则将结果送出,否则将结果继续送往累加结果缓存单元,准备下一个乘法结果的累加;
还包括时钟关闭控制单元,或逻辑电路单元,通路选择单元以及两个NaN判断单元;
任一所述NaN判断单元均连接所述时钟关闭控制单元和所述或逻辑电路单元;
所述时钟关闭控制单元连接所述乘法运算单元;
所述或逻辑电路单元和一低电平连接所述通路选择单元,且所述通路选择单元连接于所述乘法运算单元和所述首通道判断直通单元之间;
所述NaN判断单元,负责对待运算的浮点数据进行NaN判断,如果NaN判断结果为无效,则把NaN判断结果置为1,如果NaN判断结果为有效,则不改变NaN判断结果,然后把NaN判断结果送往所述或逻辑电路单元和所述时钟关闭控制单元;
所述时钟关闭控制单元,负责根据两个所述NaN判断单元的NaN判断结果,对所述乘法运算单元的时钟进行关闭控制,当收到的两个NaN判断结果的任意之一为无效时,就对所述乘法运算单元的时钟进行关闭操作,否则,保持所述乘法运算单元的时钟正常供给;
所述或逻辑电路,负责对两个NaN判断单元的NaN判断结果进行或逻辑判断后送往所述通路选择单元;
所述通路选择单元,负责根据所述或逻辑电路输出的NaN判断结果对乘法运算单元的数据和低电平信号进行选通,以达到NaN无效数时直接选择低电平输出以降低电路的功耗。
2.根据权利要求1所述的一种神经网络加速器的浮点乘法运算电路,其特征在于:任一所述NaN判断单元包括一个与逻辑电路组、一个或逻辑电路组以及一个与逻辑电路单元,所述与逻辑电路组和所述或逻辑电路组均连接所述与逻辑电路单元。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于瑞芯微电子股份有限公司,未经瑞芯微电子股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910667528.7/1.html,转载请声明来源钻瓜专利网。
- 上一篇:环境声音监控方法、装置以及电子设备
- 下一篇:一种随机数发生器的自检方法





