[发明专利]一种数据信息排序方法、CPU端、FPGA端及系统有效
申请号: | 201710607627.7 | 申请日: | 2017-07-24 |
公开(公告)号: | CN107391088B | 公开(公告)日: | 2021-03-02 |
发明(设计)人: | 李雪雷 | 申请(专利权)人: | 苏州浪潮智能科技有限公司 |
主分类号: | G06F9/38 | 分类号: | G06F9/38;G06F15/78 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 罗满 |
地址: | 215100 江苏省苏州市吴*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据 信息 排序 方法 cpu fpga 系统 | ||
1.一种数据信息排序方法,其特征在于,包括:
CPU端执行从快速排序算法中分离出来的主程序算法;其中,所述CPU端执行主程序算法的过程,包括将待排序数据集传递到FPGA端,并向FPGA端发送排序启动控制命令;
所述FPGA端在获取到所述排序启动控制命令后,执行从所述快速排序算法中分离出来的kernel程序算法,以对所述待排序数据集进行排序处理,得到相应的排序结果;
其中,所述CPU端将待排序数据集传递到FPGA端,包括:在所述FPGA端上创建目标缓存;将所述待排序数据集发送至所述目标缓存;所述对所述待排序数据集进行排序处理,包括:S11:对待排序数据集进行排序处理,并将本次排序结果保存至所述FPGA端的所述目标缓存中;S12:将步骤S11中的排序结果作为新的待排序数据集,并进入步骤S11,直到步骤S11的执行次数等于预设次数阈值为止;
其中,所述对待排序数据集进行排序处理,并将本次排序结果保存至所述FPGA端的所述目标缓存中的过程,包括:将待排序数据集中的第一个数据设为轴点;将待排序数据集的目标剩余数据依次写入所述目标缓存,然后将所述第一个数据写入所述目标缓存的最后一个空缺位置,以实现对待排序数据集的排序处理并对排序结果进行存储;其中,所述目标剩余数据为当前待排序数据集中除所述第一个数据之外的数据;
并且,任意相邻两次排序处理对应的排序结果分别保存在所述目标缓存的第一缓存区和第二缓存区;其中所述第一缓存区和第二缓存区为所述目标缓存上两个大小相同的存储区域。
2.根据权利要求1所述的方法,其特征在于,所述得到相应的排序结果之后,还包括:
所述FPGA端将所述排序结果保存至所述目标缓存,并向所述CPU端发送排序完毕指示信号;
所述CPU端接收到所述排序完毕指示信号之后,从所述目标缓存中读取出所述排序结果。
3.根据权利要求1所述的方法,其特征在于,所述将待排序数据集的目标剩余数据依次写入所述目标缓存的过程,包括:
S21:从所述目标剩余数据中取出一个未写入的数据,得到当前待写入数据;
S22:判断当前待写入数据是否大于所述第一个数据,如果是,则通过第一channel将当前待写入数据写入第一片上缓存,如果否,则通过第二channel将当前待写入数据写入第二片上缓存;
S23:重新进入步骤S21,直到所述第一片上缓存和所述第二片上缓存中保存的全部数据的数据量等于第二预设数据量阈值为止;
S24:将所述第一片上缓存中保存的数据从一侧依次批量写入所述目标缓存,将所述第二片上缓存中保存的数据值从另一侧依次批量写入所述目标缓存。
4.一种CPU端,其特征在于,包括:
主程序执行模块,用于执行从快速排序算法中分离出来的主程序算法;
所述主程序执行模块,包括:
数据传递子模块,用于将待排序数据集传递到FPGA端;
命令发送子模块,用于向所述FPGA端发送排序启动控制命令,以控制所述FPGA端执行从所述快速排序算法中分离出来的kernel程序算法;
其中,所述FPGA端对所述待排序数据集进行排序处理,得到排序结果;
所述数据传递子模块,包括:缓存创建单元,用于在所述FPGA端上创建目标缓存;数据传输单元,用于将所述待排序数据集发送至所述目标缓存;
所述FPGA端对所述待排序数据集进行排序处理,包括:S11:对待排序数据集进行排序处理,并将本次排序结果保存至所述FPGA端的所述目标缓存中;S12:将步骤S11中的排序结果作为新的待排序数据集,并进入步骤S11,直到步骤S11的执行次数等于预设次数阈值为止;其中,所述对待排序数据集进行排序处理,并将本次排序结果保存至所述FPGA端的所述目标缓存中的过程,包括:将待排序数据集中的第一个数据设为轴点;将待排序数据集的目标剩余数据依次写入所述目标缓存,然后将所述第一个数据写入所述目标缓存的最后一个空缺位置,以实现对待排序数据集的排序处理并对排序结果进行存储;其中,所述目标剩余数据为当前待排序数据集中除所述第一个数据之外的数据;并且,任意相邻两次排序处理对应的排序结果分别保存在所述目标缓存的第一缓存区和第二缓存区;其中所述第一缓存区和第二缓存区为所述目标缓存上两个大小相同的存储区域。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州浪潮智能科技有限公司,未经苏州浪潮智能科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710607627.7/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种硬件信息读写的方法及装置
- 下一篇:一种流水线避免堵塞的电路实现方法
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 信息记录介质、信息记录方法、信息记录设备、信息再现方法和信息再现设备
- 信息记录装置、信息记录方法、信息记录介质、信息复制装置和信息复制方法
- 信息记录装置、信息再现装置、信息记录方法、信息再现方法、信息记录程序、信息再现程序、以及信息记录介质
- 信息记录装置、信息再现装置、信息记录方法、信息再现方法、信息记录程序、信息再现程序、以及信息记录介质
- 信息记录设备、信息重放设备、信息记录方法、信息重放方法、以及信息记录介质
- 信息存储介质、信息记录方法、信息重放方法、信息记录设备、以及信息重放设备
- 信息存储介质、信息记录方法、信息回放方法、信息记录设备和信息回放设备
- 信息记录介质、信息记录方法、信息记录装置、信息再现方法和信息再现装置
- 信息终端,信息终端的信息呈现方法和信息呈现程序
- 信息创建、信息发送方法及信息创建、信息发送装置