数据处理装置、数据处理方法及相关装置制造方法及图纸

技术编号:38085804 阅读:8 留言:0更新日期:2023-07-06 08:53
本申请提供了一种数据处理装置、数据处理方法及相关装置,包括神经网络处理器,组成循环缓存空间的任意一个环形缓存空间的尾部地址空间之后N

【技术实现步骤摘要】
数据处理装置、数据处理方法及相关装置


[0001]本申请涉及神经网络处理器
,特别是一种数据处理装置、数据处理方法及相关装置。

技术介绍

[0002]随着现有技术的发展,为了增强装置人工智能的能力,通常会在系统中集成神经网络处理器(Neural network Processing Unit,NPU),一般采用“数据驱动并行计算”的架构,用于加速神经网络的运算,解决传统芯片在神经网络运算时效率低下的问题。如何降低NPU的功耗成为了一个难题。

技术实现思路

[0003]有鉴于此,本申请提供了一种数据通信方法及相关装置,可以通过特定的存储空间架构降低数据读取时访问内存的频率,降低总线带宽占用量和系统功耗。
[0004]第一方面,本申请实施例提供了一种数据处理装置,包括神经网络处理器,所述神经网络处理器包括处理单元阵列和M个存储模块,所述处理单元阵列包括M列处理单元集,M为正偶数,所述神经网络处理器适用于NxN的卷积核,N为大于1且小于x的正整数;
[0005]每个存储模块包括与神经网络层数一一对应的环形缓存空间,每层的M个环形缓存空间组成至多M/2个循环缓存空间,每个循环缓存空间包括至少2个至多M个环形缓存空间;
[0006]每个环形缓存空间包括x行缓存地址空间,x为大于2的正整数,所述x行缓存地址空间包括前N

1行首部地址空间和后N

1行尾部地址空间;组成所述循环缓存空间的任意一个环形缓存空间的尾部地址空间之后N

1行尾部拷贝空间用于存储复制的其后一个环形缓存空间的前N

1行首部地址空间的数据,组成所述循环缓存空间的任意一个环形缓存空间的首部地址空间之前N

1行首部拷贝空间用于存储复制的其前一个环形缓存空间的N

1行尾部地址空间的数据;
[0007]所述M个存储模块用于分布式存储待存储数据,所述M列处理单元集用于从所述M个存储模块中读取分布式存储的所述待存储数据。
[0008]第二方面,本申请实施例提供了一种数据处理方法,应用于如本申请实施例第一方面所述的数据处理装置,所述方法包括:
[0009]获取待存储数据;
[0010]根据所述待存储数据的通道数n将所述待存储数据划分为n个待存储子数据,n为小于或等于M/2的正整数;
[0011]将每个待存储子数据写入INT(M/n)个环形缓存空间组成的循环缓存空间中,任意一个循环缓存空间用于存储任意一个待存储子数据。
[0012]第三方面,本申请实施例提供了一种电子设备,包括存储器和处理器,所述存储器用于存储程序,所述处理器执行所述存储器存储的程序,当所述存储器存储的程序被执行
时,所述处理器用于执行如本申请实施例第二方面任一项所述的方法中的步骤的指令。
[0013]第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如本申请实施例第二方面任一项所述的方法。
[0014]第五方面,本申请实施例提供了一种计算机产品,其中,上述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,上述计算机程序可操作来使计算机执行如本申请实施例第二方面任一方法中所描述的部分或全部步骤。该计算机程序产品可以为一个软件安装包。
[0015]可见,通过上述数据处理装置、数据处理方法及相关装置,包括神经网络处理器,所述神经网络处理器包括处理单元阵列和M个存储模块,所述处理单元阵列包括M列处理单元集,M为正偶数,所述神经网络处理器适用于NxN的卷积核,N为大于1且小于x的正整数;每个存储模块包括与神经网络层数一一对应的环形缓存空间,每层的M个环形缓存空间组成至多M/2个循环缓存空间,每个循环缓存空间包括至少2个至多M个环形缓存空间;每个环形缓存空间包括x行缓存地址空间,x为大于2的正整数,所述x行缓存地址空间包括前N

