具有可选择比较属性的浮点指令制造技术

技术编号:21374454 阅读:30 留言:0更新日期:2019-06-15 12:23
执行用于执行第一值和第二值的比较的指令。基于所述指令的控制,确定要执行的比较功能。比较功能是针对所述指令配置的多个比较功能中的一个,并且比较功能具有用于比较的多个选项。从针对比较功能定义的多个选项中选择基于第一值和第二值的比较选项,并用于比较第一值和第二值。然后将比较的结果置放在选择位置,该结果用于计算环境中的处理。

Floating-point instructions with optional comparison properties

Execute instructions for performing comparisons between first and second values. Based on the control of the instruction, the comparative function to be performed is determined. The comparison function is one of the multiple comparison functions configured for the instruction, and the comparison function has multiple options for comparison. Select a comparison option based on the first and second values from multiple options defined for the comparison function and use it to compare the first and second values. The results of the comparison are then placed in the selection position, which is used for processing in the computing environment.

【技术实现步骤摘要】
【国外来华专利技术】具有可选择比较属性的浮点指令
技术介绍
一般而言,一个或多个方面涉及计算环境内的处理,尤其涉及改进这种处理。在计算中,浮点数用于表示实数,并且存在用于浮点数的多个表示。这些表示包括某些操作如何使用浮点数来运行的指示。例如,电气和电子工程师协会(IEEE)提供浮点标准,其指定对浮点数的最小化和最大化操作的行为。尽管存在该标准,但许多编程语言和程序员已选择不遵循该标准。因此,在他们的库中的各种编程语言中存在若干不同的标准和表示。即使在一种语言中,常见的约定可能是不使用库功能,而是使用导致不同行为的一些其它语言语法。这导致难以在硬件中加速这些操作,并且通常需要包括若干条件分支的一系列的多个指令来模拟。
技术实现思路
通过提供用于促进如权利要求1所述的计算环境中的处理的计算机程序产品,克服了现有技术的缺点并提供了额外的优点。用于执行针对不同标准和/或表示的比较操作的指令的数量减少,从而改进了计算环境内的处理。在一个示例中,多个选项包括可被选择用于比较的多对特定情况。该多对特定情况包括至少一对特定情况,其包括从特定情况组中选择的至少一个特定情况,该特定情况组包括:无穷大,非数字(NAN)和有符号的零。此外,在一个示例中,多个比较功能包括多个最大化功能和多个最小化功能中的至少一个。多个最大化功能包括执行最大值比较的多个最大化技术,并且多个最小化功能包括执行最小值比较的多个最小化技术。作为示例,第一值和第二值由指令提供,并且第一值属于指令的操作数的一个元素,第二值属于指令的另一个操作数的对应元素。此外,在一个示例中,基于指令的另一个控制来确定该一个元素的大小。进一步地,作为示例,第一值和第二值是浮点值,并且该一个元素的大小取决于浮点值的浮点格式。另一个控制指示所选择的浮点格式。在一个示例中,在指令的掩码中提供控制。本文还描述并要求保护与一个或多个方面有关的方法和系统。此外,还描述并且可能在此要求保护与一个或多个方面有关的服务。通过本文描述的技术实现了额外的特征和优点。在此详细描述了其它实施例和方面,并且这些实施例和方面被认为是所要求保护的方面的一部分。附图说明在说明书结论处的权利要求中,一个或多个方面作为示例被特别指出并清楚地被要求保护。通过以下结合附图的详细描述,一个或多个方面的前述内容和目的、特征和优点是显而易见的,在附图中:图1A描绘了结合和使用本专利技术的一个或多个方面的计算环境的一个示例;图1B描绘了根据本专利技术的一个方面的图1A中的处理器的进一步细节;图2A描绘了结合和使用本专利技术的一个或多个方面的计算环境的另一示例;图2B描绘了图2A中的存储器的进一步细节;图3A描绘了根据本专利技术的一个方面的矢量浮点最大化指令的一个示例;图3B描绘了根据本专利技术的一个方面的图3A中的矢量浮点最大化指令的掩码字段的一个实施例;图3C描绘了根据本专利技术的一个方面的矢量浮点最小化指令的一个示例;图3D描绘了根据本专利技术的一个方面的矢量浮点最大化/最小化指令的一个示例;图4A-4T描绘了根据本专利技术的多个方面的针对特定比较功能的比较选项的表;图5描绘了根据本专利技术的一个方面的与执行矢量浮点最大化和/或最小化指令相关联的处理的框图的一个示例;图6A-6B描绘了根据本专利技术的一个方面的促进计算环境中的处理的一个示例,该处理包括执行矢量浮点最大化/最小化指令;图7描绘了云计算环境的一个实施例;以及图8描绘了抽象模型层的一个示例。具体实施方式一个或多个方面涉及通过提供用于减少指令的数量的能力以执行针对不同标准和/或表示的浮点最大化和最小化操作,改进计算环境内的处理。如本文所示,在各种编程语言中存在许多不同的针对浮点数的标准和表示。即使在一种语言中,常见的约定可能是不使用库功能,而是使用导致不同行为的一些其它语言语法。比较的不同方面中的一些方面(即特殊或特定情况)是考虑+0大于-0还是认为它们相等,如何处理与NaN(非数字)的比较,是否发送SNaN上的异常(信令NaN),如何处理无穷大,是否在结果中将SNaN转换为QNaN(静态NaN),如果两个输入都是NaN,则哪个NaN有效载荷优先,等。多年来已经出现了不同的浮点最大化和最小化指令;但是,这些指令无法捕获针对不同表示的特殊情况的所有排列。相反,对于每个最大化和最小化操作,存在捕获不同排列的多个指令。因此,根据本专利技术的一个方面,提供包括各种最大化功能的单个指令(例如,硬件/软件接口处的单个体系结构机器指令),每个最大化功能处理各种选项以覆盖许多排列。此外,提供包括各种最小化功能的单个指令(例如,硬件/软件接口处的单个体系结构机器指令),每个最小化功能处理各种选项以覆盖许多排列。通过使用这两个指令来覆盖最大化和最小化的不同排列,减少了处理排列的指令的数量,从而改善了处理和性能。在进一步的实施例中,提供支持最大化和最小化操作的各种功能以及不同的选项的单个指令(例如,处于硬件/软件级别的单个体系结构机器指令)。通过提供单个指令来处理最大化和最小化操作的不同排列,所需的指令数量进一步减少到一条指令,从而减少了要编码的指令的数量,并提高了系统性能。参考图1A描述结合和使用本专利技术的一个或多个方面的计算环境的一个实施例。在一个示例中,计算环境基于由纽约阿蒙克的国际商业机器公司提供的z/体系结构。在2015年3月的IBM公开号为SA22-7832-10的“z/ArchitecturePrinciplesofOperation(z/体系结构的工作原理)”中描述了z/体系结构的一个实施例。Z/ARCHITECTURE是美国纽约阿蒙克的国际商业机器公司的注册商标。在另一个示例中,计算环境基于由纽约阿蒙克的国际商业机器公司提供的Power体系结构。在2015年4月9日的国际商业机器公司的“PowerISATMVersion2.07B(PowerISATM版本2.07B)”中描述了Power体系结构的一个实施例。POWERARCHITECTURE是美国纽约阿蒙克的国际商业机器公司的注册商标。计算环境还可以基于其它体系结构,包括但不限于英特尔x86体系结构。也存在其它例子。如图1A所示,计算环境100包括例如具有例如计算机系统/服务器12的节点10,其可与许多其它通用或专用计算系统环境或配置一起操作。可适于与计算机系统/服务器12一起操作的众所周知的计算系统、环境和/或配置的示例包括但不限于:个人计算机(PC)系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上型设备、多处理器系统、基于微处理器的系统、机顶盒、可编程消费电子产品、网络PC、小型计算机系统、大型计算机系统以及包括任何上述系统或设备的分布式云计算环境等。计算机系统/服务器12可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括执行特定的任务或实现特定的抽象数据类型的例程、程序、目标程序、组件、逻辑、数据结构等。计算机系统/服务器12可以在许多计算环境中实践,包括但不限于通过通信网络链接的远程处理设备执行任务的分布式云计算环境。在分布式云计算环境中,程序模块可以位于包括存储器存储设备的本地和远程计算机系统存储介质上。如图1A所示,计算机系统/服务器12以通用计算设备的形式示出。计算机系统/服务器12的组件可以包括但不限本文档来自技高网...

