【技术实现步骤摘要】
从N个M位数的集合中选择第I大或第P小的数
技术介绍
有许多情形要求硬件对两个或更多个输入二进制数排序,即,按大小顺序对它们排列。此类排序器通常由如图1所示的多个相同逻辑块构成。图1示出实例硬件布置100的示意图,实例硬件布置100用于按大小顺序对4个输入x1,x2,x3,x4排序,即,使得output1≥output2≥output3≥output4。可以看出,这个排序器100包括5个相同逻辑块102,每个逻辑块102输出两个输入(其可以被表示为a和b)的最大(largest)和最小(smallest)(即,最大(max)和最小(min))值。每个逻辑块102接收两个n位整数输入(a,b),并包括返回指示是否a>b的布尔的比较器。接着,使用可以被称作‘选择’信号的比较器输出来控制多个n位宽复用器,每个复用器在来自a的n位或来自b的n位之间进行选择。如果逻辑块102输出最大和最小值(来自a和b,如图1中的实例中所示),那么使用选择信号来控制2n位(例如呈2n个1位宽复用器或两个n位宽复用器的形式)的复用。替代地,如果 ...
【技术保护点】
1.一种用于生成和选择数的在硬件逻辑中实施的方法,所述方法包括:/n执行用于生成n个数的集合的MSB优先迭代生成过程;/n在执行用于生成n个数的所述集合的所述MSB优先迭代生成过程的同时,执行用于从n个数的所述集合中选择第i大或第p小的数的MSB优先迭代选择过程,其中i、p和n是整数;以及/n响应于所述MSB优先迭代选择过程确定n个数的所述集合中的所述数中的特定数将不是选定数,在已生成所述特定数的位中的至少一个之后并在已生成所述特定数的所有所述位之前暂停由所述MSB优先迭代生成过程生成所述特定数,/n其中所述方法包括输出指示所述选定数的数据。/n
【技术特征摘要】
20181031 GB 1817759.2;20190628 GB 1909370.71.一种用于生成和选择数的在硬件逻辑中实施的方法,所述方法包括:
执行用于生成n个数的集合的MSB优先迭代生成过程;
在执行用于生成n个数的所述集合的所述MSB优先迭代生成过程的同时,执行用于从n个数的所述集合中选择第i大或第p小的数的MSB优先迭代选择过程,其中i、p和n是整数;以及
响应于所述MSB优先迭代选择过程确定n个数的所述集合中的所述数中的特定数将不是选定数,在已生成所述特定数的位中的至少一个之后并在已生成所述特定数的所有所述位之前暂停由所述MSB优先迭代生成过程生成所述特定数,
其中所述方法包括输出指示所述选定数的数据。
2.根据权利要求1所述的方法,其中所述MSB优先迭代生成过程是坐标旋转数字计算机(CORDIC)过程或在线算术过程。
3.根据权利要求1所述的方法,其中执行所述MSB优先迭代选择过程包括执行多次迭代,其中所述迭代中的每一次包括:
对来自所述集合的所述数中的每一个的位求和以生成求和结果,其中被求和的所有所述位在它们的相应数内占据相同位位置;
将所述求和结果与阈值进行比较,其中所述阈值是基于i或p计算的;
基于所述比较的结果设置所述选定数的位;以及
针对所述集合的所述数中的每一个,基于所述比较的所述结果和来自所述数的所述位的值选择性地更新所述数中占据下一个位位置的位。
4.根据权利要求3所述的方法,其中在第一次迭代中,对来自所述集合的所述数中的每一个的最高有效位求和并设置所述选定数的最高有效位,并且每次后续迭代对在自己的相应数中占据连续位位置的位求和并设置所述选定数的下一个位。
5.根据权利要求3所述的方法,其中所述选定数是来自n个数的所述集合的所述第i大的数,并且所述阈值等于i。
6.根据权利要求3所述的方法,其中所述选定数是来自n个数的所述集合的所述第p小的数,并且所述阈值等于(n-p)或(n-p+1)。
7.根据权利要求1所述的方法,其中所述集合中的所述n个数中的每一个在完全生成的情况下是m位数。
8.根据权利要求1所述的方法,其中输出指示所述选定数的数据包括:
输出所述选定数;或
输出所述选定数在n个数的所述集合内的位置的指示。
9.一种处理单元,所述处理单元被配置成生成和选择数,所述处理单元包括:
生成逻辑单元,所述生成逻辑单元在硬件中实施,被配置成执行用于生成n个数的集合...
【专利技术属性】
技术研发人员:托马斯·罗斯,罗伯特·麦克基米,
申请(专利权)人:想象技术有限公司,
类型:发明
国别省市:英国;GB
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。