乘法器、数据处理方法、芯片及电子设备技术

技术编号:24454491 阅读:19 留言:0更新日期:2020-06-10 15:09
本申请提供一种乘法器、数据处理方法、芯片及电子设备,所述乘法器包括:判断电路,数据扩展电路、编码电路以及压缩电路,判断电路的输出端与数据扩展电路的输入端连接,判断电路的输出端与编码电路的第一输入端连接,数据扩展电路的输出端与编码电路的第二输入端连接,编码电路的输出端与压缩电路的输入端连接,该乘法器能够对接收到的低位宽数据进行扩展处理,扩展处理后的数据满足乘法器可处理数据的位宽要求,使得最终乘法运算的结果仍然为原始位宽的数据进行乘法运算的结果,从而保证了乘法器能够处理低位宽数据的运算,有效减少了乘法器占用AI芯片的面积。

Multiplier, data processing method, chip and electronic equipment

【技术实现步骤摘要】
乘法器、数据处理方法、芯片及电子设备
本专利技术涉及计算机
,特别是涉及一种乘法器、数据处理方法、芯片及电子设备。
技术介绍
随着数字电子技术的不断发展,各类人工智能(ArtificialIntelligence,AI)芯片的快速发展对于高性能数字乘法器的要求也越来越高。神经网络算法作为智能芯片广泛应用的算法之一,通过乘法器进行乘法运算在神经网络算法中是一种常见的操作。通常,不同位宽数据的乘法运算时,需要采用对应位数现有乘法器进行运算。但是,针对低位宽的数据运算,不能采用可处理高位宽数据的现有乘法器进行乘法运算,导致乘法器占用AI芯片的面积较大。
技术实现思路
基于此,有必要针对上述技术问题,提供一种乘法器、数据处理方法、芯片及电子设备。本专利技术实施例提供一种乘法器,所述乘法器包括:判断电路,数据扩展电路,编码电路和压缩电路,所述判断电路的输出端与所述数据扩展电路的输入端连接,所述判断电路的输出端与所述编码电路的第一输入端连接,所述数据扩展电路的输出端与所述编码电路的第二输入端连接,所述编码电路的输出端与所述压缩电路的输入端连接;其中,所述判断电路用于判断接收到的数据是否需要通过与所述判断电路的输出端相连的数据扩展电路进行处理,所述数据扩展电路用于对接收到的数据进行扩展处理,所述编码电路用于对接收到的数据进行编码处理得到目标编码的部分积,所述压缩电路用于对目标编码的部分积进行累加处理。在其中一个实施例中,所述编码电路中包括第三输入端,用于接收输入的功能选择模式信号;所述压缩电路中包括第一输入端,用于接收输入的功能选择模式信号。在其中一个实施例中,所述判断电路包括:数据输入端口和数据输出端口;所述数据输入端口用于接收进行乘法运算的数据,所述数据输出端口用于输出接收到的所述数据,所述第四数据输入端口用于输出接收到的第二所述数据。在其中一个实施例中,所述数据扩展电路包括:数据输入端口、数据扩展模式选择信号输入端口、功能选择模式信号输出端口以及扩展后的数据输出端口;所述数据输入端口用于接收所述判断电路输出的所述数据,所述数据扩展模式选择信号输入端口用于接收对接收到的所述数据进行扩展处理对应的数据扩展模式选择信号,所述功能选择模式信号输出端口用于输出根据数据扩展电路对接收到的所述数据进行扩展处理的模式,确定的功能选择模式信号,所述扩展后的数据输出端口用于输出扩展处理后的数据。在其中一个实施例中,所述编码电路包括:布斯编码子电路和部分积获取子电路,所述布斯编码子电路的输出端与所述部分积获取子电路的第一输入端连接;其中,所述布斯编码子电路用于对接收到的数据进行布斯编码得到编码信号,所述部分积获取子电路用于根据所述编码信号得到目标编码的部分积。在其中一个实施例中,所述布斯编码子电路包括:数据输入端口和编码信号输出端口,所述数据输入端口用于接收进行布斯编码处理的数据,所述编码信号输出端口用于输出对接收到的数据进行布斯编码处理后得到的编码信号。在其中一个实施例中,所述部分积获取子电路包括:编码信号输入端口,数据输入端口和部分积输出端口,所述编码信号输入端口用于接收所述编码信号,所述数据输入端口用于接收所述数据,所述部分积输出端口用于输出根据编码信号与接收到的数据获取的目标编码的部分积。在其中一个实施例中,所述压缩电路包括:华莱士树组子电路和累加子电路;其中,所述华莱士树组子电路的输出端与所述累加子电路的输入端连接;所述华莱士树组子电路用于对目标编码的所述部分积进行累加处理,所述累加子电路用于对接收到的输入数据进行累加处理。在其中一个实施例中,所述华莱士树组子电路包括:华莱士树单元,所述华莱士树单元用于对目标编码的部分积的每一列进行累加处理。在其中一个实施例中,所述累加子电路包括:加法器,所述加法器用于对接收到的两个同位宽数据进行加法运算。在其中一个实施例中,所述加法器包括:进位信号输入端口,和位信号输入端口和运算结果输出端口,所述进位信号输入端口用于接收进位信号,和位信号输入端口用于接收和位信号,运算结果输出端口用于输出进位信号与和位信号进行累加处理的结果。本实施例提供的一种乘法器,该乘法器能够对接收到的低位宽数据进行扩展处理,扩展处理后的数据满足乘法器可处理数据的位宽要求,使得最终乘法运算的结果仍然为原始位宽的数据进行乘法运算的结果,从而保证了乘法器能够处理低位宽数据的运算,有效减少了乘法器占用AI芯片的面积。本专利技术实施例提供一种数据处理方法,所述方法包括:接收待处理的数据;判断待处理的所述数据的位宽与乘法器可处理数据的位宽是否相等;若不相等,则对待处理的所述数据进行数据扩展处理,得到扩展后的数据;对扩展后的所述数据进行编码处理,得到符号位扩展后的部分积;对符号位扩展后的所述部分积进行累加处理,得到运算结果。在其中一个实施例中,在判断待处理的所述数据的位宽与乘法器可处理数据的位宽是否相等之后,还包括:若相等,则对待处理的所述数据进行编码处理,得到符号位扩展后的部分积。在其中一个实施例中,所述对扩展后的所述数据进行编码处理,得到符号位扩展后的部分积,包括:对扩展后的所述数据进行布斯编码处理,得到编码信号;根据待处理的所述数据与所述编码信号,得到所述符号位扩展后的部分积。在其中一个实施例中,所述根据待处理的所述数据与所述编码信号,得到所述符号位扩展后的部分积,包括:根据待处理的所述数据与所述编码信号,得到原始部分积;对所述原始部分积进行符号位扩展处理,得到符号位扩展后的所述部分积。在其中一个实施例中,所述对待处理的所述数据进行数据扩展处理,得到扩展后的数据,包括:通过0或待处理的所述数据的符号位数值,将待处理的所述数据进行数据扩展处理,得到扩展后的数据。在其中一个实施例中,所述扩展后的数据的位宽等于乘法器当前所处理数据的位宽。在其中一个实施例中,所述对符号位扩展后的所述部分积进行累加处理,得到运算结果,包括:通过华莱士树组子电路对符号位扩展后的部分积,进行累加处理得到第一运算结果;通过累加子电路对所述第一运算结果进行累加处理,得到运算结果。本实施例提供的一种数据处理方法,该方法能够对接收到的低位宽数据进行扩展处理,扩展处理后的数据满足乘法器可处理数据的位宽要求,使得最终乘法运算的结果仍然为原始位宽的数据进行乘法运算的结果,从而保证了乘法器能够处理低位宽数据的运算,有效减少了乘法器占用AI芯片的面积。本专利技术实施例提供的一种机器学习运算装置,该机器学习运算装置包括一个或者多个第一方面所述的乘法器;该机器学习运算装置用于从其它处理装置中获取待运算数据和控制信息,并执行指定的机器学习运算,将执行结果通过I/O接口传递给其它处理装置;当所述机器学习运算装置包含多个所述乘法器时,所述多个所述乘法器间可以通过特定的结构进行链接并传输数据;其中,多个所述乘法器通过PCIE总线本文档来自技高网...

