一种数据处理方法、装置、系统和DMA控制器制造方法及图纸

技术编号:21140816 阅读:49 留言:0更新日期:2019-05-18 05:05
本发明专利技术公开了一种数据处理方法,该方法包括:在接收目标终端发送的迁移请求时,获取各个寄存器的状态信息;利用状态信息确定出处于空闲状态的目标寄存器,并利用目标寄存器接收目标终端发送的数据迁移指令;利用数据迁移指令生成描述符,并按照描述符插入规则将描述符插入缓存队列;按照缓存队列的先后顺序,将描述符发送给DMA搬移器,以使DMA搬移器在服务器主机和加速设备之间进行数据搬移。该方法可提高服务器主机与加速设备之间的数据传输效率。本发明专利技术还公开了一种数据处理装置、系统、可读存储介质和DMA控制器,具有相应的技术效果。

【技术实现步骤摘要】
一种数据处理方法、装置、系统和DMA控制器
本专利技术涉及计算机应用
,特别是涉及一种数据处理方法、装置、系统、可读存储介质和DMA控制器。
技术介绍
随着异构加速日益广泛的应用,基于诸如FPGA的加速设备也发展迅速。FPGA通过PCIE接口与服务器主机连接,服务器主机通过PCIE接口将需要加速的数据发送给FPGA,FPGA处理完成后通过PCIE接口返回相关的数据。在PCIE接口两侧的服务器主机与FPGA的数据传输中,数据传输量很大,为了提升传输速率,于是在PCIE接口引入DMA机制,解决了与服务器主机之间的大数据量的传输问题。该DMA(DirectMemoryAccess,直接内存存取)机制主要:接收数据迁移相关指令,然后执行数据搬移,数据搬移完成后向服务器主机发送中断。也就是说,PEIE接口中的DMA功能主要分为两个,一个是DMA控制器,用于负责接收和解析数据迁移指令,另一个是DMA搬移器,用于负责根据指令在服务器主机的内存和FPGA的片上存储器之间搬移对应的数据。现有单队列DMA控制器,接收数据迁移指令,由于DMA控制器接收和解析指令需要时间,因此用于接收和存储数据迁移指令的寄存器被占用较长时间,而在这段时间内,无法接收下一个数据迁移指令。当需要在服务器主机和加速设备之间搬移各种不同大小数据包的时,数据传输速率会有较大的波动。具体的,如果传输的数据包都是数据量很小的包,则数据搬移占据的时间占总时间的比率下降,服务器主机和加速设备之间的数据传输效率会有明显下降,影响数据处理效率。综上所述,如何有效地解决服务器主机与加速设备之间的数据传输效率等问题,是目前本领域技术人员急需解决的技术问题。
技术实现思路
本专利技术的目的是提供一种数据处理方法、装置、系统、可读存储介质和DMA控制器,以实现数据迁移请求的流水线操作,提升服务器主机与加速设备之间的数据传输效率,进一步提升异构加速的数据处理效率。为解决上述技术问题,本专利技术提供如下技术方案:一种数据处理方法,包括:在接收目标终端发送的迁移请求时,获取各个寄存器的状态信息;利用所述状态信息确定出处于空闲状态的目标寄存器,并利用所述目标寄存器接收所述目标终端发送的数据迁移指令;利用所述数据迁移指令生成描述符,并按照描述符插入规则将所述描述符插入缓存队列;按照所述缓存队列的先后顺序,将所述描述符发送给DMA搬移器,以使所述DMA搬移器在服务器主机和加速设备之间进行数据搬移。优选地,在各个所述寄存器与缓存队列具有映射关系时,所述按照描述符插入规则将所述描述符插入缓存队列,包括:将所述描述符插入与所述目标寄存器具有所述映射关系的目标缓存队列。优选地,按照所述缓存队列的先后顺序,将所述描述符发送给DMA搬移器,包括:按照缓存队列轮询顺序,依次发送每一个所述缓存队列位于队首的所述描述符。优选地,按照所述缓存队列的先后顺序,将所述描述符发送给DMA搬移器,包括:依次发送当前缓存队列位于队首的所述描述符;在所述当前缓存队列内无所述描述符时,则按照优先权等级或时间先后关系重新确定所述当前缓存队列。优选地,所述按照描述符插入规则将所述描述符插入缓存队列,包括:按照描述符生成顺序,将所述描述符插入所述缓存队列。优选地,在将所述描述符发送给DMA搬移器之后,还包括:接收所述DMA搬移器返回的描述符表,将所述描述符表内的描述符插入所述缓存队列。一种数据处理装置,包括:寄存器状态信息获取模块,用于在接收目标终端发送的迁移请求时,获取各个寄存器的状态信息;数据迁移信息获取模块,用于利用所述状态信息确定出处于空闲状态的目标寄存器,并利用所述目标寄存器接收所述目标终端发送的数据迁移指令;描述符生成模块,用于利用所述数据迁移指令生成描述符,并按照描述符插入规则将所述描述符插入缓存队列;描述符执行模块,用于按照所述缓存队列的先后顺序,将所述描述符发送给DMA搬移器,以使所述DMA搬移器在服务器主机和加速设备之间进行数据搬移。一种DMA控制器,包括:第一数据接口,用于与发送数据迁移指令的目标终端建立通信连接;第二数据接口,用于与DMA搬移器建立通信连接;存储器,用于存储计算机程序,所述存储器包括多个用于接收数据迁移指令的寄存器;处理器,用于执行所述计算机程序时实现如上述数据处理方法的步骤;其中,所述第一数据接口包括FPGA接口、Avalon-MM接口和Avalon-ST接口中的至少一种。一种数据处理系统,包括:服务器主机、加速设备、DMA搬移器、目标终端和如上述的DMA控制器;所述目标终端通过所述第一数据接口与所述DMA控制器建立通信连接,所述DMA搬移器通过所述第二数据接口与所述DMA控制器建立通信连接;所述服务器主机用于访问所述DMA控制器,以使所述DMA控制器获得描述符,所述DMA搬移器执行所述DMA控制器发送的描述符,在所述服务器主机和所述加速设备之间进行数据搬移,所述加速设备用于对所述服务器主机中的数据处理过程进行加速。一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述数据处理方法的步骤。应用本专利技术实施例所提供的方法,在接收目标终端发送的迁移请求时,获取各个寄存器的状态信息;利用状态信息确定出处于空闲状态的目标寄存器,并利用目标寄存器接收目标终端发送的数据迁移指令;利用数据迁移指令生成描述符,并按照描述符插入规则将描述符插入缓存队列;按照缓存队列的先后顺序,将描述符发送给DMA搬移器,以使DMA搬移器在服务器主机和加速设备之间进行数据搬移。在接收到目标终端发送的迁移请求时,可通过获取各个寄存器的状态信息,从多个寄存器中确定出一个处于空闲状态的目标寄存器。然后,利用处于空闲状态的目标寄存器接收目标终端发送的数据迁移指令,然后利用数据迁移指令生成描述符,并按照描述符插入规则将描述符插入缓存队列中。按照缓存队列的先后顺序,将描述符发送给DMA搬移器,以使DMA搬移器在服务器主机和加速设备之间进行数据搬移。在接收到迁移请求时,便可从多个寄存器中确定出一个目标寄存器,以接收数据迁移指令。多个寄存器之间互不干扰,便可实现持续接收数据迁移指令,以避免在接收数据迁移指令和对数据迁移指令进行解析得到描述符期间,由于寄存器被占用导致无法接收下一个数据迁移指令的问题。配合缓存队列便可实现数据迁移指令的接收、解析和执行之间就形成了流水线的操作,可提高服务器主机与加速设备之间的数据传输效率。相应地,本专利技术实施例还提供了与上述数据处理方法相对应的数据处理装置、系统、可读存储介质和DMA控制器,具有上述技术效果,在此不再赘述。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例中一种数据处理方法的实施流程图;图2为本专利技术实施例中一种数据处理装置的结构示意图;图3为本专利技术实施例中一种DMA控制器的结构示意图;图4为本专利技术实施例中一种数据处理系统的结构示意图。具体实施方式为了使本
的人员更好地理解本专利技术方案,下面结合附图和具体实施方式对本发本文档来自技高网
...

