数据处理器、方法、装置及芯片制造方法及图纸

技术编号:29010372 阅读:33 留言:0更新日期:2021-06-26 05:10
本申请提供一种数据处理器、方法、装置及芯片,数据处理器包括第一乘法运算电路、第二乘法运算电路以及部分积交换电路,第一乘法运算电路包括第一修正编码支路、第一选择支路以及第一修正压缩支路,第二乘法运算电路包括第二修正编码支路、第二选择支路以及第二修正压缩支路;第一修正压缩支路和第二修正压缩支路均包括4-2压缩器,4-2压缩器包括选择电路以及全加器;该数据处理器不仅能够实现乘法运算,还能够实现乘累加运算,从而提高了数据处理器的通用性;另外,该数据处理器并不需要对乘法运算结果再进行一次累加运算才能完成乘累加运算操作,仅通过一次运算过程就可以直接实现乘累加或乘法运算操作,从而降低了数据处理器的功耗。的功耗。的功耗。

【技术实现步骤摘要】
数据处理器、方法、装置及芯片


[0001]本申请涉及计算机
,特别是涉及一种数据处理器、方法、装置及芯片。

技术介绍

[0002]随着数字电子技术的不断发展,各类人工智能(Artificial Intelligence,AI)芯片的快速发展对于高性能数据处理器的要求也越来越高,其中,数据处理器为乘法器、加法器或乘累加器。神经网络算法作为智能芯片广泛应用的算法之一,通过乘累加器进行乘累加运算在神经网络算法中是一种常见的操作。
[0003]通常,数据处理器是采用多个相同输入数据位宽或不同数据位宽的乘法器先进行并行乘法运算,得到多个乘法运算结果,再通过加法器对多个乘法运算结果进行累加运算,得到目标乘累加结果。但是,现有的数据处理器仅能够对相同位宽的数据进行乘累加运算,降低了数据处理器的通用性。另外,现有技术中对多个乘法运算结果还需要单独进行一次累加运算才能实现乘累加操作,从而增大了数据处理器的功耗。

技术实现思路

