一种神经网络加速器的浮点乘法运算电路和方法技术

技术编号:22640786 阅读:49 留言:0更新日期:2019-11-26 15:56
本发明专利技术提供一种神经网络加速器的浮点乘法运算电路和方法,电路包括乘法运算单元,首通道判断直通单元,累加结果缓存单元,指数比较单元,指数对齐单元,加法运算单元,全通道运算结束判断单元以及通道乘法个数配置信息单元;所述乘法运算单元,首通道判断直通单元,指数比较单元,指数对齐单元,加法运算单元,以及全通道运算结束判断单元依次连接;所述累加结果缓存单元分别连接首通道判断直通单元,指数比较单元和全通道运算结束判断单元;且通道乘法个数配置信息单元分别连接首通道判断直通单元和全通道运算结束判断单元。本发明专利技术将浮点乘加运算运用于神经网络电路中,可以实现高效的大规模并行运算,同时还可以有效的降低运算过程的中的电路功耗。

Floating point multiplication circuit and method of neural network accelerator

The invention provides a floating-point multiplication operation circuit and method of a neural network accelerator, the circuit includes a multiplication operation unit, a first channel judgment through unit, an accumulation result buffer unit, an index comparison unit, an index alignment unit, an addition operation unit, a full channel operation end judgment unit and a channel multiplication number configuration information unit; the multiplication operation unit, the first channel The judgment pass through unit, the index comparison unit, the index alignment unit, the addition operation unit and the full channel operation end judgment unit are successively connected; the accumulation result buffer unit is respectively connected with the first channel judgment pass through unit, the index comparison unit and the full channel operation end judgment break unit; and the channel multiplication number configuration information unit is respectively connected with the first channel judgment pass through unit and the full channel operation end judgment pass through unit The whole channel operation ends the judgment unit. The invention applies the floating-point multiplication and addition operation to the neural network circuit, which can realize the efficient large-scale parallel operation, and can effectively reduce the circuit power consumption in the operation process.

