十进制移位和除法指令制造技术

技术编号:21176229 阅读:23 留言:0更新日期:2019-05-22 12:03
执行用于执行移位和除法运算的指令。执行包括在指定方向中以选择的量对值移位以提供被除数,所选择的量是用户定义的。由除数除以被除数以获得商。选择商的至少一个子集作为结果。该结果被用于计算环境内的处理。

Decimal shift and division instructions

Execute instructions for performing shift and division operations. Execution includes shifting the selected value of the quantity in a specified direction to provide a dividend, and the selected quantity is user-defined. Divide the dividend by the dividend to get the quotient. At least one subset of the selector is the result. The results are used for processing in computing environments.

【技术实现步骤摘要】
【国外来华专利技术】十进制移位和除法指令
技术介绍
一个或多个方面一般涉及计算环境内的处理,尤其涉及改进此类处理。在计算环境的处理器内执行的应用程序控制处理器的行为。应用程序是使用编程语言创建的,此类编程语言旨在将指令传递给处理器。存在各种类型的编程语言,并且每种语言可以使用一种或多种类型的编码来表示数据。例如,缩放的十进制整数(也被称为缩放的二进制编码的十进制/缩放的BCD)是许多COBOL和PL/I程序中以及DB2数据库管理系统中的公共数据类型。缩放的BCD数是BCD数加上格式描述符(n.k),其中BCD数被解释为在小数点之前具有n位并且在小数点之后具有k位(即,具有k个分数位),或者要被乘以10-k的十进制整数。对具有同一k参数的缩放的BCD数据执行加法和减法是直接的,因为数据被正确对准并且结果具有相同的分数位数。除法是更复杂的,因为两个数字的整数除法提供了商的整数部分。缺少k个分数位。例如,如果:A=4444.44,B=3333.33,Q=0001.333正常的整数除法传递商Q=1,但不传递分数位。此外,用于执行BCD除法运算的传统代码可能相当复杂,需要冗长的运算序列。
技术实现思路
通过提供用于促进计算环境中的处理的计算机程序产品,克服了现有技术的缺点并提供了额外的优点。计算机程序产品包括存储介质,存储介质可由处理电路读取并存储用于由处理电路执行以执行方法的指令。方法例如包括获得用于执行的指令,指令用于执行移位和除法运算。执行指令,并且执行包括在指定方向以选择的量对值移位以提供被除数。所选择的量是用户定义的。由除数除以被除数以获得商。选择商的至少一个子集作为结果。将结果放在选择的位置,结果被用于计算环境内的处理。使用执行缩放的BCD除法运算的单个指令通过消除冗长的指令序列并减少要获取、解码和执行的指令的数量来改进性能。在一个示例中,值是十进制整数,并且商的至少一个子集是商的所选择的位数。所选择的位数包括整数位数和分数位数。此外,在一个实施例中,执行包括确定结果的符号,以及将符号包括在所选择的位置中。作为一个示例,确定符号包括检查由指令提供的控件。控件例如被提供在指令的掩码字段中。此外,在一个实施例中,执行包括从指令的一个或多个字段获得值,检查值的有效性,以及基于该检查指示值是有效的而执行移位。在示例中,指定方向是左,所选择的量是从指令的字段中获得的,并且所选择的位置是寄存器,该寄存器是使用指令的至少一个字段来指定的。至少一个字段包括指定寄存器编号的寄存器字段和指定要被附加到寄存器编号的扩展值的扩展字段。本文还描述并要求保护与一个或多个方面有关的方法和系统。此外,本文还描述并可要求保护与一个或多个方面有关的服务。通过本文描述的技术实现了额外的特征和优点。本文详细描述了其它实施例和方面,并且这些实施例和方面被认为是所要求保护的方面的一部分。附图说明在说明书结尾的权利要求中作为示例特别指出并清楚地要求保护一个或多个方面。通过结合附图的以下详细描述,一个或多个方面的前述和目的、特征和优点是显而易见的,在附图中:图1A描绘了结合和使用本专利技术的一个或多个方面的计算环境的一个示例;图1B描绘了根据本专利技术的一方面的图1A中的处理器的进一步细节;图2A描绘了结合和使用本专利技术的一个或多个方面的计算环境的另一示例;图2B描绘了图2A中的存储器的进一步细节;图3A描绘了根据本专利技术的一方面的矢量移位和除法十进制指令的一个示例;图3B描绘了根据本专利技术的一方面的图3A中的矢量移位和除法十进制指令的立即字段的一个实施例;图3C描绘了根据本专利技术的一方面的图3A中的矢量移位和除法十进制指令的掩码字段的一个实施例;图4描绘了根据本专利技术的一方面的执行矢量移位和除法十进制指令的框图的一个示例。图5A图示了BCD除法运算的一个示例;图5B图示了BCD除法运算的另一示例;图5C-5D图示了根据本专利技术的一方面的BCD移位和除法运算的示例;图6A-6B描绘了根据本专利技术的一方面的促进计算环境中的包括执行矢量移位和除法十进制指令的处理的一个示例;图7描绘了云计算环境的一个实施例;以及图8描绘了抽象模型层的一个示例。具体实施方式一个或多个方面涉及通过提供用于执行移位和除法运算的单个指令(例如,在硬件/软件接口处的单个架构机器指令)来替代冗长的指令序列的能力来改进计算环境内的处理。在一个示例中,指令(在本文中称为矢量移位和除法十进制指令)以由用户定义的量将输入值移位以提供被除数,并且然后由除数除以被除数以生成商。商的至少一部分被提供作为结果。指令执行例如提供具有整数位加上k个分数位的商的十进制整数除法运算,其中k是输入到指令的输入参数。K指定要计算多少分数位数。参考图1A描述结合和使用本专利技术的一个或多个方面的计算环境的一个实施例。在一个示例中,计算环境基于由纽约阿蒙克的国际商业机器公司(InternationalBusinessMachinesCorporation)提供的z/架构(z/Architecture)。在2015年3月的IBM公开号为SA22-7832-10的“z/架构的工作原理(z/ArchitecturePrinciplesofOperation)”中描述了z/架构的一个实施例,其全部内容通过引用并入本文。Z/ARCHITECTURE是美国纽约阿蒙克的国际商业机器公司的注册商标。在另一个示例中,计算环境基于由纽约阿蒙克的国际商业机器公司提供的Power架构。在2015年4月9日的国际商业机器公司的“PowerISATM版本2.07B(PowerISATMVersion2.07B)”中描述了Power架构的一个实施例,其全部内容通过引用并入本文。POWERARCHITECTURE是美国纽约阿蒙克的国际商业机器公司的注册商标。计算环境还可以基于其它架构,包括但不限于Intelx86架构。也存在其它示例。如图1A所示,计算环境100例如包括具有例如计算机系统/服务器12的节点10,其可与许多其它通用或专用计算系统环境或配置一起操作。可适用于与计算机系统/服务器12一起操作的公知的计算系统、环境和/或配置的示例包括但不限于个人计算机(PC)系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上型设备、多处理器系统、基于微处理器的系统、机顶盒、可编程消费电子产品、网络PC、小型计算机系统、大型计算机系统以及包括任何上述系统或设备的分布式云计算环境等。计算机系统/服务器12可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般上下文中描述。通常,程序模块可以包括执行特定的任务或实现特定的抽象数据类型的例程、程序、对象、组件、逻辑、数据结构等。计算机系统/服务器12可以在许多计算环境中实践,包括但不限于通过通信网络链接的远程处理设备执行的任务的分布式云计算环境。在分布式云计算环境中,程序模块可以位于包括存储器存储设备的本地和远程计算机系统存储介质中。如图1A所示,计算机系统/服务器12以通用计算设备的形式示出。计算机系统/服务器12的组件可以包括但不限于一个或多个处理器或处理单元16、系统存储器28以及总线18,总线18将各种系统组件(包括系统存储器28)耦接到处理器16。总线18表示若干类型的总线结构中的任何一种或多种,包括使用各种总线架构中的任何本文档来自技高网...

