【技术实现步骤摘要】
一种硬件查找方法和系统、电子设备及存储介质
[0001]本申请涉及微电子数字电路设计领域,尤其涉及一种硬件查找方法和系统、电子设备及存储介质。
技术介绍
[0002]查找一个长度为N的数组中第k(1≤k≤N)小的数,是数据处理中常用的操作之一。随着通信技术的发展,需要处理的数据量增大及处理实时性要求提高,近年来也陆续提出了许多查找方法来解决该问题,查找方法根据实现方式划分为软件方式和硬件方式。
[0003]相关技术中,硬件方式主要有顺序比较、双调排序、递归查找等方法。
[0004]顺序比较方法通过用N个比较器,在第i次迭代中将数组A中的全部元素依次与A[i](i=0,
…
,N
‑
1)比较,得到A中比A[i]小的元素个数c[i],比较结束后找出c[i]==k
‑
1的元素,从而实现第k小的数的查找。顺序比较方法可用硬件实现,时间复杂度是O(N)。这一方式虽然比较简单,但是当N较大时,平均需要进行N/2次比较才能得到c[i]==k
‑
1的元素,即时间复杂度是O(N),时间复杂度太大。
[0005]双调排序方法采用双调排序网络对数组进行排序,排序后得到的是按从小到大排列的整个数组,排序后的第k个元素就是第k小的元素,时间复杂度为O((logN)2)。这一方式的时间复杂度也比较大。
[0006]递归查找方法在每次递归中先选定轴数据,然后对数组进行划分,将小于轴数据的数据划分到左子数组,将大于或者等于轴数据的数据划分到右子数组 ...
【技术保护点】
【技术特征摘要】
1.一种硬件查找方法,其特征在于,所述方法包括:将原始数据输入至寄存器阵列,得到有序数组,其中,所述有序数组包括依次排列的多个元素,将所述有序数组的第一个元素的下标设置为0,从所述第一个元素开始,所述多个元素的下标依次递增;设置第一字符串,所述第一字符串是二进制字符串,所述二进制字符串的每一位数字均为1;其中,所述第一字符串的最末尾的数字对应所述有序数组的第一个元素,从所述最末尾的数字开始,所述第一字符串的每一位数字都依次对应所述有序数组中的一个元素;从所述有序数组中的多个元素中,选择一个元素作为轴数据;将所述有序数组中的元素与所述轴数据进行比较,得到多个第一结果、第二结果、和第三结果,其中,所述第一结果是根据小于所述轴数据的元素确定的,所述第二结果是根据不小于所述轴数据的元素确定的,所述第三结果是根据等于所述轴数据的元素确定的;将多个第一结果进行排列,得到第一结果向量;将多个第二结果进行排列,得到第二结果向量;将多个第三结果进行排列,得到第三结果向量;对所述第一结果向量、第二结果向量、和第三结果向量分别进行按位求和,得到与所述第一结果向量对应的第一元素数量、与所述第二结果向量对应的第二元素数量、和与所述第三结果向量对应的第三元素数量;对所述第一元素数量、所述第二元素数量和所述第三元素数量进行检测,得到检测结果,所述检测结果用于表示硬件查找是否达到要求;若所述检测结果表示硬件查找达到要求,则将所述轴数据作为目标数据,所述目标数据是将所述原始数据中的数进行升序排列时,排在预定名次的数据。2.根据权利要求1所述的一种硬件查找方法,其特征在于,将所述有序数组中的元素与所述轴数据进行比较,得到多个第一结果、第二结果、和第三结果,包括:针对每一个元素,将所述元素与所述轴数据进行比较;若所述元素小于所述轴数据,且所述第一字符串中与所述元素对应的数字为1,则确定所述元素对应的第一结果为1,否则,确定所述元素对应的第一结果为0;若所述元素不小于所述轴数据,且所述第一字符串中与所述元素对应的数字为1,则确定所述元素对应的第二结果为1,否则,确定所述元素对应的第二结果为0;若所述元素与所述轴数据相等,且所述第一字符串中与所述元素对应的数字为1,则确定所述元素对应的第三结果为1,否则,确定所述元素对应的第三结果为0。3.根据权利要求1或2所述的一种硬件查找方法,其特征在于,所述从所述有序数组中的多个元素中,选择一个元素作为轴数据,包括:将所述第一字符串与预先生成的随机向量进行按位与操作,得到第一向量;若所述第一向量为全零向量,则选择所述第一字符串中为1的最低位所对应的元素作为所述轴数据,并生成第二向量,所述第二向量是通过将所述第一字符串中与所述轴数据对应的位置的数字保留为1,将所述第一字符串中不与所述轴数据对应的位置的数字置0得到的;若所述第一向量为非全零向量,则选择所述第一向量中为1的最低位所对应的元素作为所述轴数据,并生成第二向量,所述第二向量是通过将所述第一向量中与所述轴数据对应的位置的数字保留为1,将所述第一向量中不与所述轴数据对应的位置的数字置0得到
的。4.根据权利要求3所述的一种硬件查找方法,其特征在于,所述对所述第一元素数量、所述第二元素数量和所述第三元素数量进行检测,得到检测结果,包括:若所述第一元素向量、所述第二元素向量和所述第三元素向量满足以下条件中的至少一个,则所述检测结果为所述硬件查找满足要求;所述条件包括:所述第一元素数量与所述第二元素数量之和等于所述第三元素数量;所述第一元素数量与所述第二元素数量之和不大于1;所述第一元素数量与1的和等于所述预定名次对应的数值。5.根据权利要求4所述的一种硬件查...
【专利技术属性】
技术研发人员:刘建德,马显卿,袁永亮,
申请(专利权)人:深圳高芯思通科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。