[发明专利]一种快速查找数据集最大或最小N个值的硬件装置及方法有效
申请号: | 202110278224.9 | 申请日: | 2021-03-15 |
公开(公告)号: | CN113094020B | 公开(公告)日: | 2023-03-28 |
发明(设计)人: | 程军;张向楠;梅魁志;赵英海;李昕;钟佳宏;高凡;黄瀚庭 | 申请(专利权)人: | 西安交通大学 |
主分类号: | G06F7/02 | 分类号: | G06F7/02 |
代理公司: | 西安通大专利代理有限责任公司 61200 | 代理人: | 贺小停 |
地址: | 710049 *** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 快速 查找 数据 最大 最小 硬件 装置 方法 | ||
本发明公开了一种快速查找数据集最大或最小N个值的硬件装置及方法,包括所述存储器单元,用于分组存储参与向量最大值或最小值运算的数据;所述寄存器单元,用于存储最大或最小N个值的中间结果和最终结果;所述比较器单元,用于比较当前最大值或最小值寄存器中所存储的值和当前每组对应的输入数据的大小关系;根据比较器的结果选择是否更新最大值或最小值寄存器中所存储的值。本发明通过使用两级多分组流水线设计,在不增加额外存储资源的情况下大大减少了求取最大或最小N个值的周期数,减少了计算所需的时间。
技术领域
本发明属于集成电路芯片设计技术领域,涉及数据最大值运算装置及方法,特别涉及一种快速查找数据集最大或最小N个值的硬件装置及方法。
背景技术
在信息技术迅速发展的社会背景下,每天产生的数据量是超出我们想象的,直接对这些数据进行后续计算处理是非常耗时且浪费资源的。如何快速在这些数据中筛选出有用数据以送给后续装置进一步处理成为减少信息处理量的关键。在实际应用中,人们常常利用CPU(central processing unit)或者将数据排序后再截取前面的数据给后续步骤进行处理,相较于FPGA(Field Programmable Gate Array)和ASIC(Application SpecificIntegrated Circuit),CPU更偏向于通用且耗时长、能耗高,而先排序意味着多消耗一倍的存储资源。
发明内容
本发明的目的在于提供一种快速查找数据集最大或最小N个值的硬件装置及方法,以克服现有技术存在的缺陷,本发明在不消耗额外存储资源的情况下,大幅减少了计算数据集中最大或最小N个值所需的周期数,实现快速返回最大或最小的N个值或其索引。
为达到上述目的,本发明采用如下技术方案:
一种快速查找数据集最大或最小N个值的硬件装置,包括存储器单元、寄存器单元和比较器单元;
所述存储器单元,用于分组存储参与向量最大值或最小值运算的数据;
所述寄存器单元,用于存储最大或最小N个值的中间结果和最终结果;所述中间结果是指数据分组后每组产生的最大或最小N个值;所述最终结果是指对每组得到的中间结果比较后得出的最终N个值,即所有参与最大值或最小值计算的数据参与比较得出的最终的N个最大值或N个最小值;
所述比较器单元,用于比较当前最大值或最小值寄存器中所存储的值和当前每组对应的输入数据的大小关系;根据比较器的结果选择是否更新最大值或最小值寄存器中所存储的值。
进一步地,所述寄存器单元分为三类,第一类用于临时寄存从存储器单元中读取的用于比较的临时数据;第二类用于寄存分组后每组最大或最小的N个值的中间结果;第三类寄存器用来寄存将每组的中间结果进行相互比较得到的最终结果。
进一步地,所述存储器单元包括若干存储器,所述存储器数量等于分组数量。
进一步地,所述比较器单元包括若干比较器,且每个存储器对应N个比较器。
进一步地,所述寄存器单元包括若干寄存器,且寄存器数量等于N。
一种快速查找数据集最大或最小N个值的方法,包括以下步骤:
步骤S1:将参与向量最大值或最小值运算的数据分组存储;
步骤S2:分别比较出每组中最大或最小的N个值;
步骤S3:比较各组最大或最小的N个值,从而得出整个数据集的最大或最小的N个值。
进一步地,步骤S1中分组数量确定方法如下:
在不考虑存储资源的消耗,则最优的分组数由针对不同分组数得到最终结果所需的时钟周期数确定;所需时钟周期数最少的分组数为最优的分组数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安交通大学,未经西安交通大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110278224.9/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置