计算装置及包括所述计算装置的神经网络处理器制造方法及图纸

技术编号:26479577 阅读:20 留言:0更新日期:2020-11-25 19:24
本申请公开了一种计算装置以及包括该计算装置的神经网络处理器。计算装置包括阵列排布的一列或多列计算单元,每列计算单元中的至少一个计算单元包括:运算参数存储器,用于存储一个或多个运算参数;运算器,用于接收输入数据,并且利用所述运算参数存储器中存储的运算参数对所述输入数据进行运算;以及地址控制器,其用于向所述运算参数存储器提供地址控制信号以控制所述运算参数的存储与输出。

【技术实现步骤摘要】
计算装置及包括所述计算装置的神经网络处理器
本申请涉及神经网络
,更具体地,涉及一种具有分布式运算参数存储的计算装置及神经网络处理器。
技术介绍
随着深度学习以及人工智能的发展,神经网络技术被应用在很多领域。卷积神经网络是一种代表性的人工神经网络,它在图像处理、语音识别、自然语言处理等领域中都得到了广泛的应用。卷积神经网络通常使用神经网络处理器来执行矩阵或张量的卷积计算。在进行计算时,神经网络处理器需要将集中存储在处理器外部存储器中的权重参数读取到处理器中,以用来与其他数据进行乘加计算。然而,权重参数的数据量较大,处理器每次仅能获取一部分权重参数参与计算,因而需要从外部存储器中反复读取权重参数,这导致了计算时间的浪费,并且降低了计算速度。因此,有必要提供一种改进的计算装置以及神经网络处理器。
技术实现思路
本申请的一个目的在于提供一种具有分布式运算参数存储的计算装置及神经网络处理器,以减少计算过程中读取运算参数所需的时间。在本申请的一个方面,提供了一种计算装置,包括阵列排布的一列或多列计算单元,每列计算单元中的至少一个计算单元包括:运算参数存储器,用于存储一个或多个运算参数;运算器,用于接收输入数据,并且利用所述运算参数存储器中存储的运算参数对所述输入数据进行运算;以及地址控制器,其用于向所述运算参数存储器提供地址控制信号以控制所述运算参数的存储与输出。在一些实施例中,所述一个或多个运算参数是权重参数,所述运算器包括:用于接收所述输入数据的数据输入端;用于接收所述运算参数的参数输入端;耦接到同列相邻前级计算单元的传递输入端;以及耦接到同列相邻后级计算单元的传递输出端;其中所述运算器用于对所述输入数据和所述运算参数求积,将所述求积运算结果与经由所述传递输入端接收的传递参数求和,并经由所述传递输出端输出所述求和运算结果。在一些实施例中,所述运算参数存储器包括:用于接收所述运算参数的输入端;用于接收所述地址控制信号的地址控制端;以及用于输出所述运算参数的参数输出端;其中,所述运算参数存储器用于在所述地址控制信号的控制下存储经由所述输入端接收的所述运算参数,并且在所述地址控制信号的控制下经由所述参数输出端将所述运算参数输出给所述运算器;并且其中所述地址控制器耦接到所述运算参数存储器的地址控制端以提供所述地址控制信号。在一些实施例中,所述地址控制器还包括读取使能端与输入使能端,所述地址控制器还被用于响应于经由所述读取使能端接收的读取使能信号和经由所述输入使能端接收的输入使能信号来生成所述地址控制信号。在一些实施例中,所述至少一个计算单元还包括:读取使能缓冲器,其用于缓冲在同列相邻的两级计算单元之间传递的读取使能信号。在一些实施例中,所述阵列排布的一列或多列计算单元包括至少两列计算单元,其中,所述至少一个计算单元还包括:输出使能缓冲器,其用于缓冲在同一行相邻的计算单元之间传递的读取使能信号;以及输出数据缓冲器,其用于缓冲在同一行相邻的计算单元之间传递的输入数据。在一些实施例中,所述计算装置还包括一个或多个累加器,其中每个累加器用于对一列计算单元的计算结果进行累加。在一些实施例中,所述计算装置还包括一个或多个偏置单元,其中每个偏置单元用于向一列计算单元提供偏置参数。在一些实施例中,所述计算装置还包括:多个数据缓冲器,其中每个数据缓冲器对应于一行计算单元,用于向该行计算单元提供所述输入数据。在一些实施例中,所述地址控制器还包括读取使能端与输入使能端,所述地址控制器还被用于响应于经由所述读取使能端接收的读取使能信号和经由所述输入使能端接收的输入使能信号来生成所述地址控制信号;其中,所述数据缓冲器耦接到所述输入使能端,并且根据所述数据缓冲器中的数据存储状态向所述地址控制器提供所述输入使能信号。在一些实施例中,所述数据缓冲器是FIFO缓冲器。在一些实施例中,所述计算装置还包括控制器,所述控制器用于向所述一列或多列计算单元中的每个运算参数存储器分配对应的运算参数。根据本申请的另一方面,还提供了一种神经网络处理器,包括根据前述方面所述的计算装置。根据本申请的又一方面,还提供了一种计算方法,所述计算方法由阵列排布的一列或多列计算单元实施,其中,每列计算单元中的至少一个计算单元包括用于存储一个或多个运算参数的运算参数存储器,以及用于控制所述运算参数的存储和输出的地址控制器;对于所述至少一个计算单元中的每个计算单元,所述计算方法执行下述步骤:接收输入数据;在所述地址控制器的控制下,从所述计算单元的所述运算参数存储器获取对应的运算参数,其中所述运算参数是在所述地址控制器的控制下存储到所述运算参数存储器中一个或多个运算参数中的一个运算参数;以及利用所述运算参数对所述输入数据进行运算。以上为本申请的概述,可能有简化、概括和省略细节的情况,因此本领域的技术人员应该认识到,该部分仅是示例说明性的,而不旨在以任何方式限定本申请范围。本概述部分既非旨在确定所要求保护主题的关键特征或必要特征,也非旨在用作为确定所要求保护主题的范围的辅助手段。附图说明通过下面说明书和所附的权利要求书并与附图结合,将会更加充分地清楚理解本申请内容的上述和其他特征。可以理解,这些附图仅描绘了本申请内容的若干实施方式,因此不应认为是对本申请内容范围的限定。通过采用附图,本申请内容将会得到更加明确和详细地说明。图1是根据本申请一个实施例的神经网络的一层进行计算处理的流程示意图;图2示出了根据本申请一个实施例的神经网络处理系统;图3示出了图2的神经网络处理系统中一个计算单元的示例性结构;图4示出了图2的神经网络处理系统中一个偏置单元的示例性结构;图5示出了根据本申请一个实施例的计算方法;图6示例性地示出了被存储在图2所示的计算阵列中部分计算单元的运算参数存储器中的权重参数。具体实施方式在下面的详细描述中,参考了构成其一部分的附图。在附图中,类似的符号通常表示类似的组成部分,除非上下文另有说明。详细描述、附图和权利要求书中描述的说明性实施方式并非旨在限定。在不偏离本申请的主题的精神或范围的情况下,可以采用其他实施方式,并且可以做出其他变化。可以理解,可以对本申请中一般性描述的、在附图中图解说明的本申请内容的各个方面进行多种不同构成的配置、替换、组合,设计,而所有这些都明确地构成本申请内容的一部分。在实际应用中,神经网络可以具有按一定顺序排列的多层来计算推断(inference),并且每层具有对应的一组权重参数,这一组权重参数构造为矩阵或张量。在进行计算时,神经网络的每层可以接收输入数据,并且根据该层的权重参数处理输入数据,从而生成计算结果。在一些实施例中,神经网络的任意一层可以接收多个输入数据,和/或生成多个计算结果输出。可选地,一层输出的计算结果可以作为输入反馈给前一层。根据在神经网络中具体位置的不同,不同的层可以具有不同的功能(例如输入层、输出层、隐含本文档来自技高网...

【技术保护点】
1.一种计算装置,包括阵列排布的一列或多列计算单元,其特征在于,每列计算单元中的至少一个计算单元包括:/n运算参数存储器,用于存储一个或多个运算参数;/n运算器,用于接收输入数据,并且利用所述运算参数存储器中存储的运算参数对所述输入数据进行运算;以及/n地址控制器,其用于向所述运算参数存储器提供地址控制信号以控制所述运算参数的存储与输出。/n

【技术特征摘要】
1.一种计算装置,包括阵列排布的一列或多列计算单元,其特征在于,每列计算单元中的至少一个计算单元包括:
运算参数存储器,用于存储一个或多个运算参数;
运算器,用于接收输入数据,并且利用所述运算参数存储器中存储的运算参数对所述输入数据进行运算;以及
地址控制器,其用于向所述运算参数存储器提供地址控制信号以控制所述运算参数的存储与输出。


2.根据权利要求1所述的计算装置,其特征在于,所述一个或多个运算参数是权重参数,所述运算器包括:
用于接收所述输入数据的数据输入端;
用于接收所述运算参数的参数输入端;
耦接到同列相邻前级计算单元的传递输入端;以及
耦接到同列相邻后级计算单元的传递输出端;
其中所述运算器用于对所述输入数据和所述运算参数求积,将所述求积运算结果与经由所述传递输入端接收的传递参数求和,并经由所述传递输出端输出所述求和运算结果。


3.根据权利要求2所述的计算装置,其特征在于,所述运算参数存储器包括:
用于接收所述运算参数的输入端;
用于接收所述地址控制信号的地址控制端;以及
用于输出所述运算参数的参数输出端;
其中,所述运算参数存储器用于在所述地址控制信号的控制下存储经由所述输入端接收的所述运算参数,并且在所述地址控制信号的控制下经由所述参数输出端将所述运算参数输出给所述运算器;并且
其中所述地址控制器耦接到所述运算参数存储器的地址控制端以提供所述地址控制信号。


4.根据权利要求3所述的计算装置,其特征在于,所述地址控制器还包括读取使能端与输入使能端,所述地址控制器还被用于响应于经由所述读取使能端接收的读取使能信号和经由所述输入使能端接收的输入使能信号来生成所述地址控制信号。


5.根据权利要求2所述的计算装置,其特征在于,所述至少一个计算单元还包括:
读取使能缓冲器,其用于缓冲在同列相邻的两级计算单元之间传递的读取使能信号。


6.根据权利要求2所述的计算装置,其特征在于,所述阵列排布的一列或多列计算单元包括至少两列计算单元,其中,所述至少一个计算单元还包括:
输出使能缓冲器,其用于缓冲在同一行相邻的计算单元之间传递的读取使能信号;以及
输出数据缓冲器,其用于缓冲在同一行相邻的计算单元之间传递的输入数据。


7.根据权利要求2所述的计算装置,其特征在于,所述计算装置还包括一个或多个累加器,其中每个累加器用于对一列计算单元的计算结果进行累加。


8.根据权利要求2所述的计算装置,其特征在于,所述计算装置还包括一个或多个偏置单元,其中每个偏置单元用于向一列计算单元提供偏置参数。


9.根据权利要求1...

【专利技术属性】
技术研发人员:汪鹏李春一
申请(专利权)人:澜起科技股份有限公司
类型:发明
国别省市:上海;31

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

1