【技术实现步骤摘要】
【国外来华专利技术】用于在SIMD/向量执行中传播有条件估算值的装置和方法专利
本专利技术的实施例一般涉及计算机系统的领域。更具体地,本专利技术的实施例涉及用于在SIMD/向量执行中传播有条件估算值的装置和方法。
技术介绍
_2] 通用背景指令集,或指令集架构(ISA)是涉及编程的计算机架构的一部分,并可以包括原生数据类型、指令、寄存器架构、寻址模式、存储器架构、中断和异常处理以及外部输入和输出(I/o)。在本文中术语指令一般指宏指令一即被提供给处理器(或指令转换器,该指令转换器(例如使用静态二进制翻译、包括动态编译的动态二进制翻译)翻译、变形、仿真、或以其他方式将指令转换成要由处理器处理的一个或多个指令))以用于执行的指令一而不是微指令或微操作(micro-op)——它们是处理器的解码器解码宏指令的结果。ISA与微架构不同,微架构是实现指令集的处理器的内部设计。带有不同的微架构的处理器可以共享共同的指令集。例如,INTEL?奔腾四(Pentium4)处理器、Intel?酷睿(Core?)处理器、以及来自加利福尼亚州桑尼威尔(Sunnyvale)的超微半导体有限公司(Advanced Micro Devices, Inc.)的诸多处理器实现几乎相同版本的x86指令集(在较新的版本中加入了一些扩展),但具有不同的内部设计。例如,ISA的相同寄存器架构在不同的微架构中使用已知的技术以不同方法来实现,包括专用物理寄存器、使用寄存器重命名机制(例如,使用寄存器假名表(RAT)、重排序缓冲器(R0B)、以及引退寄存器组;使用多个寄存器映射和寄存器池)的一个或多个动态分配物理寄存器, ...
【技术保护点】
一种用于传播有条件估算值的方法,包括以下操作:读取包含在输入掩码寄存器中的每个值,每个值为真值或假值且具有与之相关联的位位置;对于从所述输入掩码寄存器读取的每个真值,产生包含所述真值的位位置的第一结果;对于从所述输入掩码寄存器读取的跟随所述第一真值的每个假值,将所述输入掩码寄存器的向量长度加上从所述输入掩码寄存器读取的上一真值的位位置,产生第二结果;以及将所述第一结果和第二结果的每一个存储在和从所述输入掩码寄存器读取的位位置相对应的输出寄存器的位位置中。
【技术特征摘要】
【国外来华专利技术】1.一种用于传播有条件估算值的方法,包括以下操作: 读取包含在输入掩码寄存器中的每个值,每个值为真值或假值且具有与之相关联的位位置; 对于从所述输入掩码寄存器读取的每个真值,产生包含所述真值的位位置的第一结果; 对于从所述输入掩码寄存器读取的跟随所述第一真值的每个假值,将所述输入掩码寄存器的向量长度加上从所述输入掩码寄存器读取的上一真值的位位置,产生第二结果;以及 将所述第一结果和第二结果的每一个存储在和从所述输入掩码寄存器读取的位位置相对应的输出寄存器的位位置中。2.如权利要求1所述的方法,其特征在于,还包括: 对于从所述输入掩码寄存器读取的在所述第一真值前的每个假值,产生包含所述假值的位位置的第三结果;以及 将所述第三结果的每一个存储在和从所述输入掩码寄存器读取的位位置相对应的输出寄存器的位位置中。3.如权利要求1所述的方法,其特征在于,还包括: 读取立即数值,且仅当所述立即数值被设为第一值时,执行所述操作。4.如权利要求3所述的方法,其特征在于,如果所述立即数值没有被设为所述第一值,则执行第二组操作。5.如权利要求4所述的方法,其特征在于,所述第二组操作包括: 读取包含在所述输入掩码寄存器中的每个值,每个值为真值或假值且具有与之相关联的位位置; 对于从所述输入掩码寄存器读取的每个真值,产生包含所述真值的位位置加上所述向量长度的第三结果;以及 将所述第三结果的每一个存储在和从所述输入掩码寄存器读取的位位置相对应的输出寄存器的位位置中。6.如权利要求5所述的方法,其特征在于,还包括: 对于从所述输入掩码寄存器读取的跟随所述第一真值的每个假值,将所述第三结果的每一个存储在所述输出寄存器中。7.如权利要求6所述的方法,其特征在于,还包括: 对于从所述输入掩码寄存器读取的在所述第一真值之前的每个假值,将从所述输入掩码寄存器读取的假值的位位置存储在所述输出寄存器中所述输出寄存器的对应位位置处。8.一种用于执行一个或多个指令以执行以下操作的处理器: 读取包含在输入掩码寄存器中的每个值,每个值为真值或假值且具有与之相关联的位位置; 对于从所述输入掩码寄存器读取的每个真值,产生包含所述真值的位位置的第一结果; 对于从所述输入掩码寄存器读取的跟随所述第一真值的每个假值,将所述输入掩码寄存器的向量长度加上从所述输入掩码寄存器读取的上一真值的位位置,产生第二结果;以及 将所述第一结果和第二结果的每一个存储在和从所述输入掩码寄存器读取的位位置相对应的输出寄存器的位位置中。9.如权利要求8所述的处理器,用于执行所述一个或多个指令以执行以下附加操作: 对于从所述输入掩码寄存器读取的在所述第一真值前的每个假值,产生包含所述假值的位位置的第三结果;以及 将所述第三结果的每一个存储在和从所述输入掩码寄存器读取的位位置相对应的输出寄存器的位位置中。10.如权利要求8所述的处理器,用于执行所述一个或多个指令以执行以下附加操作: 读取立即数值,且仅当所述立即数值被设为第一值时,执行所述操作。11.如权利要求10所述的处理器,其特征在于,如果所述立即数值没有被设为所述第一值,则所述处理器用于执行第二组操作。12.如权利要求11所述的处理器,其特征在于,所述第二组操作包括: 读取包含在所述输入掩码寄存器中的每个值,每个值为真值或假值且具有与之相关联的位位置; 对于从所述输入掩码寄存器读取的每个真值,产生包含所述真值的位位置加上所述向量长度的第三结果; 以及 将所述第三结果的每一个存储在和从所述输入掩码寄存器读取的位位置相对应的输出寄存器的位位置中。13.如权利要求12所述的处理器,用于执行所述一个或多个指令以执行以下附加操作: 对于从所述输入掩码寄存器读取的跟随所述第一真值的每个假值,将所述第三结果的每一个存储在所述输出寄存器中。14.如权利要求13所述的处理器,用于执行所述一个或多个指令以执行以下附加操作: 对于从所述输入掩码寄存器读取的在所述第一真值之前的每个假值,将从所述输入掩码寄存器读取的假值的位位置存储在所述输出寄存器中所述输出寄存器的对应位位置处。15.—种系统,包括: 存储器,用于存储指令和数据; 处理器,用于执行所述指令中的一个或多个以执行以下操作: 读取包含在输入掩码寄存器中的每个值,每个值为真值或假值且具有与之相关联的位位置; 对于从所述输入掩码寄存器读取的每个真值,产生包含所述真值的位位置的第一结果; 对于从所述输入掩码寄存器读取的跟随所述第一真值的每个假值,将所述输入掩码寄存器的向量长度加上从所述输入掩码寄存器读取的上一真值的位位置,产生第二结果;以及 将所述第一结果和第二结果的每一个存储在和从所述输入掩码寄存器读取的位位置相对应的输出寄存器的位位置中。16.如权利要求14所述的系统,其特征在于,所述处理器用于执行所述一个或多个指令以执行以下附加操作: 对于从所述输入掩码寄存器读取的在所述第一真值前的每个假值,产生包含所述假值的位位置的第三结果;以及 将所述第三结果的每一...
【专利技术属性】
技术研发人员:J·巴拉德瓦杰,N·万苏德范,V·W·李,D·金,A·哈特诺,S·S·巴格索克希,
申请(专利权)人:英特尔公司,
类型:发明
国别省市:美国;US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。