事务中止指令制造技术

技术编号:11032999 阅读:58 留言:0更新日期:2015-02-11 18:35
TRANSACTION ABORT指令用于中止在计算环境中正执行的事务。TRANSACTION ABORT指令包括用于指定指示用于中止事务的具体原因的用户限定的中止码的至少一个字段。基于执行所述TRANSACTION ABORT指令,提供指示是否推荐所述事务的重新执行的条件码。

【技术实现步骤摘要】
【国外来华专利技术】事务中止指令
一个或多个方面大体上关于多处理计算环境,且尤其关于此类计算环境内的事务处理。
技术介绍
多处理器编程中的持久挑战为由多个中央处理单元(CPU)对同一储存位置的更新的挑战。更新储存位置的许多指令(甚至包括诸如AND的简单逻辑运算)用对该位置的多次存取来进行该更新。举例而言,首先提取储存位置,且接着储存回已更新结果。为了使多个CPU安全地更新同一储存位置,序列化对该位置的存取。用先前由提供的S/360架构引入的一个指令(TESTANDSET指令)提供储存位置的连锁更新(interlockedupdate)。连锁更新意谓:如由其他CPU及输入/输出(I/O)子系统(例如,通道子系统)所观察的那样,指令的整个储存存取看来像是自动地发生的一样。稍后,由IBM提供的S/370架构引入COMPAREANDSWAP及COMPAREDOUBLEANDSWAP指令以及COMPAREDOUBLEANDSWAP指令,这些指令提供执行连锁更新的较精密方式且允许通常被称为锁定字组(或旗号)的实施。最近新增的指令已提供额外连锁更新能力,包括COMPAREANDSWAPANDPURGE及COMPAREANDSWAPANDSTORE。然而,所有这些指令提供用于仅单一储存位置的连锁。较复杂的程序技术可需要多个储存位置的连锁更新,诸如,当将一元素新增至一双向链接清单(doubly-linkedlist)时。在此类操作中,前向指针及向后指针两者皆看来像是被同时地更新一样,如由其他CPU及I/O子系统所观察的那样。为了实现此类多重位置更新,强制程序使用分离的单一序列化点,诸如,锁定字组。然而,锁定字组可提供比所保证的序列化层级粗略得多的序列化层级;举例而言,锁定字组可序列化数百万个元素的整个队列,即使仅两个元素正被更新亦如此。程序可结构化数据以使用较精细粒度级序列化(例如,锁定点阶层),但这引入额外问题,诸如,在违反该阶层时的潜在锁死情形,及在程序遭遇错误同时保持一或多个锁定时或在不能获取锁定时的复原问题。除了以上内容以外,亦存在程序可以执行可能引起或可能不引起异常情况的指令序列的众多情境。若未发生异常情况,则程序继续;然而,若辨识出异常,则程序可采取校正动作以消除异常情况。作为一实例,Java可在(例如)理论式执行、函数的部分内嵌和/或指针空值检查的重新定序中利用此类执行。Java和所有基于Java的商标和标志是Oracle和/或其附属机构的商标或注册商标。在诸如由IBM提供的IBM及其前身的传统操作系统环境中,程序建立复原环境以拦截程序可遭遇的任何程序异常情况。若程序未拦截到异常,则操作系统通常针对操作系统未准备好进行处置的异常而例外地终止程序。建立及利用此类环境是昂贵且复杂的。IBM、z/OS、(以下引用)、(以下引用)、ProcessorResource/SystemsManagerTM(以下引用)、PowerSystemsTM(以下引用)以及System(以下引用)是在全球很多司法界注册的国际商业机器公司的商标。因此,本领域需要解决前述问题。
技术实现思路
经由提供一种用于执行计算环境内的指令的计算机程序产品而克服先前技术的缺点且提供优点。该计算机程序产品包括一计算机可读储存介质,该计算机可读储存介质可由一处理电路读取且储存指令以供该处理电路执行来执行一方法。举例而言,所述方法包括:由处理器获得用于执行的机器指令,所述机器指令是根据计算机架构而对于计算机执行所限定的,所述机器指令包括:操作码,用于指定事务中止操作;以及至少一个字段,用于指定中止码;以及由所述处理器执行所述机器指令,所述执行包括:中止正执行的事务,其中,所述事务在完成之前结束;以及基于所述中止,提供条件码,所述条件码用于指示是否推荐所述事务的重新执行。从第一方面可见,本专利技术提供用于执行计算环境内的指令的方法,所述方法包括:由处理器获得用于执行的机器指令,所述机器指令是根据计算机架构而对于计算机执行所限定的,所述机器指令包括:操作码,用于指定事务中止操作;以及至少一个字段,用于指定中止码;以及由所述处理器执行所述机器指令,所述执行包括:中止正执行的事务,其中,所述事务在完成之前结束;以及基于所述中止,提供条件码,所述条件码用于指示是否推荐所述事务的重新执行。从另一方面可见,本专利技术提供一种用于执行计算环境内的指令的计算机系统,所述计算机系统包括:存储器;以及处理器,与所述存储器进行通信,其中,所述计算机系统被配置为执行方法,所述方法包括:由处理器获得用于执行的机器指令,所述机器指令是根据计算机架构而对于计算机执行所限定的,所述机器指令包括:操作码,用于指定事务中止操作;以及至少一个字段,用于指定中止码;以及由所述处理器执行所述机器指令,所述执行包括:中止正执行的事务,其中,所述事务在完成之前结束;以及基于所述中止,提供条件码,所述条件码用于指示是否推荐所述事务的重新执行。从另一方面可见,本专利技术提供一种用于执行计算环境内的指令的计算机程序产品,所述计算机程序产品包括:计算机可读存储介质,可由处理电路读取并且存储用于所述处理电路执行的指令,以用于执行用于执行本专利技术的各步骤的方法。从另一方面可见,本专利技术提供一种计算机程序,存储在计算机可读介质上,并且可加载到数字计算机的内部存储器中,当所述程序运行在计算机上时包括软件码部分,用于执行本专利技术的各步骤。从另一方面可见,本专利技术提供一种用于执行计算环境内的指令的计算机程序产品,所述计算机程序产品包括:计算机可读存储介质,可由处理电路读取并且存储用于所述处理电路执行的指令,以用于执行方法,所述方法包括:由处理器获得用于执行的机器指令,所述机器指令是根据计算机架构而对于计算机执行所限定的,所述机器指令包括:操作码,用于指定事务中止操作;以及至少一个字段,用于指定中止码;以及由所述处理器执行所述机器指令,所述执行包括:中止正执行的事务,其中,所述事务在完成之前结束;以及基于所述中止,提供条件码,所述条件码用于指示是否推荐所述事务的重新执行。本文亦描述及主张与一个或多个实施例相关的方法及系统。另外,本文亦描述且可主张与一个或多个实施例相关的服务。贯穿全文实现额外特征及优点。其他实施例及方面在本文中得以详细地描述且被看作本专利技术的部分。附图说明现将如以下附图所示,参照优选实施例仅通过示例的方式描述本专利技术:图1描绘根据现有技术的并且可以实现本专利技术优选实施例的计算环境的一个实施例;图2A描绘根据本专利技术优选实施例的事务开始(TBEGIN)指令的一实例;图2B描绘根据本专利技术优选实施例的图2A的TBEGIN指令的字段的其它细节的一个实施例;图3A描绘根据本专利技术优选实施例的事务开始受限(TBEGINC)指令的一实例;图3B描绘根据本专利技术优选实施例的图3A的TBEGINC指令的字段的其它细节的一个实施例;图4描绘根据本专利技术优选实施例的事务结束(TEND)指令的一实例;图5描绘根据本专利技术优选实施例的事务中止(TABORT)指令的一实例;图6描绘根据本专利技术优选实施例的嵌套事务的一实例;图7描绘根据本专利技术优选实施例的NONTRANSACTIONALSTORE(NTSTG)指令的一实例;图8描绘根据本专利技术优选实施例的EXTRACTTRANSACT本文档来自技高网
...
事务中止指令

