【技术实现步骤摘要】
一种运算装置及其处理方法
本专利技术涉及计算机
,特别是涉及一种运算装置和一种运算装置的处理方法。
技术介绍
随着人工智能技术的快速发展,以深度神经网络为代表的机器学习方法在计算机视觉、语音识别、围棋等领域取得了实际应用,成为研究热点。目前,诸如循环神经网络(RecurrentNeuralNetwork,RNN)、卷积神经网络(ConvolutionalNeuralNetwork,CNN)等深度学习方法的广泛应用为数据中心带来了更大的工作负载。例如,在深度神经网络的卷积层、全连接层的实现中,卷积运算是必不可少且花费大量时间的关键运算,需要占用大量访存和计算资源。现有技术通常基于纯软件重整卷积运算,使得卷积运算可以使用矩阵乘的加速手段进行加速。具体的,由于卷积运算是一系列乘累加操作,通过软件可以将卷积运算转化为维度更高的矩阵运,从而可以使用矩阵运算的方式完成卷积运算。但是,通过软件对卷积运算进行重整将提高总体的维数,且重整过程中带来了大量的数据搬运,以及,操作后数据规模将大幅上涨。具体的,为了将卷积表达成矩阵形式,需要重复对卷积运算中的元素进行存储。在这一过程中产生的大量重复数据,将在运算时带来大量的重复访问和缓存,增加开销。
技术实现思路
鉴于上述问题,提出了本专利技术实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种运算装置和一种运算装置的处理方法,以降低开销。为了解决上述问题,本专利技术实施例公开了一种运算装置,包括:寄存器组、处理单元 ...
【技术保护点】
1.一种运算装置,其特征在于,包括:寄存器组、处理单元阵列和数据线,所述寄存器组包括第一寄存器组和第二寄存器组,所述数据线包括n条第一广播线和m条第二广播线,m和n均为大于等于1的自然数;所述处理单元阵列包含的处理单元行数为n,且所述处理单元阵列包含的处理单元列数为m;/n每一条所述第一广播线的一端连接所述第一寄存器组,另一端连接所述处理单元阵列中的一行处理单元,用于将所述第一寄存器组输出的第一数据传输给所述一行处理单元,其中,不同的所述第一广播线连接的处理单元行号不同;/n每一条所述第二广播线的一端连接所述第二寄存器组,另一端连接所述处理单元阵列中的一列处理单元,用于将所述第二寄存器组输出的第二数据传输给所述一列处理单元,其中,不同的第二广播线连接的处理单元列号不同;/n所述处理单元阵列中的每一个处理单元,用于依据所述第一数据和所述第二数据进行运算,输出运算结果。/n
【技术特征摘要】
1.一种运算装置,其特征在于,包括:寄存器组、处理单元阵列和数据线,所述寄存器组包括第一寄存器组和第二寄存器组,所述数据线包括n条第一广播线和m条第二广播线,m和n均为大于等于1的自然数;所述处理单元阵列包含的处理单元行数为n,且所述处理单元阵列包含的处理单元列数为m;
每一条所述第一广播线的一端连接所述第一寄存器组,另一端连接所述处理单元阵列中的一行处理单元,用于将所述第一寄存器组输出的第一数据传输给所述一行处理单元,其中,不同的所述第一广播线连接的处理单元行号不同;
每一条所述第二广播线的一端连接所述第二寄存器组,另一端连接所述处理单元阵列中的一列处理单元,用于将所述第二寄存器组输出的第二数据传输给所述一列处理单元,其中,不同的第二广播线连接的处理单元列号不同;
所述处理单元阵列中的每一个处理单元,用于依据所述第一数据和所述第二数据进行运算,输出运算结果。
2.根据权利要求1所述的运算装置,其特征在于,还包括控制器;
所述处理单元包括:乘加器、累加变量寄存器、结果寄存器以及选择器;
所述乘加器,用于接收所述第一数据和所述第二数据,并将所述第一数据与第二数据相乘,得到乘积结果,以及将所述乘积结果与所述选择器输出的累加变量进行相加,得到累加结果;
所述累加变量寄存器的输入端连接所述乘加器,用于存储所述乘加器输出的累加结果,并将所述累加结果传输给所述选择器;
所述选择器与所述控制器相连接,用于依据所述控制器输出的控制信号,将所述累加结果作为累加变量,传输给所述乘加器;或者,将所述累加结果作为运算结果,传输给所述结果寄存器;
所述结果寄存器,用于对所述运算结果进行输出。
3.根据权利要求2所述的运算装置,其特征在于,所述选择器包括第一选择器和第二选择器,且所述累加变量寄存器的输出端分别连接所述第一选择器和第二选择器,所述乘加器包括乘法器和加法器;
所述乘法器的输出端与所述加法器相连接,用于接收所述第一数据和所述第二数据,并将所述第一数据与第二数据相乘,输出乘积结果给所述加法器;
所述加法器的输出端连接所述累加变量寄存器,用于将所述乘积结果与所述第一选择器输出的累加变量进行相加,得到累加结果,以及,将所述累加结果输出给所述累加变量寄存器;
第一选择器的输出端连接所述加法器,用于接收所述累加结果和所述累加变量寄存器对应的清零信号,以及,依据所述累加结果和/或所述清零信号,输出累加变量给所述加法器;
所述第二选择器的输出端连接所述结果寄存器,用于接收所述控制信号,依据所述控制信号将所述累加结果作为运算结果,并传输给所述结果寄存器。
4.根据权利要求3所述的运算装置,其特征在于,所述处理单元阵列包括至少一行处理单元,所述一行处理单元包括依次连接的至少两个处理单元,所述两个处理单元分为第一处理单元和第二处理单元;
所述第一处理单元的结果寄存器的输出端连接所述第二处理单元的第二选择器,用于将所述第一处理单元输出的运算结果传输给所述第二处理单元的第二选择器;
所述第二处理单元的第二选择器,还用于接收所述第一处理单元输出的运算结果,并传输给所述第二处理单元中的结果寄存器。
5.根据权利要求1至4任一所述的运算装置,其特征在于,所述第一寄存器组包括至少一个第一缓存寄存器,每一个第一缓存寄存器包括至少一个输出端,所述第二寄存器组包括至少一个第二缓存寄存器,每一个第二缓存寄存器包括至少一个输出端;
...
【专利技术属性】
技术研发人员:谭弘泽,章隆兵,李文青,肖俊华,王剑,
申请(专利权)人:龙芯中科技术有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。