一种数据处理方法及装置、处理器、存储介质制造方法及图纸

技术编号:33536408 阅读:32 留言:0更新日期:2022-05-19 02:18
本申请提供一种数据处理方法及装置、处理器、存储介质,该装置包括:数据写入端设置写入计数器,数据读取端设置读取计数器;写入计数器,用于在数据写入端每执行一次数据写入操作的情况下,利用一次数据写入操作对应的一次写入数据量同步更新第一缓冲数据量,以供数据写入端在下一次请求执行数据写入操作的情况下,根据写入计数器中记录的第一缓冲数据量确定下一次写入数据量;读取计数器,用于在数据读取端每执行一次数据读取操作的情况下,利用一次数据读取操作对应的一次读取数据量同步更新第二缓冲数据量,以供数据读取端在下一次请求执行数据读取操作的情况下,根据读取计数器中记录的第二缓冲数据量确定下一次读取数据量。量。量。

【技术实现步骤摘要】
一种数据处理方法及装置、处理器、存储介质


[0001]本申请涉及通信
,尤其涉及一种数据处理方法及装置、处理器、存储介质。

技术介绍

[0002]从算法层面来说,人工智能网络由多个计算节点构成,每个计算节点也可称为计算层,每个计算层的输入来自于上一个计算层的输出,计算层可以包括卷积,池化,激活,尺寸缩放等运算。随着对人工智能网络探索越来越深入,人工智能网络的结构也变得更加多样化,各计算层之间的数据交互也更加复杂,故针对人工智能网络,需要一套统一的数据传输机制。
[0003]目前,可以使用Mailbox机制来管理缓冲单元(buffer)数据的写入和读出。其中,Mailbox机制可基于当前时钟周期来反馈当前buffer的数据存储情况进而控制数据写入端向buffer中写入数据和控制数据读取端从buffer中读取数据,当数据写入端和数据读取端距buffer较远时,会导致对buffer数据读写操作无法及时的更新至Mailbox中,进而在继续执行buffer数据的读写操作时,会导致数据读写溢出的问题。

技术实现思路

