数据处理装置、方法、神经网络处理器、芯片及电子设备与流程

文档序号:30243896发布日期:2022-06-02 00:21阅读:94来源:国知局
数据处理装置、方法、神经网络处理器、芯片及电子设备与流程

1.本技术涉及电子信息技术,尤其涉及一种数据处理装置、方法、神经网络处理器、芯片及电子设备。


背景技术:

2.近年来人工智能(artificial intelligence,ai)技术应用范围日益扩大,随着kirin970将神经网络处理器(neural-network processing unit,npu)正式应用在智能手机领域,npu的重要性逐渐与中央处理器(central processing unit,cpu)和图形处理器(graphics processing unit,gpu)并驾齐驱,形成了智能手机领域的三大核心,然而现有npu中设置了较多的走线沟道,占用过多的npu面积,导致npu尺寸过大。


技术实现要素:

3.为解决上述技术问题,本技术实施例期望提供一种数据处理装置、方法、神经网络处理器、芯片及电子设备。
4.本技术的技术方案是这样实现的:
5.第一方面,提供了一种数据处理装置,所述数据处理装置包括:
6.控制单元;以及
7.m级逻辑单元,m取大于1的整数,所述m级逻辑单元层叠设置,所述m级逻辑单元中的第一级逻辑单元与所述控制单元相连;
8.其中,每一级逻辑单元内部设置有贯穿通道,以实现第m级逻辑单元往所述控制单元的数据传输的传输通道。
9.第二方面,提供了一种配置数据处理装置的方法,该方法包括:
10.设置控制单元;
11.层叠设置m级逻辑单元,m是大于1的整数,并且将所述m级逻辑单元中的第一级逻辑单元与所述控制单元相连;以及
12.在每一级逻辑单元内部中设置贯穿通道,以实现第m级逻辑单元往所述控制单元的数据传输的传输通道。
13.第三方面,提供了一种神经网络处理器,所述神经网络处理器包括前述任一项所述数据处理装置。
14.第四方面,提供了一种芯片,包括前述任一项神经网络处理器。
15.第五方面,提供了一种电子设备,所述电子设备包括前述的任一项芯片。
16.本技术实施例中还提供了一种数据处理装置、方法、神经网络处理器、芯片及电子设备,所述数据处理装置包括:控制单元;以及m级逻辑单元,m取大于1的整数,所述m级逻辑单元层叠设置,所述m级逻辑单元中的第一级逻辑单元与所述控制单元相连;其中,每一级逻辑单元内部设置有贯穿通道,以实现第m级逻辑单元往所述控制单元的数据传输的传输通道。如此,第m级逻辑单元通过在逻辑单元内部形成的传输通道向控制单元传输数据,无
需设置多余的沟道区域,从而减少了处理装置尺寸,且这种传输通道的长度小于现有沟道长度,能否减少路径时延,降低数据处理装置功耗。
附图说明
17.图1为一种卷积神经网络的矩阵乘加计算的过程示意图;
18.图2为一种数据处理装置的物理实现模型示意图;
19.图3为又一种数据处理装置的物理实现模型示意图;
20.图4为本技术实施例中数据处理装置的第一结构示意图;
21.图5为本技术实施例中逻辑单元的组成结构示意图;
22.图6为本技术实施例中数据处理装置的第二结构示意图;
23.图7为本技术实施例中数据处理装置的第三结构示意图;
24.图8为本技术实施例提供的一种配置数据处理装置的方法的流程示意图;
25.图9为本技术实施例中神经网络处理器的组成结构示意图;
26.图10为本技术实施例中芯片的组成结构示意图;
27.图11为本技术实施例中电子设备的组成结构示意图。
具体实施方式
28.为了能够更加详尽地了解本技术实施例的特点与技术内容,下面结合附图对本技术实施例的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本技术实施例。
29.需要说明的是:在本技术实例中,“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
30.另外,本技术实施例所记载的技术方案之间,在不冲突的情况下,可以任意组合。
31.随着神经网络处理器(neural network processing unit,npu)越来越多的应用在智能终端领域,npu的重要性也越来越重要。npu的核心操作是卷积操作,而卷积操作的本质是矩阵的乘加计算,通过硬件加速矩阵的乘加运算就能达到加速深度学习训练与推理的目标。
32.图1为一种卷积神经网络的矩阵乘加计算的过程示意图,如图1所示,由于矩阵的乘加计算存在3维计算的特征,所以通过设计三维的硬件计算单元101就可以并行对矩阵中的元素进行乘法后再进行加法计算,图1中的三维的硬件计算单元101为一个4
×4×
4的三维计算单元,4
×4×
4的三维计算单元用于对两个4
×
4的矩阵(矩阵a和矩阵b)进行乘加运算,其中,4
×4×
4的三维计算单元对矩阵进行乘加的过程如下:
33.首先,4
×4×
4的三维计算单元可以并行计算每个元素的乘积,其中,4
×4×
4的三维计算单元中的每一个单元分别获取矩阵a中的元素和矩阵b中的元素,并对所获取的元素进行乘法计算。
34.其中,矩阵矩阵
35.例如,4
×4×
4的三维计算单元中的前表面的第0列的四个单元分别计算a
11
×b11
,a21
×b11
,a
31
×b11
,a
41
×b11
;4
×4×
4的三维计算单元中的前表面的最后一列的四个单元分别计算a
11
×b14
,a
21
×b14
,a
31
×b14
,a
41
×b14
;4
×4×
4的三维计算单元中的上表面的第0列的四个单元分别计算a
14
×b41
,a
13
×b31
,a
12
×b21
,a
11
×b11
;4
×4×
4的三维计算单元中的上表面的最后一列的四个单元分别计算a
14
×b44
,a
13
×b34
,a
12
×b24
,a
11
×b14

