具有架构神经网络执行单元的处理器制造技术

技术编号:14766283 阅读:96 留言:0更新日期:2017-03-08 10:44
一种处理器,包括一个将指令集架构的指令从存储器攫取至处理器的指令攫取单元与多个对指令的操作数执行运算以产生结果的执行单元。这些执行单元包括一个神经网络单元,其包括一算术逻辑单元阵列、一第一存储器、一第二存储器与多个启动函数单元。第一存储器装载关联于神经元输出的数据文字。第二存储器装载关联于神经元间连结的权重文字。算术逻辑单元将部分数据文字与部分权重文字相乘并将这些乘积累加。启动函数单元对累加值执行标准化运算以产生输出。指令集架构包括至少一指令指示处理器将数据文字与权重文字写入相对应的存储器。

【技术实现步骤摘要】

本专利技术涉及一种处理器,特别涉及一种提升人工神经网络的运算效能与效率的处理器。本申请案主张下列的美国临时申请案的国际优先权。这些优先权案的全文并入本案以供参考。本申请案关联于下列同时提出申请的美国申请案。这些关联申请案的全文并入本案以供参考。
技术介绍
近年来,人工神经网络(artificialneuralnetworks,ANN)重新吸引了人们的注意。这些研究通常被称为深度学习(deeplearning)、计算机学习(computerlearning)等类似术语。通用处理器运算能力的提升也推升了人们在数十年后的现在对于人工神经网络的兴趣。人工神经网络近期的应用包括语言与影像辨识等。对于提升人工神经网络的运算效能与效率的需求似乎正在增加。
技术实现思路
有鉴于此,本专利技术提供一种装置,包括一个由N个处理单元构成的阵列、一第一存储器与一第二存储器。N个处理单元构成的阵列中的各个处理单元包括一个累加器(accumulator)、一个算术单元、一权重输入与一个多任务缓存器。累加器具有一输出。算术单元具有第一、第二与第三输入,并执行运算以产生一结果储存至累加器,前述第一输入接收累加器的输出。权重输入由前述第二输入接收至算术单元。多任务缓存器具有第一与第二数据输入、一输出与一控制输入,多任务缓存器的输出由前述第三输入接收至算术单元,控制输入控制对于第一与第二数据输入的选择。其中,多任务缓存器的输出还由一相邻处理单元的多任务缓存器的第二数据输入所接收,当控制输入选定第二数据输入时,N个处理单元的多任务缓存器共同运作如同一N个文字的旋转器。第一存储器装载W列的N个权重文字,并将W列的其中一列的N个权重文字提供至处理单元阵列的N个处理单元的相对应权重输入。第二存储器装载D列的N个数据文字,并将D列的其中一列的N个数据文字提供至处理单元阵列的N个处理单元的多任务缓存器的相对应第一数据输入。本专利技术还提供一种处理器。此处理器包括一指令集、一个由N个处理单元构成的阵列,一第一存储器与一第二存储器。指令集具有架构指令以指示处理器运作。由N个处理单元构成的阵列中的各个处理单元包括一个累加器、一个算术单元、一权重输入与一个多任务缓存器。累加器具有一输出。算术单元具有第一、第二与第三输入,并执行运算以产生一结果储存至累加器,前述第一输入接收累加器的输出。权重输入由前述第二输入接收至算术单元。多任务缓存器具有第一与第二数据输入、一输出与一控制输入,多任务缓存器的输出由前述第三输入接收至算术单元,控制输入控制对于第一与第二数据输入的选择。其中,多任务缓存器的输出还由一相邻处理单元的多任务缓存器的第二数据输入所接收,当控制输入选定第二数据输入时,N个处理单元的多任务缓存器共同运作如同一N个文字的旋转器。第一存储器装载W列的N个权重文字,并将W列的其中一列的N个权重文字提供至处理单元阵列的N个处理单元的相对应权重输入。第二存储器装载D列的N个数据文字,并将D列的其中一列的N个数据文字提供至处理单元阵列的N个处理单元的多任务缓存器的相对应第一数据输入。本专利技术还提供一种编码于至少一非瞬时计算机可使用媒体以供一计算机装置使用的一计算机程序产品。此计算机程序产品包括内含于该媒体的计算机可使用程序代码,此计算机可使用程序代码包括第一程序代码、第二程序代码与第三程序代码。第一程序代码指定一个由N个处理单元构成的阵列。此阵列中的各个处理单元包括一个累加器、一个算术单元、一权重输入与一个多任务缓存器。累加器具有一输出。算术单元具有第一、第二与第三输入,并执行运算以产生一结果储存至累加器,前述第一输入接收累加器的输出。权重输入由前述第二输入接收至算术单元。多任务缓存器具有第一与第二数据输入、一输出与一控制输入,多任务缓存器的输出由前述第三输入接收至算术单元,控制输入控制对于第一与第二数据输入的选择。其中,多任务缓存器的输出并由一相邻处理单元的多任务缓存器的第二数据输入所接收,当控制输入选定第二数据输入时,N个处理单元的多任务缓存器共同运作如同一N个文字的旋转器。第二程序代码指定一第一存储器,以装载W列的N个权重文字,并将W列的其中一列的N个权重文字提供至处理单元阵列的N个处理单元的相对应权重输入。第三程序代码指令一第二存储器,以装载D列的N个数据文字,并将D列的其中一列的N个数据文字提供至处理单元阵列的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为显示图11的神经网络单元执行图4的程序的时序图。图14为方块示意图,显示移动至神经网络(MTNN)架构指令以及其对应于图1的神经网络单元的部分的运作。图15为方块示意图,显示移动至神经网络(MTNN)架构指令以及其对应于图1的神经网络单元的部分的运作。图16为显示图1的数据随机存取存储器的一实施例的方块示意图。图17为显示图1的权重随机存取存储器与缓冲器的一实施例的方块示意图。图18为显示图1的可动态配置的神经处理单元的方块示意图。图19为方块示意图,显示依据图18的实施例,利用图1的神经网络单元的N个神经处理单元的2N个多任务缓存器,对于由图1的数据随机存取存储器取得的一列数据文字执行如同旋转器(rotator)的运作。图20为表格,显示一个储存于图1的神经网络单元的程序存储器并由该神经网络单元执行的程序,而此神经网络单元具有如图18的实施例所示的神经处理单元。图21为显示神经网络单元执行图20的程序的时序图,此神经网络单元具有如图18所示的神经处理单元执行于窄配置。图22为显示图1的神经网络单元的方块示意图,此神经网络单元具有如图18所示的神经处理单元以执行图20的程本文档来自技高网...
<a href="http://www.xjishu.com/zhuanli/55/201610863911.html" title="具有架构神经网络执行单元的处理器原文来自X技术">具有架构神经网络执行单元的处理器</a>

