数据同步方法、系统以及相关装置制造方法及图纸

技术编号:38761966 阅读:35 留言:0更新日期:2023-09-10 10:35
本申请实施例提供了一种数据同步方法、系统以及相关装置。该方法包括:接收来自中央处理器CPU的数据搬运任务;其中,数据搬运任务包括描述符;基于描述符向外部设备发送数据搬运请求;数据搬运请求携带有第一指令序号;第一指令序号指示数据搬运请求的执行顺序;接收外部设备基于数据搬运请求返回的请求数据;请求数据中携带的第二指令序号与对应数据搬运请求中携带的第一指令序号相匹配;按照请求数据携带的第二指令序号,向CPU发送数据搬运任务对应的同步信息;同步信息用于指示数据搬运任务的执行进度。本申请能够实现DMA引擎与CPU之间的数据同步,提高数据传输效率,提升设备算力。力。力。

【技术实现步骤摘要】
数据同步方法、系统以及相关装置


[0001]本申请实施例涉及数据处理
,更具体地涉及一种数据同步方法、系统以及相关装置。

技术介绍

[0002]目前,越来越多领域需要依赖人工智能技术。人工智能在提供强大计算功能的同时,也伴随着对硬件设备的高算力需求。
[0003]如何在硬件设备中更高效地运行中央处理器 (Central Processing Unit,CPU) 指令,提升设备算力,成为研究方向之一。相关技术中,采用存储器直接访问(Direct Memory Access,DMA)传输技术,实现外部设备和存储器之间的高速数据传输,提高硬件设备的数据传输效率,减少对CPU计算资源的消耗。
[0004]DMA引擎(Engine)是一个硬件组件,用于在无需CPU介入的场景下,完成存储器与外部设备之间的数据读写,以及存储器之间的数据读写。由于不同数据读写的完成时间不一致,为提升传输效率,DMA引擎一般会乱读突发传输(burst)的方式接收不同时间反馈的数据,然而这种方式会降低CPU指令的执行效率,影响设备算力。以高级可扩展接口(Ad本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种数据同步方法,其特征在于,应用于DMA引擎,包括:接收来自中央处理器CPU的数据搬运任务;其中,所述数据搬运任务包括描述符;基于所述描述符向外部设备发送数据搬运请求;所述数据搬运请求携带有第一指令序号;所述第一指令序号指示所述数据搬运请求的执行顺序;接收所述外部设备基于所述数据搬运请求返回的请求数据;所述请求数据中携带的第二指令序号与对应数据搬运请求中携带的第一指令序号相匹配;按照所述请求数据携带的第二指令序号,向CPU发送所述数据搬运任务对应的同步信息;所述同步信息用于指示所述数据搬运任务的执行进度。2.根据权利要求1所述的方法,其特征在于,所述DMA引擎中设置有重排序缓冲区;所述按照所述请求数据携带的第二指令序号,向CPU发送所述数据搬运任务对应的同步信息,包括:基于所述请求数据携带的第二指令序号,在所述重排序缓冲区中记录所述DMA引擎已接收到的请求数据,得到所述数据搬运任务的执行进度;根据所述数据搬运任务的执行进度生成所述同步信息,并根据所述第二指令序号指示的发送顺序将所述同步信息发送给CPU。3.根据权利要求2所述的方法,其特征在于,所述基于所述请求数据携带的第二指令序号,在所述重排序缓冲区中记录所述DMA引擎已接收到的请求数据,得到所述数据搬运任务的执行进度,包括:从所述请求数据中获取所述指令序号;以所述指令序号作为索引地址,在所述重排序缓冲区中查找所述索引地址对应的存储空间;在所述索引地址对应的存储空间中写入任务完成标记;所述任务完成标记用于指示所述请求数据对应的数据搬运任务已完成;以所述重排序缓冲区中任务完成标记的写入情况,作为所述数据搬运任务的执行进度。4.根据权利要求3所述的方法,其特征在于,所述重排序缓冲区中划分出多个存储区域;所述根据所述数据搬运任务的执行进度生成所述同步信息,包括:监测所述重排序缓冲区中各个存储区域对应的任务完成标记写入情况;若监测到一个存储区域中所有存储空间均已写入任务完成标记,则生成与该存储区域中各个任务完成标记对应的数据搬运任务的同步信息。5.根据权利要求4所述的方法,其特征在于,所述生成与该存储区域中各个任务完成标记对应的数据搬运任务的同步信息之后,还包括:将该存储区域中各个任务完成标记对应的指令序号设置为待分配状态。6.根据权利要求5所述的方法,其特征在于,所述将该存储区域中各个任务完成标记对应的指令序号设置为待分配状态之后,还包括:检测处于待分配状态的指令序号在所有指令序号中所占的比例,基于所述比例通过控制状态寄存器动态配置所述重排序缓冲区的相关参数;其中,所述相关参数包括存储区域所包含的存储单元数量、单次可释放的存储单元数
量。7.根据权利要求1所述的方法,其特征在于,所述描述符中包括多个数据搬运任务的执行顺序;所述基于所述描述符向外部设备发送数据搬运请求,包括:从所述描述符中获取所述多个数据搬运任务的执行顺序;按照所述多个数据搬运任务的执行顺序,将处于待分配状态的指令序号分别配置给所述多个数据搬运任务,作为所述多个数据搬运任务各自对应的第一指令序号;分配给数据搬运任务的第一指令序号与该数据搬运任务的执行顺序对应;基于分配到的第一指令序号以及所述描述符中多个数据搬运任务各自的配置信息,生成各个数据搬运任务对应的数据搬运请求;将各个数据搬运任务对应的数据搬运请求发送给所述外部设备。8.根据权利要求1所述的方法,其特征在于,还包括:监测重排序缓冲区中是否存在未绑定数据搬运任务的存储空间;与数据搬运任务绑定的存储空间用于记录该数据搬运任务对应的执行进度;若监测到所述重排序缓冲区中所有存储空间均已绑定数据搬运任务,则生成停止指令,所述停止指令用于指示暂停所述数据搬运请求的生成过程。9.一种DMA引擎,其特征在于,所述DMA引擎包括:收发模块,被配置为接收来自中央处理器CPU的数据搬运任务;其中,所述数据搬运任务包括描述符;基于所述描述符向外部设备发送数据搬运请求;所述数据搬运请求携带有第一指令序号;所述第一指令序号指示所述数据搬运请求的执行顺序;接收所述外部设备基于所述数据搬运请求返回的请求数据;所述请求数据中携带的第二指令序号与对应数据搬运请求中携带的第一指令序号相匹配;处理模块,被配置为按照所述请求数据携带的第二指令序号,向CPU发送所述数据搬运任务对应的同步信息;所述同步信息用于指示所述数据搬运任务的执行进度。10.一种数据同步系统,其特征在于,所述系统包括CPU以及DMA引擎;其中,所述CPU,被...

【专利技术属性】
技术研发人员:杨龚轶凡郑瀚寻闯小明张家诚
申请(专利权)人:苏州仰思坪半导体有限公司
类型:发明
国别省市:

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

1