36.其次,按照某个维度对计算得到的64个乘积进行求和,例如,从前表面至后表面的方向上进行求和,得到矩阵a
×
b,矩阵a
×
b包括16个元素。
37.最后,将得到的矩阵a
×
b与矩阵c进行求和,得到矩阵a
×
b+c。其中,矩阵的求和计算可以是并行计算。
38.上述介绍了两个4
×
4的矩阵的乘法运算,但是在矩阵a'和矩阵b'都是8
×
8矩阵的情况下,而通过图1中的三维的硬件计算单元101的进行两个8
×
8矩阵的方式如下:
39.其中,矩阵矩阵其中,a'11、a'12、a'21、a'22、b'11、b'12、b'21、b'22均为4
×
4的矩阵。从而可以得到a'
×
b'的结果为:这样就把两个8
×
8矩阵的乘法运算,转换为两个4
×
4矩阵的加乘运算。
40.在本技术实施例中,三维的硬件计算单元101为4
×4×
4的三维计算单元,4
×4×
4的三维计算单元能够对4的倍数维矩阵进行并行的乘法运算。在其它实施例中,三维的硬件计算单元101可以为3
×3×
3的三维计算单元,其中,3
×3×
3的三维计算单元可以对3的倍数维矩阵进行并行的乘法运算,或者,三维的硬件计算单元101可以为2
×2×
2的三维计算单元或者5
×5×
5的三维计算单元等等,本技术实施例对此不作限制。
41.在三维的硬件计算单元101为4
×4×
4的三维计算单元的情况下,如果待计算的矩阵的维数不为4的倍数,可以对该矩阵添加若干行0和若干行列0,从而得到4的倍数维矩阵。
42.在一些实施例中,为了增加npu的计算能力,可以通过增加三维的硬件计算单元101中的单元数量来实现。例如,8
×4×
4的三维计算单元比4
×4×
4的三维计算单元计算能力提高了一倍,16
×4×
4的三维计算单元比8
×4×
4的三维计算单元计算能力提高了一倍。
43.图2为一种数据处理装置的物理实现模型示意图,如图2所示,数据处理装置中可以包括控制(control)模块和m级处理模块,m可以是大于或等于3的整数,例如,图2中m的值可以是4、8或16等。m级处理模块中的每一级处理模块均包括计算单元、逻辑(logic)单元和存储(memory)单元。每一级处理单元的计算单元和逻辑单元之间可以互相通信,每一级处理单元的逻辑单元和存储单元之间可以互相通信。
44.其中,每一级的逻辑单元用于获取每一级计算的结果数据,并将计算的结果数据传递到下一级的逻辑单元,这样,最后一级的逻辑单元能够获取到m级计算单元分别计算的m个计算结果数据,最后一级的逻辑单元可以结合m个计算结果数据得到特征图数据,将特征图数据传输至控制模块,以使控制模块根据特征图数据进行相应地控制。
45.本技术实施例中的任一逻辑单元获取数据、处理数据、接收数据或转发数据的操作可以是通过该逻辑单元中的某个元件来完成。
46.本技术实施例中第0级处理模块中的计算单元可以称为第0级计算单元,第0级处
理模块中的逻辑单元可以称为第0级逻辑单元,第0级处理模块中的存储单元可以称为第0级存储单元,以此类推,本技术实施例不再一一列举。
47.在一些实施例中,m的值可以与npu的计算能力相关,例如,在三维的硬件计算单元中的单元数量为4时,m的值为4;在三维的硬件计算单元中的单元数量为8时,m的值为8;在三维的硬件计算单元中的单元数量为16时,m的值为16。当然,m的值可以是其他,此处不作限制。
48.图3为又一种数据处理装置的物理实现模型示意图,如图3所示,为了使得最后一级的逻辑单元能够将得到的特征图数据发送回控制模块,技术人员发现第m-1级逻辑单元需要向控制模块发送较大位宽的数据,因此在m级逻辑单元和m级计算单元之间预留走线沟道,所有的逻辑单元均可以采用复用方式,使得第m-1级逻辑单元可以通过该走线沟道向控制模块发送特征图数据。在这种方式下,m级逻辑单元是布局相同的逻辑单元,每一个逻辑单元从顶部接收数据,从底部输出数据。
49.然而,在这种方式下,技术人员发现由于需要在m级逻辑单元和m级计算单元之间以及逻辑单元的底部预留走线沟道,使得数据处理装置的尺寸大。
50.本技术实施例为了解决数据处理装置的尺寸大的问题,提出了一种数据处理装置,图4为本技术实施例中数据处理装置的第一结构示意图,如图4所示,该数据处理装置400包括:控制单元401;以及
51.m级逻辑单元402,m取大于1的整数,所述m级逻辑单元层叠设置,所述m级逻辑单元中的第一级逻辑单元与所述控制单元相连;
52.其中,每一级逻辑单元内部设置有贯穿通道,以实现第m级逻辑单元往所述控制单元的数据传输的传输通道。
53.所述控制单元401与所述m级逻辑单元402中的第一级逻辑单元相连,所述m级逻辑单元中的第一级逻辑单元到第m级逻辑单元沿第一方向层叠设置;
54.每一级逻辑单元内部设置有贯穿通道(图4中每一级逻辑单元中阴影部分所示),相邻级逻辑单元的贯穿通道沿所述第一方向层叠设置,在所述控制单元和所述第m级逻辑单元之间形成传输通道(图4中整个阴影部分);
55.所述传输通道用于实现所述第m级逻辑单元和所述控制单元401的数据交互。
56.在一些实施例中,所述第一级逻辑单元至第m-1级逻辑单元的面向所述控制单元一侧和背对所述控制单元的一侧分别设置有馈通端口,所述第m级逻辑单元在面向所述控制单元的一侧设置有馈通端口,并且所述贯穿通道经由多个馈通端口来形成所述传输通道。
57.这里,传输通道可以理解为馈通(feedthrough)路径。馈通路径可以通过设置feedthrough端口(即馈通端口)的方式来实现,feedthrough端口包括面向控制单元一侧的馈通端口和背对控制单元一侧的馈通端口,两个馈通端口直连形成贯穿通道。在每一级逻辑单元中设置贯穿通道,贯穿通道连通后形成传输通道,从而将沟道内走线放入逻辑单元中。通过这种方式,不需要在m级逻辑单元和m级计算单元之间以及逻辑单元的底部预留走线沟道,从而能够减少数据处理装置的尺寸。
58.具体地,所述控制单元的第一连接端设置有输入端口,所述逻辑单元的第一连接端(即面向控制单元的一端)设置有贯穿通道的第一馈通端口,第二连接端(即背对控制单
元的一端)设置有贯穿通道的第二馈通端口;所述控制单元的输入端口与第一级逻辑单元的第一馈通端口相连,相邻级逻辑单元中前一级逻辑单元的第一馈通端口与后一级逻辑单元的第二馈通端口相连。
59.这里,所述控制单元的第一连接端是与第一逻辑单元连接的端面,第一连接端可以为控制单元的任一个外端面,所述逻辑单元的第一连接端和第二连接端是与前一级和后一级相连接的端面,可以是逻辑单元中位于同一方向但朝向相反的两个外端面,比如图4中第一连接端为顶端第二连接端为底端,或者第一连接端为左端第二连接端为右端。也可以是逻辑单元中位于同一方向同一的两个外端面,也可以是逻辑单元中位于不同方向不同朝向两个外端面。
60.在一些实施例中,所述传输通道内布置有传输走线,所述传输走线连接所述第m级逻辑单元和所述控制单元,以实现第m级逻辑单元往所述控制单元的数据传输。
61.也就是说,传输通道作为最后一级逻辑单元向控制单元传输数据的通道,传输通道内包括布置在其中的传输走线,用来实现数据传输。通过将传输通道设置在逻辑单元内部,无需在逻辑单元外部设置沟道区域,节省出沟道区域的占用面积,进而能够缩小数据处理装置的尺寸。
62.需要说明的是,控制单元401,用于获取待处理数据,并将所述待处理数据传输至所述m级逻辑单元402;
63.所述m级逻辑单元402,用于逐级对所述待处理数据进行数据处理,得到待处理数据对应的数据处理结果;最后一级逻辑单元将数据处理结果利用传输走线传输回控制单元401。
64.图5为本技术实施例中逻辑单元的组成结构示意图,如图5所示,逻辑单元包括贯穿通道51,贯穿通道51的第一馈通端口511(也可称为输出端口)位于第一连接端(图5中的顶端),第二馈通端口512(也可称为输入端口)位于第二连接端(图5中的底端),逻辑单元的第一连接端与上一级逻辑单元的第二连接端(即底端)相连,逻辑单元的第二连接端与下一级逻辑单元的第一连接端(即顶端)相连。
65.在一些实施例中,第m级逻辑单元的馈通端口的设置方式和其他级逻辑单元可以相同,所述第m级逻辑单元背对所述控制单元的一侧馈通端口可以设置为第一封闭状态。也就是说,由于第m级逻辑单元的后面没有逻辑单元,因此只需要将传输走线与第m级逻辑单元的数据输出端口相连,第m级逻辑单元从数据输出端口直接输出第m级的数据处理结果,无需使用背对所述控制单元的一侧馈通端口,故将该馈通端口进行特殊处理。
66.这里,第一封闭状态可以理解为不占用状态,或者将馈通端口堵住。实际应用中,设置封闭状态可以通过软件控制来实现,或者改变硬件结果来实现。也就是说,实际应用中需要将最后一级逻辑单元进行单独特殊处理,而前级所有逻辑单元则完全一致,可以标准化统一批量处理。
67.在一些实施例中,第m级逻辑单元的馈通端口的设置方式和其他级逻辑单元可以不相同,即对于所述第m级逻辑单元只设置面向控制单元的馈通端口,不设置背对所述控制单元的一侧馈通端口。
68.需要说明的是,本技术传输通道设置在逻辑单元内部,使得第m即逻辑单元到达控制单元的路径最短,相比于现有技术(图3)缩短了传输路径。也就是说本技术减小了传输信
号线长度,由于信号线越长,就需要越多的buffer(中继单元)去驱动,极大的增加了buffer数量,进而增加了数据处理装置的功耗。本技术减小了传输信号线长度,能够减少buffer数量,并且降低数据处理装置的功耗。
69.在一些实施例中,所述控制单元的第一连接端还设置有输出端口,所述逻辑单元的第一连接端还设置有第三端口,第二连接端还设置有第四端口;
70.所述控制单元的输出端口与第一级逻辑单元的第三端口相连,相邻级逻辑单元中前一级逻辑单元的第四端口与后一级逻辑单元的第三端口相连。
71.具体地,所述第三端口,用于接收当前级对应的待处理数据;所述第四端口,用于向后一级传递数据处理结果。
72.在一些实施例中,第m级逻辑单元的第三端口和第四端口的设置方式和其他级逻辑单元可以相同,所述第m级逻辑单元的第四端口可以设置为第二封闭状态。也就是说,由于第m级逻辑单元的后面没有逻辑单元,因此第m级逻辑单元无需将数据处理结果传输至后一级,而是将第m级的数据处理结果直接传递至控制单元,无需使用第四端口,故将第m级逻辑单元的第四端口进行特殊处理。
73.这里,第二封闭状态可以理解为不占用状态,或者将第四端口堵住。实际应用中,设置封闭状态可以通过软件控制来实现,或者改变硬件结果来实现。也就是说,实际应用中需要将最后一级逻辑单元进行单独特殊处理,而前级所有逻辑单元则完全一致,可以标准化统一批量处理。
74.在一些实施例中,第m级逻辑单元的第三端口和第四端口的设置方式和其他级逻辑单元可以不相同,即对于所述第m级逻辑单元只设置第三端口,不设置第四端口。
75.需要说明的是,第一级逻辑单元的第三端口获取网络控制单元401传输的待处理数据,并将第一级逻辑单元对应的待处理数据存储至第一级存储单元;
76.第一级逻辑单元通过第四端口将待处理数据传输至第二级逻辑单元,第二级逻辑单元将对应的待处理数据存储至第二级存储单元,以此类推直到最后一级逻辑单元。
77.图6为本技术实施例中数据处理装置的第三结构示意图,如图6所示,该数据处理装置600包括:控制单元601和m级逻辑单元602,m取大于1的整数;
78.所述控制单元601与所述m级逻辑单元602中的第一级逻辑单元相连,所述m级逻辑单元中的第一级逻辑单元到第m级逻辑单元沿第一方向层叠设置;
79.每一级逻辑单元内部设置有贯穿通道,相邻级逻辑单元的贯穿通道沿所述第一方向层叠设置,在所述控制单元和所述第m级逻辑单元之间形成传输通道;
80.所述控制单元的第一连接端还设置有输出端口,每一级逻辑单元的第一连接端(图6中顶端)还设置有第三端口,第二连接端(图6中底端)还设置有第四端口;
81.所述控制单元的输出端口与第一级逻辑单元的第三端口相连,相邻级逻辑单元中前一级逻辑单元的第四端口与后一级逻辑单元的第三端口相连。
82.需要说明的是,每一级逻辑单元接收的数据可以包括上一级传递的原始待处理数据和/或上一级的数据处理结果,原始待处理数据可以理解为由控制单元下发的待处理数据。每一级逻辑单元的待处理数据也包括上一级传递的原始待处理数据和/或上一级的数据处理结果。也就是说每一级逻辑单元可以只处理控制单元下发的原始待处理数据,或者只处理上一级数据处理结果,或者二者同时处理,数据处理对象可以灵活设定。
83.也就是说,输入的第三端口和输出的第四端口可以直接相连,或者不相连,逻辑单元利用存储单元和计算单元对数据进行逻辑控制,实现本级的数据处理和相邻级的数据传递。
84.这里,第一连接端为顶端,第二连接端为底端,逻辑单元的顶端包括第一馈通端口和第三端口,逻辑单元的底端包括第二馈通端口和第四端口。
85.在一些实施例中,所述装置还包括m级计算单元和m级存储单元;所述m级逻辑单元中的每一级逻辑单元在分别连接一个计算单元和一个存储单元。
86.具体地,所述m级逻辑单元中每一级逻辑单元在第二方向上分别连接一个计算单元和一个存储单元。
87.这里,每一级的计算单元、逻辑单元和存储单元可以组成一个处理模块,用于实现每一级待处理数据的处理、存储和传递。
88.在一些实施例中,所述m级计算单元中的任一个计算单元包括:加法计算单元和/或乘法计算单元。
89.对于实现卷积处理的数据处理单元,m级计算单元包括加法计算单元和乘法计算单元,通过对矩阵元素进行乘法和加法运算来实现矩阵运算。
90.每一级计算单元的计算能力相同和/或结构布置相同。每一级存储单元的属性信息可以相同。属性信息包括以下至少之一:尺寸、类型、存储大小、一次能够读取的数据大小、结构等。
91.在一些实施例中,所述m级存储单元包括以下之一或组合:寄存器、至少两个寄存器组成的寄存器组、随机存取存储器(random-access memory,ram)、只读存储器(read-only memory,rom)、高速缓存存储器(cache)、快闪存储器(flash memory)、以及双倍速率同步动态随机存储器(double data rate synchronous dynamic random access memory,ddr)。
92.具体地,所述控制单元,用于获取待处理数据,并将所述待处理数据传输至所述m级逻辑单元;
93.第i级存储单元,用于存储第i级待处理数据;i取小于或者等于m的正整数;
94.第i级逻辑单元,用于从第i级存储单元中获取第i级待处理数据,并发送给第i级计算单元;
95.第i级计算单元,用于对所述第i级待处理数据进行计算处理,得到第i级数据处理结果,并发送给第i级逻辑单元;
96.i小于m时,第i级逻辑单元,还用于将第i级数据处理结果传输至第i+1级逻辑单元;
97.i等于m时,第m级逻辑单元,还用于将第m级数据处理结果传输至所述控制单元。
98.在一些实施例,每一级计算单元和存储单元在所述第二方向上分别位于逻辑单元的两侧;所述第一方向和所述第二方向相互垂直。
99.也就是说,若m级逻辑单元沿纵向排列,则每一级逻辑单元、计算单元和存储单元沿横向排列。
100.图7为本技术实施例中数据处理装置的第四结构示意图,如图7所示,数据处理装置中可以包括控制模块(也可以称为控制单元)和m级处理模块,m可以是大于1的整数,例
如,图7中m的值可以是4、8或16等。m级处理模块中的每一级处理模块均包括计算单元、逻辑单元和存储单元。每一级处理单元的计算单元和逻辑单元之间可以互相通信,每一级处理单元的逻辑单元和存储单元之间可以互相通信。每一级逻辑单元中内部设置了贯穿通路。贯穿通路包括输入端口和输出端口,输入端口和输出端口直连。在每一级逻辑单元中设置贯穿通道,从而原本放置在图2中沟道内的走线放入逻辑单元中。通过这种方式,不需要在m级逻辑单元和m级计算单元之间以及逻辑单元的底部预留走线沟道,从而能够减少数据处理装置的尺寸。
101.然而,技术人员发现随着加乘矩阵从4
×4×
4增加到8
×8×
8或16
×
16
×
16甚至更多,也可以说,随着处理模块的级数从4级增加到8级或者16级,最后一级的逻辑单元向控制模块发送特征图数据的时序难以满足,例如,不能在一个时钟周期或者至少两个时钟周期内完成数据的传输。
102.采用上述技术方案,第m级逻辑单元通过在逻辑单元内部形成的传输通道向控制单元传输数据,无需设置多余的沟道区域,从而减少了处理装置尺寸,且这种传输通道的长度小于现有沟道长度,能否减少路径时延,降低数据处理装置功耗。
103.基于与上述数据处理装置同样的发明构思,本技术实施例还提供了一种配置数据处理装置的方法,图8为本技术实施例提供的一种配置数据处理装置的方法的流程示意图,如图8所示,该方法包括:
104.步骤801:设置控制单元;
105.步骤802:层叠设置m级逻辑单元,m是大于1的整数,并且将所述m级逻辑单元中的第一级逻辑单元与所述控制单元相连;以及
106.步骤803:在每一级逻辑单元内部中设置贯穿通道,以实现第m级逻辑单元往所述控制单元的数据传输的传输通道。
107.在一些实施例中,该方法包括:在所述第一级逻辑单元至第m-1级逻辑单元的面向所述控制单元一侧和背对所述控制单元的一侧分别设置馈通端口,并且在所述第m级逻辑单元在面向所述控制单元的一侧设置馈通端口,以便所述贯穿通道经由多个馈通端口来形成所述传输通道。
108.这里,传输通道可以理解为馈通(feedthrough)路径。馈通路径可以通过设置feedthrough端口(即馈通端口)的方式来实现,feedthrough端口包括面向控制单元一侧的馈通端口和背对控制单元一侧的馈通端口,两个馈通端口直连形成贯穿通道。在每一级逻辑单元中设置贯穿通道,贯穿通道连通后形成传输通道,从而将沟道内走线放入逻辑单元中。通过这种方式,不需要在m级逻辑单元和m级计算单元之间以及逻辑单元的底部预留走线沟道,从而能够减少数据处理装置的尺寸。
109.具体地,在所述控制单元的第一连接端设置有输入端口,所述逻辑单元的第一连接端(即面向控制单元的一端)设置有贯穿通道的第一馈通端口,第二连接端(即背对控制单元的一端)设置有贯穿通道的第二馈通端口;所述控制单元的输入端口与第一级逻辑单元的第一馈通端口相连,相邻级逻辑单元中前一级逻辑单元的第一馈通端口与后一级逻辑单元的第二馈通端口相连。
110.进一步地,该方法还包括:在所述传输通道内布置传输走线,所述传输走线连接所述第m级逻辑单元和所述控制单元,以实现第m级逻辑单元往所述控制单元的数据传输。
111.也就是说,传输通道作为最后一级逻辑单元向控制单元传输数据的通道,传输通道内包括布置在其中的传输走线,用来实现数据传输。通过将传输通道设置在逻辑单元内部,无需在逻辑单元外部设置沟道区域,节省出沟道区域的占用面积,进而能够缩小数据处理装置的尺寸。
112.在一些实施例中,所述装置还包括m级计算单元和m级存储单元,所述m级逻辑单元中的每一级逻辑单元在分别连接一个计算单元和一个存储单元。
113.在一些实施例中,所述m级计算单元中的任一个计算单元包括:加法计算单元和/或乘法计算单元。
114.在一些实施例中,所述m级存储单元包括以下之一或组合:寄存器、至少两个寄存器组成的寄存器组、随机存取存储器ram、只读存储器rom、高速缓存存储器cache、快闪存储器、以及双倍速率同步动态随机存储器ddr。
115.在一些实施例中,所述控制单元,用于获取待处理数据,并将所述待处理数据传输至所述m级逻辑单元;
116.第i级存储单元,用于存储第i级待处理数据;
117.第i级逻辑单元,用于从第i级存储单元中获取第i级待处理数据,并发送给第i级计算单元;
118.第i级计算单元,用于对所述第i级待处理数据进行计算处理,得到第i级数据处理结果,并发送给第i级逻辑单元;
119.i小于m时,第i级逻辑单元,还用于将第i级数据处理结果传输至第i+1级逻辑单元;
120.i等于m时,第m级逻辑单元,还用于将第m级数据处理结果传输至所述控制单元。
121.采用上述技术方案,第m级逻辑单元通过在逻辑单元内部形成的传输通道向控制单元传输数据,无需设置多余的沟道区域,从而减少了处理装置尺寸,且这种传输通道的长度小于现有沟道长度,能否减少路径时延,降低数据处理装置功耗。
122.基于与上述数据处理装置同样的发明构思,本技术实施例还提供了一种神经网络处理器,图9为本技术实施例中神经网络处理器的组成结构示意图,该神经网络处理器900包括本技术实施例中任一项数据处理装置901。
123.该处理器能够实现矩阵的乘法和/或加法运算,优选地,该处理器可以为神经网络处理器(neural network processing unit,npu),用于实现神经网络算法中的卷积操作。采用本技术提供的数据处理装置的结构能够减少沟道面积的占用,缩短传输通道的同时,减少了buffer数量,有利于时序收敛,有效降低npu的功耗。
124.在实际应用中,上述处理器还可以为特定用途集成电路(asic,application specific integrated circuit)、数字信号处理装置(dspd,digital signal processing device)、可编程逻辑装置(pld,programmable logic device)、现场可编程门阵列(field-programmable gate array,fpga)、控制器、微控制器、微处理器中的至少一种。可以理解地,对于不同的设备,用于实现上述处理器功能的电子器件还可以为其它,本技术实施例不作具体限定。
125.本技术实施例还提供了一种芯片,图10为本技术实施例中芯片的组成结构示意图,该芯片1000包括实现本技术任一种神经网络处理器1010。
126.可选地,如图10所示,芯片1000还可以包括存储器1020。其中,神经网络处理器1010可以从存储器1020中调用并运行计算机程序,以实现本技术实施例中的方法。
127.其中,存储器1020可以是独立于神经网络处理器1010的一个单独的器件,也可以集成在神经网络处理器1010中。
128.上述存储器可以是易失性存储器(volatile memory),例如随机存取存储器(ram,random-access memory);或者非易失性存储器(non-volatile memory),例如只读存储器(rom,read-only memory),快闪存储器(flash memory),硬盘(hdd,hard disk drive)或固态硬盘(ssd,solid-state drive);或者上述种类的存储器的组合,并向处理器提供指令和数据。
129.可选地,该芯片1000还可以包括输入接口1030。其中,神经网络处理器1010可以控制该输入接口1030与其他设备或芯片进行通信,具体地,可以获取其他设备或芯片发送的信息或数据。
130.可选地,该芯片1000还可以包括输出接口1040。其中,神经网络处理器1010可以控制该输出接口1040与其他设备或芯片进行通信,具体地,可以向其他设备或芯片输出信息或数据。
131.可选地,该芯片可应用于本技术实施例中的电子设备,并且该芯片可以实现本技术实施例的各个方法中由电子设备实现的相应流程,为了简洁,在此不再赘述。
132.应理解,本技术实施例提到的芯片还可以称为系统级芯片,系统芯片,芯片系统或片上系统芯片等。
133.本技术实施例还提供了一种电子设备,图11为本技术实施例中电子设备的组成结构示意图,该电子设备1100包括本技术实施例中任一种芯片1110。
134.电子设备可以包括:服务器、手机、平板电脑、笔记本电脑、掌上电脑、个人数字助理、便捷式媒体播放器、智能音箱、导航装置、显示设备、智能手表等可穿戴设备、虚拟现实(virtual reality,vr)设备、增强现实(augmented reality,ar)设备、计步器、数字tv、台式计算机、智能驾驶中的设备、无线保真(wireless-fidelity,wi-fi)的接入点、演进基站、下一代通信的基站,如5g的基站、小站、微站或传输接收点(transmission reception point,trp),还可以是中继站、接入点或车载设备等任一能够对数据作卷积处理的设备。
135.应当理解,在本技术使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本技术。在本技术和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。本技术中表述“具有”、“可以具有”、“包括”和“包含”、或者“可以包括”和“可以包含”在本文中可以用于指示存在对应的特征(例如,诸如数值、功能、操作或组件等元素),但不排除附加特征的存在。
136.应当理解,尽管在本技术可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开,不必用于描述特定的顺序或先后次序。例如,在不脱离本发明范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。
137.本技术实施例所记载的技术方案之间,在不冲突的情况下,可以任意组合。
138.在本技术所提供的几个实施例中,应该理解到,所揭露的方法、装置和设备,可以
通过其它的方式实现。以上所描述的实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
139.上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
140.另外,在本技术各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
141.以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1