[发明专利]十进制乘法和移位指令有效
申请号: | 201780060587.7 | 申请日: | 2017-09-21 |
公开(公告)号: | CN109791479B | 公开(公告)日: | 2023-04-28 |
发明(设计)人: | S·M·穆勒;R·科普兰;J·布拉德伯里;S·卡罗格 | 申请(专利权)人: | 国际商业机器公司 |
主分类号: | G06F7/491 | 分类号: | G06F7/491 |
代理公司: | 北京市中咨律师事务所 11247 | 代理人: | 刘都;于静 |
地址: | 美国*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 十进制 乘法 移位 指令 | ||
执行用于执行乘法和移位运算的指令。执行包括将由指令获得的第一值和第二值相乘以获得乘积。乘积在指定方向上被移动用户定义的选择的量以提供结果,并将结果放在选定的位置中。该结果被用于计算环境内的处理。
背景技术
一个或多个方面一般涉及计算环境内的处理,尤其涉及改进此类处理。
在计算环境的处理器内执行的应用程序控制处理器的行为。应用程序是使用编程语言创建的,此类编程语言旨在将指令传递给处理器。存在各种类型的编程语言,并且每种语言可以使用一种或多种类型的编码来表示数据。
例如,缩放的十进制整数(也被称为缩放的二进制编码的十进制/缩放的BCD)是许多COBOL和PL/I程序中以及DB2数据库管理系统中的公共数据类型。缩放的BCD数是BCD数加上格式描述符(n.k),其中BCD数被解释为在小数点之前具有n位并且在小数点之后具有k位(即,具有k个分数位),或者要被乘以10-k的十进制整数。
对具有同一k参数的缩放的BCD数据执行加法和减法是直接的,因为数据被正确对准并且结果具有相同的分数位数。乘法是更复杂的,因为两个(n.k)数字的全宽中间乘积具有(2n.2k)位,但期望的结果通常是(2n.k)。
传统的十进制乘法指令传递最低有效L位,并且可能具有严格的长度限制。用于执行缩放BCD乘法的代码可能相当复杂,需要多次相乘、移位和加法运算。
发明内容
通过提供用于促进计算环境中的处理的计算机程序产品,克服了现有技术的缺点并提供了额外的优点。计算机程序产品包括存储介质,存储介质可由处理电路读取并存储用于由处理电路执行以执行方法的指令。方法例如包括获得用于执行的指令,指令用于执行乘法和移位运算。执行指令,并且执行包括将由指令获得的第一值和第二值相乘以获得乘积。乘积在指定方向上以选择的量被移位以提供结果,所选择的量是用户定义的。结果被放在选择的位置中,并被用于计算环境内的处理。使用执行缩放的BCD乘法运算的单个指令通过消除冗长的指令序列并减少要获取、解码和执行的指令的数量来改进性能。
作为一个示例,结果包括基于以所选择的量的移位而选择的乘积的多个位。
此外,在一个实施例中,执行包括确定结果的符号,并且将符号包括在所选择的位置中,结果和符号提供要在计算环境内的处理中使用的选择的值。
在一个实施例中,确定符号包括检查由指令提供的控件。控件例如被提供在指令的掩码字段中。
此外,在一个实施例中,执行包括从指令的一个或多个字段获得第一值和第二值,检查第一值和第二值的有效性,以及基于该检查指示第一值和第二值是有效的而执行相乘。
在示例中,指定方向是右,所选择的量是从指令的字段中获得的,并且所选择的位置是寄存器,该寄存器是使用指令的至少一个字段来指定的。至少一个字段包括指定寄存器编号的寄存器字段和指定要被附加到寄存器编号的扩展值的扩展字段。
本文还描述并要求保护与一个或多个方面有关的方法和系统。此外,本文还描述并可要求保护与一个或多个方面有关的服务。
通过本文描述的技术实现了额外的特征和优点。本文详细描述了其它实施例和方面,并且这些实施例和方面被认为是所要求保护的方面的一部分。
附图说明
在说明书结尾的权利要求中作为示例特别指出并清楚地要求保护一个或多个方面。通过结合附图的以下详细描述,一个或多个方面的前述和目的、特征和优点是显而易见的,在附图中:
图1A描绘了结合和使用本发明的一个或多个方面的计算环境的一个示例;
图1B描绘了根据本发明的一方面的图1A中的处理器的进一步细节;
图2A描绘了结合和使用本发明的一个或多个方面的计算环境的另一示例;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国际商业机器公司,未经国际商业机器公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201780060587.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:十进制移位和除法指令
- 下一篇:对质询的非确定性响应