多可寻址寄存器文件和与其相关联的格式转换制造技术

技术编号:10044202 阅读:222 留言:0更新日期:2014-05-14 15:35
由包括矢量、标量和矢量-标量扩展指令的多种类型的指令寻址多可寻址寄存器文件。可以确定数据要从一个格式转变为另一格式。如果如此确定,则执行转换机器指令,该转换机器指令从第一寄存器获取第一格式的第一表示的单精度数据;将第一格式的第一表示的单精度数据转换到第二格式的第二表示的转换后的单精度数据;以及将转换后的单精度数据放置在第二寄存器中。

【技术实现步骤摘要】
【国外来华专利技术】
本申请的一个或者多个方面总地涉及数据处理,并且尤其涉及多可寻址寄存器文件和与其相关联的处理。
技术介绍
高性能处理器支持使用单指令多数据(SIMD)技术的多媒体处理,以开发程序中的指令级并行性。也就是,SIMD技术用于每次执行不止一个操作。这些处理器包含多个功能单元,该多功能单元中的一些被引导至标量数据的执行,并且该多个功能单元中的一些被聚集用于处理结构化的SIMD矢量数据的处理。SIMD数据流用于例如使用通过在结构化数据类型中编码红色、绿色和蓝色分量的RGB格式或者通过将位置编码为四元(x,y,z,w)的坐标信息,表示诸如颜色信息之类的多媒体数据类型。通过增量现有标量处理器实现方式,已经实现了设计用于处理多媒体数据的处理器,比如通过增加SIMD单元,SIMD单元本身包括多个功能单元(即,定点单元和浮点单元),镜像可用于标量数据类型的处理的资源,并且针对要由SIMD架构支持的结构化元素的数量复制每个功能单元类型。支持多媒体处理以及其他处理的处理器可以处理不同类型的数据。然而,要提供管理这种处理的工具。
技术实现思路
通过提供用于执行机器指令的计算机程序产品克服现有技术的缺点并且提供附加优点。该计算机程序产品包括存储介质,该存储介质可由处理电路读取并且存储用于由处理电路执行以执行方法的指令。该方法比如包括:由处理器获取用于执行的机器指令,根据计算机架构定义该机器指令用于计算机执行,该机器指令例如包括:至少一个操作码字段,以识别转换指令;至少一个用于指定第一寄存器的字段;以及至少一个用于指定第二寄存器的其他字段;由处理器执行该机器指令,该执行比如包括:从第一寄存器获取第一格式的第一表示的单精度二进制浮点数据;将第一格式的第一表示的单精度二进制浮点数据转换到第二格式的第二表示的转换后的单精度二进制浮点数据;以及将转换后的单精度二进制浮点数据放置在第二寄存器中。这里也描述并且要求保护涉及本专利技术的一个或者多个方面的方法和系统。另外,涉及本专利技术的一个或者多个方面的服务这里也被描述并可以被要求保护。通过本专利技术的一个或者多个方面的技术实现附加特征和优点。本专利技术的其他实施例和方面在这里被详细描述并且被视为要求保护的专利技术的一部分。附图说明本专利技术的一个或者多个方面作为说明书结论处的权利要求中的示例被具体指出并且被清楚地要求保护。本专利技术的一个或者多个方面的前述和其他目的、特征和优点从下面结合附图的详细描述中变得易见,在附图中:图1是描绘包括用于处理结构化数据类型的SIMD单元标量和处理单元二者的处理器的示例;图2是其中可以实现例示性实施例的一个或者多个方面的数据处理系统的一个示例;图3A是设计用于使用存储标量和矢量数据二者的寄存器文件以及地址信息执行标量和矢量指令的处理器的一个示例;图3B示出用以选择可以由处理器的分支单元和加载/存储单元使用的信息的标量数据的更灵活途径;图4是其中根据一个例示性实施例利用多寻址寄存器文件的处理器的一个示例;图5是根据一个例示性实施例的矢量-标量扩展(VSX)寄存器文件的一个示例;图6描绘根据一个例示性实施例概述一般解码操作的逻辑的一个示例;图7A和7B提供根据一个例示性实施例概述解码操作的逻辑的一个示例;图8描绘用于根据例示性实施例将转换指令插入指令流中的逻辑的一个示例;图9描绘用于根据例示性实施例选择用于转换矢量元素到标量的转换指令的逻辑的一个示例;图10描绘用于根据例示性实施例选择用于转换标量数据到矢量元素的转换指令的逻辑的一个示例;以及图11描绘并入本专利技术的一个或者多个方面的计算机程序产品的一个实施例。具体实施方式根据本专利技术的一个方面,便于与标量和矢量数据相关联的处理。在一个方面中,提供寄存器文件,其中,寄存器文件中的每个寄存器可以包括64位(b)单精度浮点标量数据或者32b单精度矢量数据,以及其他数据格式。另外,在一个方面中,提供转换技术,以从一个单精度浮点格式转换到另一单精度浮点格式。在一个示例中,使用架构指令(architected instruction)执行转换,并且不需要发信号通知异常。如上面早先讨论并且另外在共同转让的、Gschwind等人的、名称为“Multi-Addressable Register File”的2009年8月6日公开的美国公开第2009/0198966A1以及Gschwind等人的、名称为“Multi-Addressable Register File”的2011年1月25日授权的美国专利No.7,877,582,(这里通过引用将每个的全部内容并入本文)中,通过增量(augment)现有标量处理器实现方式,已经实现了设计用于处理多媒体数据的处理器,比如通过增加SIMD单元,SIMD单元本身包括多个功能单元(即,定点单元和浮点单元),其镜像可用于标量数据类型的处理的资源,并且针对要由SIMD架构支持的结构化元素的数量复制每个功能单元类型。通常,在标量和SIMD处理器之间共享的仅有单元是发布逻辑(issue logic)和加载/存储单元(LSU),该发布逻辑发布指令到标量或者SIMD处理块,该加载/存储单元(LSU)管理对存储器子系统的存取。包括寄存器文件的所有其他单元典型地被独立维护。图1是描绘包含标量处理单元和用于处理结构化数据类型的SIMD单元二者的现有技术处理器的示例的框图,SIMD单元包括用于结构化数据类型中的每个元素的多个处理单元。一般地,使用独立的标量和SIMD处理器效率低并且昂贵,这是因为这种配置包括多个冗余功能单元和数据通道。另外,这种实现方式导致不期望的能量消耗量,因为当标量或者SIMD单元之一正在处理数据时,另一个一般通过等待其下一指令而空闲,但始终都在消耗系统电力。在图1的系统的操作期间,指令由指令取出单元100取出,并且供应给指令解码单元102。解码后的指令被传递给发布/分支单元104,其中分支指令被解决,并且其他指令可以被存储在其指令发布单元(未示出)中,直至它们可以在处理器的功能单元之一中执行。指令发布单元可以包含支持指令的高性能发布的预测逻辑、指令重排序逻辑、指令发布缓冲器和其他逻辑。指令由发布/分支单元104发布到加载/存储单元106、定点单元(FXU)108、浮点单元(FPU)单元110或者SIMD处理块112中的一个或者多个。在指令可以由本文档来自技高网...