【技术保护点】
一种用于执行计算环境内的指令的方法,所述方法包括:由处理器获得用于执行的机器指令,所述机器指令是根据计算机架构而对于计算机执行所限定的,所述机器指令包括:操作码,用于指定事务中止操作;以及至少一个字段,用于指定中止码;以及由所述处理器执行所述机器指令,所述执行包括:中止正执行的事务,其中,所述事务在完成之前结束;以及基于所述中止,提供条件码,所述条件码用于指示是否推荐所述事务的重新执行。

【技术特征摘要】
【国外来华专利技术】2012.06.15 US 13/524,8551.一种用于执行计算环境内的指令的方法,所述方法包括:由处理器获得用于执行的机器指令,所述机器指令是根据计算机架构而对于计算机执行所限定的,所述机器指令包括:操作码,用于指定事务中止操作;以及至少一个字段,用于指定中止码;以及由所述处理器执行所述机器指令,所述执行包括:中止正执行的事务,其中,所述事务在完成之前结束;以及响应于所述中止,提供条件码,所述条件码用于指示是否推荐所述事务的重新执行。2.如权利要求1所述的方法,其中,所述至少一个字段包括基本字段和位移字段,并且其中,基于所述基本字段为非零,组合所述基本字段所指定的寄存器的内容与所述位移字段的值,以创建所述中止码。3.如权利要求2所述的方法,其中,所述组合包括:将所述寄存器的所述内容与所述位移字段的值相加,以创建用户限定的中止码。4.如权利要求1所述的方法,其中,所述至少一个字段包括基本字段和位移字段,并且其中,基于所述基本字段为零,所述至少一个字段用于指定由位移字段组成的所述中止码,其中,所述位移字段的值指定所述中止码。5.如前述权利要求中的任一项所述的方法,其中,所述中止码提供用户限定的用于中止的具体原因,并且其中,所述机器指令是从机器程序状态字指定的程序地址所获得的事务中止指令,并且其中,所述方法还包括:在执行所述机器指令之后,以从分离并且不同的事务程序状态字获得的另一程序地址替换所述机器程序状态字的所述程序地址;以及继续以从分离并且不同的事务程序状态字获得的所述另一程序地址处的指令开始的指令的执行。6.如前述权利要求1-4中的任一项所述的方法,其中,所述条件码包括基于所述中止码的指定位为一个值的第一值以及基于指定位为另一值的第二值。7.如权利要求6所述的方法,其中,所述第一值指示推荐重新执行,所述第二值指示不推荐重新执行。8.如前述权利要求1-4中的任一项所述的方法,其中,所述方法还包括:将所述中止码放置在事务诊断区块中。9.如权利要求8所述的方法,其中,所述事务诊断区块由起始被中止的事务的指令或起始另一事务的指令之一指定,其中,所述事务和另一事务是嵌套的。10.如前述权利要求1-4中的任一项所述的方法,其中,所述方法还包括:基于中止所述事务,将非事务储存存取交付至存储器,并且舍弃事务储存存取。11.一种用于执行计算环境内的指令的...

【专利技术属性】
技术研发人员:D格雷纳C雅各比T斯莱格尔M米特兰
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:美国;US

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

1