【技术实现步骤摘要】
一种神经网络加速器的浮点乘法运算电路和方法
本专利技术涉及一种人工智能的神经网络技术,特别涉及一种神经网络加速器的浮点乘法运算电路和方法。
技术介绍
IEEE二进制浮点数算术标准(IEEE754)是20世纪80年代以来最广泛使用的浮点数运算标准,为许多CPU与浮点运算器所采用。这个标准定义了表示浮点数的格式(包括负零-0)与反常值(denormalnumber)),一些特殊数值(无穷(Inf)与非数值(NaN)),以及这些数值的“浮点数运算符”;它也指明了四种数值舍入规则和五种例外状况(包括例外发生的时机与处理方式)。一个浮点数(Value)可以这样表示:yalue=sign×exponent×fraction也就是浮点数的实际值,等于符号位(signbit)乘以指数偏移值(exponentbias)再乘以分数值(fraction)。最高位为符号位,接着是指数位,最后是精度位。随着人工智能神经网络技术的快速发展,以及消费者对神经网络计算速度的快速提升,因此对神经网络加速电路提出了极大的挑战,而乘加运算作为神经网络运算过程中最重要的计算之一,由于其计算量巨大因此所产生的功耗也是神经网络电路中的最大比例。同时由于运算难度和功耗考虑,目前技术中通常采用的运算精度为整形8bit或者16bit,很少使用浮点运算。因此本专利技术提出了一种神经网络加速器的浮点乘法运算电路和方法,将浮点乘加运算运用于神经网络电路中,可以实现高效的神经网络浮点乘加运算,同时可以有效的降低运算过程的中的电路功耗。
技术实现思路
本专利技术要解决的技术问题,在于提供一种神经网络加速器的浮点乘法运算电路和方法,将浮点乘加运算运用于神经网络电路中,可以实现高效的大规模并行运算,同时还可以有效的降低运算过程的中的电路功耗。一方面,本专利技术电路是这样实现的:一种神经网络加速器的浮点乘法运算电路,包括乘法运算单元,首通道判断直通单元,累加结果缓存单元,指数比较单元,指数对齐单元,加法运算单元,全通道运算结束判断单元以及通道乘法个数配置信息单元;所述乘法运算单元,所述首通道判断直通单元,所述指数比较单元,所述指数对齐单元,所述加法运算单元,以及所述全通道运算结束判断单元依次连接;所述累加结果缓存单元分别连接所述首通道判断直通单元,所述指数比较单元和所述全通道运算结束判断单元;且所述通道乘法个数配置信息单元分别连接所述首通道判断直通单元和所述全通道运算结束判断单元。进一步的,本专利技术电路还包括时钟关闭控制单元,或逻辑电路单元,通路选择单元以及两个NaN判断单元;任一所述NaN判断单元均连接所述时钟关闭控制单元和所述或逻辑电路单元;所述时钟关闭控制单元连接所述乘法运算单元;所述或逻辑电路单元和一低电平连接所述通路选择单元,且所述通路选择单元连接于所述乘法运算单元和所述首通道判断直通单元之间。进一步的,任一所述NaN判断单元包括一个与逻辑电路组、一个或逻辑电路组以及一个与逻辑电路单元,所述与逻辑电路组和所述或逻辑电路组均连接所述与逻辑电路单元。另一方面,本专利技术方法是这样实现的:一种神经网络加速器的浮点乘法运算方法,采用上述本专利技术上述的神经网络浮点乘加运算电路,并进行下述步骤:S1、所述通道乘法个数配置信息单元接收单个通道乘法的计算个数的配置信息;S2、所述乘法运算单元接收两个待运算的浮点数据,并进行乘法运算后将结果数据送往所述首通道判断直通单元,其中,乘法运算具体是将两个浮点数据的精度位进行乘法操作得到结果数据的精度位,将两个浮点数据的指数位进行加法操作得到结果数据的指数位,将待运算数据的符号位进行异或操作得到结果数据的符号位;S3、所述首通道判断直通单元每收到一个结果数据就累加一个值,直到结果数据个数达到所述配置信息的计算个数,开始下一通道乘法累加运算,且若收到的数据是当前通道的第一个结果数据时,则让该结果数据直接存入所述累加结果缓存单元,否则将该结果数据送往所述指数比较单元;S4、所述指数比较单元每接收到一个结果数据时,将当前结果数据和之前累加的结果数据进行指数位大小的比较判断,得到判断结果并计算指数差值,并把判断结果和指数差值送往所述指数对齐单元;S5、所述指数对齐单元根据指数比较结果,将指数值较小的那个结果数据按照指数差值,将精度位进行对齐操作后送往所述加法运算单元;S6、所述加法运算单元对当前结果数据和之前累加的结果数据进行相加,然后将相加结果送往所述全通道运算结束判断单元;S7、所述全通道运算结束判断单元根据通道乘法个数配置信息单元中存储的通道乘法的计算个数,判断当前通道的累加是否已经结束,如果结束则将所述相加结果送出,否则将所述相加结果继续送往所述累加结果缓存单元,准备下一个乘法结果的累加。进一步的,所述步骤S1和步骤S2之间还包括:S11、两个待运算的浮点数据分别送入一所述NaN判断单元进行NaN判断,如果NaN判断结果为无效,则把NaN判断结果置为1,如果NaN判断结果为有效,则不改变NaN判断结果,然后把NaN判断结果送往所述或逻辑电路单元和所述时钟关闭控制单元;S12、所述时钟关闭控制单元根据两个所述NaN判断单元的NaN判断结果对所述乘法运算单元的时钟进行关闭控制,当收到的两个NaN判断结果的任意之一为无效时,就对所述乘法运算单元的时钟进行关闭操作,否则,保持所述乘法运算单元的时钟正常供给;同时,所述或逻辑电路单元负责对两个NaN判断结果进行或逻辑判断后送往通路选择单元;且所述步骤S2和步骤S3之间还包括:S21、所述通路选择单元根据所述或逻辑电路单元输出的NaN判断结果对所述乘法运算单元的结果数据和低电平信号进行选通,当NaN判断结果为无效数时直接选通低电平输出,否则选通乘法运算单元的结果数据输出,然后将输出送往所述首通道判断直通单元。进一步的,所述S11中的任一所述NaN判断单元包括一个与逻辑电路组、一个或逻辑电路组以及一个与逻辑电路单元,则NaN判断的具体过程是:Sa1、浮点数据输入所述NaN判断单元后,指数位数据送往所述与逻辑电路组,将精度位数据送往所述或逻辑电路组单元;Sa2、所述与逻辑电路组将指数位数据的每个bit都按位进行与逻辑处理,当指数位每bit都为1时,输出结果为1,否则输出结果为0;然后将输出结果送往所述与逻辑电路单元;同时所述或逻辑电路组将精度位的每个bit都按位进行或逻辑处理,当精度位任意bit为1时,输出结果为1,否则输出结果为0;然后将输出结果送往所述与逻辑电路单元;Sa3、所述与逻辑电路单元将指数位和精度位的输出结果进行与逻辑处理,当两者都为1时,输出结果为1,即NaN判断结果为无效,否则输出结果为0,即NaN判断结果为有效。进一步的,所述步骤S5中,所述指数对齐单元将精度位进行对齐操作的过程是:根据指数差值对指数值较小的数据的精度位进行右移操作,右移bit位为指数差值,比如指本文档来自技高网
...

