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

技术编号:23098911 阅读:13 留言:0更新日期:2020-01-14 20:33
本申请提供一种数据处理器、方法、芯片及电子设备,数据处理器包括第一乘法运算电路、第二乘法运算电路以及部分积交换电路,第一乘法运算电路的输出端与部分积交换电路的第一输入端连接,部分积交换电路的第一输出端与第二乘法运算电路的第一输入端连接,第二乘法运算电路的输出端与部分积交换电路的第二输入端连接,部分积交换电路的第二输出端与第一乘法运算电路的输入端连接,该数据处理器不仅能够实现乘法运算,还能够实现乘累加运算,从而提高了数据处理器的通用性;另外,该数据处理器并不需要对乘法运算结果再进行一次累加运算才能完成乘累加运算,仅通过一次运算过程就可以直接实现乘法运算或乘累加运算,从而降低了数据处理器的功耗。

【技术实现步骤摘要】
数据处理器、方法、芯片及电子设备
本申请涉及计算机
,特别是涉及一种数据处理器、方法、芯片及电子设备。
技术介绍
随着数字电子技术的不断发展,各类人工智能(ArtificialIntelligence,AI)芯片的快速发展对于高性能数据处理器的要求也越来越高,其中,数据处理器为乘法器、加法器或乘累加器。神经网络算法作为智能芯片广泛应用的算法之一,通过乘累加器进行乘累加运算在神经网络算法中是一种常见的操作。通常,数据处理器是采用多个相同输入数据位宽或不同数据位宽的乘法器先进行并行乘法运算,得到多个乘法运算结果,再通过加法器对多个乘法运算结果进行累加运算,得到目标乘累加结果。但是,现有的数据处理器仅能够对相同位宽的数据进行乘累加运算,降低了数据处理器的通用性。另外,现有技术中对多个乘法运算结果还需要单独进行一次累加运算才能实现乘累加操作,从而增大了数据处理器的功耗。
技术实现思路
基于此,有必要针对上述技术问题,提供了一种低功耗且通用性较高的数据处理器、方法、芯片及电子设备。一种数据处理器,所述数据处理器包括:第一乘法运算电路、第二乘法运算电路以及部分积交换电路,所述第一乘法运算电路包括第一编码支路、第一选择支路以及第一压缩支路,所述第二乘法运算电路包括第二编码支路、第二选择支路以及第二压缩支路;所述第一乘法运算电路的输出端与所述部分积交换电路的第一输入端连接,所述部分积交换电路的第一输出端与所述第二乘法运算电路的第一输入端连接,所述第二乘法运算电路的输出端与所述部分积交换电路的第二输入端连接,所述部分积交换电路的第二输出端与所述第一乘法运算电路的输入端连接;其中,所述第一编码支路用于对接收到的第一数据进行编码处理,得到符号位扩展后的第一部分积,所述第一选择支路用于从所述符号位扩展后的第一部分积中选择目标编码的第一部分积,所述第一压缩支路用于对所述目标编码的第一部分积进行压缩处理,得到第一目标运算结果,所述第二编码支路用于对接收到的第二数据进行编码处理,得到符号位扩展后的第二部分积,所述第二选择支路用于从所述符号位扩展后的第二部分积中选择目标编码的第二部分积,所述第二压缩支路用于对所述目标编码的第二部分积进行压缩处理,得到第二目标运算结果,所述部分积交换电路用于对所述符号位扩展后的第一部分积,以及所述符号位扩展后的第二部分积进行交换。在其中一个实施例中,所述第一乘法运算电路和所述第二乘法运算电路中均包括第一输入端,用于接收功能选择模式信号;所述部分积交换电路中包括第三输入端,用于接收所述功能选择模式信号;所述功能选择模式信号用于确定所述数据处理器当前可处理的对应模式的数据运算。在其中一个实施例中,所述部分积交换电路包括:功能选择模式信号输入端口、第一部分积输入端口、第一部分积输出端口、第二部分积输入端口以及第二部分积输出端口,所述功能选择模式信号输入端口用于接收所述功能选择模式信号,所述第一部分积输入端口用于接收所述第一乘法运算电路输入的需要交换的符号位扩展后的第一部分积,所述第一部分积输出端口用于输出所述符号位扩展后的第一部分积,所述第二部分积输出端口用于接收所述第二乘法运算电路输入的需要交换的符号位扩展后的第二部分积,所述第二部分积输出端口用于输出所述符号位扩展后的第二部分积。在其中一个实施例中,所述第一乘法运算电路包括:第一修正编码子电路、第一部分积选择子电路以及第一修正压缩子电路,所述第一修正编码子电路的输出端与所述第一部分积选择子电路的第一输入端连接,所述第一部分积选择子电路的第二输入端与所述部分积交换电路的第二输出端连接,所述第一部分积选择子电路的输出端与所述第一修正压缩子电路的第一输入端连接;所述第一修正编码子电路用于对接收到的所述第一数据进行布斯编码处理,得到所述符号位扩展后的第一部分积,所述第一部分积选择子电路用于接收所述部分积交换电路输出的所述符号位扩展后的第二部分积,并且对所述符号位扩展后的第一部分积进行选择,将接收到的所述符号位扩展后的第二部分积,以及选择后得到的所述符号位扩展后的第一部分积,作为所述目标编码的第一部分积输入至所述第一修正压缩子电路,所述第一修正压缩子电路用于对所述目标编码的第一部分积进行累加处理。在其中一个实施例中,所述第一修正编码子电路包括:低位布斯编码单元、低位部分积获取单元、选择器、高位布斯编码单元、高位部分积获取单元、低位选择器组单元以及高位选择器组单元;所述低位布斯编码单元的第一输出端与所述选择器的输入端连接,所述低位布斯编码单元的第二输出端与所述低位部分积获取单元的第一输入端连接,所述选择器的输出端与所述高位布斯编码单元的第一输入端连接,所述高位布斯编码单元的输出端与所述高位部分积获取单元的第一输入端连接,所述低位选择器组单元的输出端与所述低位部分积获取单元的第二输入端连接,所述高位选择器组单元的输出端与所述高位部分积获取单元的第二输入端连接;其中,所述低位布斯编码单元用于对接收到的所述第一数据中的低位数据进行布斯编码处理得到第一低位目标编码,所述低位部分积获取单元用于根据所述第一低位目标编码,得到符号位扩展后的第一低位部分积,所述选择器用于选通所述第一数据中的高位数据进行布斯编码时的补位数值,所述高位布斯编码单元用于对接收到的第一数据中的所述高位数据以及所述补位数值,进行布斯编码处理得到第一高位目标编码,所述高位部分积获取单元用于根据所述第一高位目标编码,得到符号位扩展后的第一高位部分积,所述低位选择器组单元用于选通所述符号位扩展后的第一低位部分积中的数值,所述高位选择器组单元用于选通所述符号位扩展后的第一高位部分积中的数值。在其中一个实施例中,所述低位布斯编码单元包括:低位数据输入端口以及低位目标编码输出端口;所述低位数据输入端口用于接收进行布斯编码处理的所述第一数据中的低位数据,所述低位目标编码输出端口用于输出对第一数据中的所述低位数据进行布斯编码处理后,得到的第一低位目标编码。在其中一个实施例中,所述高位布斯编码单元包括:高位数据输入端口以及高位目标编码输出端口;所述高位数据输入端口用于接收进行布斯编码处理的第一数据中的所述高位数据,所述高位目标编码输出端口用于输出对第一数据中的所述高位数据进行布斯编码处理后,得到的高位目标编码。在其中一个实施例中,所述低位部分积获取单元包括:低位目标编码输入端口、选通数值输入端口、数据输入端口以及低位部分积输出端口;所述低位目标编码输入端口用于接收所述低位布斯编码单元输出的低位目标编码,所述选通数值输入端口用于接收所述低位选择器组单元选通后,得到的所述符号位扩展后的低位部分积中的数值,所述数据输入端口用于接收所述第二数据,所述低位部分积输出端口用于输出所述符号位扩展后的低位部分积。在其中一个实施例中,所述高位部分积获取单元包括:高位目标编码输入端口、选通数值输入端口、数据输入端口以及高位部分积输出端口;所述高位目标编码输入端口用于接收高位布斯编码单元输出的高位目标编码,所述选通数值输入端口用于接收所述高位选择器组单元选通后,输出本文档来自技高网...