[0004]基于此,有必要针对上述技术问题,提供了一种低功耗且通用性较高的数据处理器、方法、装置及芯片。
[0005]一种数据处理器,所述数据处理器包括:数据处理器包括:第一乘法运算电路、第二乘法运算电路以及部分积交换电路,所述第一乘法运算电路包括第一修正编码支路、第一选择支路以及第一修正压缩支路,所述第二乘法运算电路包括第二修正编码支路、第二选择支路以及第二修正压缩支路;所述第一修正压缩支路和所述第二修正压缩支路均包括4-2压缩器,所述4-2压缩器包括选择电路以及全加器;所述第一乘法运算电路的输出端与所述部分积交换电路的第一输入端连接,所述部分积交换电路的第一输出端与所述第一乘法运算电路的输入端连接,所述部分积交换电路的第二输出端与所述第二乘法运算电路的第一输入端连接,所述第二乘法运算电路的输出端与所述部分积交换电路的第二输入端连接;
[0006]其中,所述第一乘法运算电路和所述第二乘法运算电路均包括逻辑门单元,所述逻辑门单元的输入端用于接收接收功能模式选择信号(mode信号),所述功能模式选择信号用于确定所述数据处理器当前可处理的对应数据运算模式,所述部分积交换电路中包括第三输入端,用于接收所述功能模式选择信号,所述第一修正编码支路用于对接收到的第一数据进行编码处理,得到第一符号位扩展后的部分积,所述第一选择支路用于从所述第一符号位扩展后的部分积中选择第一目标编码部分积,所述第一修正压缩支路用于对所述第一目标编码部分积进行压缩处理,得到第一目标运算结果,所述第二修正编码支路用于对接收到的第二数据进行编码处理,得到第二符号位扩展后的部分积,所述第二选择支路用于从所述第二符号位扩展后的部分积中选择第二目标编码部分积,所述第二修正压缩支路用于对所述第二目标编码部分积进行压缩处理,得到第二目标运算结果,所述部分积交换
电路用于根据所述功能模式选择信号,控制是否对所述第一符号位扩展后的部分积,以及所述第二符号位扩展后的部分积进行交换处理。
[0007]在其中一个实施例中,所述第一乘法运算电路中的第一修正编码支路包括:第一修正布斯编码子电路;所述第一乘法运算电路中的第一选择支路包括:第一部分积选择子电路;所述第一修正布斯编码子电路的输出端与所述第一部分积选择子电路的第一输入端连接,所述第一部分积选择子电路的第二输入端与所述部分积交换电路的第一输出端连接,所述第一部分积选择子电路的输出端与所述第一修正压缩支路的第一输入端连接;
[0008]其中,所述第一修正布斯编码子电路用于对接收到的所述第一数据进行布斯编码处理得到第一目标编码,并根据所述第一目标编码得到所述第一符号位扩展后的部分积,所述第一部分积选择子电路用于接收所述部分积交换电路输出的所述第二符号位扩展后的部分积,以及对所述第一符号位扩展后的部分积进行选择,并且将所述部分积交换电路输出的所述第二符号位扩展后的部分积,以及选择后得到的所述第一符号位扩展后的部分积,作为所述第一目标编码部分积输入至所述第一修正压缩支路。
[0009]在其中一个实施例中,所述第二乘法运算电路中的第二修正编码支路包括:第二修正布斯编码子电路;所述第二乘法运算电路中的第二选择支路包括:第二部分积选择子电路;所述第二修正布斯编码子电路的输出端与所述第二部分积选择子电路的第一输入端连接,所述第二部分积选择子电路的第二输入端与所述部分积交换电路的第二输出端连接,所述第二部分积选择子电路的输出端与所述第二修正压缩支路的第一输入端连接;
[0010]其中,所述第二修正布斯编码子电路用于对接收到的所述第二数据进行布斯编码处理得到第二目标编码,并根据所述目标编码得到所述第二符号位扩展后的部分积,所述第二部分积选择子电路用于接收所述部分积交换电路输出的所述第二符号位扩展后的部分积,以及对所述第二符号位扩展后的部分积进行选择,并且将所述部分积交换电路输出的所述第一符号位扩展后的部分积,以及选择后得到的所述第二符号位扩展后的部分积,作为所述第二目标编码部分积输入至所述第二修正压缩支路。
[0011]在其中一个实施例中,所述第一修正布斯编码子电路包括:第一修正布斯编码单元、第一低位部分积获取单元、第一低位选择器组单元、第一低位与逻辑单元、第一高位部分积获取单元、第一高位选择器组单元以及第一高位与逻辑单元;所述第一修正布斯编码单元的第一输出端与所述第一低位部分积获取单元的第一输入端连接,所述第一低位选择器组单元的输出端与所述第一低位部分积获取单元的第二输入端连接,所述第一低位与逻辑单元的输出端与所述第一低位部分积获取单元的第三输入端连接,所述第一修正布斯编码单元的第二输出端与所述第一高位部分积获取单元的第一输入端连接,所述第一高位选择器组单元的输出端与所述第一高位部分积获取单元的第二输入端连接,所述第一高位与逻辑单元的输出端与所述第一高位部分积获取单元的第三输入端连接;
[0012]其中,所述第一修正布斯编码单元用于根据接收到的所述功能模式选择信号确定所述第一乘法运算电路当前可处理数据的位宽,并对接收到的所述第一数据进行布斯编码处理得到第一低位目标编码以及第一高位目标编码,所述第一低位部分积获取单元用于根据接收到的所述第一低位目标编码以及所述第一数据,得到第一符号位扩展后的低位部分积,所述第一低位选择器组单元用于选通所述第一符号位扩展后的低位部分积中的第一数值,所述第一低位与逻辑单元用于根据接收到的所述功能模式选择信号进行与逻辑运算,
得到所述第一符号位扩展后的低位部分积中的第二数值,所述第一高位部分积获取单元用于根据接收到的所述第一高位目标编码以及所述第一数据,得到第一符号位扩展后的高位部分积,所述第一高位选择器组单元用于选通所述第一符号位扩展后的高位部分积中的第三数值,所述第一高位与逻辑单元用于根据接收到的所述功能模式选择信号进行与逻辑运算,得到所述第一符号位扩展后的高位位部分积中的第四数值。
[0013]在其中一个实施例中,所述第一修正布斯编码子电路中的第一修正布斯编码单元包括:低位布斯编码单元、与逻辑单元以及高位布斯编码单元,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据处理器,其特征在于,所述数据处理器包括:第一乘法运算电路、第二乘法运算电路以及部分积交换电路,所述第一乘法运算电路包括第一修正编码支路、第一选择支路以及第一修正压缩支路,所述第二乘法运算电路包括第二修正编码支路、第二选择支路以及第二修正压缩支路;所述第一修正压缩支路和所述第二修正压缩支路均包括4-2压缩器,所述4-2压缩器包括选择电路以及全加器;所述第一乘法运算电路的输出端与所述部分积交换电路的第一输入端连接,所述部分积交换电路的第一输出端与所述第一乘法运算电路的输入端连接,所述部分积交换电路的第二输出端与所述第二乘法运算电路的第一输入端连接,所述第二乘法运算电路的输出端与所述部分积交换电路的第二输入端连接;其中,所述第一乘法运算电路和所述第二乘法运算电路均包括逻辑门单元,所述逻辑门单元的输入端用于接收接收功能模式选择信号,所述功能模式选择信号用于确定所述数据处理器当前可处理的对应数据运算模式,所述部分积交换电路中包括第三输入端,用于接收所述功能模式选择信号,所述第一修正编码支路用于对接收到的第一数据进行编码处理,得到第一符号位扩展后的部分积,所述第一选择支路用于从所述第一符号位扩展后的部分积中选择第一目标编码部分积,所述第一修正压缩支路用于对所述第一目标编码部分积进行压缩处理,得到第一目标运算结果,所述第二修正编码支路用于对接收到的第二数据进行编码处理,得到第二符号位扩展后的部分积,所述第二选择支路用于从所述第二符号位扩展后的部分积中选择第二目标编码部分积,所述第二修正压缩支路用于对所述第二目标编码部分积进行压缩处理,得到第二目标运算结果,所述部分积交换电路用于根据所述功能模式选择信号,控制是否对所述第一符号位扩展后的部分积,以及所述第二符号位扩展后的部分积进行交换处理。2.根据权利要求1所述的数据处理器,其特征在于,所述第一乘法运算电路中的第一修正编码支路包括:第一修正布斯编码子电路;所述第一乘法运算电路中的第一选择支路包括:第一部分积选择子电路;所述第一修正布斯编码子电路的输出端与所述第一部分积选择子电路的第一输入端连接,所述第一部分积选择子电路的第二输入端与所述部分积交换电路的第一输出端连接,所述第一部分积选择子电路的输出端与所述第一修正压缩支路的第一输入端连接;其中,所述第一修正布斯编码子电路用于对接收到的所述第一数据进行布斯编码处理得到第一目标编码,并根据所述第一目标编码得到所述第一符号位扩展后的部分积,所述第一部分积选择子电路用于接收所述部分积交换电路输出的所述第二符号位扩展后的部分积,以及对所述第一符号位扩展后的部分积进行选择,并且将所述部分积交换电路输出的所述第二符号位扩展后的部分积,以及选择后得到的所述第一符号位扩展后的部分积,作为所述第一目标编码部分积输入至所述第一修正压缩支路。3.根据权利要求1至2中任一项所述的数据处理器,其特征在于,所述第二乘法运算电路中的第二修正编码支路包括:第二修正布斯编码子电路;所述第二乘法运算电路中的第二选择支路包括:第二部分积选择子电路;所述第二修正布斯编码子电路的输出端与所述第二部分积选择子电路的第一输入端连接,所述第二部分积选择子电路的第二输入端与所述部分积交换电路的第二输出端连接,所述第二部分积选择子电路的输出端与所述第二修正压缩支路的第一输入端连接;其中,所述第二修正布斯编码子电路用于对接收到的所述第二数据进行布斯编码处理
得到第二目标编码,并根据所述目标编码得到所述第二符号位扩展后的部分积,所述第二部分积选择子电路用于接收所述部分积交换电路输出的所述第二符号位扩展后的部分积,以及对所述第二符号位扩展后的部分积进行选择,并且将所述部分积交换电路输出的所述第一符号位扩展后的部分积,以及选择后得到的所述第二符号位扩展后的部分积,作为所述第二目标编码部分积输入至所述第二修正压缩支路。4.根据权利要求2至3中任一项所述的数据处理器,其特征在于,所述第一修正布斯编码子电路包括:第一修正布斯编码单元、第一低位部分积获取单元、第一低位选择器组单元、第一低位与逻辑单元、第一高位部分积获取单元、第一高位选择器组单元以及第一高位与逻辑单元;所述第一修正布斯编码单元的第一输出端与所述第一低位部分积获取单元的第一输入端连接,所述第一低位选择器组单元的输出端与所述第一低位部分积获取单元的第二输入端连接,所述第一低位与逻辑单元的输出端与所述第一低位部分积获取单元的第三输入端连接,所述第一修正布斯编码单元的第二输出端与所述第一高位部分积获取单元的第一输入端连接,所述第一高位选择器组单元的输出端与所述第一高位部分积获取单元的第二输入端连接,所述第一高位与逻辑单元的输出端与所述第一高位部分积获取单元的第三输入端连接;其中,所述第一修正布斯编码单元用于根据接收到的所述功能模式选择信号确定所述第一乘法运算电路当前可处理数据的位宽,并对接收到的所述第一数据进行布斯编码处理得到第一低位目标编码以及第一高位目标编码,所述第一低位部分积获取单元用于根据接收到的所述第一低位目标编码以及所述第一数据,得到第一符号位扩展后的低位部分积,所述第一低位选择器组单元用于选通所述第一符号位扩展后的低位部分积中的第一数值,所述第一低位与逻辑单元用于根据接收到的所述功能模式选择信号进行与逻辑运算,得到所述第一符号位扩展后的低位部分积中的第二数值,所述第一高位部分积获取单元用于根据接收到的所述第一高位目标编码以及所述第一数据,得到第一符号位扩展后的高位部分积,所述第一高位选择器组单元用于选通所述第一符号位扩展后的高位部分积中的第三数值,所述第一高位与逻辑单元用于根据接收到的所述功能模式选择信号进行与逻辑运算,得到所述第一符号位扩展后的高位位部分积中的第四数值。5.根据权利要求4所述的数据处理器,其特征在于,所述第一修正布斯编码子电路中的第一修正布斯编码单元包括:低位布斯编码单元、与逻辑单元以及高位布斯编码单元,所述低位布斯编码单元的输出端与所述与逻辑单元的输入端连接,所述与逻辑单元的输出端与所述高位布斯编码单元的输入端连接;所述低位布斯编码单元用于对接收到的所述第一数据中的低位数据进行布斯编码处理得到第一低位目标编码,所述与逻辑单元用于根据接收到的所述功能模式选择信号进行与逻辑运算,得到所述第一数据中的高位数据进行布斯编码处理时的补位数值,所述高位布斯编码单元用于对接收到的所述第一数据中的高位数据和所述补位数值进行布斯编码处理得到第一高位目标编码。6.根据权利要求5所述的数据处理器,其特征在于,所述第一修正布斯编码单元中的低位布斯编码单元包括:低位数据输入端口、低位目标编码输出端口以及高位数值输出端口;所述低位数据输入端口用于接收进行布斯编码处理的所述第一数据中的低位数据,所述低位目标编码输出端口用于输出对第一数据中的所述低位数据进行布斯编码处理后,得到的第一低位目标编码,所述高位数值输出端口用于输出所述低位数据中的最高位数值。
7.根据权利要求5至6中任一项所述的数据处理器,其特征在于,所述第一修正布斯编码单元中的与逻辑单元包括:高位数值输入端口、模式选择信号输入端口以及逻辑运算结果输出端口;所述高位数值输入端口用于接收所述第一数据包含的低位数据中的最高位数值,所述模式选择信号输入端口用于接收所述功能模式选择信号,所述逻辑运算结果输出端口用于输出对所述第一数据包含的低位数据中的最高位数值,与所述功能模式选择信号进行与逻辑运算得到的所述第一逻辑运算结果。8.根据权利要求5至7中任一项所述的数据处理器,其特征在于,所述第一修正布斯编码单元中的高位布斯编码单元包括:高位数据输入端口、低位数值输入端口以及高位目标编码输出端口;所述高位数据输入端口用于接收所述第一数据中的高位数据,所述低位数值输入端口用于接收所述第一数据中的低位数据中的最高位数值与所述功能模式选择信号进行与逻辑运算得到的第一逻辑运算结果,所述高位目标编码输出端口用于输出所述第一高位目标编码。9.根据权利要求3至8中任一项所述的数据处理器,其特征在于,所述第二修正布斯编码子电路包括:第二修正布斯编码单元、第二低位部分积获取单元、第二低位选择器组单元、第二低位与逻辑单元、第二高位部分积获取单元、第二高位选择器组单元以及第二高位与逻辑单元;所述第二修正布斯编码单元的第一输出端与所述第二低位部分积获取单元的第一输入端连接,所述第二低位选择器组单元的输出端与所述第二低位部分积获取单元的第二输入端连接,所述第二低位与逻辑单元的输出端与所述第二低位部分积获取单元的第三输入端连接,所述第二修正布斯编码单元的第二输出端与所述第二高位部分积获取单元的第一输入端连接,所述第二高位选择器组单元的输出端与所述第二高位部分积获取单元的第二输入端连接,所述第二高位与逻辑单元的输出端与所述第二高位部分积获取单元的第三输入端连接;其中,所述第二修正布斯编码单元用于根据接收到的所述功能模式选择信号确定所述第二乘法运算电路当前可处理数据的位宽,并对接收到的所述第二数据进行布斯编码处理得到第二低位目标编码以及第二高位目标编码,所述第二低位部分积获取单元用于根据接收到的所述第二低位目标编码以及所述第二数据,得到第二符号位扩展后的低位部分积,所述第二低位选择器组单元用于选通所述第二符号位扩展后的低位部分积中的第五数值,所述第二低位与逻辑单元用于根据接收到的所述功能模式选择信号进行与逻辑运算,得到所述第二符号位扩展后的低位部分积中的第六数值,所述第二高位部分积获取单元用于根据接收到的所述第二高位目标编码以及所述第二数据,得到第二符号位扩展后的高位部分积,所述第二高位选择器组单元用于选通所述第二符号位扩展后的高位部分积中的第七数值,所述第二高位与逻辑单元用于根据接收到的所述功能模式选择信号进行与逻辑运算,得到所述第二符号位扩展后的高位位部分积中的第八数值。10.根据权利要求4至9中任一项所述的数据处理器,其特征在于,所述第一修正布斯编码子电路中的第一低位部分积获取单元包括:低位目标编码输入端口、第一选通数值输入端口、第二选通数值输入端口、第一数据输入端口以及低位部分积输出端口;所述低位目标编码输入端口用于接收所述第一低位目标编码,所述第一选通数值输入端口用于接收所述第一低位选择器组单元选通后,输出的所述第一符号位扩展后的低位部分积中的第一数值,所述第二选通数值输入端口用于接收所述第一低位与逻辑单元输出的所述第一符号位
扩展后的低位部分积中的第二数值,所述第一数据输入端口用于接收所述第一数据,所述低位部分积输出端口用于输出所有第一符号位扩展后的低位部分积。11.根据权利要求4至10中任一项所述的数据处理器,其特征在于,所述第一修正布斯编码子电路中的第一低位选择器组单元包括:低位选择器,所述低位选择器用于选通所述第一符号位扩展后的低位部分积中的第一数值。12.根据权利要求4至11中任一项所述的数据处理器,其特征在于,所述第一修正布斯编码子电路中的第一低位与逻辑单元包括:第一模式选择信号输入端口、第一符号位数值输入端口以及第一结果输出端口;其中,所述第一模式选择信号输入端口用于接收所述功能模式选择信号,所述第一符号位数值输入端口用于接收所述符号位扩展后的低位部分积中的第一符号位数值,所述第一结果输出端口用于输出对所述功能模式选择信号与所述第...

【专利技术属性】
技术研发人员:ꢀ七四专利代理机构
申请(专利权)人:上海寒武纪信息科技有限公司
类型:发明
国别省市:

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

1