具有并行加载-存储的共享便笺式存储器的制作方法

文档序号:31572864发布日期:2022-09-20 22:53阅读:来源:国知局

技术特征:
1.一种被配置为实现包括多个神经网络层的神经网络的电路,所述电路包括:第一存储器,所述第一存储器被配置为提供数据,所述数据用于执行计算以生成所述神经网络的层的输出;第一处理器核,所述第一处理器核包括第一向量存储器,所述第一向量存储器被配置为存储从由所述第一存储器提供的所述数据得出的第一向量值;第二处理器核,所述第二处理器核包括第二向量存储器,所述第二向量存储器被配置为存储从由所述第一存储器提供的所述数据得出的第二向量值;以及共享存储器,所述共享存储器被设置在所述第一处理器核或所述第二处理器核中的至少一个与所述第一存储器中间,其中,所述共享存储器包括:直接存储器存取dma数据路径,所述直接存储器存取dma数据路径被配置为在所述共享存储器与所述第一向量存储器或所述第二向量存储器之间路由数据通信;以及加载-存储数据路径,所述加载-存储数据路径被配置为在所述共享存储器与所述第一处理器核或所述第二处理器核的相应向量寄存器之间路由数据通信。2.根据权利要求1所述的电路,其中:所述电路包括多个处理器核,所述第一处理器核和所述第二处理器核在所述多个处理器核当中;以及所述共享存储器包括多个存储器资源,所述多个存储器资源物理地分布在电路周围,以与所述电路处的所述多个处理器核中的每一个交换数据通信。3.根据权利要求2所述的电路,其中,所述共享存储器包括共享存储器控制单元,所述共享存储器控制单元被配置为:执行使所述多个存储器资源的第一部分充当dma存储器单元的软件指令,所述dma存储器单元能够操作以在所述第一处理器核和所述第二处理器核中的每一个与所述第一存储器之间移动数据。4.根据权利要求3所述的电路,其中,所述多个存储器资源包括存储器资源的第二部分,所述存储器资源的第二部分被配置为:接收沿所述加载-存储数据路径路由的数据值;以及临时存储所述数据值持续阈值数量的处理器周期。5.根据权利要求4所述的电路,其中,所述存储器资源的第二部分被配置为:响应于临时存储所述数据值持续所述阈值数量的处理器周期而将所述数据值提供给所述第一处理器核或所述第二处理器核的所述相应向量寄存器。6.根据权利要求1所述的电路,其中,所述共享存储器包括:由所述共享存储器的存储器资源的子集形成的软件控制的构架资源,所述软件控制的构架资源被用于管理从所述第一存储器到所述第一处理器核或所述第二个处理器核的所述相应向量寄存器的数据值的流动。7.根据权利要求6所述的电路,其中,所述电路包括矩阵计算单元,所述矩阵计算单元被配置为通过执行用于生成所述神经网络的层的所述输出的计算子集来生成累加值。8.根据权利要求7所述的电路,其中,所述软件控制的构架资源被用于管理与从所述第一存储器到所述矩阵计算单元的向量阵列相对应的数据的流动,其中,所述向量阵列是从由所述第一存储器提供的所述数据值得出的。
9.根据权利要求1所述的电路,其中:所述电路包括与所述第一存储器通信的向量处理单元;所述向量处理单元被配置为从所述电路处生成的累加值生成激活值向量;以及所述激活值向量与所述神经网络的层的所述输出相对应。10.根据权利要求6所述的电路,其中:所述软件控制的构架资源是沿着所述加载-存储数据路径的加载部分的先进先出fifo存储器结构;以及所述fifo存储器结构被配置为:在将值的向量路由到所述第一处理器核或所述第二处理器核的所述相应向量寄存器之前,临时存储所述值的向量持续阈值数量的处理器周期。11.根据权利要求1所述的电路,其中,所述共享存储器被配置为充当共享全局存储器空间,所述共享全局存储器空间包括与在所述多个处理器核中的一个或多个处理器核之间共享的存储器组相对应的存储器资源。12.根据权利要求1所述的电路,其中,用于执行计算以生成第一层的输出的数据包括:将要通过所述神经网络的所述第一层处理的输入;所述神经网络的所述第一层的权重的相应集合;以及指令,所述指令用于使用所述第一层的权重的所述相应集合处理通过所述第一层的所述输入中的一个或多个,以生成所述第一层的所述输出。13.一种用于使用电路来执行计算以生成神经网络的层的输出的方法,所述神经网络包括多个神经网络层,所述电路被配置为实现所述神经网络,所述方法包括:从第一存储器提供用于生成神经网络层的输出的数据;使用第一处理器核的第一向量存储器,将值的向量存储在所述电路的所述第一处理器核,其中,所述第一向量存储器被配置为存储从由所述第一存储器提供的所述数据得出的第一向量值;使用所述电路中的共享存储器的直接存储器存取dma数据路径,在所述共享存储器与所述第一向量存储器之间路由包括至少所述第一向量值的数据通信;使用所述共享存储器的加载-存储数据路径,在所述共享存储器与所述第一处理器核的相应向量寄存器之间路由包括第二向量值的数据通信;以及使用沿所述共享存储器的相应加载-存储数据路径和所述dma数据路径被并行路由的相应第一向量值和第二向量值,来生成与所述神经网络层的所述输出相对应的累加值。14.根据权利要求13所述的方法,包括:使用所述第二处理器核的第二向量存储器,将值的向量存储在所述电路的第二处理器核,其中,所述第二向量存储器被配置为存储从由所述第一存储器提供的所述数据得出的第三向量值。15.根据权利要求14所述的方法,包括:使用所述共享存储器的所述dma数据路径,在所述共享存储器和所述第二向量存储器之间路由包括所述第三向量值的数据通信;以及使用所述共享存储器的所述加载-存储数据路径,在所述共享存储器和所述第二处理器核的相应向量寄存器之间路由包括第四向量值的数据通信。16.根据权利要求15所述的方法,其中,所述电路包括多个处理器核,并且所述共享存
储器包括物理地分布在所述电路周围的多个存储器资源,并且所述方法包括:使用所述共享存储器的所述多个存储器资源以在所述多个处理器核中的每一个与所述第一存储器之间交换数据通信。17.根据权利要求16所述的方法,其中,所述共享存储器包括共享存储器控制单元,并且所述方法包括:基于由所述共享存储器控制单元执行的指令来使所述多个存储器资源的第一资源部分充当dma存储器单元;以及使用所述第一资源部分的代表性dma功能以在所述第一处理器核和所述第二处理器核中的每一个与所述第一存储器之间移动数据。18.根据权利要求17所述的方法,包括:由所述多个存储器资源的第二资源部分接收沿所述加载-存储数据路径被路由的所述第二向量值和所述第四向量值;使用所述第二资源部分,临时存储所述第二向量值持续阈值数量的处理器周期;以及使用所述第二资源部分,临时存储所述第四向量值持续阈值数量的处理器周期。19.根据权利要求18所述的方法,包括:响应于临时存储所述第二向量值持续所述阈值数量的处理器周期,使用所述第二资源部分将所述第二向量值提供给所述第一处理器核的相应向量寄存器;以及响应于临时存储所述第四向量值持续所述阈值数量的处理器周期,使用所述第二资源部分将所述第四向量值提供给所述第二处理器核的相应向量寄存器。20.根据权利要求13所述的方法,其中,所述共享存储器包括从所述共享存储器的存储器资源的子集形成的软件控制的构架资源,并且所述方法包括:使用所述软件控制的构架资源来管理从所述第一存储器到所述第一处理器核的相应向量寄存器的数据流动以及从所述第一存储器到所述第二处理器核的相应向量寄存器的数据流动。21.根据权利要求20所述的方法,其中,所述电路包括矩阵计算单元,并且所述方法包括:响应于执行用于生成所述神经网络层的所述输出的所述计算的子集,使用所述矩阵计算单元生成累加值。22.根据权利要求21所述的方法,包括:使用所述软件控制的构架资源来管理从所述第一存储器到所述矩阵计算单元的数据流动,其中,所述数据流动包括从由所述第一存储器提供的所述数据得出的向量阵列。23.根据权利要求21所述的方法,其中:所述电路包括在所述第一存储器与所述矩阵计算单元中间的向量处理单元;所述方法包括:由所述向量处理单元从由所述矩阵计算单元生成的所述累加值来生成激活值向量;以及所述激活值向量与所述神经网络层的所述输出相对应。24.一种非暂时性机器可读存储设备,用于在被用来执行神经网络计算的电路上实现具有多个神经网络层的神经网络并且用于存储指令,所述指令能够由处理设备执行以使得执行操作,所述操作包括:
从第一存储器提供用于生成神经网络层的输出的数据;使用第一处理器核的第一向量存储器,将值的向量存储在所述电路的所述第一处理器核,其中,所述第一向量存储器被配置为存储从由所述第一存储器提供的所述数据得出的第一向量值;使用所述电路中的共享存储器的直接存储器存取dma数据路径,在所述共享存储器与所述第一向量存储器之间路由包括至少所述第一向量值的数据通信;使用所述共享存储器的加载-存储数据路径,在所述共享存储器与所述第一处理器核的相应向量寄存器之间路由包括第二向量值的数据通信;以及使用沿所述共享存储器的相应加载-存储数据路径和所述dma数据路径被并行路由的相应第一向量值和第二向量值,来生成与所述神经网络层的所述输出相对应的累加值。25.根据权利要求24所述的非暂时性机器可读存储设备,其中,所述操作包括:使用所述第二处理器核的第二向量存储器,将值的向量存储在所述电路的第二处理器核,其中,所述第二向量存储器被配置为存储从由所述第一存储器提供的所述数据得出的第三向量值;使用所述共享存储器的所述dma数据路径,在所述共享存储器与所述第二向量存储器之间路由包括所述第三向量值的数据通信;以及使用所述共享存储器的所述加载-存储数据路径,在所述共享存储器与所述第二处理器核的相应向量寄存器之间路由包括第四向量值的数据通信。

技术总结
描述了用于被配置为实现神经网络的硬件电路的方法、系统和装置,包括计算机可读介质。该电路包括第一存储器、相应的第一和第二处理器核以及共享存储器。该第一存储器提供数据以用于执行计算以生成神经网络层的输出。第一和第二核中的每一个包括向量存储器以用于存储从第一存储器提供的数据得出的向量值。共享存储器通常设置在第一存储器和至少一个核中间,并且包括:i)直接存储器存储(DMA)数据路径,该直接存储器存储(DMA)数据路径被配置为在共享存储器与第一和第二核的相应向量存储器之间路由数据,以及ii)加载-存储数据路径,该加载-存储数据路径被配置为在共享存储器与第一和第二核的相应向量寄存器之间路由数据。第二核的相应向量寄存器之间路由数据。第二核的相应向量寄存器之间路由数据。


技术研发人员:托马斯
受保护的技术使用者:谷歌有限责任公司
技术研发日:2021.01.26
技术公布日:2022/9/19
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1