【技术保护点】
1.一种数据处理器,其特征在于,所述数据处理器包括:第一乘法运算电路、第二乘法运算电路以及部分积交换电路,所述第一乘法运算电路包括第一编码支路、第一选择支路以及第一压缩支路,所述第二乘法运算电路包括第二编码支路、第二选择支路以及第二压缩支路;所述第一乘法运算电路的输出端与所述部分积交换电路的第一输入端连接,所述部分积交换电路的第一输出端与所述第二乘法运算电路的第一输入端连接,所述第二乘法运算电路的输出端与所述部分积交换电路的第二输入端连接,所述部分积交换电路的第二输出端与所述第一乘法运算电路的输入端连接;/n其中,所述第一编码支路用于对接收到的第一数据进行编码处理,得到符号位扩展后的第一部分积,所述第一选择支路用于从所述符号位扩展后的第一部分积中选择目标编码的第一部分积,所述第一压缩支路用于对所述目标编码的第一部分积进行压缩处理,得到第一目标运算结果,所述第二编码支路用于对接收到的第二数据进行编码处理,得到符号位扩展后的第二部分积,所述第二选择支路用于从所述符号位扩展后的第二部分积中选择目标编码的第二部分积,所述第二压缩支路用于对所述目标编码的第二部分积进行压缩处理,得到第二目标运算结果,所述部分积交换电路用于对所述符号位扩展后的第一部分积,以及所述符号位扩展后的第二部分积进行交换。/n...

