1.一种用于执行深度学习的处理器,该处理器包括:
控制器;
包括多个处理元件的处理元件阵列,其中:i)所述多个处理元件包括多个第一处理元件;ii)所述多个处理元件以多行和多列的矩阵排列;iii)处理元件阵列的第一行包括所述多个第一处理元件;iv)处理元件阵列的第二行包括多个第二处理元件;以及v)所述多个第一处理元件包括随后是第二处理元件的第一处理元件;
第一数据输入接口,被连接到所述多个第一处理元件中的每个处理元件,其中第一数据输入接口被配置为将过滤器数据输入到所述多个第一处理元件;
第二数据输入接口,被连接到处理元件阵列中的每个处理元件,其中第二数据输入接口被配置为将目标数据输入到处理元件阵列;以及
包括多个寄存器的移位器,其中:i)所述多个寄存器中的第一寄存器被连接到第一行;ii)所述多个寄存器中的第二寄存器被连接到第二行;以及iii)移位器被配置为将多个处理指令输入到处理元件阵列,其中,所述多个处理指令包括第一处理指令。
2.根据权利要求1所述的处理器,其中,对于第一周期,控制器进一步被配置为:
控制第一数据输入接口以将过滤器数据的第一元件输入到所述多个第一处理元件中的每个;
控制第二数据输入接口以:
将目标数据的第一目标字输入到所述多个第一处理元件中的第一处理元件,以及
将目标数据的第二目标字输入到所述多个第一处理元件中的第二处理元件;以及
控制处理元件阵列以:
基于所述第一元件、第一目标字和第一处理指令形成第一结果,以及
基于所述第一元件、第二目标字和第一处理指令形成第二结果。
3.根据权利要求2所述的处理器,其中,对于在第一周期之后的第二周期,控制器进一步被配置为:
控制处理元件阵列以将过滤器数据的第一元件移位到所述多个第二处理元件中;
控制第一数据输入接口以将过滤器数据的第二元件输入到多个第一处理元件中的每个;以及
基于第二处理指令,控制处理元件阵列以处理第二元件和目标数据。
4.根据权利要求2所述的处理器,其中,对于在第一周期之后的第二周期,控制器进一步被配置为:
控制处理元件阵列以将过滤器数据的第一元件移位到所述多个第二处理元件中,其中矩阵的第二行包括所述多个第二处理元件;
控制第二数据输入接口以将目标数据的第三目标字输入到所述多个第二处理元件的第一处理元件;以及
基于第一处理指令,控制处理元件阵列以处理第一元件和第三目标字。
5.根据权利要求4所述的处理器,其中,控制器进一步被配置为,对于第一周期控制移位器以:
将第一处理指令输入到所述多个第一处理元件,以及
将第一处理指令从第一寄存器移位到第二寄存器;以及
对于第二个周期控制移位器以:
将第一处理指令从第二寄存器输入到所述多个第二处理元件中的每个,
将第二处理指令从第一寄存器输入到所述多个第一处理元件中的每个,
将第一处理指令从第二寄存器移位到与处理元件阵列的第三行相关联的第三寄存器,以及
将第二处理指令从第一寄存器移位到第二寄存器。
6.根据权利要求2所述的处理器,其中,控制器进一步被配置为:
控制所述多个第一处理元件的第一处理元件以:
将第一结果传送到所述多个第一处理元件的第二处理元件,其中,所述多个第一处理元件的第二处理元件与所述多个第一处理元件的第一处理元件相邻;以及
控制第二处理元件以将第一结果与先前在第二处理元件中被处理的其他数据进行累积。
7.根据权利要求1所述的处理器,其中第二数据输入接口通过数据路径到外部存储器是可连接的,其中数据路径的数量是列的数量。
8.根据权利要求1所述的处理器,进一步包括:
处理指令寄存器文件;以及
被连接在处理指令寄存器文件和移位器之间的多路复用器,
其中,控制器进一步被配置为控制多路复用器,以将从处理指令寄存器文件中获得的第一处理指令集提供给移位器,并且其中,第一处理指令集包括第一处理指令。
9.如权利要求8所述的处理器,进一步包括:
处理元件指令存储器,被配置为存储第一处理指令集,
其中,控制器进一步被配置为控制移位器以:
向下移动第一个处理指令集以在第一个寄存器中腾出空间,
将附加的处理指令从处理元件指令存储器中输入到与第一行相关联的处理指令寄存器文件中的位置,以及
将附加处理指令和第一处理指令集中的第二附加处理指令输入到处理元件阵列的多个行。
10.根据权利要求9所述的处理器,其中,控制器进一步被配置为:
控制处理指令寄存器文件,以将用于针对第一处理指令集的池化操作的第二处理指令集从处理元件指令存储器输入到处理指令寄存器文件中,以及
控制移位器以输入第二处理指令集。
11.一种执行深度学习的处理器的控制方法,其中,处理器包括控制器、以具有多行和多列的矩阵形式的处理元件阵列、第一数据输入接口、第二数据输入接口、以及移位器,该方法包括:
通过移位器将第一处理指令输入到处理元件阵列的第一行的多个第一处理元件,通过第一数据输入接口将过滤器数据输入到所述多个第一处理元件,以及通过第二数据输入接口将第一目标数据输入到所述多个第一处理元件;以及
由处理元件阵列基于第一处理指令处理过滤器数据和第一目标数据。
12.根据权利要求11所述的控制方法,其中,在第一周期中,处理进一步包括:
将来自过滤器数据的第一元件输入到所述多个第一处理元件中的每个;
将第一目标数据输入到所述多个第一处理元件中的每个;以及
由处理元件阵列基于第一处理指令处理第一元件和第一目标数据。
13.根据权利要求12所述的控制方法,其中,在第一周期之后的第二周期中,处理进一步包括:
通过移位器将第二处理指令输入到处理元件阵列的第二行的多个第二处理元件;
将第一元件移位到处理元件阵列的第二行中包括的所述多个第二处理元件中;
将来自过滤器数据的第二元件输入到所述多个第一处理元件中的每个;以及
基于第二处理指处理第二元件和第一目标数据。
14.根据权利要求12所述的控制方法,其中,在第一周期之后的第二周期中,处理进一步包括:
将第一元件移位到处理元件阵列的第二行的所述多个第二处理元件;
将第二目标数据输入到所述多个第二处理元件中的每个;以及
基于第一处理指令处理第一元件和第二目标数据。
15.根据权利要求14所述的控制方法,其中,处理进一步包括:
在第一周期中,将第一处理指令输入到所述多个第一处理元件中的每个,并将第一处理指令从与第一行对应的第一寄存器移位到与第二行对应的第二寄存器,以及
在第二周期中,将第一处理指令输入到所述多个第二处理元件中的每个,将第二处理指令输入到所述多个第一处理元件中的每个,将第一处理指令从第二寄存器移位到与处理元件阵列的第三行对应的第三寄存器,并且将第二处理指令从第一寄存器移位到第二寄存器。