【技术实现步骤摘要】
【国外来华专利技术】用于提供矢量地址冲突检测功能的方法、装置、指令和逻辑相关申请的交叉引用本申请涉及:2009年10月1日提交的标题为“VectorInstructionstoEnableEfficientSynchronizationandParallelReductionOperations”的申请序列号NO.12/079,774;2010年12月21日提交的标题为“MechanismforConfilictDetectionUsingSIMD”的申请序列号NO.12/974,157;以及2010年12月22日提交的标题为“VectorConfictInstructions”的申请序列号NO.12/976,616。
本公开涉及处理逻辑、微处理器和相关联的指令集架构的领域,所述相关联的指令集架构在被处理器或其它处理逻辑执行时,执行逻辑、数学或其它功能操作。特别是,本公开涉及提供SIMD矢量地址冲突检测功能的指令和逻辑。
技术介绍
现代处理器常常包括用于提供操作的指令,所述操作是计算密集的,但给予可以通过使用各种数据存储设备(例如,单指令多数据(SIMD)矢量寄存器)的有效实现来利用的高级数据并行性。在SIMD执行中,单个指令在多个数据元素上并发或同时操作。这一般通过扩展各种资源(例如,寄存器和算术逻辑单元(ALU))的宽度,允许它们分别在多个数据元素上保存或操作来实现。中央处理单元(CPU)可以提供这样的并行硬件以支持矢量的SIMD处理。矢量是保存多个连续数据元素的数据结构。尺寸L的矢量寄存器可以包含尺寸M的N个矢量元素,其中N=L/M。例如,64字节矢量寄存器可以被划分成 ...
【技术保护点】
一种处理器,包括:第一寄存器,其包括第一多个数据字段,其中,在所述第一寄存器中的第一多个数据字段中的每一个与针对在存储器中的数据元素的偏移相对应;目的寄存器,其包括与所述第一多个数据字段相对应的第二多个数据字段,其中,在所述目的寄存器中的第二多个数据字段中的每一个的一部分用于存储具有针对所述第一多个数据字段中的每一个的掩码位的位掩码;解码级,其对指定矢量冲突操作和数据字段尺寸的第一指令进行解码;以及一个或多个执行单元,其响应于所解码的第一指令,用于:读取在所述第一寄存器中的数据字段中的每一个的值;对于在所述第一寄存器中的第一多个数据字段中的每一个数据字段,将它的相对应的偏移与所述多个数据字段中的每个较不重要的数据字段进行比较,以确定它们是否保存着匹配的偏移,以及对于与在所述第一寄存器中的数据字段相对应的、在所述目的寄存器中的第二多个数据字段中的每一个数据字段,将与保存着和在所述第一寄存器中的该相对应的数据字段相匹配的偏移的、在所述第一寄存器中的较不重要的数据字段相对应的任何掩码位设置为第一值,并且将在所述目的寄存器中的任何其它位设置为第二值。
【技术特征摘要】
【国外来华专利技术】2012.12.29 US 13/731,0061.一种处理器,包括:第一寄存器,其包括第一多个数据字段,其中,在所述第一寄存器中的第一多个数据字段中的每一个与针对在存储器中的数据元素的偏移相对应;目的寄存器,其包括与所述第一多个数据字段相对应的第二多个数据字段,其中,在所述目的寄存器中的第二多个数据字段中的每一个的一部分用于存储具有针对所述第一多个数据字段中的每一个的掩码位的位掩码;解码级,其对指定矢量冲突操作和数据字段尺寸的第一指令进行解码;以及一个或多个执行单元,其响应于所解码的第一指令,用于:读取在所述第一寄存器中的数据字段中的每一个的值;对于在所述第一寄存器中的第一多个数据字段中的每一个数据字段,将它的相对应的偏移与所述多个数据字段中的每个较不重要的数据字段进行比较,以确定它们是否保存着匹配的偏移,以及对于与在所述第一寄存器中的数据字段相对应的、在所述目的寄存器中的第二多个数据字段中的每一个数据字段,将与保存着和在所述第一寄存器中的该相对应的数据字段相匹配的偏移的、在所述第一寄存器中的较不重要的数据字段相对应的任何掩码位设置为第一值,并且将在所述目的寄存器中的任何其它位设置为第二值。2.如权利要求1所述的处理器,其中,所述第一值是一。3.如权利要求2所述的处理器,其中,所述第二值是零。4.如权利要求1所述的处理器,其中,所述第一指令是矢量冲突指令,用于测试在所述第一寄存器中的第一多个数据字段中的每一个数据字段中的偏移,以确定与更接近所述第一寄存器的最低有效位的所述第一多个数据字段中的所有其它数据字段的相等性。5.如权利要求4所述的处理器,其中,所述第二多个数据字段中的每一个保存32位。6.如权利要求5所述的处理器,其中,存储位掩码的所述第二多个数据字段中的每一个的所述部分包括4位。7.如权利要求5所述的处理器,其中,存储位掩码的所述第二多个数据字段中的每一个的所述部分包括8位。8.如权利要求5所述的处理器,其中,存储位掩码的所述第二多个数据字段中的每一个的所述部分包括16位。9.如权利要求4所述的处理器,其中,所述第二多个数据字段中的每一个保存64位。10.如权利要求9所述的处理器,其中,存储位掩码的所述第二多个数据字段中的每一个的所述部分包括2位。11.如权利要求9所述的处理器,其中,存储位掩码的所述第二多个数据字段中的每一个的所述部分包括4位。12.如权利要求9所述的处理器,其中,存储位掩码的所述第二多个数据字段中的每一个的所述部分包括8位。13.一种用于提供矢量地址冲突检测功能的方法,包括:在第一矢量寄存器的第一多个数据字段的每一个中存储针对存储器中的数据元素的偏移;在处理器中执行用于矢量地址冲突检测的单指令多数据SIMD指令;以及对于在所述第一矢量寄存器中的所述第一多个数据字段中的每一个数据字段,将它的相对应的偏移与所述第一多个数据字段的每个较不重要的数据字段进行比较,以确定它们是否保存着匹配的偏移,以及将冲突掩码存储在第一矢量目的寄存器中的第二多个数据字段中的每一个相对应的数据字段的一部分中,所述冲突掩码指示哪些较不重要的数据字段保存着与所述相对应的数据字段匹配的偏移。14.如权利要求13所述的方法,其中,所述第二多个数据字段中的每一个保存32位。15.如权利要求14所述的方法,其中,所述第二多个数据字段中的每一个相对应的数据字段的所述部分包括多达4位。16.如权利要求14所述的方法,其中,所述第二多个数据字段中的每一个相对应的数据字段的所述部分包括多达8位。17.如权利要求14所述的方法,其中,所述第二多个数据字段中的每一个相对应的数据字段的所述部分包括多达16位。18.如权利要求13所述的方法,其中,所述第二多个数据字段中的每一个保存64位。19.如权利要求18所述的方法,其中,所述第二多个数据字段中的每一个相对应的数据字段的所述部分包括多达2位。2...
【专利技术属性】
技术研发人员:C·休斯,E·乌尔德艾哈迈德瓦勒,R·瓦伦丁,J·科巴尔,B·L·托尔,M·J·查尼,M·B·吉尔卡尔,
申请(专利权)人:英特尔公司,
类型:发明
国别省市:美国;US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。