【技术保护点】
一种计算机程序产品,用于执行机器指令,所述计算机程序产品包括:计算机可读存储介质,所述计算机可读存储介质可由处理电路读取并且存储用于由所述处理电路执行以执行方法的指令,所述方法包括:由处理器获取用于执行的机器指令,所述机器指令被根据计算机架构定义用于计算机执行,所述机器指令包括:至少一个操作码字段,识别转换指令;至少一个用于指定第一寄存器的字段;以及至少一个用于指定第二寄存器的其他字段;由所述处理器执行所述机器指令,所述执行包括:从所述第一寄存器获取第一格式的第一表示的单精度二进制浮点数据;将所述第一格式的所述第一表示的单精度二进制浮点数据转换到第二格式的第二表示的转换后的单精度二进制浮点数据;以及将所述转换后的单精度二进制浮点数据放置在所述第二寄存器中。

【技术特征摘要】
【国外来华专利技术】2011.09.16 US 13/234,5201.一种计算机程序产品,用于执行机器指令,所述计算机程序产品包括:
计算机可读存储介质,所述计算机可读存储介质可由处理电路读取并且
存储用于由所述处理电路执行以执行方法的指令,所述方法包括:
由处理器获取用于执行的机器指令,所述机器指令被根据计算机架
构定义用于计算机执行,所述机器指令包括:
至少一个操作码字段,识别转换指令;
至少一个用于指定第一寄存器的字段;以及
至少一个用于指定第二寄存器的其他字段;
由所述处理器执行所述机器指令,所述执行包括:
从所述第一寄存器获取第一格式的第一表示的单精度二进制浮
点数据;
将所述第一格式的所述第一表示的单精度二进制浮点数据转换
到第二格式的第二表示的转换后的单精度二进制浮点数据;以及
将所述转换后的单精度二进制浮点数据放置在所述第二寄存器
中。
2.如权利要求1所述的计算机程序产品,其中,所述方法还包括:
确定所述第一格式的所述第一表示的单精度二进制浮点数据要被转换为
所述第二格式的所述第二表示的单精度二进制浮点数据;以及
响应于所述确定,获取转换指令。
3.如权利要求1所述的计算机程序产品,其中,由在所述处理器或者另
一处理器上执行的编译器来执行所述确定。
4.如权利要求1所述的计算机程序产品,其中,所述第一寄存器和所述
第二寄存器中的至少一个是多可寻址寄存器文件的寄存器。
5.如权利要求4所述的计算机程序产品,其中,所述多可寻址寄存器文
件包括多个寄存器,并且其中,所述多个寄存器的第一子范围的寄存器被定
义用于一个格式的数据,所述多个寄存器的第二子范围的寄存器被定义用于
另一格式的数据,并且所述多个寄存器被定义用于至少一个附加格式的数据。
6.如权利要求5所述的计算机程序产品,其中,所述多个寄存器中的每
个被定义为包括64b标量单精度浮点数据和32b矢量单精度浮点数据。
7.如权利要求1所述的计算机程序产品,其中,所述机器指令被插入在
第一指令和第二指令之间,所述第二指令具有对所述第一指令的依赖性,并
且所述第一指令产生具有与所述第二指令使用的格式不同的格式的数据。
8.如权利要求7所述的计算机程序产品,其中,所述第一寄存器包括要
转换的所述第一指令的数据。
9.如权利要求1所述的计算机程序产品,其中,所述第一表示包括矢量
表示并且所述第一格式包括32位以及所述第二表示包括标量表示并且所述
第二格式包括64位,或者所述第一表示包括标量表示并且所述第一格式包括
64位以及所述第二表示包括矢量表示并且所述第二格式包括32位。
10.如权利要求1所述的计算机程序产品,其中,所述转换指令包括复
制函数。
11.如权利要求1所述的计算机程序产品,其中,所述转换后的单精度
二进制浮点数据包括信令非数值(NaN),并且其中所述信令NaN在所述第
二寄存器中保留为信令NaN。
12.一种用于执行机器指令的计算机系统,所述计算机系统包括:
存储器;以及
与所述存储器通信的处理器,其中,所述计算机系统被配置为执行方法,
所述方法包括:
由处理器获取用于执行的机器指令,所述机器指令被根据计算机架
构定义用于计算机执行,所述机器指令包括:
至少一个操作码字段,识别转换指令;
至少一个用于指定第一寄存器的字段;以及
至少一个用于指定第二寄存器的其他字段;
由所述处理器执行所述机器指令,所述执行包括:
从所述第一寄存器获取第一格式的第一表示的单精度二进制浮
点数据;
将所述第一格式的所述第一表示的单精度二进制浮点数据转换
到第二格式的第二表示的转换后的单精度二进制浮点数据;以及
将所述转换后的单精度二进制浮点数据放置在所述第二寄存器
中。
1...

【专利技术属性】
技术研发人员:MK格什温B奥尔森
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:美国;US

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

1