具有神经存储器与神经处理单元与定序器的神经网络单元制造技术

技术编号:15330593 阅读:115 留言:0更新日期:2017-05-16 14:01
N个处理单元构成的阵列。各个处理单元包括累加器、算术单元、权重输入与多任务缓存器。算术单元对第一、第二与第三输入执行运算产生结果储存至累加器。第一输入接收累加器输出。第二输入接收权重输入。多任务缓存器具有第一与第二数据输入、输出与控制输入。此输出由第三输入与相邻处理单元多任务缓存器的第二数据输入接收。控制输入选定第二数据输入时,多任务缓存器如同一N文字旋转器运作。第一/第二存储器分别装载W列/D列的N个权重/数据文字并其提供至相对应权重输入/多任务缓存器第一数据输入。定序器控制多任务器与存储器。

Neural network unit with neural memory and neural processing unit array and sequencer

An array of N processing units. Each processing unit includes an accumulator, an arithmetic unit, a weight input, and a multi task register. The arithmetic unit executes the operation of the first, second and third inputs, and stores the results to the accumulator. The first input sink accumulator outputs. Second input receive weight input. The multitasking buffer has first and second data inputs, outputs, and control inputs. This output is received by the third input and the second data input of the adjacent processing unit multi task register. When the control input selects the second data input, the multitasking buffer operates like a N word rotator. The first / second memory respectively loads the N weight of the W column /D column / data text and provides the first data input to the corresponding weight input / multitasking buffer. Sequencer controls multitasking and memory.

