数据处理装置、方法、芯片及电子设备制造方法及图纸

技术编号:24459088 阅读:28 留言:0更新日期:2020-06-10 16:27
本申请提供一种数据处理装置、方法、芯片及电子设备,该数据处理装置,包括:所述数据处理装置包括主处理电路以及从处理电路,所述主处理电路的输出端与所述从处理电路的输入端连接,该数据处理装置在进行数据处理时,该装置并可以通过分支处理电路将接收到的数据分配成多组数据,通过每一个分支处理电路连接的从处理电路能够对分配后的多组数据进行并行运算,从而提高数据处理效率,降低AI芯片的功耗。

Data processing device, method, chip and electronic equipment

【技术实现步骤摘要】
数据处理装置、方法、芯片及电子设备
本专利技术涉及计算机
,特别是涉及一种数据处理装置、方法、芯片及电子设备。
技术介绍
随着数字电子技术的不断发展,各类人工智能(ArtificialIntelligence,AI)芯片的快速发展对于数据处理的要求越来越高,进而对一些数据处理器的要求也越来越严格。目前,终端对信息的处理均是基于一种通用处理器实现的,并且这种基于通用处理器运行软件程序来处理信息的方式,受限于通用处理器的运行速率,尤其在通用处理器负荷较大的情况下,数字处理效率较低,对于数字处理的计算模型中的正向运算来说,正向运算的计算量较大,通用的处理器完成正向运算的效率较低,从而导致AI芯片的功耗较高。
技术实现思路
基于此,有必要针对上述技术问题,提供一种数据处理装置、方法、芯片及电子设备。本专利技术实施例提供一种数据处理装置,所述数据处理装置用于执行机器学习计算;所述数据处理装置包括主处理电路以及从处理电路,所述主处理电路的输出端与所述从处理电路的输入端连接,所述从处理电路的输出端与所述主处理电路的输入端连接,所述主处理电路用于对接收到的第一数据进行不同运算,并接收所述从处理电路的运算结果,所述从处理电路用于对接收到的第二数据进行累加运算以及乘累加运算,并将所述运算结果传输至所述主处理电路。在其中一个实施例中,所述机器学习计算包括人工神经网络运算;所述第一数据和所述第二数据包括神经元数据和权值数据。在其中一个实施例中,所述数据处理装置还包括分支处理电路,所述分支处理电路用于传输数据;其中,所述主处理电路的输出端与所述分支处理电路的第一输入端连接,所述分支处理电路的第一输出端与所述从处理电路的输入端连接,所述从处理电路的输出端与所述分支处理电路的第二输入端连接,所述分支处理电路的第二输出端与所述主处理电路的输入端连接。在其中一个实施例中,所述主处理电路包括:第一顶层控制模块以及第一数据处理模块;所述第一顶层控制模块包括第一输出端,该第一输出端与所述第一数据处理模块的输入端连接,所述第一数据处理模块的输出端与所述第一顶层控制模块的第一输入端连接;所述第一顶层控制模块用于接收控制信号与数据,解析所述控制信号得到分支控制信号,并根据所述分支控制信号对所述数据进行调度处理,所述第一数据处理模块用于接收所述第一顶层控制模块调度后的数据以及所述分支控制信号,根据所述分支控制信号对调度后的所述数据进行不同运算。在其中一个实施例中,所述不同运算包括,激活处理、池化操作、数据填充操作、计数操作、滤波操作、矩阵转置、向量比较、向量极值选取、向量乘、向量逐元素平方、生成随机数以及转数运算等。在其中一个实施例中,所述第一顶层控制模块还包括第二输出端,该第二输出端与所述分支处理电路的第三输入端连接,所述分支处理电路的第三输出端与所述第一顶层控制模块的第二输入端连接。在其中一个实施例中,所述第一数据处理模块包括:运算单元和矩阵转置单元;所述运算单元用于接收所述分支控制信号以及所述第一顶层控制模块调度后的数据,根据所述分支控制信号对调度后的所述数据进行向量比较运算、向量极值选取运算、向量逐元素平方运算、向量累加运算、生成随机数运算以及转数运算等,所述矩阵转置单元用于接收所述分支控制信号以及所述第一顶层控制模块调度后的数据,根据所述分支控制信号对调度后的所述数据进行矩阵转置处理。在其中一个实施例中,所述运算单元包括乘法器、数据比较装置以及转数单元。在其中一个实施例中,所述从处理电路包括:第二顶层控制模块和第二数据处理模块,所述第二顶层控制模块的输出端与所述第二数据处理模块的输入端连接;其中,所述第二顶层控制模块用于接收所述分支控制信号以及所述第一顶层控制模块调度后的数据,解析所述分支控制信号得到控制子信号,并根据所述控制子信号对调度后的所述数据进行再次调度,所述第二数据处理模块用于接收所述第一顶层控制模块调度后的数据以及所述分支控制信号,根据所述分支控制信号对调度后的所述数据进行不同的运算。在其中一个实施例中,所述第二数据处理模块包括:乘法单元、选择器、累加单元以及转数单元,所述乘法单元的输出端与所述选择器的输入端连接,所述选择器的输出端与所述累加单元的输入端连接,所述累加单元的输出端与所述转数单元的输入端连接;所述乘法单元用于对接收到的所述数据进行乘法运算,所述选择器用于选通所述乘法单元的乘法结果或所述数据,所述累加单元用于对接收到的所述乘法结果进行累加运算,或者对接收到的所述数据进行累加运算,所述转数单元用于对接收到的累加运算结果进行转数处理,得到目标格式的数据。在其中一个实施例中,所述乘法单元包括所述乘法器。本实施例提供的一种数据处理装置,该装置包括主处理电路以及从处理电路,在进行数据处理时,该装置并可以通过分支处理电路将接收到的数据数据分配成多组数据,通过每一个分支处理电路连接的从处理电路能够对分配后的多组数据进行并行运算,从而提高数据处理效率,降低AI芯片的功耗。本专利技术实施例提供一种数据处理方法,所述方法包括:接收待处理的数据以及控制信号;解析所述控制信号得到分支控制信号;根据所述分支控制信号对待处理的所述数据进行调度处理,得到调度后的第一数据;根据所述分支控制信号对调度后的所述第一数据进行运算处理,得到运算结果。在其中一个实施例中,所述根据所述分支控制信号对调度后的所述第一数据进行运算处理,得到运算结果,包括:解析所述分支控制信号得到控制子信号;根据所述控制子信号对调度后的所述第一数据进行调度处理,得到调度后的第二数据;对调度后的所述第二数据进行运算处理,得到运算结果。在其中一个实施例中,若所述运算处理为向量极值选取运算时,则所述对调度后的所述第二数据进行运算处理,得到运算结果,包括:对调度后的所述第二数据进行向量比较运算,得到比较运算结果;和/或对调度后的所述第二数据进行向量极值选取运算,得到极值选取运算结果。在其中一个实施例中,若所述运算处理为乘法运算时,则所述对调度后的所述第二数据进行运算处理,得到运算结果,包括:对调度后的所述第二数据进行乘法运算,得到乘法运算结果;和/或对调度后的所述第二数据进行乘累加运算,得到乘累加运算结果。本实施例提供的一种数据处理方法,接收数据以及控制信号,解析所述控制信号得到分支控制信号,根据所述分支控制信号对所述数据进行调度处理,得到调度后的第一数据,根据所述分支控制信号对调度后的所述第一数据进行不同的运算处理,得到运算结果,该方法可以对接收到的数据进行调度,对调度后的数据进行并行运算处理,有效提高数据处理效率,并降低了AI芯片的功耗。本专利技术实施例提供的一种机器学习运算装置,该机器学习运算装置包括一个或者多个第一方面所述的数据处理装置;该机器学习运算装置用于从其它处理装置中获取待运算数据和控制信息,并执行指定的机器学习运算,将执行结果通过I/O接口传递给其它处理装置;...

