[发明专利]将较小的已排序向量合并和排序为较大的已排序向量的指令的方法和装置有效
申请号: | 201280072145.1 | 申请日: | 2012-03-30 |
公开(公告)号: | CN104204991B | 公开(公告)日: | 2018-01-02 |
发明(设计)人: | J·查乌加尼;C·CK金;N·R·萨蒂什 | 申请(专利权)人: | 英特尔公司 |
主分类号: | G06F1/00 | 分类号: | G06F1/00;G06F9/22;G06F9/30 |
代理公司: | 上海专利商标事务所有限公司31100 | 代理人: | 何焜 |
地址: | 美国加利*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 较小 排序 向量 合并 较大 指令 方法 装置 | ||
1.一种处理核,包括:
指令解码单元,用于解码单个指令;
指令执行单元,所述指令执行单元与所述指令解码单元耦合并具有功能单元,所述功能单元具有用于执行所述单个指令的电路,其中所述电路包括:
最小和最大比较电路,被用于分别标识来自两个不同的已排序元素集合的相同位置元素的最小值和最大值;以及
交织电路,其在所述最小和最大比较电路之后并与所述最小和最大比较电路耦合,交织电路被用于交织所述最小值和最大值以帮助形成第三已排序集合,所述第三已排序集合由来自所述两个不同的已排序元素集合的元素组成并大于所述两个不同的已排序元素集合中的每个集合,其中在所述单个指令的立即数操作数中指定所述两个不同的已排序元素集合的每一个的尺寸,
其中所述指令执行单元包括最小和最大比较电路以及随后的交织电路的多个级,所述指令执行单元还包括多路复用器,所述多路复用器用于根据所述两个不同的已排序元素集合的尺寸选择来自所述多个级中的不同级的输出。
2.如权利要求1所述的处理核,其特征在于,所述两个不同的已排序元素集合的尺寸在由所述功能单元执行的不同指令之间是可变的,并包括以下可能的尺寸:4个元素、8个元素以及16个元素。
3.如权利要求2所述的处理核,其特征在于,在所述不同指令的相应立即数操作数中指定所述两个不同的已排序元素集合的尺寸。
4.如权利要求1-3中的任一项所述的处理核,其特征在于,所述指令执行单元包括用于存储微代码的ROM,所述微代码根据所述两个不同的已排序元素集合的尺寸来控制所述指令执行单元执行通过所述最小和最大比较电路以及交织电路的循环的数量。
5.一种用于在处理核中将较小的元素集合合并和排序为较大的元素集合的方法,包括:
通过所述处理核的指令解码单元来解码单个指令;
通过所述处理核的指令执行单元中的逻辑电路来执行所述单个指令以执行以下操作:
i)通过使两个元素集合的相同位置的元素流入最小比较逻辑电路产生下一最小值集合,并通过使两个元素集合的所述相同位置的元素流入最大比较逻辑电路产生下一最大值集合;
ii)通过使所述下一最小值集合和所述下一最大值集合流过交织电路产生交织元素的集合,所述交织元素的集合对应于由上述i)的任何重复所操作的下两个元素集合;
根据所述两个元素集合中的所述元素的数量,重复以上的i)和ii),其中在所述单个指令的立即数操作数中指定所述两个元素集合的每一个的尺寸,
其中,通过使流运行通过最小比较逻辑电路、最大比较逻辑电路和交织电路的相应的连续和不同的多个级来实现所述重复,
所述方法进一步包括选择由所述多个级中的一个级产生的相应交织元素,并使所述相应交织元素流过多路复用器电路以根据所述两个元素集合的尺寸选择来自所述多个级中的不同级的输出。
6.如权利要求5所述的方法,其特征在于,通过使流循环通过相同的最小比较电路、最大比较电路和交织电路来实现所述重复。
7.如权利要求5-6中的任一项所述的方法,其特征在于,利用与所述逻辑电路相关联的ROM电路实现的查找表来实现确定上述i)和ii)的重复数量。
8.如权利要求5所述的方法,其特征在于,所述方法进一步包括,在执行i)的第一实例之前,使接收到的已排序集合运行通过预混洗逻辑电路。
9.一种机器可读存储介质,所述机器可读存储介质包括代码,所述代码在被执行时使机器执行如权利要求5-8中的任一项所述的方法。
10.一种用于在处理核中将较小的元素集合合并和排序为较大的元素集合的设备,包括用于执行如权利要求5-8中的任一项所述的方法的装置。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于英特尔公司,未经英特尔公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201280072145.1/1.html,转载请声明来源钻瓜专利网。
- 上一篇:取向感测计算装置
- 下一篇:用于基于网络的测试的方法和设备