【技术实现步骤摘要】
具有神经存储器与神经处理单元阵列与定序器的神经网络单元
本专利技术涉及一种处理器,特别涉及一种提升人工神经网络的运算效能与效率的处理器。本申请案主张下列的美国临时申请案的国际优先权。这些优先权案的全文并入本案以供参考。本申请案关联于下列同时提出申请的美国申请案。这些关联申请案的全文并入本案以供参考。
技术介绍
近年来,人工神经网络(artificialneuralnetworks,ANN)重新吸引了人们的注意。这些研究通常被称为深度学习(deeplearning)、计算机学习(computerlearning)等类似术语。通用处理器运算能力的提升也推升了人们在数十年后的现在对于人工神经网络的兴趣。人工神经网络近期的应用包括语言与影像辨识等。对于提升人工神经网络的运算效能与效率的需求似乎正在增加。
技术实现思路
有鉴于此,本专利技术提供一种装置。此装置包括一个由N个处理单元(PU)构成的阵列,一第一存储器,一第二存储器与一定序器。各个处理单元包括一累加器,一算术单元,一权重输入与一多任务缓存器。累加器具有一输出。算术单元具有第一,第二与第三输入,算术单元并对其执行一运算以产生一结果储存于累加器。此第一输入接收累加器的输出。权重输入由第二输入接收至算术单元。多任务缓存器具有第一与第二数据输入、一输出与一控制输入,此输出由第三输入接收至算术单元,控制输入控制对于第一与第二数据输入的选择。其中,多任务缓存器的输出并由一相邻处理单元的多任务缓存器的第二数据输入所接收,当控制输入选定第二数据输入时,N个处理单元的多个多任务缓存器集体运作如同一N个文字的旋转器。第一存储器装载W列的N个权重文字,并将W列的其中一列的N个权重文字提供至处理单元阵列的N个处理单元的相对应的权重输入。此第一存储器并具有一第一地址输入以指定W列中的一列。第二存储器装载D列的N个数据文字,并将D列的其中一列的N个数据文字提供至处理单元阵列的N个处理单元的多任务缓存器的相对应的第一数据输入。第二存储器并具有一第二地址输入以指定D列中的一列。定序器产生一控制信号提供至N个处理单元的多任务缓存器的控制输入,并且产生第一与第二地址分别提供至第一与第二地址输入。本专利技术还提供一种运作一装置的方法。此装置具有一个由N个处理单元构成的阵列,一第一存储器,一第二存储器与一定序器。第一存储器装载W列的N个权重文字并具有一第一地址输入以指定W列中的一列,因此,第一存储器并将W列的其中一列的N个权重文字提供至处理单元阵列的N个处理单元的相对应的权重输入。第二存储器装载D列的N个数据文字并具有一第二地址输入以指定D列中的一列,因此,第二存储器并将D列的其中一列的N个数据文字提供至处理单元阵列的N个处理单元的多任务缓存器的相对应的第一数据输入。各个N个处理单元具有一累加器,一算术单元,一权重输入与一多任务缓存器。其中,累加器具有一输出。算术单元具有第一,第二与第三输入并对其执行一运算以产生一结果储存于累加器。第一输入接收累加器的输出。权重输入由第二输入接收至算术单元。多任务缓存器具有第一与第二数据输入、一输出与一控制输入。此输出由第三输入接收至算术单元。控制输入控制对于第一与第二数据输入的选择。多任务缓存器的输出并由一相邻处理单元的该多任务缓存器的第二数据输入所接收。定序器产生一控制信号提供至N个处理单元的多任务缓存器的控制输入,并且产生第一与第二地址分别提供至第一与第二地址输入。此方法包括:一开始,利用定序器:产生第二地址以指定D列中的一列;产生控制信号以选择N个处理单元的多任务缓存器的第一数据输入;以及产生第一地址以指定W列中的一开始列;随后,对于开始列后续W列中的M列的每一列,利用定序器:产生控制信号以选择N个处理单元的多任务缓存器的第二数据输入,而使N个处理单元的多任务缓存器集体运作如同一N个文字的旋转器;以及产生第一地址以指定M列中的列,M是一个正整数。本专利技术还提供一种编码于至少一非瞬时计算机可使用媒体以供一计算机装置使用的一计算机程序产品。此计算机程序产品包括内含于该媒体的计算机可使用程序代码,用以描述一装置。此计算机可使用程序代码包括第一程序代码,第二程序代码,第三程序代码与第四程序代码。第一程序代码用以描述一个由N个处理单元(PU)构成的阵列,各个处理单元包括一累加器,一算术单元,一权重输入与一多任务缓存器。累加器具有一输出。算术单元具有第一,第二与第三输入,算术单元并对其执行一运算以产生一结果储存于累加器。第一输入接收累加器的输出。权重输入由第二输入接收至算术单元。多任务缓存器具有第一与第二数据输入、一输出与一控制输入,此输出由第三输入接收至算术单元,控制输入控制对于第一与第二数据输入的选择。其中,多任务缓存器的输出并由一相邻处理单元的多任务缓存器的第二数据输入所接收,当控制输入选定第二数据输入时,N个处理单元的多任务缓存器集体运作如同一N个文字的旋转器。第二程序代码用以描述一第一存储器,此第一存储器装载W列的N个权重文字,并将W列的其中一列的N个权重文字提供至处理单元阵列的N个处理单元的相对应的权重输入。第一存储器并具有一第一地址输入以指定W列中的一列。第三程序代码用以描述一第二存储器,此第二存储器装载D列的N个数据文字,并将D列的其中一列的N个数据文字提供至处理单元阵列的N个处理单元的多任务缓存器的相对应的第一数据输入。第二存储器并具有一第二地址输入以指定D列中的一列。第四程序代码用以描述一定序器,此定序器产生一控制信号提供至N个处理单元的多任务缓存器的控制输入,并且产生第一与第二地址分别提供至第一与第二地址输入。本专利技术所采用的具体实施例,将通过以下的实施例及图式作进一步的说明。附图说明图1为显示包含神经网络单元(neuralnetworkunit,NNU)的处理器的方块示意图。图2为显示图1的神经处理单元(neuralprocessingunit,NPU)的方块示意图。图3为方块图,显示利用图1的神经网络单元的N个神经处理单元的N个多任务缓存器,对于由图1的数据随机存取存储器取得的一列数据文字执行如同N个文字的旋转器(rotator)或称循环移位器(circularshifter)的运作。图4为表格,显示一个储存于图1的神经网络单元的程序存储器并由该神经网络单元执行的程序。图5为显示神经网络单元执行图4的程序的时序图。图6A为显示图1的神经网络单元执行图4的程序的方块示意图。图6B为流程图,显示图1的处理器执行架构程序,以利用神经网络单元执行关联于人工神经网络的隐藏层的神经元的典型乘法累加启动函数运算的运作,如同由图4的程序执行的运作。图7为显示图1的神经处理单元的另一实施例的方块示意图。图8为显示图1的神经处理单元的又一实施例的方块示意图。图9为表格,显示一个储存于图1的神经网络单元的程序存储器并由该神经网络单元执行的程序。图10为显示神经网络单元执行图9的程序的时序图。图11为显示图1的神经网络单元的一实施例的方块示意图。在图11的实施例中,一个神经元分成两部分,即启动函数单元部分与算术逻辑单元部分(此部分还包含移位缓存器部分),而各个启动函数单元部分由多个算术逻辑单元部分共享。图12为显示图11的神经网络单元执行图4的程序的时序图。图13本文档来自技高网...
<a href="http://www.xjishu.com/zhuanli/55/201610866130.html" title="具有神经存储器与神经处理单元与定序器的神经网络单元原文来自X技术">具有神经存储器与神经处理单元与定序器的神经网络单元</a>

