当前位置: 首页 > 专利查询>英特尔公司专利>正文

用于单指令、多数据执行引擎标志寄存器的评估单元制造技术

技术编号:2852316 阅读:283 留言:0更新日期:2012-04-11 18:40
根据一些实施方案,可以为单指令、多数据(SIMD)执行引擎标志寄存器提供评估单元。例如,水平评估单元可以在由SIMD执行引擎进行处理的多个向量上执行评估操作。根据一些实施方案,垂直评估单元可以在多个标志寄存器上执行评估操作。

【技术实现步骤摘要】

本专利技术涉及用于单指令、多数据执行引擎标志寄存器的评估单元
技术介绍
为了改进处理系统的性能,可以在单个指令周期中对多个操作数的数据同时执行一条指令。这样的指令可以被称为单指令、多数据(SIMD)指令。例如,八通道SIMD执行引擎可能对八个32位操作数的数据同时执行一条指令,每个操作数被映射到SIMD执行引擎的唯一计算通道。此外,可以使用一个或多个标志寄存器,每个标志寄存器具有与执行引擎的每条通道相关联的若干位置(例如,对于八通道的SIMD执行引擎而言可以提供三个8位标志寄存器)。以不同的方式高效、灵活地访问标志寄存器信息的能力可以改进执行引擎的性能。
技术实现思路
根据一些实施方案,可以为单指令、多数据(SIMD)执行引擎标志寄存器提供评估单元。例如,水平评估单元可以在由SIMD执行引擎进行处理的多个向量上执行评估操作。根据一些实施方案,垂直评估单元可以在多个标志寄存器上执行评估操作。根据本专利技术的一个方面,提供了一种方法,包括将信息存储到n通道单指令、多数据(SIMD)执行引擎的n位置标志寄存器中,所述信息代表多个m通道独立向量,其中n和m是大于1的整数;以及基于所述标志寄存器中的信息生成输出,所述输出包括至少一个其值基于代表不同独立向量的信息的位置。根据本专利技术的另一个方面,提供了一种方法,包括将信息存储到n通道单指令、多数据(SIMD)执行引擎的第一p位置标志寄存器中,其中n和p是大于1的整数;将信息存储到所述执行引擎的第二标志寄存器中;以及生成输出,该输出包括至少一个其值基于来自第一标志寄存器和第二标志寄存器两者的信息的位置。根据本专利技术的又一个方面,提供了一种方法,包括将信息存储到n通道单指令、多数据(SIMD)执行引擎的标志寄存器中,其中n是大于1的整数;接收与一组SIMD执行引擎通道相关联的指示;以及基于所述标志寄存器中与所述一组SIMD执行引擎通道相关联的信息来生成输出。根据本专利技术的再一个方面,提供了一种装置,包括n通道单指令、多数据(SIMD)执行引擎的n位标志寄存器,其中n是大于1的整数,并且所述标志寄存器的每一位都与一条通道相关联,并且其中所述标志寄存器存储来自执行单元的信息,所述信息与一个以上的多通道图形向量相关联;以及,生成n位输出的水平评估单元,其中所述输出的每一位都与所述SIMD执行引擎的一条通道相关联,并且所述输出中至少一位的值是基于所述标志寄存器中代表不同图形向量的位。根据本专利技术的再又一个方面,提供了一种装置,包括n通道单指令、多数据(SIMD)执行引擎的第一n位标志寄存器,其中n是大于1的整数;所述SIMD执行引擎的第二n位标志寄存器;以及,生成n位输出的垂直评估单元,所述输出包括至少一个其值基于来自第一标志寄存器和第二标志寄存器两者的信息的位。根据本专利技术的再又一个方面,提供了一种系统,包括处理器,所述处理器包括n通道单指令、多数据(SIMD)执行引擎,其中n是大于1的整数,所述执行引擎包括第一n位标志寄存器,第二n位标志寄存器,以及生成n位输出的垂直评估单元,所述输出包括至少一个其值基于来自第一标志寄存器和第二标志寄存器两者的信息的位;以及图形存储单元。附图说明图1和2图示了处理系统。图3图示了基本同时处理两个向量的处理系统。图4根据一些实施方案图示了用于SIMD执行引擎标志寄存器的水平评估单元。图5是根据一些实施方案的方法的流程图。图6是根据一些实施方案的方法的流程图。图7根据一些实施方案图示了用于SIMD执行引擎标志寄存器的垂直评估单元。图8是根据一些实施方案的方法的流程图。图9根据一些实施方案图示了用于SIMD执行引擎标志寄存器的垂直评估单元。图10是根据一些实施方案的方法的流程图。图11根据一些实施方案图示了用于SIMD执行引擎标志寄存器的水平和垂直评估单元。图12是根据一些实施方案的系统的框图。具体实施例方式这里所描述的一些实施方案与“处理系统”相关联。用在这里,短语“处理系统”可以指处理数据的任何设备。例如,处理系统可以与处理图形数据和/或其他类型的媒体信息的图形引擎相关联。在一些情形中,利用SIMD执行引擎可以改进处理系统的性能。例如,SIMD执行引擎可能对多个数据通道同时执行单个浮点SIMD指令(例如,为了加速变换和/或绘制(rendering)三维几何形状)。处理系统的其他实施例包括中央处理单元(CPU)和数字信号处理器(DSP)。图1图示了包括SIMD执行引擎110的一种类型的处理系统100。在这种情形中,执行引擎110接收指令,一同接收的还有四个操作数的数据,其中每个操作数都与一个不同的向量相关联(例如,从向量V0到V3的四个X分量)。每个向量例如可以包括与三维图形位置相关联的三个位置值(例如X、Y和Z)。然后,引擎110可以在单个指令周期内对所有的操作数同时执行所述指令。这样一种方法被称为“垂直”实现、“通道串行”实现或“数组结构(SOA)”实现。图2图示了包括SIMD执行引擎210的另一种类型的处理系统200。在这种情形中,执行引擎210(例如从指令存储单元)接收指令,一同接收的还有四分量的数据向量(例如,向量分量X、Y、Z和W,每个分量具有多位,设置用于在SIMD执行引擎110的相应通道0到3上进行处理)。然后,引擎210可以对所述向量中的所有分量同时执行所述指令。这样一种方法被称为“水平”实现、“通道并行”实现或“结构数组(AOS)”实现。虽然这里描述的一些实施方案与四通道SIMD执行引擎110相关联,但是应注意,SIMD执行引擎可能具有一条以上的任意数量的通道(例如,实施方案可以与一个32通道执行引擎相关联)。根据一些实施方案,SIMD引擎可以同时处理与多个向量相关联的信息。例如,图3图示了包括八通道SIMD执行引擎310在内的处理系统400,所述引擎310可以同时处理两个向量。也就是说,通道0到3可以处理向量0,同时通道4到7处理向量1。执行引擎310还可以包括标志寄存器320,其具有与每条通道相关联的若干位置。例如,标志寄存器320可以是一个8位寄存器,每一位可以是与逻辑计算通道之一相关联的一个标志(F)。标志例如可以与用于该通道的算数逻辑单元(ALU)运算所生成的一个或多个结果相关联。结果例如可以与0、非0、等于、不等于、大于、大于等于、小于、小于等于、和/或溢出条件相关联。例如,考虑用于SIMD执行引擎的以下指令add.f.z(8) r0 r1 -r2在这种情形中,从寄存器r1中的值减去寄存器r2中的值,结果被存储在寄存器r0中,如果结果等于0(“.z”),则标志寄存器320(“.f”)中的位将被置位。这将对所有的八条通道同时进行,并且标志寄存器320中的所有八位将被适当地更新。在一些应用中,以不同的方式访问标志寄存器320中的信息可能是有帮助的。例如在图形应用中,有时确定标志寄存器320中的任何标志是否为0可能是有帮助的,而在其他时候知道以下事情可能是有帮助的(i)与关联于第一向量的通道0到3相关的任何标志是否为0;(ii)与关联于第二向量的通道4到7相关的任何标志是否为0。图4根据一些实施方案图示了包括标志寄存器420的系统400。如前所述,系统400可以同时处理与多个向量相关联的信息。虽然在图4中示出了一个本文档来自技高网...

