[发明专利]一种基于FPGA的数据信息快速排序方法、系统、设备及存储介质有效

专利信息
申请号: 202111106400.7 申请日: 2021-09-22
公开(公告)号: CN113900622B 公开(公告)日: 2022-04-08
发明(设计)人: 冯水春;周海;刘一腾;卞春江;张彪;李辉 申请(专利权)人: 中国科学院国家空间科学中心
主分类号: G06F7/24 分类号: G06F7/24
代理公司: 北京方安思达知识产权代理有限公司 11472 代理人: 李彪;武玥
地址: 100190 *** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 基于 fpga 数据 信息 快速 排序 方法 系统 设备 存储 介质
【权利要求书】:

1.一种基于FPGA的数据信息快速排序方法,其特征在于,该方法包括:

步骤1)确定待排序的数据序列的内部缓存大小,并建立缓存;其中,所述待排序的数据序列包括多个数据点;

所述内部缓存大小包括:缓存宽度和缓存深度;所示缓存宽度为数据点的数量,所述缓存深度为待排序的数据序列的数据点对应的最大值;

步骤2)从外部读入待排序的数据序列中的第i个数据点,将读入的第i个数据点作为缓存地址与其对应的数据区一一映射,并逐个存入步骤1)建立的缓存中;

步骤3)在步骤2)读入第i个数据点时,在FPGA内部更新最大值数据寄存器和最小值数据寄存器,对应的记录待排序的数据序列中的最大值数据点与最小值数据点;

步骤4)重复步骤2)和3),直到将待排序的数据序列中的每个数据点作为缓存地址和对应的数据区写入缓存中,得到缓存后的待排序的数据序列,同时在重复步骤2)和步骤3)的过程中,更新最大值数据点和最小值数据点,得到缓存后的待排序的数据序列中的最大值数据点与最小值数据点;

步骤5)根据所需要的排序情况,对缓存后的待排序的数据序列进行对应的排序,逐个读取每个数据点,完成排序;

待排序数据放入对应的缓存地址后,将与该缓存地址对应的数据区flag标记为1,无数据放入对应的缓存地址后,将与该缓存地址对应的数据区flag标记为0;如果序列中有重复数据,则对重复数据进行累加计数。

2.根据权利要求1所述的基于FPGA的数据信息快速排序方法,其特征在于,所述步骤5)具体包括:

若所需要的排序情况为升序,则对缓存后的待排序的数据序列进行升序排序,从最小缓存地址开始逐个读取,一直读到最大缓存地址,得到排序后的数据序列;

对读出的每个缓存地址对应的数据区中的数值进行判断;

如果该数据区中的数值不为0,则表明该缓存地址为待排序的数据序列的中的有效数据,将该缓存地址放入排序后数据序列中,完成排序,并提取数据区中的有效数据,将该数据区中的数值作为重复的有效数据的数量;

如果该数据区中的数值为0,则表明该缓存地址为待排序的数据序列的中的无效数据,跳过该地址,继续读取下一个缓存地址。

3.根据权利要求1所述的基于FPGA的数据信息快速排序方法,其特征在于,所述步骤5)具体包括:

若所需要的排序情况为降序,则对缓存后的待排序的数据序列进行降序排序,从最大缓存地址开始逐个读取,一直读到最小缓存地址,得到排序后的数据序列;

对读出的每个缓存地址对应的数据区中的数值进行判断;

如果数据区中的数值不为0,则表明该缓存地址为待排序的数据序列的中的有效数据,将该缓存地址放入排序后数据序列中,完成排序,并提取数据区中的有效数据,将该数据区中的数值作为重复的有效数据的数量;

如果该数据区中的数值为0,则表明该缓存地址为待排序的数据序列的中的无效数据,跳过该地址,继续读取下一个地址。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院国家空间科学中心,未经中国科学院国家空间科学中心许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202111106400.7/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top