【技术实现步骤摘要】
【国外来华专利技术】利用控制操纵的SIMD可变移位和循环
本公开涉及处理逻辑、微处理器以及相关联的指令集架构的领域,该指令集架构在被处理器或其他处理逻辑所执行时运行逻辑、数学或其他功能性操作。具体而言,本公开涉及利用控制操纵来提供单指令多数据(SIMD)可变移位和循环功能的指令和逻辑。
技术介绍
目前的诸多处理器通常包括用于提供计算密集型操作但提供高度数据并行性的指令,这些指令可通过使用多种数据存储设备的高效实现来使用,这些数据存储设备诸如:单指令多数据(SIMD)向量寄存器。过去的一些处理器已经实现用于在所有支持的向量元素尺寸上利用校正电路执行逻辑和算术的SMD移位的指令,该校正电路用于执行零填充(针对左移或逻辑移位)或符号填充(针对算术右移)。然而该方法尚不可应用于SIMD循环。在单个固定宽度的数据上执行快速循环或移位的一种常用技术称为漏斗移位器。在漏斗移位器中,首先复写(或复制)并串接数据。然后从两个串接的副本内选择所期望的循环的输出。如果需要移位而不是循环,则该校正电路技术可用于对经循环的输出进行零填充或符号填充。支持SMD循环遇到的问题涉及使移位器能对各种不同尺寸或宽度的数据起作用。理论上,可修改复制和串接以支持更多尺寸或宽度的数据,但由于这样向移位器增加了一个或多个附加的选择级,所以有可能限制移位器的性能,从而降低原本预期的例如来自宽或大宽度向量架构的性能优势。到目前为止,尚未充分探索针对这样的性能受限问题的潜在解决方案。【附图说明】在附图的各图中通过示例而非限制地示出本专利技术。图1A是执行用于利用控制操纵来提供SIMD可变移位和循环功能的指令的系统的一 ...
【技术保护点】
一种机器实现的方法,包括:复制具有第一元素尺寸的多个向量数据字段;将所述复制向量数据字段存储作为具有所述第一元素尺寸的两倍尺寸的相应的复制的数据字段;在控制逻辑中接收用于在向量元素上执行SIMD循环的元素尺寸;以及通过与特定向量元素相对应的多个选择器从所述复制的数据字段中选择多个部分,响应于所述控制逻辑接收用于在向量元素上执行SIMD循环的第一元素尺寸,与任何特定向量元素相对应的所述多个选择器针对所述特定向量元素从所述复制的数据字段中相似地选择所有部分,而响应于所述控制逻辑接收用于在向量元素上执行SIMD循环的第二元素尺寸,与任何特定向量元素相对应的所述多个选择器针对所述特定向量元素从所述复制的数据字段中不同地选择至少两个部分。
【技术特征摘要】
【国外来华专利技术】1.一种机器实现的方法,包括: 复制具有第一元素尺寸的多个向量数据字段; 将所述复制向量数据字段存储作为具有所述第一元素尺寸的两倍尺寸的相应的复制的数据字段; 在控制逻辑中接收用于在向量元素上执行SMD循环的元素尺寸;以及 通过与特定向量元素相对应的多个选择器从所述复制的数据字段中选择多个部分,响应于所述控制逻辑接收用于在向量元素上执行SMD循环的第一元素尺寸,与任何特定向量元素相对应的所述多个选择器针对所述特定向量元素从所述复制的数据字段中相似地选择所有部分,而响应于所述控制逻辑接收用于在向量元素上执行SMD循环的第二元素尺寸,与任何特定向量元素相对应的所述多个选择器针对所述特定向量元素从所述复制的数据字段中不同地选择至少两个部分。2.如权利要求1所述的机器实现的方法,其特征在于,相似地选择所述所有部分的方式是取决于用于具有所述第一元素尺寸的特定向量元素的循环的相应的移位计数。3.如权利要求2所述的机器实现的方法,其特征在于,所述第一元素尺寸是64位。4.如权利要求2所述的机器实现的方法,其特征在于,响应于所述控制逻辑接收所述第一元素尺寸而针对特定向量元素从复制的数据字段中相似地选择所有部分导致至少两个中间部分成为复制物。5.如权利要求 4所述的机器实现的方法,其特征在于,响应于所述控制逻辑接收所述第一元素尺寸而针对特定向量元素从复制的数据字段中相似地选择所有部分导致至少两个结尾部分成为复制物。6.如权利要求1所述的机器实现的方法,其特征在于,不同地选择所述至少两个部分的方式是取决于用于具有所述第二元素尺寸的特定向量元素的循环的相应的移位计数。7.如权利要求6所述的机器实现的方法,其特征在于,所述第二元素尺寸是32位。8.如权利要求6所述的机器实现的方法,其特征在于,响应于所述控制逻辑接收所述第二元素尺寸而针对特定向量元素从复制的数据字段中不同地选择至少两个部分导致不同地选择的至少两个部分成为复制物。9.一种处理器,包括: 一个或多个向量寄存器,各自包括用于存储向量元素的值的多个数据字段; 解码级,用于解码单指令多数据(SIMD)循环指令,所述单指令多数据(SIMD)循环指令指定:所述一个或多个向量寄存器的目的地操作数、所述一个或多个向量寄存器的第一操作数、向量元素尺寸、所述一个或多个向量寄存器的第二操作数;以及 SMD移位器,包括: 复制级,用于响应于解码所述SIMD循环指令来复制来自所述第二操作数的具有第一元素尺寸的数据字段,并将所述复制数据字段存储作为具有所述第一元素尺寸的两倍尺寸的相应的复制的数据字段; 控制逻辑,用于接收所述向量元素尺寸;以及 选择器级,被划分成与特定向量元素相对应的多个选择器并与所述复制级耦合,响应于所述控制逻辑接收用于所述向量元素尺寸的第一元素尺寸,与任何特定向量元素相对应的所述多个选择器针对所述特定向量元素从所述复制的数据字段中相似地选择所有部分,而响应于所述控制逻辑接收用于所述向量元素尺寸的第二元素尺寸,与任何特定向量元素相对应的所述多个选择器针对所述特定向量元素从所述复制的数据字段中不同地选择至少两个部分。10.如权利要求9所述的处理器,其特征在于,相似地选择所述所有部分的方式是取决于来自所述第一操作数的用于具有所述第一元素尺寸的特定向量元素的循环的相应的移位计数。11.如权利要求9所述的处理器,其特征在于,不同地选择所述至少两个部分的方式是取决于来自所述第一操作数的用于具有所述第二元素尺寸的特定向量元素的循环的相应的移位计数。12.—种单指令多数据(SMD)移位器,包括: 复制级,用于复制具有第一元素尺寸的向量数据字段,并存储复制向量数据字段作为具有所述第一元素尺寸的两倍尺寸的相应的复制的数据字段; 控制逻辑;以及 选择器级,被划分成与特定向量元素相对应的多个选择器并与所述复制级耦合,当在具有所述第一元素尺寸的向量元素上执行SMD循环时,与任何特定向量元素相对应的所述多个选择器响应于所述控制逻辑针对所述特定向量元素从所述复制的数据字段中相似地选择所有部分,而当在具有所述第二元素尺寸的向量元素上执行SMD循环时,与任何特定向量元素相对应的所述多个选择器响应于所述控制逻辑针对所述特定向量元素从所述复制的数据字段中不同地选择至少两个部分。13.如权利要求12所述的SIMD移位器,其特征在于,相似地选择所述所有部分的方式是取决于用于具有所述第一元素尺寸的特定向量元素的循环的相应的移位计数。14.如权利要求12所述的SIMD移位器,其特征在于,不同地选择所述至少两个部分的方式是取决于用于具有所述第二元素尺寸的特定向量元素...
【专利技术属性】
技术研发人员:A·鲁本斯坦,T·艾维拉姆,
申请(专利权)人:英特尔公司,
类型:发明
国别省市:美国;US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。