多级存储器层级结构制造技术

技术编号:23512636 阅读:19 留言:0更新日期:2020-03-18 00:00
一种在卷积神经网络中分层构造多级存储器的方法,包括:将存储器划分为多个部分,将该多个部分划分为多个条带,在MAC阵列中利用来自所述多个条带的输入数据,将中间结果从MAC阵列输出到结果缓冲器的多个条带中的至少一个条带,将中间结果从结果缓冲器的多个条带中的至少一个条带回送到输入数据缓冲器的多个条带中的至少一个条带,并且将最终结果从结果缓冲器的多个条带中的至少一个条带输出到输出缓冲器的多个条带中的至少一个条带。

Multilevel memory hierarchy

【技术实现步骤摘要】
多级存储器层级结构
本公开涉及卷积神经网络,并且具体地提高了乘积累加的存储器存取效率。
技术介绍
卷积神经网络的核心是频繁的数据操纵器和数据存取器。通过网络的数据在连续循环中被使用和再使用(reuse)。在乘积累加层附近,这种数据的循环经常重复。使用、寻址和存储,然后寻址和提取数据,并且再使用该相同的数据,代表了在当前系统中的低效率。所寻求的是一种更有效的存储器使用和再使用的方法。寻求一种根据存取频率、带宽、操作频率和通过距离将存储器划分为层级结构的方法。还寻求一种以使系统能够更快地存取数据的方式捕获和存储数据的方法。
技术实现思路
一种在卷积神经网络中分层构造多级存储器的第一示例方法,包括以下步骤中的至少一个步骤:将存储器划分为多个部分;将所述多个部分划分为多个条带;在乘积累加(MAC)阵列中利用来自所述多个条带的输入数据;将中间结果从MAC阵列输出到结果缓冲器的多个条带中的至少一个条带;将中间结果从结果缓冲器的多个条带中的至少一个条带回送(loopback)到输入数据缓冲器的多个条带中的至少一个条带;以及将最终结果从结果缓冲器的多个条带中的至少一个条带输出到输出缓冲器的多个条带中的至少一个条带。在其中一个实施例中,所述方法还包括:划分出MAC权重缓冲器部分;划分出输入数据缓冲器部分;划分出结果缓冲器部分;划分出输出缓冲器部分;划分出共享数据缓冲器部分;划分出位测试权重存储器部分;划分出位测试数据存储器部分;和划分出外部随机存取存储器部分。在其中一个实施例中,所述方法还包括:将所述输入数据缓冲器部分划分为多个输入缓冲数据条带;将所述结果缓冲器部分划分为多个结果缓冲器条带;将所述输出缓冲器部分划分为多个输出缓冲器条带;将所述共享数据缓冲器部分划分为多个共享数据条带;和将所述位测试数据存储器部分划分为多个位测试数据存储器条带。在其中一个实施例中,所述方法还包括从所述外部随机存取存储器部分接收权重和输入数据;对来自所述位测试权重存储器部分的权重进行解压缩;和将解压缩的权重存储在所述MAC权重缓冲器部分中。在其中一个实施例中,所述方法还包括:将输入数据从所述位测试数据存储器部分导入到所述共享数据缓冲器部分的所述多个条带中的至少一个条带;将所述输入数据从所述共享数据缓冲器部分的所述多个条带中的至少一个条带导入到所述输入数据缓冲器部分的所述多个条带中的至少一个条带;和在所述MAC阵列处从所述MAC权重缓冲器部分和所述输入数据缓冲器部分接收权重。在其中一个实施例中,所述方法还包括:将所述最终结果从所述输出缓冲器部分的所述多个条带中的至少一个条带输出到所述共享数据缓冲器部分的所述多个条带中的至少一个条带;将所述最终结果从所述共享数据缓冲器部分的所述多个条带中的至少一个条带输出到所述位测试数据存储器部分的所述多个条带中的至少一个条带;和将所述最终结果从所述位测试数据存储器部分的所述多个条带中的至少一个条带输出到所述外部随机存取存储器部分。在其中一个实施例中,所述方法还包括:将所述最终结果从所述输出缓冲器部分的所述多个条带中的至少一个条带输出到所述共享数据缓冲器部分的所述多个条带中的至少一个条带;将所述最终结果从所述共享数据缓冲器部分的所述多个条带中的至少一个条带输出到所述位测试数据存储器部分的所述多个条带中的至少一个条带;和将所述最终结果从所述位测试数据存储器部分的所述多个条带中的至少一个条带输出到所述外部随机存取存储器部分。在其中一个实施例中,所述方法还包括:存储数据集的宽度分量,使得宽度分量在存储器阵列中沿第一地址方向线性增加;存储所述数据集的高度分量,使得高度分量在所述存储器阵列中沿与所述第一地址方向正交的第二地址方向线性增加;和存储所述数据集的深度分量,使得深度分量在所述存储器阵列中沿与所述第一地址方向和所述第二地址方向对称的第三地址方向线性增加。在其中一个实施例中,所述方法还包括:将所述多个输入缓冲数据条带划分为多个输入缓冲数据块;将所述多个结果缓冲器条带划分为多个结果缓冲器块;将所述多个输出缓冲器条带划分为多个输出缓冲器块;将所述多个输出缓冲器条带划分为多个共享数据块;和将所述多个输出缓冲器条带划分为多个位测试数据存储器块。在其中一个实施例中,所述方法还包括:将输入数据从所述位测试数据存储器部分导入到所述共享数据缓冲器部分的所述多个块中的至少一个块;将所述输入数据从所述共享数据缓冲器部分的所述多个块中的至少一个块导入到所述输入数据缓冲器部分的所述多个块中的至少一个块;和在所述MAC阵列处从所述MAC权重缓冲器部分和所述输入数据缓冲器部分接收权重。在其中一个实施例中,所述方法还包括:将所述最终结果从所述输出缓冲器部分的所述多个块中的至少一个块输出到所述共享数据缓冲器部分的所述多个块中的至少一个块;将所述最终结果从所述共享数据缓冲器部分的所述多个块中的至少一个块输出到所述位测试数据存储器部分的所述多个块中的至少一个块;和将所述最终结果从所述位测试数据存储器部分的所述多个块中的至少一个块输出到所述外部随机存取存储器部分。在其中一个实施例中,所述方法还包括:存储数据集的宽度分量,使得宽度分量在存储器阵列中沿第一地址方向线性增加;存储所述数据集的高度分量,使得高度分量在所述存储器阵列中沿与所述第一地址方向正交的第二地址方向线性增加;和存储所述数据集的深度分量,使得深度分量在所述存储器阵列中沿与所述第一地址方向和所述第二地址方向对称的第三地址方向线性增加。在其中一个实施例中,所述方法还包括:存储数据集的宽度分量,使得宽度分量在存储器阵列中沿第一地址方向线性增加;存储所述数据集的高度分量,使得高度分量在所述存储器阵列中沿与所述第一地址方向正交的第二地址方向线性增加;和存储所述数据集的深度分量,使得深度分量在所述存储器阵列中沿与所述第一地址方向和所述第二地址方向对称的第三地址方向线性增加。在卷积神经网络中分层构造多级存储器的第二示例方法,包括以下步骤中的至少一个步骤:存储数据集的宽度分量,使得宽度分量在存储器阵列中沿第一地址方向线性增加;存储数据集的高度分量,使得高度分量在存储器阵列中沿与第一地址方向正交的第二地址方向线性增加;以及存储数据集的深度分量,使得深度分量在存储器阵列中沿与第一地址方向和第二地址方向对称的第三地址方向线性增加。在卷积神经网络中分层构造多级存储器的第三示例方法,包括以下步骤中的至少一个步骤:在第一存储器中存储三维数据集的宽度分量,使得宽度分量通过第一存储器地址空间线性增加;在第二存储器中存储三维数据集的高度分量,使得高度分量通过第二存储器地址空间线性增加;以及在第三存储器中存储三维数据集的深度分量,使得深度分量通过第三存储器地址空间线性增加。附图说明在附图中:图1是根据本公开的一个实施例的第一示例系统图;图2是根据本公开的一个实施例的第二示例系统图;图3是根据本公开的一个实施例的示例自适应存储器层级结构;图4是根据本公开的一个实施例的存储器条带和存储器块的第一本文档来自技高网...

