[发明专利]一种数据排序装置、方法及芯片有效
申请号: | 201710752463.7 | 申请日: | 2017-08-28 |
公开(公告)号: | CN109426484B | 公开(公告)日: | 2021-08-31 |
发明(设计)人: | 路长斌;郭祥本 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F7/78 | 分类号: | G06F7/78 |
代理公司: | 北京同达信恒知识产权代理有限公司 11291 | 代理人: | 冯艳莲 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据 排序 装置 方法 芯片 | ||
1.一种数据排序装置,其特征在于,包括:
第一比较模块,用于针对待排序数组{x1,x2,xi……xN}中包括的每一数据xi执行:将xi与所述待排序数组中除所述xi之外的其它每一数据分别比较;其中,N为正整数,i取遍1~N的任一正整数;
第一确定模块,用于根据所述第一比较模块的比较结果,确定与所述xi对应的第一数值,所述第一数值为所述待排序数组中除所述xi之外的其它各个数据中小于等于所述xi的数据的个数,或为其它各个数据中大于等于所述xi的数据的个数;
第二比较模块,用于针对所述待排序数组中包括的每一数据xi执行:将xi与所述待排序数组中位于所述xi之前的每一数据分别比较;
第二确定模块,用于根据所述第二比较模块的比较结果,确定与所述xi对应的第二数值,所述第二数值为所述待排序数组中位于所述xi之前的各个数据中等于所述xi的数据的个数;
计算模块,用于针对所述待排序数组中包括的每一数据xi执行:计算与所述xi对应的第三数值,所述第三数值为所述第一确定模块确定的所述xi对应的第一数值,与所述第二确定模块确定的所述xi对应的第二数值的差值;
排序输出模块,用于按照所述计算模块计算得到的所述待排序数组中包括的各个数据xi分别对应的第三数值从大到小或者从小到大的顺序,输出所述待排序数组中包括的各个数据xi;
其中,所述排序输出模块包括N组比较器序列和N个选择器,其中:
每组比较器序列对应一个设定值,不同组比较器序列对应不同的设定值,所述不同的设定值分别为{0,1,2…i…N-1}中的一个整数,不同组比较器序列按照各自分别对应的设定值从大到小或从小到大的顺序排列;
每组比较器序列包括N个比较器,N个比较器分别处理所述待排序数组中包括的各个数据分别对应的第三数值,确定等于比较器所在的一组比较器序列对应的设定值的第三数值,并将确定的第三数值从所述所在的一组比较器序列输出;
N个选择器与N组比较器序列一一对应连接,每个选择器用于从所述待排序数组中选择出自身连接的比较器序列输出的第三数值对应的数据,并输出。
2.如权利要求1所述的装置,其特征在于,所述第一比较模块包括N组比较器序列,每组比较器序列分别包括N-1个比较器,所述第一确定模块包括N个加法器;
N组比较器序列分别处理待排序数组中的一个数据xi,不同的比较器序列分别处理的数据互不相同;
每组比较器序列通过自身包括的N-1个比较器分别执行:将输入比较器序列的待处理数据xi分别与所述待排序数组中除所述xi之外的其它每一数据进行比较,若所述待排序数组中除所述xi之外的其它数据小于等于所述xi,则通过所述比较器序列中包括的比较器输出第一标识值,所述第一标识值的个数等于所述待排序数组中除所述xi之外的其它数据中小于等于所述xi的数据个数,或者若所述待排序数组中除所述xi之外的其它数据大于等于所述xi,则通过所述比较器序列中包括的比较器输出第二标识值,所述第二标识值的个数等于所述待排序数组中除所述xi之外的其它数据中大于等于所述xi的数据个数;
第一确定模块包括的N个加法器分别处理待排序数组中的一个数据xi,不同的加法器分别处理的数据互不相同,每个加法器针对所述待排序数组中包括的一个数据xi,将比较器对应xi输出的第一标识值的个数相加得到与xi对应的第一数值,或者将比较器对应xi输出的第二标识值的个数相加得到与xi对应的第一数值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710752463.7/1.html,转载请声明来源钻瓜专利网。
- 上一篇:并发多位加法器
- 下一篇:一种互联网的GIS水产养殖信息管理系统设计
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置