【技术保护点】
1.一种数据处理方法,其特征在于,包括:在接收目标终端发送的迁移请求时,获取各个寄存器的状态信息;利用所述状态信息确定出处于空闲状态的目标寄存器,并利用所述目标寄存器接收所述目标终端发送的数据迁移指令;利用所述数据迁移指令生成描述符,并按照描述符插入规则将所述描述符插入缓存队列;按照所述缓存队列的先后顺序,将所述描述符发送给DMA搬移器,以使所述DMA搬移器在服务器主机和加速设备之间进行数据搬移。

【技术特征摘要】
1.一种数据处理方法,其特征在于,包括:在接收目标终端发送的迁移请求时,获取各个寄存器的状态信息;利用所述状态信息确定出处于空闲状态的目标寄存器,并利用所述目标寄存器接收所述目标终端发送的数据迁移指令;利用所述数据迁移指令生成描述符,并按照描述符插入规则将所述描述符插入缓存队列;按照所述缓存队列的先后顺序,将所述描述符发送给DMA搬移器,以使所述DMA搬移器在服务器主机和加速设备之间进行数据搬移。2.根据权利要求1所述的数据处理方法,其特征在于,在各个所述寄存器与缓存队列具有映射关系时,所述按照描述符插入规则将所述描述符插入缓存队列,包括:将所述描述符插入与所述目标寄存器具有所述映射关系的目标缓存队列。3.根据权利要求2所述的数据处理方法,其特征在于,按照所述缓存队列的先后顺序,将所述描述符发送给DMA搬移器,包括:按照缓存队列轮询顺序,依次发送每一个所述缓存队列位于队首的所述描述符。4.根据权利要求2所述的数据处理方法,其特征在于,按照所述缓存队列的先后顺序,将所述描述符发送给DMA搬移器,包括:依次发送当前缓存队列位于队首的所述描述符;在所述当前缓存队列内无所述描述符时,则按照优先权等级或时间先后关系重新确定所述当前缓存队列。5.根据权利要求1所述的数据处理方法,其特征在于,所述按照描述符插入规则将所述描述符插入缓存队列,包括:按照描述符生成顺序,将所述描述符插入所述缓存队列。6.根据权利要求1至5任一项所述的数据处理方法,其特征在于,在将所述描述符发送给DMA搬移器之后,还包括:接收所述DMA搬移器返回的描述符表,将所述描述符表内的描述符插入所述缓存队列。7.一种数据处理装置,其特征在于,包括:寄存器状态信息获取模块,用于在...

【专利技术属性】
技术研发人员:王峰葛海亮
申请(专利权)人:郑州云海信息技术有限公司
类型:发明
国别省市:河南,41

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

1