【技术保护点】
1.一种神经网络加速器的浮点乘法运算电路,其特征在于:包括乘法运算单元,首通道判断直通单元,累加结果缓存单元,指数比较单元,指数对齐单元,加法运算单元,全通道运算结束判断单元以及通道乘法个数配置信息单元;/n所述乘法运算单元,所述首通道判断直通单元,所述指数比较单元,所述指数对齐单元,所述加法运算单元,以及所述全通道运算结束判断单元依次连接;/n所述累加结果缓存单元分别连接所述首通道判断直通单元,所述指数比较单元和所述全通道运算结束判断单元;且/n所述通道乘法个数配置信息单元分别连接所述首通道判断直通单元和所述全通道运算结束判断单元。/n

【技术特征摘要】
1.一种神经网络加速器的浮点乘法运算电路,其特征在于:包括乘法运算单元,首通道判断直通单元,累加结果缓存单元,指数比较单元,指数对齐单元,加法运算单元,全通道运算结束判断单元以及通道乘法个数配置信息单元;
所述乘法运算单元,所述首通道判断直通单元,所述指数比较单元,所述指数对齐单元,所述加法运算单元,以及所述全通道运算结束判断单元依次连接;
所述累加结果缓存单元分别连接所述首通道判断直通单元,所述指数比较单元和所述全通道运算结束判断单元;且
所述通道乘法个数配置信息单元分别连接所述首通道判断直通单元和所述全通道运算结束判断单元。


2.根据权利要求1所述的一种神经网络加速器的浮点乘法运算电路,其特征在于:还包括时钟关闭控制单元,或逻辑电路单元,通路选择单元以及两个NaN判断单元;
任一所述NaN判断单元均连接所述时钟关闭控制单元和所述或逻辑电路单元;
所述时钟关闭控制单元连接所述乘法运算单元;
所述或逻辑电路单元和一低电平连接所述通路选择单元,且所述通路选择单元连接于所述乘法运算单元和所述首通道判断直通单元之间。


3.根据权利要求1所述的一种神经网络加速器的浮点乘法运算电路,其特征在于:任一所述NaN判断单元包括一个与逻辑电路组、一个或逻辑电路组以及一个与逻辑电路单元,所述与逻辑电路组和所述或逻辑电路组均连接所述与逻辑电路单元。


4.一种神经网络加速器的浮点乘法运算方法,其特征在于:采用如权利要求1或2所述的神经网络浮点乘加运算电路,并进行下述步骤:
S1、所述通道乘法个数配置信息单元接收单个通道乘法的计算个数的配置信息;
S2、所述乘法运算单元接收两个待运算的浮点数据,并进行乘法运算后将结果数据送往所述首通道判断直通单元,其中,乘法运算具体是将两个浮点数据的精度位进行乘法操作得到结果数据的精度位,将两个浮点数据的指数位进行加法操作得到结果数据的指数位,将两个浮点数据的符号位进行异或操作得到结果数据的符号位;
S3、所述首通道判断直通单元每收到一个结果数据就累加一个值,直到结果数据个数达到所述配置信息的计算个数,开始下一通道乘法累加运算,且若收到的数据是当前通道的第一个结果数据时,则让该结果数据直接存入所述累加结果缓存单元,否则将该结果数据送往所述指数比较单元;
S4、所述指数比较单元每接收到一个结果数据时,将当前结果数据和之前累加的结果数据进行指数位大小的比较判断,得到判断结果并计算指数差值,并把判断结果和指数差值送往所述指数对齐单元;
S5、所述指数对齐单元根据指数比较结果,将指数值较小的那个结果数据按照指数差值,将精度位进行对齐操作后送往所述加法运算单元;
S6、所述加法运算单元对当前结果数据和之前累加的结果数据进行相加,然后将相加结果送往所述全通道运算结束...

【专利技术属性】
技术研发人员:廖裕民强书连
申请(专利权)人:福州瑞芯微电子股份有限公司
类型:发明
国别省市:福建;35

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1