【技术实现步骤摘要】
处理乘加运算的装置和处理乘加运算的方法
本申请涉及计算机领域,并且更具体地,涉及一种处理乘加运算的装置和处理乘加运算的方法。
技术介绍
计算机在对输入数据进行处理时经常会用到乘加运算,计算机在执行乘加运算时是先对输入数据进行乘法运算,然后再对乘法运算得到的数据进行加法运算。由于输入数据一般是线性域中的数据,而线性域中的数据占用的位宽一般比较大(例如,32位),这样计算机在进行乘加运算时就需要占用较多的资源。此外,由于乘加运算中包含了大量的乘法运算,而乘法运算的运算量较大,运算速度也比较慢,这样就导致计算机在进行乘加运算时运算效率较低。为了解决上述问题,现有技术中提出了一种处理乘加运算的方案,该方案将线性域中的输入数据转化为对数域中的数据,从而将线性域中的乘法运算转化为对数域中的加法运算。通过将线性域中的数据转化为对数域中的数据能够减少数据占用的位宽(例如,原始数据为32位的数据,取对数后占用的位宽变成了5位),此外,将线性域中的乘法转化为对数域中的加法运算也能提高计算效率。但是,上述方案在完成对数域中的加法运算后,还需要将对数域中的数据再转化为线性域中的数据,并对 ...
【技术保护点】
一种处理乘加运算的装置,其特征在于,包括:第一加法器,用于对输入的第一数据和第二数据进行加法运算,得到第一中间数据,其中,所述第一数据和所述第二数据的数值分别为logaA和logaB,所述第一中间数据的数值为m,所述第一数据和第二数据是对多个原始数据中的第一原始数据A和第二原始数据B分别取对数后得到的;第二加法器,用于对输入的第三数据和第四数据进行加法运算,得到第二中间数据,其中,所述第三数据和所述第四数据的数值分别为logaC和logaD,所述第二中间数据的数值为n,所述第三数据和第四数据是对所述多个原始数据中的第三原始数据C和第四原始数据D分别取对数后得到的,其中,a为 ...
【技术特征摘要】
1.一种处理乘加运算的装置,其特征在于,包括:第一加法器,用于对输入的第一数据和第二数据进行加法运算,得到第一中间数据,其中,所述第一数据和所述第二数据的数值分别为logaA和logaB,所述第一中间数据的数值为m,所述第一数据和第二数据是对多个原始数据中的第一原始数据A和第二原始数据B分别取对数后得到的;第二加法器,用于对输入的第三数据和第四数据进行加法运算,得到第二中间数据,其中,所述第三数据和所述第四数据的数值分别为logaC和logaD,所述第二中间数据的数值为n,所述第三数据和第四数据是对所述多个原始数据中的第三原始数据C和第四原始数据D分别取对数后得到的,其中,a为大于0且不等于1的整数,m和n为实数,且m大于等于n;对数加法器,所述对数加法器的输入端口与所述第一加法器以及所述第二加法器的输出端口相连,所述对数加法器用于根据所述第一加法器和所述第二加法器输入的m和n得到an-m,并将m与an-m的和近似确定为(logea)*loga(A*B+C*D)的数值;其中,所述第一加法器、所述第二加法器以及所述对数加法器由硬件电路实现。2.如权利要求1所述的装置,其特征在于,所述对数加法器用于根据所述第一加法器和所述第二加法器输入的m和n得到an-m,并将m与an-m的和近似确定为(logea)*loga(A*B+C*D)的数值,包括:确定对所述多个原始数据进行处理时需要达到的目标精度;在所述目标精度低于第一精度的情况下,将m与an-m的和近似确定为(logea)*loga(A*B+C*D)的数值。3.如权利要求1所述的装置,其特征在于,所述对数加法器还用于:根据误差补偿表确定an-m的误差补偿值,其中,所述误差补偿表包含K个数值以及所述K个数值的误差补偿值,其中,所述K个数值是将[-1,1]分成K份得到的,所述K个误差补偿值是将所述K个数值代入到误差补偿项得到的,K和L均为大于1的整数;将m+an-m与an-m的误差补偿值的和近似确定为(logea)*loga(A*B+C*D)的数值。4.如权利要求3所述的装置,其特征在于,所述对数加法器将m+an-m与an-m的误差补偿值的和近似确定为(logea)*loga(A*B+C*D)的数值,包括:确定对所述多个原始数据进行处理时需要达到的目标精度;在所述目标精度高于第二精度的情况下,将m+an-m与an-m的误差补偿值的和近似确定为(logea)*loga(A*B+C*D)的数值。5.如权利要求3或4所述的装置,其特征在于,所述K是根据所述目标精度确定的。6.如权利要求3-5中任一项所述的装置,其特征在于,所述L是根据所述目标精度确定的。7.如权利要求1-6中任一项所述的装置,其特征在于,所述对数加法器具体包括:移位电路,用于根据n-m对a进行移位运算,得到an-m;子加法电路,用于对m和an-m进行加法运算,得到m+an-m。8.如权利要求7所述的装置,其特征在于,所述对数加法器还包括:减法电路,用于对m和n进行减法运算,得到m-n或者n-m;比较电路,用于比较m-n或者n-m与零的大小关系;选择电路,用于在m-n大于等于零的情况下,选择出m和n-m,或者,用于在n-m小于等于零的情况下,选择出m和n-m。9.如权利要求1-8中任一项所述的装置,其特征在于,所述装置还包括:转换器,用于根据(logea)*loga(A*B+C*D)近似得到A*B+C*D的值,其...
【专利技术属性】
技术研发人员:徐斌,陈清龙,戎建江,
申请(专利权)人:华为机器有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。