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,很少使用浮点运算。因此本专利技术提出了一种神经网络加速器的浮点乘法运算电路和方法,将浮点乘加运算运用于神经网络电路中,可以实现高效的神经网络浮点乘加运算,同时可以有效的降低运算过程的中的电路功耗。 ...
【技术保护点】
1.一种神经网络加速器的浮点乘法运算电路,其特征在于:包括乘法运算单元,首通道判断直通单元,累加结果缓存单元,指数比较单元,指数对齐单元,加法运算单元,全通道运算结束判断单元以及通道乘法个数配置信息单元;/n所述乘法运算单元,所述首通道判断直通单元,所述指数比较单元,所述指数对齐单元,所述加法运算单元,以及所述全通道运算结束判断单元依次连接;/n所述累加结果缓存单元分别连接所述首通道判断直通单元,所述指数比较单元和所述全通道运算结束判断单元;且/n所述通道乘法个数配置信息单元分别连接所述首通道判断直通单元和所述全通道运算结束判断单元。/n
【技术特征摘要】
1.一种神经网络加速器的浮点乘法运算电路,其特征在于:包括乘法运算单元,首通道判断直通单元,累加结果缓存单元,指数比较单元,指数对齐单元,加法运算单元,全通道运算结束判断单元以及通道乘法个数配置信息单元;
所述乘法运算单元,所述首通道判断直通单元,所述指数比较单元,所述指数对齐单元,所述加法运算单元,以及所述全通道运算结束判断单元依次连接;
所述累加结果缓存单元分别连接所述首通道判断直通单元,所述指数比较单元和所述全通道运算结束判断单元;且
所述通道乘法个数配置信息单元分别连接所述首通道判断直通单元和所述全通道运算结束判断单元。
2.根据权利要求1所述的一种神经网络加速器的浮点乘法运算电路,其特征在于:还包括时钟关闭控制单元,或逻辑电路单元,通路选择单元以及两个NaN判断单元;
任一所述NaN判断单元均连接所述时钟关闭控制单元和所述或逻辑电路单元;
所述时钟关闭控制单元连接所述乘法运算单元;
所述或逻辑电路单元和一低电平连接所述通路选择单元,且所述通路选择单元连接于所述乘法运算单元和所述首通道判断直通单元之间。
3.根据权利要求1所述的一种神经网络加速器的浮点乘法运算电路,其特征在于:任一所述NaN判断单元包括一个与逻辑电路组、一个或逻辑电路组以及一个与逻辑电路单元,所述与逻辑电路组和所述或逻辑电路组均连接所述与逻辑电路单元。
4.一种神经网络加速器的浮点乘法运算方法,其特征在于:采用如权利要求1或2所述的神经网络浮点乘加运算电路,并进行下述步骤:
S1、所述通道乘法个数配置信息单元接收单个通道乘法的计算个数的配置信息;
S2、所述乘法运算单元接收两个待运算的浮点数据,并进行乘法运算后将结果数据送往所述首通道判断直通单元,其中,乘法运算具体是将两个浮点数据的精度位进行乘法操作得到结果数据的精度位,将两个浮点数据的指数位进行加法操作得到结果数据的指数位,将两个浮点数据的符号位进行异或操作得到结果数据的符号位;
S3、所述首通道判断直通单元每收到一个结果数据就累加一个值,直到结果数据个数达到所述配置信息的计算个数,开始下一通道乘法累加运算,且若收到的数据是当前通道的第一个结果数据时,则让该结果数据直接存入所述累加结果缓存单元,否则将该结果数据送往所述指数比较单元;
S4、所述指数比较单元每接收到一个结果数据时,将当前结果数据和之前累加的结果数据进行指数位大小的比较判断,得到判断结果并计算指数差值,并把判断结果和指数差值送往所述指数对齐单元;
S5、所述指数对齐单元根据指数比较结果,将指数值较小的那个结果数据按照指数差值,将精度位进行对齐操作后送往所述加法运算单元;
S6、所述加法运算单元对当前结果数据和之前累加的结果数据进行相加,然后将相加结果送往所述全通道运算结束...
【专利技术属性】
技术研发人员:廖裕民,强书连,
申请(专利权)人:福州瑞芯微电子股份有限公司,
类型:发明
国别省市:福建;35
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。