用于神经网络的数据处理电路、神经网络电路和处理器制造技术

技术编号:36693704 阅读:20 留言:0更新日期:2023-02-27 20:03
本申请提供了一种用于神经网络的数据处理电路、神经网络电路和处理器。数据处理电路包括M个计算单元以及输出单元。M个计算单元之间两两连接。M个计算单元分别与输出单元连接。第i个计算单元被配置为:接收第一指令队列以及操作数;确定第一指令队列中的第一个指令为目标指令,目标指令与第i个计算单元匹配;删除目标指令,以形成第二指令队列;对操作数进行处理;向输出单元以及M个计算单元输出第二指令队列和处理后的操作数;第一指令队列包括源指令队列或者第二指令队列。输出单元被配置为:接收第二指令队列;确定第二指令队列中的第一个指令为输出指令;将处理后的操作数输出。本申请的技术方案提高了神经网络的计算效率。率。率。

【技术实现步骤摘要】
用于神经网络的数据处理电路、神经网络电路和处理器


[0001]本申请涉及芯片散热
,尤其涉及一种用于神经网络的数据处理电路、神经网络电路和处理器。

技术介绍

[0002]随着科学技术的不断进步,深度学习算法的类型和应用领域也在不断拓展。作为深度学习算法的实现基础,神经网络的重要性是不言而喻的。
[0003]当下,人们对于深度学习算法的处理速度的要求越来越高。由此,出现了专门用于神经网络计算的神经网络处理器。这些神经网络处理器在实现深度学习算法的计算的过程中,往往需要对数据进行一系列的连续计算。在这样的连续计算的过程中,需要对数据存储单元进行多次读取和写入。这样高频率的存储器访问,降低了计算效率,并增加了总功耗。
[0004]因此,如何提高神经网络的计算效率是亟需解决的问题。

技术实现思路

[0005]本申请的目的在于提供一种用于神经网络的数据处理电路、神经网络电路和处理器,从而提高神经网络的计算效率。
[0006]在第一方面,本申请提供一种用于神经网络的数据处理电路。该数据处理电路包括:M个计算单元以及输出单元。M个计算单元之间两两连接。M个计算单元分别与输出单元连接。M为大于1的整数。M个计算单元中的第i个计算单元被配置为:接收第一指令队列以及与第一指令队列对应的操作数;确定第一指令队列中的第一个指令为目标指令,其中,目标指令与第i个计算单元匹配;从第一指令队列中删除目标指令,以形成第二指令队列;对与第一指令队列对应的操作数进行处理;以及,向输出单元以及M个计算单元输出第二指令队列和处理后的操作数。第一指令队列包括源指令队列或者第二指令队列。i为整数,且i的取值范围为1至M。输出单元被配置为:接收第二指令队列;确定第二指令队列中的第一个指令为输出指令;以及,将处理后的操作数输出。
[0007]根据一些可能的实施方式,M个计算单元中每一个计算单元的输出端可以与M个计算单元的输入端以及输出单元的输入端连接。
[0008]根据一些可能的实施方式,第一指令队列和第二指令队列中的每一个指令可以具有K个比特。K为正整数,并且K满足2
K
≥M+1。
[0009]根据一些可能的实施方式,第i个计算单元可以包括多路选择单元和基本运算单元。多路选择单元与基本运算单元连接。多路选择单元被配置为:接收第一指令队列以及与第一指令队列对应的操作数;确定第一指令队列中的第一个指令是否为目标指令;以及,响应于第一指令队列中的第一个指令是目标指令,将第一指令队列以及与第一指令队列对应的操作数输出至基本运算单元。基本运算单元被配置为:从第一指令队列中删除目标指令,以形成第二指令队列;对第一指令队列对应的操作数进行处理;以及,向输出单元以及M个计算单元输出第二指令队列和处理后的操作数。
[0010]根据一些可能的实施方式,第i个计算单元可以包括以下至少之一:ALU单元、IMAC单元、FADD单元、FMUL单元、I2F单元、F2I单元以及RSS单元。
[0011]根据一些可能的实施方式,M个计算单元可以用于以下至少之一:量化计算、反量化计算。
[0012]根据一些可能的实施方式,在M个计算单元用于量化计算的情况下,M个计算单元可以包括I2F单元、FMUL单元、FADD单元以及F2I单元。I2F单元被配置为:确定来自数据存储单元的第一指令队列中的第一个指令为定点