【技术保护点】
1.一种数据处理装置,其特征在于,所述数据处理装置用于执行机器学习计算;所述数据处理装置包括主处理电路以及从处理电路,所述主处理电路的输出端与所述从处理电路的输入端连接,所述从处理电路的输出端与所述主处理电路的输入端连接,所述主处理电路用于对接收到的第一数据进行不同运算,并接收所述从处理电路的运算结果,所述从处理电路用于对接收到的第二数据进行累加运算以及乘累加运算,并将所述运算结果传输至所述主处理电路。/n

【技术特征摘要】
1.一种数据处理装置,其特征在于,所述数据处理装置用于执行机器学习计算;所述数据处理装置包括主处理电路以及从处理电路,所述主处理电路的输出端与所述从处理电路的输入端连接,所述从处理电路的输出端与所述主处理电路的输入端连接,所述主处理电路用于对接收到的第一数据进行不同运算,并接收所述从处理电路的运算结果,所述从处理电路用于对接收到的第二数据进行累加运算以及乘累加运算,并将所述运算结果传输至所述主处理电路。


2.根据权利要求1所述的数据处理装置,其特征在于,所述机器学习计算包括人工神经网络运算;所述第一数据和所述第二数据包括神经元数据和权值数据。


3.根据权利要求1-2所述的数据处理装置,其特征在于,所述数据处理装置还包括分支处理电路,所述分支处理电路用于传输数据;其中,所述主处理电路的输出端与所述分支处理电路的第一输入端连接,所述分支处理电路的第一输出端与所述从处理电路的输入端连接,所述从处理电路的输出端与所述分支处理电路的第二输入端连接,所述分支处理电路的第二输出端与所述主处理电路的输入端连接。