【技术保护点】
一种装置,其特征在于,包括:一个由N个处理单元(PU)构成的阵列,各该处理单元包括:一累加器,具有一输出;一算术单元,具有第一,第二与第三输入,并对其执行一运算以产生一结果储存于该累加器,该第一输入接收该累加器的该输出;一权重输入,由该第二输入接收至该算术单元;以及一多任务缓存器,具有第一与第二数据输入、一输出与一控制输入,该输出由该第三输入接收至该算术单元,该控制输入控制对于该第一与第二数据输入的选择;其中,该多任务缓存器的该输出并由一相邻处理单元的该多任务缓存器的该第二数据输入所接收,当该控制输入选定该第二数据输入时,该N个处理单元的该些多任务缓存器集体运作如同一N个文字的旋转器;一第一存储器,装载W列的N个权重文字,并将该W列的其中一列的该N个权重文字提供至该处理单元阵列的该N个处理单元的相对应的该权重输入,该第一存储器并具有一第一地址输入以指定该W列中的一列;一第二存储器,装载D列的N个数据文字,并将该D列的其中一列的该N个数据文字提供至该处理单元阵列的该N个处理单元的该多任务缓存器的相对应的该第一数据输入,该第二存储器并具有一第二地址输入以指定该D列中的一列;以及一定序器,产生一控制信号提供至该N个处理单元的该多任务缓存器的该控制输入,并且产生第一与第二地址分别提供至该第一与该第二地址输入。...