浮点转换指令;对来自数据存储单元的操作数进行定点

浮点转换;删除该第一指令队列中的所述定点

浮点转换指令,以形成第二指令队列;将转换结果作为操作数以及该第二指令队列作为第一指令队列输入FMUL单元。FMUL单元被配置为:确定来自I2F单元的第一指令队列中的第一个指令为浮点乘法指令;对来自I2F单元的操作数进行浮点乘法运算;删除该第一指令队列中的浮点乘法指令,以形成第二指令队列;以及,将运算结果作为操作数以及该第二指令队列作为第一指令队列输入FADD单元。FADD单元被配置为:确定来自FMUL单元的第一指令队列中的第一个指令为浮点加法指令;对来自FMUL单元的操作数进行浮点加法运算;删除该第一指令队列中的浮点加法指令,以形成第二指令队列;以及,将运算结果作为操作数以及该第二指令队列作为第一指令队列输入F2I单元。F2I单元被配置为:确定来自FADD单元的第一指令队列中的第一个指令为浮点

定点转换指令;对来自FADD单元的操作数进行浮点

定点转换;删除该第一指令队列中的定点

浮点转换指令,以形成第二指令队列;以及,将转换结果作为操作数以及该第二指令队列输入输出单元。
[0013]根据一些可能的实施方式,在M个计算单元用于量化计算的情况下,M个计算单元可以包括IMAC单元、RSS单元以及ALU单元。IMAC单元被配置为:确定来自数据存储单元的第一指令队列中的第一个指令为定点乘法指令;对来自数据存储单元的操作数进行定点乘法运算;删除该第一指令队列中的定点乘法指令,以形成第二指令队列;以及,将运算结果作为操作数以及该第二指令队列作为第一指令队列输入RSS单元。RSS单元被配置为:确定来自IMAC单元的第一指令队列中的第一个指令为移位指令;对来自IMAC单元的操作数进行移位;删除该第一指令队列中的移位指令,以形成第二指令队列;以及,将移位结果作为操作数以及该第二指令队列作为第一指令队列输入ALU单元。ALU单元被配置为:确定来自RSS单元的第一指令队列中的第一个指令为定点加法指令;对来自RSS单元的操作数进行定点加法运算;删除该第一指令队列中的定点加法指令,以形成第二指令队列;以及,将运算结果作为操作数以及该第二指令队列输入输出单元。
[0014]根据一些可能的实施方式,在M个计算单元用于反量化计算的情况下,M个计算单元可以包括ALU单元、I2F单元以及FMUL单元。ALU单元被配置为:确定来自数据存储单元的第一指令队列中的第一个指令为定点减法指令;对来自数据存储单元的操作数进行定点减法运算;删除该第一指令队列中的定点减法指令,以形成第二指令队列;以及,将运算结果作为操作数以及该第二指令队列作为第一指令队列输入I2F单元。I2F单元被配置为:确定来自ALU单元的第一指令队列中的第一个指令为定点

浮点转换指令;对来自ALU单元的操作数进行定点

浮点转换;删除该第一指令队列中的定点

