【技术实现步骤摘要】
数据缓存的方法和装置
本专利技术涉及计算机
,特别涉及一种数据缓存的方法和装置。
技术介绍
目前,各种形式的计算机已经被广泛应用于社会生活的各个领域。在计算机的运行过程中,经常会涉及到大量的数据运算。特别是在利用计算机进行卷积神经网络的相关计算时,处理器需要从内存逐个读取输入矩阵,然后对输入矩阵进行卷积计算,再逐个将计算得到的输出矩阵保存在内存中,供下一次计算使用。其中,处理器的计算速度一般比内存的写入速度(也就是向内存中写入数据的速度)快,如果直接将处理器的输出矩阵写入内存,会出现前一个输出矩阵尚未完全写入,处理器就已经产生下一个输出矩阵的情况,导致前一个输出矩阵的数据丢失。因此,目前亟需一种数据缓存的方法,以解决处理器的计算速度和内存的写入速度不匹配的问题。
技术实现思路
基于上述现有技术问题,本专利技术提供一种数据缓存的方法,以解决处理器的计算速度和内存的写入速度不匹配的问题。本专利技术第一方面提供一种数据缓存的方法,包括:从处理器获取输出矩阵;其中,所述输出矩阵为N阶 ...
【技术保护点】
1.一种数据缓存的方法,其特征在于,包括:/n从处理器获取输出矩阵;其中,所述输出矩阵为N阶矩阵,N为正整数;/n将所述输出矩阵的N行数据分别写入第一缓存单元的目标队列集合的N个一级缓存队列中;其中,第一缓存单元预先配置有两个队列集合,目标队列集合是所述两个队列集合中,未用于保存所述输出矩阵的前一个输出矩阵的队列集合;所述第一缓存单元的写入速度与所述处理器的计算速度匹配;/n所述第一缓存单元中保存的所述输出矩阵的前一个输出矩阵被写入第二缓存单元后,逐行将所述目标队列集合中保存的输出矩阵的数据写入第二缓存单元,从而将所述输出矩阵写入所述第二缓存单元;所述第二缓存单元的写入速度 ...
【技术特征摘要】
1.一种数据缓存的方法,其特征在于,包括:
从处理器获取输出矩阵;其中,所述输出矩阵为N阶矩阵,N为正整数;
将所述输出矩阵的N行数据分别写入第一缓存单元的目标队列集合的N个一级缓存队列中;其中,第一缓存单元预先配置有两个队列集合,目标队列集合是所述两个队列集合中,未用于保存所述输出矩阵的前一个输出矩阵的队列集合;所述第一缓存单元的写入速度与所述处理器的计算速度匹配;
所述第一缓存单元中保存的所述输出矩阵的前一个输出矩阵被写入第二缓存单元后,逐行将所述目标队列集合中保存的输出矩阵的数据写入第二缓存单元,从而将所述输出矩阵写入所述第二缓存单元;所述第二缓存单元的写入速度与所述处理器的计算速度匹配;
所述第二缓存单元中保存的所述输出矩阵的前一个输出矩阵的有效数据被写入第三缓存单元后,根据预设的参数确定所述输出矩阵中的有效数据,并将所述输出矩阵的有效数据写入所述第三缓存单元;其中,所述第三缓存单元中的多个输出矩阵的有效数据用于,按获取输出矩阵的先后顺序依次写入内存中;所述第三缓存单元的写入速度与所述处理器的计算速度匹配。
2.根据权利要求1所述的方法,其特征在于,所述输出矩阵是,在卷积神经网络的计算过程中,利用二维脉动阵列进行卷积计算得到的输出矩阵;
所述将所述输出矩阵的N行数据分别写入第一缓存单元的目标队列集合的N个一级缓存队列中之前,还包括:
按预设的数据存储顺序对所述数据矩阵进行重排序,得到重排序后的输出矩阵;
所述将所述输出矩阵的N行数据分别写入第一缓存单元的目标队列集合的N个一级缓存队列中,包括:
将所述重排序后的输出矩阵的N行数据分别写入第一缓存单元的目标队列集合的N个一级缓存队列中。
3.根据权利要求1所述的方法,其特征在于,所述将所述输出矩阵的N行数据分别写入第一缓存单元的目标队列集合的N个一级缓存队列中之前,还包括:
删除所述输出矩阵的冗余数据,得到过滤后的输出矩阵;
所述将所述输出矩阵的N行数据分别写入第一缓存单元的目标队列集合的N个一级缓存队列中,包括:
将所述过滤后的输出矩阵写入第一缓存单元的目标队列集合中;其中,所述过滤后的输出矩阵的M行数据分别保存在所述目标队列集合的M个缓存队列中,所述M是小于或等于N的正整数。
4.根据权利要求1所述的方法,其特征在于,所述输出矩阵是,在卷积神经网络的计算过程中,利用二维脉动阵列进行卷积计算得到的输出矩阵;
所述根据预设的参数确定所述输出矩阵中的有效数据,包括:
根据所述神经网络中预设的步长,确定所述输出矩阵中的有效数据。
5.根据权利要求2或4所述的方法,其特征在于,所述利用二维脉动阵列进...
【专利技术属性】
技术研发人员:刘海威,董刚,杨宏斌,赵雅倩,李仁刚,史宏志,
申请(专利权)人:浪潮电子信息产业股份有限公司,
类型:发明
国别省市:山东;37
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。