【技术特征摘要】
2015.10.08 US 62/239,254;2015.12.02 US 62/262,104;1.一种装置,其特征在于,包括:一个由N个处理单元(PU)构成的阵列,各该处理单元包括:一累加器,具有一输出;一算术单元,具有第一,第二与第三输入,并对其执行一运算以产生一结果储存于该累加器,该第一输入接收该累加器的该输出;一权重输入,由该第二输入接收至该算术单元;以及一多任务缓存器,具有第一与第二数据输入、一输出与一控制输入,该输出由该第三输入接收至该算术单元,该控制输入控制对于该第一与第二数据输入的选择;其中,该多任务缓存器的该输出并由一相邻处理单元的该多任务缓存器的该第二数据输入所接收,当该控制输入选定该第二数据输入时,该N个处理单元的该些多任务缓存器集体运作如同一N个文字的旋转器;一第一存储器,装载W列的N个权重文字,并将该W列的其中一列的该N个权重文字提供至该处理单元阵列的该N个处理单元的相对应的该权重输入,该第一存储器并具有一第一地址输入以指定该W列中的一列;一第二存储器,装载D列的N个数据文字,并将该D列的其中一列的该N个数据文字提供至该处理单元阵列的该N个处理单元的该多任务缓存器的相对应的该第一数据输入,该第二存储器并具有一第二地址输入以指定该D列中的一列;以及一定序器,产生一控制信号提供至该N个处理单元的该多任务缓存器的该控制输入,并且产生第一与第二地址分别提供至该第一与该第二地址输入。2.根据权利要求1所述的装置,其特征在于:一开始,该定序器会:产生该第二地址以指定该D列中的一列;产生该控制信号以选择该N个处理单元的该多任务缓存器的该第一数据输入;以及产生该第一地址以指定该W列中的一开始列;以及随后,对于该开始列后续该W列中的M列的每一列,该定序器会:产生该控制信号以选择该N个处理单元的该多任务缓存器的第二数据输入,而使该N个处理单元的该些多任务缓存器集体运作如同一N个文字的旋转器;以及产生该第一地址以指定该M列中的该列,M是一个正整数。3.根据权利要求2所述的装置,其特征在于,对于该开始列与该M列中的每一列,该算术单元将该第二输入与该第三输入相乘以产生一乘积,并将该乘积与该第一输入相加以产生该结果储存至该累加器。4.根据权利要求1所述的装置,其特征在于,各该处理单元并具有一启动函数单元(AFU),该启动函数单元接收该累加器的该输出并对其执行一启动函数以产生一第二结果,该第二结果的位宽度相同于各该N个数据文字。5.根据权利要求4所述的装置,其特征在于,该定序器产生该第二地址以指定该第二存储器的一列,该N个处理单元将其第二结果写入该第二地址指定的该第二存储器的该列的该N个数据文字中的相对应文字。6.根据权利要求1所述的装置,其特征在于,对于J个时钟周期中的每一个时钟周期,该定序器产生该第二地址以指定该第二存储器的一不同列,该N个处理单元将该累加器的J个文字中的不同文字写入该第二地址指定的该第二存储器的该列的该N个数据文字中的相对应文字,J至少是2。7.根据权利要求1所述的装置,其特征在于,该N个处理单元分成L个群组,各该群组具有J个处理单元,该装置还包括L个启动函数单元(AFU),各该启动函数单元由该L个群组中一相对应群组的该J个处理单元所共享,该L个启动函数单元中的各该启动函数单元接收该相对应群组的该J个处理单元中动态选择的一个处理单元的该累加器的该输出,并对其执行一启动函数以产生一第二结果,该第二结果的位宽度相同于该N个数据文字中的每一个数据文字。8.根据权利要求7所述的装置,其特征在于,还包括:一缓冲器,装载对应于该N个处理单元的N个文字,该缓冲器的该N个文字接收该L个启动函数单元所产生的该第二结果,以因应各该启动函数单元对接收自该相对应N个处理单元的该累加器的该输出执行该启动函数。9.根据权利要求8所述的装置,其特征在于,该缓冲器接收该N个第二结果后,该定序器产生该第二地址以指定该第二存储器的一列供该缓冲器写入该N个第二结果。10.根据权利要求7所述的装置,其特征在于,对于J个时钟周期中的各个时钟周期以及该L个勤组中的各个群组:该定序器选择该群组的该J个处理单元的其中之一,以将其累加器的该输出提供至该L个启动函数单元中的该相对应启动函数单元以产生该第二结果。11.根据权利要求1所述的装置,其特征在于,还包括:一存储器,可利用可由该定序器执行的指令予以程序化。12.根据权利要求1所述的装置,其特征在于,在该算术单元储存该结果的一第一范例于该累加器前,该定序器将该N个处理单元的该累加器清除为零。13.一种运作一装置的方法,其特征在于,该装置具有一个由N个处理单元(PU)构成的阵列,一第一存储器与一第二存储器,该第一存储器装载W列的N个权重文字并具有一第一地址输入以指定该W列中的一列,因此,该第一存储器并将该W列的其中一列的该N个权重文字提供至该处理单元阵列的该N个处理单元的相对应的该权重输入,该第二存储器装载D列的N个数据文字并具有一第二地址输入以指定该D列中的一列,因此,该第二存储器并将该D列的其中一列的该N个数据文字提供至该处理单元阵列的该N个处理单元的该多任务缓存器的相对应的该第一数据输入;以及一定序器,各该N个处理单元具有一累加器,一算术单元,一权重输入与一多任务缓存器,其...

【专利技术属性】
技术研发人员:G·葛兰·亨利泰瑞·派克斯
申请(专利权)人:上海兆芯集成电路有限公司
类型:发明
国别省市:上海,31

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

1