浮点转换指令,以形成第二指令队列;以及,将转换结果作为操作数以及该第二指令队列作为第一指令队列输入FMUL单元。FMUL单元被配置为:确定来自I2F单元的第一指令队列中的第一个指令为浮点乘法指令;对
来自I2F单元的操作数进行浮点乘法运算;删除该第一指令队列中的浮点乘法指令,以形成第二指令队列;以及,将运算结果作为操作数以及该第二指令队列输入输出单元。
[0015]根据一些可能的实施方式,在M个计算单元用于反量化计算的情况下,M个计算单元可以包括A本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于神经网络的数据处理电路,其特征在于,包括:M个计算单元以及输出单元;其中,所述M个计算单元之间两两连接,所述M个计算单元分别与所述输出单元连接,其中,M为大于1的整数;所述M个计算单元中的第i个计算单元被配置为:接收第一指令队列以及与所述第一指令队列对应的操作数;确定所述第一指令队列中的第一个指令为目标指令,其中,所述目标指令与所述第i个计算单元匹配;从所述第一指令队列中删除所述目标指令,以形成第二指令队列;对与所述第一指令队列对应的操作数进行处理;以及,向所述输出单元以及所述M个计算单元输出所述第二指令队列和处理后的操作数;其中,所述第一指令队列包括源指令队列或者所述第二指令队列;i为整数,且i的取值范围为1至M;所述输出单元被配置为:接收所述第二指令队列;确定所述第二指令队列中的第一个指令为输出指令;以及,将所述处理后的操作数输出。2.根据权利要求1所述的数据处理电路,其特征在于,所述M个计算单元中每一个计算单元的输出端与所述M个计算单元的输入端以及所述输出单元的输入端连接。3.根据权利要求1所述的数据处理电路,其特征在于,所述第一指令队列和所述第二指令队列中的每一个指令具有K个比特,其中,K为正整数,并且K满足2
K
≥M+1。4.根据权利要求1所述的数据处理电路,其特征在于,所述第i个计算单元包括:多路选择单元和基本运算单元;其中,所述多路选择单元与所述基本运算单元连接;所述多路选择单元被配置为:接收所述第一指令队列以及与所述第一指令队列对应的操作数;确定所述第一指令队列中的第一个指令是否为所述目标指令;以及,响应于所述第一指令队列中的第一个指令是所述目标指令,将所述第一指令队列以及与所述第一指令队列对应的操作数输出至所述基本运算单元;所述基本运算单元被配置为:从所述第一指令队列中删除所述目标指令,以形成所述第二指令队列;对所述第一指令队列对应的操作数进行处理;以及,向所述输出单元以及所述M个计算单元输出所述第二指令队列和所述处理后的操作数。5.根据权利要求1所述的数据处理电路,其特征在于,所述第i个计算单元包括以下至少之一:算术逻辑ALU单元、定点乘法IMAC单元、浮点加法FADD单元、浮点乘法FMUL单元、定点

浮点转换I2F单元、浮点

定点转换F2I单元以及移位RSS单元。6.根据权利要求1所述的数据处理电路,其特征在于,所述M个计算单元用于以下至少之一:量化计算、反量化计算。7.根据权利要求6所述的数据处理电路,其特征在于,在所述M个计算单元用于量化计算的情况下,所述M个计算单元包括I2F单元、FMUL单元、FADD单元以及F2I单元;所述I2F单元被配置为:确定来自所述数据存储单元的第一指令队列中的第一个指令为定点

浮点转换指令;对来自所述数据存储单元的操作数进行定点

浮点转换;删除该第一指令队列中的所述定点

浮点转换指令,以形成第二指令队列;将转换结果作为操作数以及该第二指令队列作为第一指令队列输入所述FMUL单元;所述FMUL单元被配置为:确定来自所述I2F单元的第一指令队列中的第一个指令为浮点乘法指令;对来自所述I2F单元的操作数进行浮点乘法运算;删除该第一指令队列中的所述浮点乘法指令,以形成第二指令队列;以及,将运算结果作为操作数以及该第二指令队列作为第一指令队列输入所述FADD单元;
所述FADD单元被配置为:确定来自所述FMUL单元的第一指令队列中的第一个指令为浮点加法指令;对来自所述FMUL单元的操作数进行浮点加法运算;删除该第一指令队列中的所述浮点加法指令,以形成第二指令队列;以及,将运算结果作为操作数以及该第二指令队列作为第一指令队列输入所述F2I单元;所述F2I单元被配置为:确定来自所述FADD单元的第一指令队列中的第一个指令为浮点

定点转换指令;对来自所述FADD单元的操作数进行浮点

定点转换;删除该第一指令队列...

【专利技术属性】
技术研发人员:屈家丽沈广冲洪宗会薛雨楠
申请(专利权)人:北京算能科技有限公司
类型:发明
国别省市:

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

1