【技术保护点】
1.一种用于促进计算环境内的处理的计算机程序产品,该计算机程序产品包括:计算机可读存储介质,其可由处理电路读取并存储用于由所述处理电路执行的指令,所述处理电路用于执行包括以下项的方法:获得要执行的指令,所述指令为执行第一值和第二值的比较;以及执行所述指令,所述执行包括:基于所述指令的控制,确定要执行的比较功能,其中,所述比较功能是针对所述指令配置的多种不同类型的比较功能中的一种,所述多种不同类型的比较功能包括用于至少一种类型的比较操作的多种技术,并且其中所述比较功能具有用于比较的多个选项;从用于所述比较功能的所述多个选项中选择要用于比较所述第一值和所述第二值的比较选项,所述比较选项基于所述第一值和所述第二值来选择;使用所述比较选项来比较所述第一值和所述第二值以获得结果,所述结果对于针对由所述指令的所述控制指示的所述比较功能选择的比较选项是特定的;以及将所述结果置放在选择位置,所述结果被用于所述计算环境内的处理。

【技术特征摘要】
【国外来华专利技术】2016.10.27 US 15/335,9141.一种用于促进计算环境内的处理的计算机程序产品,该计算机程序产品包括:计算机可读存储介质,其可由处理电路读取并存储用于由所述处理电路执行的指令,所述处理电路用于执行包括以下项的方法:获得要执行的指令,所述指令为执行第一值和第二值的比较;以及执行所述指令,所述执行包括:基于所述指令的控制,确定要执行的比较功能,其中,所述比较功能是针对所述指令配置的多种不同类型的比较功能中的一种,所述多种不同类型的比较功能包括用于至少一种类型的比较操作的多种技术,并且其中所述比较功能具有用于比较的多个选项;从用于所述比较功能的所述多个选项中选择要用于比较所述第一值和所述第二值的比较选项,所述比较选项基于所述第一值和所述第二值来选择;使用所述比较选项来比较所述第一值和所述第二值以获得结果,所述结果对于针对由所述指令的所述控制指示的所述比较功能选择的比较选项是特定的;以及将所述结果置放在选择位置,所述结果被用于所述计算环境内的处理。2.如权利要求1所述的计算机程序产品,其中,所述多个选项包括可被选择用于比较的多对特定情况。3.如权利要求2所述的计算机程序产品,其中,所述多对特定情况包括至少一对特定情况,所述至少一对特定情况包括从特定情况组中选择的至少一个特定情况,所述特定情况组包括:无穷大,非数字(NAN)和有符号的零。4.如权利要求1所述的计算机程序产品,其中,所述多个不同类型的比较功能包括多个不同类型的最大化功能和多个不同类型的最小化功能中的至少一个。5.如权利要求4所述的计算机程序产品,其中,所述多个不同类型的最大化功能包括用于执行最大值比较的多个最大化技术。6.如权利要求4所述的计算机程序产品,其中,所述多个不同类型的最小化功能包括执行最小值比较的多个最小化技术。7.如权利要求1所述的计算机程序产品,其中,所述第一值和所述第二值由所述指令提供,并且其中所述第一值属于所述指令的操作数的一个元素,所述第二值属于所述指令的另一个操作数的对应元素。8.如权利要求7所述的计算机程序产品,其中,基于所述指令的另一个控制来确定所述一个元素的大小。9.如权利要求8所述的计算机程序产品,其中,所述第一值和所述第二值是浮点值,并且所述一个元素的所述大小取决于所述浮点值的浮点格式,并且其中,所述另一个控制指示所选择的浮点格式。10.如权利要求1所述的计算机程序产品,其中,所述控制在所述指令的掩码中提供。11.一种用于促进计算环境内的处理的计算机系统,所述计算机系统包括:存储器;以及与所述存储器通信的处理器,其中,所述计算机系统被配置为执行包括以下项的操作:获得要执行的指令,所述指令为执行第一值和第二值的比较;以及执行所述指令,所述执行包括:基于所述指令的控制,确定要执行的比较功能,其中,所述比较功能是针对所述指令配置的多种不同类型的比较功能中的一种,所述多种不同类型...

【专利技术属性】
技术研发人员:J·布拉德伯里E·施瓦尔茨S·M·穆勒M·K·克施温德B·奥尔森
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:美国,US

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

1