【技术实现步骤摘要】
【国外来华专利技术】用于提供掩码寄存器与通用寄存器或存储器之间的转换的指令和逻辑
本公开涉及处理逻辑、微处理器以及相关的指令集体系结构的领域,该指令集体系结构在被处理器或其他处理逻辑所执行时运行逻辑、数学或其他功能性操作。具体而言,本公开涉及用于提供掩码寄存器与通用寄存器或存储器之间的转换的指令和逻辑。
技术介绍
目前的诸多处理器通常包括用于提供计算密集型操作但提供高度数据并行性的指令,这些指令可通过使用多种数据存储设备的高效实现来使用,这些数据存储设备诸如:单指令多数据(SIMD)向量寄存器。过去的一些向量处理器曾使用两种类型的特殊控制寄存器:掩码寄存器,用于选择性地禁用或掩蔽针对向量寄存器中的特定向量元素的操作;以及向量长度寄存器,用于指示存储在向量寄存器中的向量元素的数量。还提供了用于根据向量比较的结果来设置掩码寄存器的指令。由于这些受限制的掩蔽操作方法典型地采用流水线化的向量比较的执行,所以可能尚未充分实现利用掩码寄存器的潜在性能优势。此外,一些实现方式利用对掩码寄存器的流水线化测试来选择性地禁用或掩蔽针对特定向量元素的操作,并且在一些实现方式中,仅仅被掩蔽的操作的结果的写入被禁用,并且被掩蔽的操作仍在流水线中执行,因此减弱了利用掩码寄存器的潜在性能优势。这样的实现方式会限制例如来自宽或大宽度向量体系结构的原本预期的性能优势。到目前为止,尚未充分探索针对这样的性能受限问题和瓶颈的潜在解决方案。附图说明在附图的各图中通过示例而非限制地示出本专利技术。图1A是执行用于提供掩码寄存器与通用寄存器或存储器之间的转换的指令的系统的一个实施例的框图。图1B是执行用于提供掩码寄存器 ...
【技术保护点】
一种处理器,包括:掩码寄存器,包括第一多个数据字段,所述第一多个数据字段用于存储指示被掩蔽的向量元素的值和指示未被掩蔽的向量元素的值;解码级,用于解码第一指令,所述第一指令指定目的地操作数、与所述第一多个数据字段的部分相对应的掩码长度、以及源操作数;以及执行单元,用于响应于经解码的第一指令:从所述源操作数中的数据字段读取多个值,所述多个值的数量对应于由所述第一指令指定的掩码长度;将所述多个值存储至由所述第一指令指定的目的地操作数中的相应数据字段中;以及将指示被掩蔽的向量元素的值存储至所述目的地操作数中的除了与由所述第一指令指定的掩码长度相对应的所述第一多个数据字段的所述部分之外的任何数据字段中。
【技术特征摘要】
【国外来华专利技术】1.一种处理器,包括:掩码寄存器,包括第一多个数据字段,所述第一多个数据字段用于存储指示被掩蔽的向量元素的值和指示未被掩蔽的向量元素的值;解码级,用于解码第一指令,所述第一指令指定目的地操作数、与所述第一多个数据字段的部分相对应的掩码长度、以及源操作数;以及执行单元,用于响应于经解码的第一指令:从所述源操作数中的数据字段读取多个值,所述多个值的数量对应于由所述第一指令指定的掩码长度;将所述多个值存储至由所述第一指令指定的目的地操作数中的相应数据字段中;以及将指示被掩蔽的向量元素的值存储至所述目的地操作数中的除了与由所述第一指令指定的掩码长度相对应的所述第一多个数据字段的所述部分之外的任何数据字段中。2.如权利要求1所述的处理器,其特征在于,所述指定的目的地操作数是掩码寄存器。3.如权利要求2所述的处理器,其特征在于,所述指定的源操作数是通用寄存器。4.如权利要求2所述的处理器,其特征在于,所述指定的源操作数是存储器位置。5.如权利要求1所述的处理器,其特征在于,所述指定的源操作数是所述掩码寄存器。6.如权利要求5所述的处理器,其特征在于,所述指定的目的地操作数是通用寄存器。7.如权利要求5所述的处理器,其特征在于,所述指定的目的地操作数是存储器位置。8.一种执行指令的方法,包括:从由第一可执行指令指定的源操作数中的第一多个数据字段的一部分中读取多个值,所述第一多个数据字段用于存储指示被掩蔽的向量元素的值和指示未被掩蔽的向量元素的值,所述多个值的数量对应于由所述第一可执行指令指定的掩码长度;将所述多个值存储至由所述第一可执行指令指定的目的地操作数中的相应数据字段中;以及将指示被掩蔽的向量元素的值存储至所述目的地操作数中的除了与由所述第一可执行指令指定的掩码长度相对应的多个数据字段之外的任何数据字段中。9.如权利要求8所述的方法,其特征在于,还包括:将所述多个值存储至掩码寄存器中的与由所述第一可执行指令指定的目的地操作数相对应的相应数据字段中。10.如权利要求9所述的方法,其特征在于,还包括:从通用寄存器中的与由所述第一可执行指令指定的源操作数相对应的数据字段读取所述多个值。11.如权利要求9所述的方法,其特征在于,还包括:从存储器位置中的与由所述第一可执行指令指定的源操作数相对应的数据字段读取所述多个值。12.如权利要求8所述的方法,其特征在于,还包括:从掩码寄存器源操作数中的与由所述第一可执行指令指定的源操作数相对应的数据字段读取所述多个值。13.如权利要求12所述的方法,其特征在于,还包括:将所述多个值存储至通用寄存器中的与由所述第一可执行指令指定的目的地操作数相对应的相应数据字段中。14.如权利要求12所述的方法,其特征在于,还包括:将所述多个值存储至存储器位置中的与由所述第一可执行指令指定的目的地操作数相对应的相应数据字段中。15.一种处理器,包括:掩码寄存器,包括第一多个数据字段,所述第一多个数据字段用于存储指示被掩蔽的向量元素的值和指示未被掩蔽的向量元素的值;通用寄存器;解码级,用于解码第一指令,所述第一指令指定目的地操作数、与所述第一多个数据字段的部分相对应的掩码长度、以及源操作数;以及执行单元,响应于由经解码的所述第一指令指定的目的地操作数是所述通用寄存器,用于:从掩码寄存器源操作数中的数据字段中读取多个值,所述多个值的数量对应于由所述第一指令指定的掩码长度;将所述多个值存储到由所述第一指令指定的通用寄存器目的地操作数中的相应数据字段中;以及将指示被掩蔽的向量元素的值存储到所述通用寄存器目的地操作数中的除了与由所述第一指令指定的掩码长度相对应的多个数据字段之外的任何数据字段中;所述执行单元,响应于由经解码的所述第一指令指定的源操作数是所述通用寄存器,用于:从由所述第一指令指定的通用寄存器源操作数中的数据字段中读取多个值,所述多个值的数量对应于由所述第一指令指定的掩码长度;将所述多个值存储到掩码寄存器目的地操作数中的相应数据字段中;以及将指示被掩蔽的向量元素的值存储到所述掩码寄存器目的地操作数中的除了与由所述第一指令指定的掩码长度相对应的多个数据字段之外的任何数据字段中。16.如权利要求15所述的处理器,其特征在于,所述通用寄存器是32位寄存器。17.如权利要求15所述的处理器,其特征在于,所述通用寄存器是64位寄存器。18.如权利要求15所述的处理器,其特征在于,所述掩码长度对应于由所述第...
【专利技术属性】
技术研发人员:E·乌尔德阿迈德瓦尔,J·考博尔,R·凡伦天,B·L·托尔,M·J·查尼,
申请(专利权)人:英特尔公司,
类型:发明
国别省市:美国;US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。