[0004]本申请实施例提供一种数据处理方法及装置、处理器、存储介质,能够在执行buffer数据的读写操作时,避免数据读写溢出的问题。
[0005]本申请的技术方案是这样实现的:
[0006]第一方面,本申请实施例提出一种数据处理装置,所述装置包括:数据写入端和数据读取端;所述数据写入端设置写入计数器,所述数据读取端设置读取计数器;其中,
[0007]所述写入计数器,用于在所述数据写入端每执行一次数据写入操作的情况下,利用一次数据写入操作对应的一次写入数据量同步更新第一缓冲数据量,以供所述数据写入端在下一次请求执行数据写入操作的情况下,根据所述写入计数器中记录的第一缓冲数据量确定下一次写入数据量;
[0008]所述读取计数器,用于在所述数据读取端每执行一次数据读取操作的情况下,利用一次数据读取操作对应的一次读取数据量同步更新第二缓冲数据量,以供所述数据读取端在下一次请求执行数据读取操作的情况下,根据所述读取计数器中记录的第二缓冲数据量确定下一次读取数据量。
[0009]第二方面,本申请实施例提出一种数据处理方法,应用于上述数据处理装置,所述方法包括:
[0010]在所述数据写入端请求执行数据写入操作的情况下,所述数据写入端根据所述写入计数器中记录的第一缓冲数据量确定本次写入数据量;并在所述数据写入端将所述本次写入数据量发送至缓冲单元的情况下,利用所述本次写入数据量同步更新所述写入计数器中记录的第一缓冲数据量;
[0011]在所述数据读取端请求执行数据读取操作的情况下,所述数据读取端根据所述读取计数器中记录的第二缓冲数据量确定本次读取数据量;在所述数据读取端从所述缓冲单元读取到所述本次读取数据量的情况下,利用所述本次读取数据量同步更新所述读取计数器中记录的第二缓冲数据量。
[0012]第三方面,本申请实施例提出一种缓存装置,所述缓存装置包括:缓冲单元、上述数据写入端和数据读取端;所述数据写入端与所述缓冲单元的输入端连接,所述数据读取端与所述缓冲单元的输出端连接;
[0013]所述数据写入端,用于向所述缓冲单元写入数据;
[0014]所述数据读取端,用于从所述缓冲单元读取数据。
[0015]第四方面,本申请实施例提出一种神经网络处理器,所述处理器包括:用于执行神经网络计算的计算单元和上述缓存装置。
[0016]第五方面,本申请实施例提出一种存储介质,其上存储有计算机程序,该计算机程序被执行时实现上述数据处理方法。
[0017]本申请实施例提供了一种数据处理方法及装置、处理器、存储介质,该装置包括:数据写入端和数据读取端;数据写入端设置写入计数器,数据读取端设置读取计数器;其中,写入计数器,用于在数据写入端每执行一次数据写入操作的情况下,利用一次数据写入操作对应的一次写入数据量同步更新第一缓冲数据量,以供数据写入端在下一次请求执行数据写入操作的情况下,根据写入计数器中记录的第一缓冲数据量确定下一次写入数据量;读取计数器,用于在数据读取端每执行一次数据读取操作的情况下,利用一次数据读取操作对应的一次读取数据量同步更新第二缓冲数据量,以供数据读取端在下一次请求执行数据读取操作的情况下,根据读取计数器中记录的第二缓冲数据量确定下一次读取数据量。采用上述实现方案,本申请在靠近数据写入端和数据读取端的位置均设置有计数器,能够及时同步数据写入端的数据写入操作和数据读取端的数据读取操作,在后续请求执行数据写入操作和/或数据读取操作时,能够基于数据写入端和数据读取端的计数器及时确定出buffer中的数据状态,进而避免数据读写溢出的问题。
附图说明
[0018]图1为目前的Mailbox机制的数据流图;
[0019]图2为目前的远距离情况下的Mailbox机制的数据流图;
[0020]图3为本申请实施例提供的一种数据处理装置的结构示意图;
[0021]图4为本申请实施例提供的一种示例性的第一种计数器行为的设计方案示意图;
[0022]图5为本申请实施例提供的一种示例性的第二种计数器行为的设计方案示意图;
[0023]图6为本申请实施例提供的一种示例性的第三种计数器行为的设计方案示意图;
[0024]图7为本申请实施例提供的一种数据处理方法的流程图;
[0025]图8为本申请实施例提供的一种缓存装置的结构示意图;
[0026]图9为本申请实施例提供的一种神经网络处理器的结构示意图。
具体实施方式
[0027]为了能够更加详尽地了解本申请实施例的特点与
技术实现思路
,下面结合附图对本申
请实施例的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本申请实施例。
[0028]除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的
的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
[0029]在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。还需要指出,本申请实施例所涉及的术语“第一\第二\第三”仅是用于区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
[0030]目前的Mailbox机制的数据流如图1所示,其中,数据写入(producer)端用来负责生成数据并将数据写入至buffer中,当每次需要写入数据至buffer中时,producer端需要检查buffer中的数据占用状态,此时producer端向Mailbox端发出psync信号,告知将要向buffer中写入数据的操作,当Mailbox评估出p本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据处理装置,其特征在于,所述装置包括:数据写入端和数据读取端;所述数据写入端设置写入计数器,所述数据读取端设置读取计数器;其中,所述写入计数器,用于在所述数据写入端每执行一次数据写入操作的情况下,利用一次数据写入操作对应的一次写入数据量同步更新第一缓冲数据量,以供所述数据写入端在下一次请求执行数据写入操作的情况下,根据所述写入计数器中记录的第一缓冲数据量确定下一次写入数据量;所述读取计数器,用于在所述数据读取端每执行一次数据读取操作的情况下,利用一次数据读取操作对应的一次读取数据量同步更新第二缓冲数据量,以供所述数据读取端在下一次请求执行数据读取操作的情况下,根据所述读取计数器中记录的第二缓冲数据量确定下一次读取数据量。2.根据权利要求1所述的装置,其特征在于,所述第一缓冲数据量为写入数据累加量,所述第二缓冲数据量为读取数据累加量;所述写入计数器,还用于在所述数据写入端每执行一次数据写入操作的情况下,同步将一次写入数据量累加至所述写入数据累加量;并将所述写入数据累加量经至少一个时钟周期延迟传输至所述数据读取端;所述读取计数器,用于在所述数据读取端每执行一次数据读取操作的情况下,同步将一次读取数据量累加至所述读取数据累加量;并将所述读取数据累加量经至少一个时钟周期延迟传输至所述数据写入端。3.根据权利要求1所述的装置,其特征在于,所述第一缓冲数据量为第一缓冲存储量,所述第二缓冲数据量为第二缓冲存储量;所述写入计数器,还用于在所述数据写入端每执行一次数据写入操作的情况下,同步将一次写入数据量累加至所述第一缓冲存储量中;在每延迟接收到所述数据读取端发送的一次读取数据量的情况下,在所述第一缓冲存储量中减少一次读取数据量;所述读取计数器,还用于在所述数据读取端每执行一次数据读取操作的情况下,同步在所述第二缓冲存储量中减少一次读取数据量;在每延迟接收到所述数据写入端发送的一次写入数据量的情况下,将一次写入数据量累加至所述第二缓冲存储量中。4.根据权利要求1所述的装置,其特征在于,所述第一缓冲数据量为第一缓冲存储量,所述第二缓冲数据量为第二缓冲存储量;所述写入计数器包括第一写入计数器和第二写入计数器,所述读取计数器包括第一读取计数器和第二读取计数器;所述数据读取端还包括第一减法器;所述第一写入计数器,用于在所述数据写入端每执行一次数据写入操作的情况下,同步将一次写入数据量累加至写入数据累加量中;并将更新后的写入数据累加量经至少一个时钟周期延迟传输至所述第一读取计数器和所述第一减法器;所述第二写入计数器,用于在所述数据写入端每执行一次数据写入操作的情况下,同步将一次写入数据量累加至所述第一缓冲存储量中;所述第一读取计数器,用于利用所述更新后的写入数据累加量替换所述第一读取计数器中记录的写入数据累加量;所述第一减法器,用于对所述更新后的写入数据累加量和所述第一读取计数器中记录的写入数据累加量进行减处理,得到所述一次写入数据量;
所述第二读取计数器,用于将一次写入数据量累加至所述第二缓冲存储量中;在数据读取端每执行一次数据读取操作的情况下,在所述第二缓冲存储量中减少一次读取数据量;所述第二写入计数器,还用于在延迟接收到所述读取计数器传输的一次读取数据量的情况下,在第一缓冲存储量中减少一次读取数据量。5.根据权利要求3或4所述的装置,其特征在于,所述数据写入端,用于在下一次请求执行数据写入操作的情况下,将缓冲存储总量与所述写入计数器中记录的第一缓冲存储量进行减操作,得到剩余缓冲存储容量;并利用剩余缓冲存储容量确定下一次写入数据量;所述数据读取端,用于在下一次请求执行数据读取操作的情况下,利用所述读取计数器中记录的第二缓冲存储量确定下一次读取数据量。6.根据权利要求2所述的装置,其特征在于,所述数据写入端,用于在下一次请求执行数据写入操作的情况下,根据所述写入计数器中记录的写入数据累加...

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

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

1