【技术保护点】
1.一种乘法器,其特征在于,所述乘法器包括:判断电路、数据扩展电路、编码电路以及压缩电路,所述判断电路的输出端与所述数据扩展电路的输入端连接,所述判断电路的输出端与所述编码电路的第一输入端连接,所述数据扩展电路的输出端与所述编码电路的第二输入端连接,所述编码电路的输出端与所述压缩电路的输入端连接;/n其中,所述判断电路用于判断接收到的数据是否需要通过与所述判断电路的输出端相连的数据扩展电路进行处理,所述数据扩展电路用于对接收到的数据进行扩展处理,所述编码电路用于对接收到的数据进行编码处理得到目标编码的部分积,所述压缩电路用于对目标编码的部分积进行累加处理。/n

【技术特征摘要】
1.一种乘法器,其特征在于,所述乘法器包括:判断电路、数据扩展电路、编码电路以及压缩电路,所述判断电路的输出端与所述数据扩展电路的输入端连接,所述判断电路的输出端与所述编码电路的第一输入端连接,所述数据扩展电路的输出端与所述编码电路的第二输入端连接,所述编码电路的输出端与所述压缩电路的输入端连接;
其中,所述判断电路用于判断接收到的数据是否需要通过与所述判断电路的输出端相连的数据扩展电路进行处理,所述数据扩展电路用于对接收到的数据进行扩展处理,所述编码电路用于对接收到的数据进行编码处理得到目标编码的部分积,所述压缩电路用于对目标编码的部分积进行累加处理。