【技术保护点】
1.一种在卷积神经网络中分层构造多级存储器的方法,包括:/n将存储器划分为多个部分;/n将所述多个部分划分为多个条带;/n在MAC阵列中利用来自所述多个条带的输入数据;/n将中间结果从所述MAC阵列输出到结果缓冲器的所述多个条带中的至少一个条带;/n将所述中间结果从所述结果缓冲器的所述多个条带中的至少一个条带回送到输入数据缓冲器的所述多个条带中的至少一个条带;和/n将最终结果从所述结果缓冲器的所述多个条带中的至少一个条带输出到输出缓冲器的所述多个条带中的至少一个条带。/n

【技术特征摘要】
20180907 US 62/728,294;20190227 US 16/287,7271.一种在卷积神经网络中分层构造多级存储器的方法,包括:
将存储器划分为多个部分;
将所述多个部分划分为多个条带;
在MAC阵列中利用来自所述多个条带的输入数据;
将中间结果从所述MAC阵列输出到结果缓冲器的所述多个条带中的至少一个条带;
将所述中间结果从所述结果缓冲器的所述多个条带中的至少一个条带回送到输入数据缓冲器的所述多个条带中的至少一个条带;和
将最终结果从所述结果缓冲器的所述多个条带中的至少一个条带输出到输出缓冲器的所述多个条带中的至少一个条带。