【技术特征摘要】
1.一种数据处理器,其特征在于,所述数据处理器包括:第一乘法运算电路、第二乘法运算电路以及部分积交换电路,所述第一乘法运算电路包括第一编码支路、第一选择支路以及第一压缩支路,所述第二乘法运算电路包括第二编码支路、第二选择支路以及第二压缩支路;所述第一乘法运算电路的输出端与所述部分积交换电路的第一输入端连接,所述部分积交换电路的第一输出端与所述第二乘法运算电路的第一输入端连接,所述第二乘法运算电路的输出端与所述部分积交换电路的第二输入端连接,所述部分积交换电路的第二输出端与所述第一乘法运算电路的输入端连接;
其中,所述第一编码支路用于对接收到的第一数据进行编码处理,得到符号位扩展后的第一部分积,所述第一选择支路用于从所述符号位扩展后的第一部分积中选择目标编码的第一部分积,所述第一压缩支路用于对所述目标编码的第一部分积进行压缩处理,得到第一目标运算结果,所述第二编码支路用于对接收到的第二数据进行编码处理,得到符号位扩展后的第二部分积,所述第二选择支路用于从所述符号位扩展后的第二部分积中选择目标编码的第二部分积,所述第二压缩支路用于对所述目标编码的第二部分积进行压缩处理,得到第二目标运算结果,所述部分积交换电路用于对所述符号位扩展后的第一部分积,以及所述符号位扩展后的第二部分积进行交换。


2.根据权利要求1所述的数据处理器,其特征在于,所述第一乘法运算电路和所述第二乘法运算电路中均包括第一输入端,用于接收功能选择模式信号;所述部分积交换电路中包括第三输入端,用于接收所述功能选择模式信号;所述功能选择模式信号用于确定所述数据处理器当前可处理的对应模式的数据运算。


3.根据权利要求1或2所述的数据处理器,其特征在于,所述部分积交换电路包括:功能选择模式信号输入端口、第一部分积输入端口、第一部分积输出端口、第二部分积输入端口以及第二部分积输出端口,所述功能选择模式信号输入端口用于接收所述功能选择模式信号,所述第一部分积输入端口用于接收所述第一乘法运算电路输入的需要交换的符号位扩展后的第一部分积,所述第一部分积输出端口用于输出所述符号位扩展后的第一部分积,所述第二部分积输出端口用于接收所述第二乘法运算电路输入的需要交换的符号位扩展后的第二部分积,所述第二部分积输出端口用于输出所述符号位扩展后的第二部分积。


4.根据权利要求1至3中任一项所述的数据处理器,其特征在于,所述第一乘法运算电路包括:第一修正编码子电路、第一部分积选择子电路以及第一修正压缩子电路,所述第一修正编码子电路的输出端与所述第一部分积选择子电路的第一输入端连接,所述第一部分积选择子电路的第二输入端与所述部分积交换电路的第二输出端连接,所述第一部分积选择子电路的输出端与所述第一修正压缩子电路的第一输入端连接;
所述第一修正编码子电路用于对接收到的所述第一数据进行布斯编码处理,得到所述符号位扩展后的第一部分积,所述第一部分积选择子电路用于接收所述部分积交换电路输出的所述符号位扩展后的第二部分积,并且对所述符号位扩展后的第一部分积进行选择,将接收到的所述符号位扩展后的第二部分积,以及选择后得到的所述符号位扩展后的第一部分积,作为所述目标编码的第一部分积输入至所述第一修正压缩子电路,所述第一修正压缩子电路用于对所述目标编码的第一部分积进行累加处理。