1行首部地址空间和后N

1行尾部地址空间;组成所述循环缓存空间的任意一个环形缓存空间的尾部地址空间之后N

1行尾部拷贝空间用于存储复制的其后一个环形缓存空间的前N

1行首部地址空间的数据,组成所述循环缓存空间的任意一个环形缓存空间的首部地址空间之前N

1行首部拷贝空间用于存储复制的其前一个环形缓存空间的N

1行尾部地址空间的数据;所述M个存储模块用于分布式存储第一数据,所述M列处理单元集用于从所述M个存储模块中读取分布式存储的所述第一数据。可以降低数据读取时访问内存的频率,降低总线带宽占用量和系统功耗。
附图说明
[0016]为了更清楚地说明本专利技术实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0017]图1为本申请实施例提供的一种数据处理装置的架构示意图;
[0018]图2为本申请实施例提供的一种存储模块的结构示意图;
[0019]图3为本申请实施例提供的一种环形缓存空间的结构示意图;
[0020]图4为本申请实施例提供的一种循环缓存空间的示例结构图;
[0021]图5为本申请实施例提供的一种数据处理方法的流程示意图;
[0022]图6为本申请实施例提供的一种神经网络处理器的架构示意图;
[0023]图7为本申请实施例提供的一种带宽占比对比示意图;
[0024]图8为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
[0025]为了使本
的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员
在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0026]本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。
[0027]应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,表示前后关联对象是一种“或”的关系。本申请实施例中出现的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据处理装置,其特征在于,包括神经网络处理器,所述神经网络处理器包括处理单元阵列和M个存储模块,所述处理单元阵列包括M列处理单元集,M为正偶数,所述神经网络处理器适用于NxN的卷积核,N为大于1且小于x的正整数;每个存储模块包括与神经网络层数一一对应的环形缓存空间,每层的M个环形缓存空间组成至多M/2个循环缓存空间,每个循环缓存空间包括至少2个至多M个环形缓存空间;每个环形缓存空间包括x行缓存地址空间,x为大于2的正整数,所述x行缓存地址空间包括前N

1行首部地址空间和后N

1行尾部地址空间;组成所述循环缓存空间的任意一个环形缓存空间的尾部地址空间之后N

1行尾部拷贝空间用于存储复制的其后一个环形缓存空间的前N

1行首部地址空间的数据,组成所述循环缓存空间的任意一个环形缓存空间的首部地址空间之前N

1行首部拷贝空间用于存储复制的其前一个环形缓存空间的N

1行尾部地址空间的数据;所述M个存储模块用于分布式存储待存储数据,所述M列处理单元集用于从所述M个存储模块中读取分布式存储的所述待存储数据。2.一种数据处理方法,其特征在于,应用于权利要求1所述的数据处理装置,所述方法包括:获取待存储数据;根据所述待存储数据的通道数n将所述待存储数据划分为n个待存储子数据,n为小于或等于M/2的正整数;将每个待存储子数据写入INT(M/n)个环形缓存空间组成的循环缓存空间中,任意一个循环缓存空间用于存储任意一个待存储子数据。3.根据权利要求2所述的方法,其特征在于,所述将每个待存储子数据写入INT(M/n)个环形缓存空间组成的循环缓存空间中,包括:获取所述每个待存储子数据的行数y;将所述每个待存储子数据依次写入所述INT(M/n)个环形缓存空间组成的所述循环缓存空间,写入y/(INT(M/n)*x)轮以存储所述第一数据。4.根据权利要求2所述的方法,其特征在于,所述将每个待存储子数据写入INT(M/n)个环形缓存空间组成的循环缓存空间中,包...

【专利技术属性】
技术研发人员:高迪
申请(专利权)人:OPPO广东移动通信有限公司
类型:发明
国别省市:

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

1