【技术保护点】
一种方法,包括:将信息存储到n通道单指令、多数据(SIMD)执行引擎的n位置标志寄存器中,所述信息代表多个m通道独立向量,其中n和m是大于1的整数;以及基于所述标志寄存器中的信息生成输出,所述输出包括至少一个其值基于代表不同 独立向量的信息的位置。

【技术特征摘要】
US 2004-12-17 11/015,7781.一种方法,包括将信息存储到n通道单指令、多数据(SIMD)执行引擎的n位置标志寄存器中,所述信息代表多个m通道独立向量,其中n和m是大于1的整数;以及基于所述标志寄存器中的信息生成输出,所述输出包括至少一个其值基于代表不同独立向量的信息的位置。2.如权利要求1所述的方法,其中所述标志寄存器具有p位,每一位代表所述SIMD执行引擎的至少一条通道,并且p小于n。3.如权利要求1所述的方法,其中所述输出具有p位,每一位代表所述SIMD执行引擎的至少一条通道,并且p小于n。4.如权利要求1所述的方法,其中每个向量(i)与所述SIMD执行引擎的至少两条通道相关联,并且(ii)包括与图形位置相关联的两个位置值。5.如权利要求1所述的方法,其中(i)所述标志寄存器具有n位,每一位代表所述SIMD执行引擎的一条通道,并且(ii)所述输出具有n位,每一位代表所述SIMD执行引擎的一条通道。6.如权利要求5所述的方法,其中所述输出中的第一位代表所述SIMD执行引擎的第一通道,并且所述输出中的所述第一位的值至少部分基于所述标志寄存器中不代表所述第一通道的位。7.如权利要求1所述的方法,其中所述生成输出的步骤包括接收与至少一组SIMD执行引擎通道相关联的指示;评估所述标志寄存器中代表所述SIMD执行引擎通道组的一组位;以及将所述评估的结果存储在所述输出中代表所述SIMD执行引擎通道组的一组位中。8.如权利要求7所述的方法,其中所述评估步骤包括判断以下之一(i)所述标志寄存器中的所述一组位是否全部都具有第一值;或者(ii)所述标志寄存器中的所述一组位是否有任一位具有第一值。9.如权利要求7所述的方法,其中指示可以与不同大小的SIMD执行引擎通道组相关联。10.如权利要求7所述的方法,其中所接收的指示与多组相关联,并且对于每一组进行所述评估和存储。11.如权利要求1所述的方法,其中所述存储的步骤包括将第一信息存储到第一标志寄存器中,并且所述方法还包括将第二信息存储到所述SIMD执行引擎的第二标志寄存器中;以及基于所述第一和第二标志寄存器中的信息生成第二输出,所述第二输出包括至少一个下述位置,该位置的值是基于来自所述第一标志寄存器和第二标志寄存器两者的信息。12.一种方法,包括将信息存储到n通道单指令、多数据(SIMD)执行引擎的第一p位置标志寄存器中,其中n和p是大于1的整数;将信息存储到所述执行引擎的第二标志寄存器中;以及生成输出,该输出包括至少一个其值基于来自第一标志寄存器和第二标志寄存器两者的信息的位置。13.如权利要求12所述的方法,其中(i)所述第一标志寄存器具有n位,每一位代表所述SIMD执行引擎的一条通道,(ii)所述第二标志寄存器具有n位,每一位代表所述SIMD执行引擎的一条通道,并且(iii)所述输出具有n位,每一位代表所述SIMD执行引擎的一条通道。14.如权利要求13所述的方法,其中所述输出中的第一位代表所述SIMD执行引擎的第一通道,并且所述输出中的所述第一位的值至少部分基于标志寄存器中不代表所述第一通道的位。15.如权利要求13所述的方法,其中所述生成输出的步骤包括接收与一组标志寄存器相关联的指示;并且对于每条S...

【专利技术属性】
技术研发人员:迈克尔德怀尔江洪
申请(专利权)人:英特尔公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1