5.根据权利要求4所述的数据处理器,其特征在于,所述第一修正编码子电路包括:低位布斯编码单元、低位部分积获取单元、选择器、高位布斯编码单元、高位部分积获取单元、低位选择器组单元以及高位选择器组单元;所述低位布斯编码单元的第一输出端与所述选择器的输入端连接,所述低位布斯编码单元的第二输出端与所述低位部分积获取单元的第一输入端连接,所述选择器的输出端与所述高位布斯编码单元的第一输入端连接,所述高位布斯编码单元的输出端与所述高位部分积获取单元的第一输入端连接,所述低位选择器组单元的输出端与所述低位部分积获取单元的第二输入端连接,所述高位选择器组单元的输出端与所述高位部分积获取单元的第二输入端连接;
其中,所述低位布斯编码单元用于对接收到的所述第一数据中的低位数据进行布斯编码处理得到第一低位目标编码,所述低位部分积获取单元用于根据所述第一低位目标编码,得到符号位扩展后的第一低位部分积,所述选择器用于选通所述第一数据中的高位数据进行布斯编码时的补位数值,所述高位布斯编码单元用于对接收到的第一数据中的所述高位数据以及所述补位数值,进行布斯编码处理得到第一高位目标编码,所述高位部分积获取单元用于根据所述第一高位目标编码,得到符号位扩展后的第一高位部分积,所述低位选择器组单元用于选通所述符号位扩展后的第一低位部分积中的数值,所述高位选择器组单元用于选通所述符号位扩展后的第一高位部分积中的数值。


6.根据权利要求5所述的数据处理器,其特征在于,所述低位布斯编码单元包括:低位数据输入端口以及低位目标编码输出端口;所述低位数据输入端口用于接收进行布斯编码处理的所述第一数据中的低位数据,所述低位目标编码输出端口用于输出对第一数据中的所述低位数据进行布斯编码处理后,得到的第一低位目标编码。


7.根据权利要求5或6所述的数据处理器,其特征在于,所述高位布斯编码单元包括:高位数据输入端口以及高位目标编码输出端口;所述高位数据输入端口用于接收进行布斯编码处理的第一数据中的所述高位数据,所述高位目标编码输出端口用于输出对第一数据中的所述高位数据进行布斯编码处理后,得到的高位目标编码。


8.根据权利要求5至7中任一项所述的数据处理器,其特征在于,所述低位部分积获取单元包括:低位目标编码输入端口、选通数值输入端口、数据输入端口以及低位部分积输出端口;所述低位目标编码输入端口用于接收所述低位布斯编码单元输出的低位目标编码,所述选通数值输入端口用于接收所述低位选择器组单元选通后,得到的所述符号位扩展后的低位部分积中的数值,所述数据输入端口用于接收所述第二数据,所述低位部分积输出端口用于输出所述符号位扩展后的低位部分积。


9.根据权利要求5至8中任一项所述的数据处理器,其特征在于,所述高位部分积获取单元包括:高位目标编码输入端口、选通数值输入端口、数据输入端口以及高位部分积输出端口;所述高位目标编码输入端口用于接收高位布斯编码单元输出的高位目标编码,所述选通数值输入端口用于接收所述高位选择器组单元选通后,输出的所述符号位扩展后的高位部分积中的数值,所述数据输入端口用于接收所述第二数据,所述高位部分积输出端口用于输出所述符号位扩展后的高位部分积。


10.根据权利要求5至9中任一项所述的数据处理器,其特征在于,所述选择器包括:功能选择模式信号输入端口、第一选通数值输入端口、第二选通数值输入端口以及选通结果输出端口;所述功能选择模式信号输入端口用于接收不同模式的数据运算对应的所述功能选择模式信号,所述第一选通数值输入端口用于接收第一选通数值,所述第二选通数值输入端口用于接收第二选通数值,所述选通结果输出端口1113d用于输出选通后的所述第一选通数值或所述第二选通数值。


11.根据权利要求5至10中任一项所述的数据处理器,其特征在于,所述低位选择器组单元包括:低位选择器,所述低位选择器用于对所述符号位扩展后的低位部分积中的数值进行选通。


12.根据权利要求5至11中任一项所述的数据处理器,其特征在于,所述高位选择器组单元包括:高位选择器,所述低位选择器,用于对所述符号位扩展后的高位部分积中的数值进行选通。


13.根据权利要求4至12中任一项所述的数据处理器...

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

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

1