[发明专利]用于确定具有多个数据元素的数据集合中的最小的两个值的方法及装置有效
申请号: | 201711404299.7 | 申请日: | 2017-12-22 |
公开(公告)号: | CN108228238B | 公开(公告)日: | 2023-07-28 |
发明(设计)人: | V.戈帕尔;J.吉尔福特 | 申请(专利权)人: | 英特尔公司 |
主分类号: | G06F9/30 | 分类号: | G06F9/30;H03M7/30 |
代理公司: | 中国专利代理(香港)有限公司 72001 | 代理人: | 张凌苗;郑冀之 |
地址: | 美国加利*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 确定 具有 数据 元素 集合 中的 最小 两个 方法 装置 | ||
用于确定两个最小值和两个最大值的处理器指令及关联装置和方法。指令包括用于确定三或四个输入值中的两个最小值/最大值的2MIN/2MAX指令。2MIN指令采用两个操作数,第一操作数将并置的min1和min2值存储在第一寄存器中且将src2比较值或两个src2并置的src2值存储在第二寄存器中。比较器被用来实现用于确定src2值是否小于min1和min2中的每个的硬件逻辑。基于硬件逻辑,将min1、min2和src2中的两个最小值作为并置值存储在第一寄存器中。以类似方式实现2MAX指令,除了该比较是src2值是否大于max1和max2值中的每个。还提供了128位2MIN和2MAX SIMD指令。
技术领域
本发明涉及一种用于确定具有多个数据元素的数据集合中的最小的两个值的方法及装置。
背景技术
霍夫曼代码(https://en.wikipedia.org/wiki/Huffman_coding)是可变长度代码,其表示具有使表示一连串符号所需要的位的总数目最小化的目标的一组符号。它们通过向较频繁地发生的符号指派较短长度的代码并且向较罕见的符号指派较长的代码来实现这一点。
霍夫曼代码的使用的一个示例在“DEFLATE”压缩算法中,其形成诸如gzip和Zlib以及Winzip和PKZIP之类的格式的基础。DEFLATE数据格式包括使用LZ77算法和霍夫曼编码的组合进行压缩的一系列块。霍夫曼编码还被用于其它目的,诸如用在JPEG、MPEG和MP3编解码器中。
至少在DEFLATE压缩的背景内,霍夫曼代码的生成包括取得直方图数据(权重)的数组,其中每个条目是符号或令牌出现在输出中的次数的计数,以及然后计算使权重和令牌长度的点积最小化的该令牌的对应代码长度。通常,保证权重的和小于64k,因此可以将权重存储为16位整数。计算代码所需要的时间是存在多少非零权重的函数。在DEFLATE中,对于距离代码(D树)而言存在多达30个值,但对于文字长度代码(LL树)而言存在多达286个值,因此用于LL数生成的时间一般是最大的。
计算霍夫曼代码的经典方式使用堆数据结构(https://en.wikipedia.org/wiki/Heap_(data_structure))。这是相当高效的,但传统的软件实现包含许多分支,其是数据相关的并且因此对于通用CPU硬件而言难以进行预测。在利用深度流水线或超标量执行的现代处理器上,这些分支误预测的代价可能变成性能限制者。
发明内容
按照本发明的第一方面的一种具有包括2MIN指令的指令集架构ISA的处理器,所述2MIN指令具有定义第一寄存器的第一操作数,其中要加载包括第一和第二当前最小值的数据参数或者其中当前存储第一和第二当前最小值,并具有定义第二寄存器的第二操作数,其中在2MIN指令的执行期间加载至少一个比较值,其中在所述2MIN 指令完成后2MIN指令输出在第一和第二当前最小值以及存储在所述第一寄存器中的所述至少一个比较值之中的两个最小值。
按照本发明的第二方面的一种具有包括128位单指令多数据SIMD指令的指令集架构ISA的处理器,所述指令被配置成在被执行时输出:
在包括第一对当前最小值和第一比较值的第一组输入值之中的第一对最小值;以及
在包括第二对当前最小值和第二比较值的第二组输入值之中的第二对最小值
按照本发明的第三方面的一种用于确定具有多个数据元素的数据集合中的最小的两个值的方法,包括:
结合循环访问所述多个数据元素对处理器指令集架构中的2MIN指令进行迭代地或递归地执行中的一个,其中2MIN指令具有定义第一寄存器的第一操作数,其中要加载包括第一和第二当前最小值的数据参数或者其中当前存储第一和第二当前最小值,并具有定义第二寄存器的第二操作数,其中在2MIN指令的执行期间加载至少一个比较值,其中在所述2MIN 指令完成后2MIN指令输出在第一和第二当前最小值以及存储在所述第一寄存器中的所述至少一个比较值之中的两个最小值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于英特尔公司,未经英特尔公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711404299.7/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置