2.根据权利要求1所述的分层构造多级存储器的方法,还包括:
划分出MAC权重缓冲器部分;
划分出输入数据缓冲器部分;
划分出结果缓冲器部分;
划分出输出缓冲器部分;
划分出共享数据缓冲器部分;
划分出位测试权重存储器部分;
划分出位测试数据存储器部分;和
划分出外部随机存取存储器部分。


3.根据权利要求2所述的分层构造多级存储器的方法,还包括:
将所述输入数据缓冲器部分划分为多个输入缓冲数据条带;
将所述结果缓冲器部分划分为多个结果缓冲器条带;
将所述输出缓冲器部分划分为多个输出缓冲器条带;
将所述共享数据缓冲器部分划分为多个共享数据条带;和
将所述位测试数据存储器部分划分为多个位测试数据存储器条带。


4.根据权利要求3所述的分层构造多级存储器的方法,还包括:
从所述外部随机存取存储器部分接收权重和输入数据;
对来自所述位测试权重存储器部分的权重进行解压缩;和
将解压缩的权重存储在所述MAC权重缓冲器部分中。


5.根据权利要求4所述的分层构造多级存储器的方法,还包括:
将输入数据从所述位测试数据存储器部分导入到所述共享数据缓冲器部分的所述多个条带中的至少一个条带;
将所述输入数据从所述共享数据缓冲器部分的所述多个条带中的至少一个条带导入到所述输入数据缓冲器部分的所述多个条带中的至少一个条带;和
在所述MAC阵列处从所述MAC权重缓冲器部分和所述输入数据缓冲器部分接收权重。


6.根据权利要求5所述的分层构造多级存储器的方法,还包括:
将所述最终结果从所述输出缓冲器部分的所述多个条带中的至少一个条带输出到所述共享数据缓冲器部分的所述多个条带中的至少一个条带;
将所述最终结果从所述共享数据缓冲器部分的所述多个条带中的至少一个条带输出到所述位测试数据存储器部分的所述多个条带中的至少一个条带;和
将所述最终结果从所述位测试数据存储器部分的所述多个条带中的至少一个条带输出到所述外部随机存取存储器部分。


7.根据权利要求6所述的分层构造多级存储器的方法,还包括:
将所述最终结果从所述输出缓冲器部分的所述多个条带中的至少一个条带输出到所述共享数据缓冲器部分的所述多个条带中的至少一个条带;
将所述最终结果从所述共享数据缓冲器部分的所述多个条带中的至少一个条带输出到所述位测试数据存储器部分的所述多个条带中的至少一个条带;和
将所述最终结果从所述位测试数据存储器部分的所述多个条带中的至少一个条带输出到所述外部随机存取存储器部分。


8.根据权利要求7所述的分层构造多级存储器的方法,还包括:
存储数据集的宽度分量,使得...

【专利技术属性】
技术研发人员:金向东周芬熊成玉
申请(专利权)人:黑芝麻智能科技上海有限公司
类型:发明
国别省市:上海;31

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

1