4.根据权利要求1所述的数据处理装置,其特征在于,所述主处理电路包括:第一顶层控制模块以及第一数据处理模块;所述第一顶层控制模块包括第一输出端,该第一输出端与所述第一数据处理模块的输入端连接,所述第一数据处理模块的输出端与所述第一顶层控制模块的第一输入端连接;所述第一顶层控制模块用于接收控制信号与数据,解析所述控制信号得到分支控制信号,并根据所述分支控制信号对所述数据进行调度处理,所述第一数据处理模块用于接收所述第一顶层控制模块调度后的数据以及所述分支控制信号,根据所述分支控制信号对调度后的所述数据进行不同运算。


5.根据权利要求4所述的数据处理装置,其特征在于,所述不同运算包括,激活处理、池化操作、数据填充操作、计数操作、滤波操作、矩阵转置、向量比较、向量极值选取、向量乘、向量逐元素平方、生成随机数以及转数运算等。


6.根据权利要求4所述的数据处理装置,其特征在于,所述第一顶层控制模块还包括第二输出端,该第二输出端与所述分支处理电路的第三输入端连接,所述分支处理电路的第三输出端与所述第一顶层控制模块的第二输入端连接。


7.根据权利要求4所述的数据处理装置,其特征在于,所述第一数据处理模块包括:运算单元和矩阵转置单元;所述运算单元用于接收所述分支控制信号以及所述第一顶层控制模块调度后的数据,根据所述分支控制信号对调度后的所述数据进行向量比较运算、向量极值选取运算、向量逐元素平方运算、向量累加运算、生成随机数运算以及转数运算,所述矩阵转置单元用于接收所述分支控制信号以及所述第一顶层控制模块调度后的数据,根据所述分支控制信号对调度后的所述数据进行矩阵转置处理。


8.根据权利要求7所述的数据处理装置,其特征在于,所述运算单元包括乘法器、数据比较装置以及转数单元。


9.根据权利要求1所述的数据处理装置,其特征在于,所述从处理电路包括:第二顶层控制模块和第二数据处理模块,所述第二顶层控制模块的输出端与所述第二数据处理模块的输入端连接;
其中,所述第二顶层控制模块用于接收所述分支控制信号以及所述第一顶层控制模块调度后的数据,解析所述分支控制信号得到控制子信号,并根据所述控制子信号对调度后的所述数据进行再次调度,所述第二数据处理模块用于接收所述第一顶层控制模块调度后的数据以及所述分支控制信号,根据所述分支控制信号对调度后的所述数据进行不同的运算。


10.根据权利要求9所述的数据处理装置,其特征在于,所述第二数据处理模块包括:乘法单元、选择器、累加单元以及转数单元,所述乘法单元的输出端与所述选择器的输入端连接,所述选择器的输出端与所述累加单元的输入端连接,所述累加单元的输出端与所述转数单元的输入端连接;所述乘法单元用于对接收到的所述数据进行乘法运算,所述选择器用于选通所述乘法单元的乘法结果或所述数据,所述累加单元用于对接收到的所述乘法结果进行累加运算,或者...

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

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

1