[发明专利]用于在SIMD/向量执行中传播有条件估算值的装置和方法有效
申请号: | 201180075829.2 | 申请日: | 2011-12-23 |
公开(公告)号: | CN104011649B | 公开(公告)日: | 2018-10-09 |
发明(设计)人: | J·巴拉德瓦杰;N·万苏德范;V·W·李;D·金;A·哈特诺;S·S·巴格索克希 | 申请(专利权)人: | 英特尔公司 |
主分类号: | G06F9/06 | 分类号: | G06F9/06;G06F9/30 |
代理公司: | 上海专利商标事务所有限公司 31100 | 代理人: | 张欣 |
地址: | 美国加利*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 simd 向量 执行 传播 有条件 估算 装置 方法 | ||
一种用于传播有条件估算值的装置和方法。例如,根据一个实施例的方法,包括:读取包含在输入掩码寄存器中的每个值,每个值为真值或假值且具有与之相关联的位位置;对于从输入掩码寄存器读取的每个真值,产生包含所述真值的位位置的第一结果;对于从输入掩码寄存器读取的跟随所述第一真值的每个假值,将所述输入掩码寄存器的向量长度加上从所述输入掩码寄存器读取的上一真值的位位置,从而产生第二结果;以及将第一结果和第二结果的每个存储在和从所述输入掩码寄存器读取的位位置相对应的输出寄存器的位位置中。
发明领域
本发明的实施例一般涉及计算机系统的领域。更具体地,本发明的实施例涉及用于在SIMD/向量执行中传播有条件估算值的装置和方法。
背景技术
指令集,或指令集架构(ISA)是涉及编程的计算机架构的一部分,并可以包括原生数据类型、指令、寄存器架构、寻址模式、存储器架构、中断和异常处理以及外部输入和输出(I/O)。在本文中术语指令一般指宏指令——即被提供给处理器(或指令转换器,该指令转换器(例如使用静态二进制翻译、包括动态编译的动态二进制翻译)翻译、变形、仿真、或以其他方式将指令转换成要由处理器处理的一个或多个指令))以用于执行的指令——而不是微指令或微操作(micro-op)——它们是处理器的解码器解码宏指令的结果。
ISA与微架构不同,微架构是实现指令集的处理器的内部设计。带有不同的微架构的处理器可以共享共同的指令集。例如,奔腾四(Pentium 4)处理器、酷睿(CoreTM)处理器、以及来自加利福尼亚州桑尼威尔(Sunnyvale)的超微半导体有限公司(Advanced Micro Devices,Inc.)的诸多处理器实现几乎相同版本的x86指令集(在较新的版本中加入了一些扩展),但具有不同的内部设计。例如,ISA的相同寄存器架构在不同的微架构中使用已知的技术以不同方法来实现,包括专用物理寄存器、使用寄存器重命名机制(例如,使用寄存器假名表(RAT)、重排序缓冲器(ROB)、以及引退寄存器组;使用多个寄存器映射和寄存器池)的一个或多个动态分配物理寄存器,等等。除非另行指出,术语寄存器架构、寄存器组和寄存器在本文中用于指代对软件/编程者可见的寄存器以及指令指定寄存器的方式。在需要特殊性的情况下,形容词逻辑、架构、或软件可见的将用于表示寄存器架构中的寄存器/寄存器组,而不同的形容词将用于指定给定微架构中的寄存器(例如,物理寄存器、重新排序缓冲器、引退寄存器、寄存器池)。
指令集包括一个或多个指令格式。给定指令格式定义各种字段(位的数量、位的位置)以指定要执行的操作(操作码)以及对其要执行该操作的操作数等。通过指令模板(或子格式)的定义来进一步分解一些指令格式。例如,给定指令格式的指令模板可被定义为具有指令格式的字段(所包括的字段通常按照相同的顺序,但是至少一些字段具有不同的位位置,因为包括更少的字段)的不同子集,和/或被定义为具有不同解释的给定字段。由此,ISA的每一指令使用给定指令格式(并且如果定义,则在该指令格式的指令模板的给定一个中)来表达,并且包括用于指定操作和操作数的字段。例如,示例性ADD指令具有专用操作码以及包括用于指定该操作码的操作码字段和用于选择操作数的操作数字段(源1/目的地以及源2)的指令格式,并且该ADD指令在指令流中的出现将具有选择专用操作数的操作数字段中的专用内容。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于英特尔公司,未经英特尔公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201180075829.2/2.html,转载请声明来源钻瓜专利网。