【技术保护点】
一种处理器,具有一指令集架构(ISA),其特征在于,该处理器包括:一指令攫取单元,控制从存储器将该指令集架构的指令攫取至该处理器的攫取动作;以及多个执行单元,对该指令的操作数依据该指令集架构执行运算以产生该指令的结果;其中,该多个执行单元包括一个硬件神经网络单元(NNU),以执行关联于人工神经网络(ANN)的计算,该神经网络单元包括:一个算术逻辑单元(ALU)阵列;一第一存储器,耦接至该算术逻辑单元阵列,以装载关联于该人工神经网络神经元输出的数据文字;一第二存储器,耦接至该算术逻辑单元阵列,以装载关联于该人工神经网络神经元间的连结的权重文字;其中,各该算术逻辑单元将该数据文字的一部分乘上该权重文字的一部分以产生乘积并在累加器中将这些乘积累加为一累加值;以及多个启动函数单元,对该累加值执行标准化运算以产生关联于该人工神经网络神经元的输出;其中,该指令集架构包括至少一个指令指示该处理器将该数据文字与该权重文字写入该神经网络单元的该相对应的第一与第二存储器。

【技术特征摘要】
2015.10.08 US 62/239,254;2015.12.02 US 62/262,104;1.一种处理器,具有一指令集架构(ISA),其特征在于,该处理器包括:一指令攫取单元,控制从存储器将该指令集架构的指令攫取至该处理器的攫取动作;以及多个执行单元,对该指令的操作数依据该指令集架构执行运算以产生该指令的结果;其中,该多个执行单元包括一个硬件神经网络单元(NNU),以执行关联于人工神经网络(ANN)的计算,该神经网络单元包括:一个算术逻辑单元(ALU)阵列;一第一存储器,耦接至该算术逻辑单元阵列,以装载关联于该人工神经网络神经元输出的数据文字;一第二存储器,耦接至该算术逻辑单元阵列,以装载关联于该人工神经网络神经元间的连结的权重文字;其中,各该算术逻辑单元将该数据文字的一部分乘上该权重文字的一部分以产生乘积并在累加器中将这些乘积累加为一累加值;以及多个启动函数单元,对该累加值执行标准化运算以产生关联于该人工神经网络神经元的输出;其中,该指令集架构包括至少一个指令指示该处理器将该数据文字与该权重文字写入该神经网络单元的该相对应的第一与第二存储器。2.根据权利要求1所述的处理器,其特征在于,在第一范例(instance),该神经网络单元的该第一存储器装载关联于第一人工神经网络层的该人工神经网络神经元输出的第一数据文字,该神经网络单元的该第二存储器装载关联于该第一人工神经网络层的人工神经网络神经元与第二人工神经网络层的人工神经网络神经元间的连结的第一权重文字,并且,该算术逻辑单元利用该第一权重文字与该第一数据文字产生该累加值,该多个启动函数单元产生关连于该第二人工神经网络层的该人工神经网络神经元的第一输出,神经网络单元将关联于该第二人工神经网络层的该人工神经网络神经元的该第一输出写入该第一存储器;其中,在第二范例,该第二存储器装载关联于该第二人工神经网络层的该人工神经网络神经元与第三人工神经网络层的人工神经网络神经元间的连结的第二权重文字,并且,该算术逻辑单元利用该第二权重文字与关联于该第二人工神经网络层的该人工神经网络神经元并写入该第一存储器的该第一输出产生该累加值,并且,该多个启动函数单元产生关联于该第三人工神经网络层的该人工神经网络神经元的第二输出。3.根据权利要求2所述的处理器,其特征在于,该神经处理单元将关联于该第三人工神经网络层的该人工神经网络神经元的该第二输出写入该第一存储器,并且,该指令集架构包括至少一个指令指示该处理器从该第一存储器读取由该神经网络单元写入的该第二输出。4.根据权利要求1所述的处理器,其特征在于,该神经网络单元还包括:一程序存储器,装载一神经网络单元程序的指令,该神经网络单元程序的该指令是属于一个不同于该处理器指令集架构的这些指令的指令集,并且,该指令集架构包括至少一个指令指示该处理器将该神经网络单元程序的该指令写入该程序存储器。5.根据权利要求4所述的处理器,其特征在于,该指令集架构包括至少一个指令指示该处理器开始执行写入该程序存储器的该神经网络单元程序的该指令。6.根据权利要求5所述的处理器,其特征在于,指示该处理器开始执行该神经网络单元程序的该指令的该至少一个指令,指定该神经网络单元程序开始执行的第一指令的地址。7.根据权利要求4所述的处理器,其特征在于,该指令集架构包括至少一个指令指示该处理器暂停执行该神经网络单元程序的该指令。8.根据权利要求4所述的处理器,其特征在于,该指令集架构包括至少一个指令指示该处理器读取该神经网络单元程序的该指令的执行状态。9.根据权利要求4所述的处理器,其特征在于,该指令集架构包括至少一个指令指示该处理器对于完成执行的该神经网络单元程序的该指令产生中断(interrupt)。10.根据权利要求1所述的处理器,其特征在于,该指示该处理器将该数据文字与该权重文字写入该神经网络单元的该相对应第一与第二存储器的至少一指令,包括:一指定器,指定一架构缓存器装载该第一存储器或该第二存储器中该神经网络单元写入该相对应数据文字或权重文字的一地址。11.根据权利要求1所述的处理器,其特征在于,该至少一个指令指示该处理器将该数据文字与该权重文字写入该神经网络单元的该相对应第一与第二存储器,包括:一指定器,指定一个或多个架构缓存器装载被写入该第一存储器或该第二存储器的该相对应数据文字或权重文字。12.根据权利要求11所述的处理器,其特征在于,该一个或多个架构缓存器为x86指令集架构的媒体缓存器。13.根据权利要求1所述的处理器,其特征在于,该处理器兼容于x86指令集架构。14.根据权利要求1所述的处理器,其特征在于,该神经网络单元还包括:一缓冲器,与该第二存储器的一列具有相同的位宽度;其中,该缓冲器因应该至少一个指令的多个范例,接收多组权重文字,并且,该缓冲器同时将该多组权重文字写入该第二存储器的一列。15.根据权利要求14所述的处理器,其特征在于,该神经网络单元还包括:架构缓存器,以装载该权重文字;其中,该至少一指令包括:一指定器指定该一个或多个架构缓存器,该一个或多个架构缓存器集体具有第二位宽度;以及一位屏蔽,包括一位对应于该缓冲器的多个数据块中的各个数据块,各该数据块为该第二位宽度;其中,因应该至少一个指令的单一个范例,该缓冲器将装载于该架构缓存器的该权重文字接收至该缓冲器的该多个数据块中对应的该位屏蔽的位...

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

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

1