【技术保护点】
1.一种计算机程序产品,其用于促进计算环境内的处理,所述计算机程序产品包括:计算机可读存储介质,其能够由处理电路读取并存储用于由所述处理电路执行的指令,用于执行包括以下的方法:获得用于执行的指令,所述指令用于执行移位和除法运算;以及执行所述指令,所述执行包括:在指定方向上以选择的量对值移位以提供被除数,所选择的量是用户定义的;由除数除以所述被除数以获得商;选择所述商的至少一个子集作为结果;以及将所述结果放在选择的位置中,所述结果被用于所述计算环境内的处理。

【技术特征摘要】
【国外来华专利技术】2016.09.30 US 15/281,2451.一种计算机程序产品,其用于促进计算环境内的处理,所述计算机程序产品包括:计算机可读存储介质,其能够由处理电路读取并存储用于由所述处理电路执行的指令,用于执行包括以下的方法:获得用于执行的指令,所述指令用于执行移位和除法运算;以及执行所述指令,所述执行包括:在指定方向上以选择的量对值移位以提供被除数,所选择的量是用户定义的;由除数除以所述被除数以获得商;选择所述商的至少一个子集作为结果;以及将所述结果放在选择的位置中,所述结果被用于所述计算环境内的处理。2.根据权利要求1所述的计算机程序产品,其中,所述值是十进制整数,并且所述商的所述至少一个子集是所述商的选择的位数,所选择的位数包括整数位数和分数位数。3.根据权利要求1所述的计算机程序产品,其中,所述执行还包括:确定所述结果的符号;以及将所述符号包括在所选择的位置中。4.根据权利要求3所述的计算机程序产品,其中,确定所述符号包括检查由所述指令提供的控件。5.根据权利要求4所述的计算机程序产品,其中,所述控件被提供在所述指令的掩码字段中。6.根据权利要求1所述的计算机程序产品,其中,所述执行还包括:从所述指令的一个或多个字段获取所述值;检查所述值的有效性;以及基于所述检查指示所述值是有效的,执行所述移位。7.根据权利要求1所述的计算机程序产品,其中,所述指定方向是左。8.根据权利要求1所述的计算机程序产品,其中,所述执行还包括从所述指令的字段获得所选择的量。9.根据权利要求1所述的计算机程序产品,其中,所选择的位置是寄存器,所述寄存器使用所述指令的至少一个字段来指定。10.根据权利要求9所述的计算机程序产品,其中,所述至少一个字段包括指定寄存器编号的寄存器字段和指定要附加到所述寄存器编号的扩展值的扩展字段。11.一种计算机系统,其用于促进计算环境内的处理,所述计算机系统包括:存储器;以及处...

【专利技术属性】
技术研发人员:J·布拉德伯里R·科普兰S·M·穆勒E·施瓦尔茨S·卡罗格
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:美国,US

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

1