2.根据权利要求1所述的乘法器,其特征在于,所述编码电路中包括第三输入端,用于接收输入的功能选择模式信号;所述压缩电路中包括第一输入端,用于接收输入的功能选择模式信号。


3.根据权利要求1所述的乘法器,其特征在于,所述判断电路包括:数据输入端口和数据输出端口;所述数据输入端口用于接收进行乘法运算的数据,所述数据输出端口用于输出接收到的所述数据,所述第四数据输入端口用于输出接收到的第二所述数据。


4.根据权利要求1所述的乘法器,其特征在于,所述数据扩展电路包括:数据输入端口、数据扩展模式选择信号输入端口、功能选择模式信号输出端口以及扩展后的数据输出端口;所述数据输入端口用于接收所述判断电路输出的所述数据,所述数据扩展模式选择信号输入端口用于接收对接收到的所述数据进行扩展处理对应的数据扩展模式选择信号,所述功能选择模式信号输出端口用于输出根据数据扩展电路对接收到的所述数据进行扩展处理的模式,确定的功能选择模式信号,所述扩展后的数据输出端口用于输出扩展处理后的数据。


5.根据权利要求1所述的乘法器,其特征在于,所述编码电路包括:布斯编码子电路和部分积获取子电路,所述布斯编码子电路的输出端与所述部分积获取子电路的第一输入端连接;
其中,所述布斯编码子电路用于对接收到的数据进行布斯编码得到编码信号,所述部分积获取子电路用于根据所述编码信号得到目标编码的部分积。


6.根据权利要求5所述的乘法器,其特征在于,所述布斯编码子电路包括:数据输入端口和编码信号输出端口,所述数据输入端口用于接收进行布斯编码处理的数据,所述编码信号输出端口用于输出对接收到的数据进行布斯编码处理后得到的编码信号。


7.根据权利要求5所述的乘法器,其特征在于,所述部分积获取子电路包括:编码信号输入端口,数据输入端口和部分积输出端口,所述编码信号输入端口用于接收所述编码信号,所述数据输入端口用于接收所述数据,所述部分积输出端口用于输出根据编码信号与接收到的数据获取的目标编码的部分积。


8.根据权利要求1所述的乘法器,其特征在于,所述压缩电路包括:华莱士树组子电路和累加子电路;其中,所述华莱士树组子电路的输出端与所述累加子电路的输入端连接;所述华莱士树组子电路用于对目标编码的所述部分积进行累加处理,所述累加子电路用于对接收到的输入数据进行累加处理。


9.根据权利要求8所述的乘法器,其特征在于,所述华莱士树组子电路包括:华莱士树单元,所述华莱士树单元用于对目标编码的部分积的每一列进行累加处理。


10.根据权利要求8所述的乘法器,其特征在于,所述累加子电路包括:加法器,所述加法器用于对接收到的两个同位宽数据进行加法运算。


11.根据权利要求10所述的乘法器,其特征在于,所述加法器包括:进位信号输入端口,和位信号输入端口以及运算结果输出端口,所述进位信号输入端口用于接收进位信号,和位信号输入端口用于接收和位信号,运算结果输出端口用于输出进位信号与和位信号进行累加处理的结果。


12.一种数据处理方法,其特征在于,所述方法包括:
接收待处理的数据;
判断待处理的所述数据的位宽与乘法器可处理数据的位宽是否相等;
若不相等,则对待处理的所述数据进行数据扩展处理,得到扩展后的数据;
对扩展后...

【专利技术属性】
技术研发人员:不公告发明人
申请(专利权)人:上海寒武纪信息科技有限公司
类型:发明
国别省市:上海;31

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

1