[发明专利]非事务储存指令有效
申请号: | 201280073580.6 | 申请日: | 2012-11-22 |
公开(公告)号: | CN104350468B | 公开(公告)日: | 2017-11-14 |
发明(设计)人: | D.格雷纳;C.雅各比;T.斯莱格尔 | 申请(专利权)人: | 国际商业机器公司 |
主分类号: | G06F9/46 | 分类号: | G06F9/46 |
代理公司: | 北京市柳沈律师事务所11105 | 代理人: | 邸万奎 |
地址: | 美国纽*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 事务 存储 指令 | ||
技术领域
本发明大体上关于多处理计算环境,且尤其关于此类计算环境内的事务处理。
背景技术
多处理器编程中的持久挑战为由多个中央处理单元(CPU)对同一储存位置的更新的挑战。更新储存位置的许多指令(甚至包括诸如AND的简单逻辑运算)用对该位置的多次存取来进行该更新。举例而言,首先提取储存位置,且接着储存回已更新结果。
为了使多个CPU安全地更新同一储存位置,序列化对该位置的存取。用先前由国际商业机器公司提供的S/360架构引入的一个指令(TEST AND SET指令)提供储存位置的连锁更新(interlocked update)。连锁更新意谓:如由其他CPU及输入/输出(I/O)子系统(例如,通道子系统)所观察的那样,指令的整个储存存取看来像是自动地发生的一样。稍后,由国际商业机器公司提供的S/370架构引入COMPARE AND SWAP及COMPARE DOUBLE AND SWAP指令,这些指令提供执行连锁更新的较精密方式且允许通常被称为锁定字组(或旗号)的实施。最近新增的指令已提供额外连锁更新能力,包括COMPARE AND SWAP AND PURGE及COMPARE AND SWAP AND STORE。然而,所有这些指令提供用于仅单一储存位置的连锁。
较复杂的程序技术可需要多个储存位置的连锁更新,诸如,当将一元素新增至一双向链接清单(doubly-linked list)时。在此类操作中,前向指针及向后指针两者皆看来像是被同时地更新一样,如由其他CPU及I/O子系统所观察的那样。为了实现此类多重位置更新,强制程序使用分离的单一序列化点,诸如,锁定字组。然而,锁定字组可提供比所保证的序列化层级粗略得多的序列化层级;举例而言,锁定字组可序列化数百万个元素的整个队列,即使仅两个元素正被更新亦如此。程序可结构化数据以使用较精细粒度级序列化(例如,锁定点阶层),但这引入额外问题,诸如,在违反该阶层时的潜在锁死情形,及在程序遭遇错误同时保持一或多个锁定时或在不能获取锁定时的复原问题。
除了以上内容以外,亦存在程序可以执行可能引起或可能不引起异常情况的指令序列的众多情境。若未发生异常情况,则程序继续;然而,若辨识出异常,则程序可采取校正动作以消除异常情况。作为一实例,Java可在(例如)理论式执行、函数的部分内嵌和/或指针空值检查的重新定序中利用此类执行。
在诸如由国际商业机器公司提供的z/OS及其前身的传统操作系统环境中,程序建立复原环境以拦截程序可遭遇的任何程序异常情况。若程序未拦截到异常,则操作系统通常针对操作系统未准备好进行处置的异常而例外地终止程序。建立及利用此类环境是昂贵且复杂的。
发明内容
经由提供一种用于执行计算环境内的指令的计算机程序产品而解决先前技术的缺点且提供优点。该计算机程序产品包括一计算机可读储存介质,该计算机可读储存介质可由一处理电路读取且储存指令以供该处理电路执行来执行一方法。举例而言,所述方法包括如下步骤:由处理器获得用于执行的机器指令,所述机器指令是根据计算机架构而对于计算机运行所限定的,所述机器指令包括:操作码,用于指定非事务储存操作;第一操作数;以及第二操作数,用于指明用于所述第一操作数的位置;以及由所述处理器执行所述机器指令,所述执行包括:在所述第二操作数指定的所述位置处非事务地放置所述第一操作数,其中,无论与所述机器指令关联的事务的中止如何,都保留所述第二操作数处所存储的信息,并且其中,延迟所述非事务地放置,直到所述处理器的事务执行模式的结束为止。
本文亦描述及主张与一个或多个实施例相关的方法及系统。
贯穿全文实现额外特征及优点。其他实施例及方面在本文中得以详细地描述且被看作本发明的部分。
附图说明
现在参照附图将仅通过示例的方式描述本发明的实施例,其中:
图1描绘计算环境的一实施例;
图2A描绘事务开始(TBEGIN)指令的一实例;
图2B描绘图2A的TBEGIN指令的字段的另外细节的一实施例;
图3A描绘事务开始受限(TBEGINC)指令的一实例;
图3B描绘图3A的TBEGINC指令的字段的另外细节的一实施例;
图4描绘事务结束(TEND)指令的一实例;
图5描绘事务中止(TABORT)指令的一实例;
图6描绘嵌套事务的一实例;
图7描绘NONTRANSACTIONAL STORE(NTSTG)指令的一实例;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国际商业机器公司,未经国际商业机器公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201280073580.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种车机屏幕触摸控制方法及系统
- 下一篇:音频合成方法及装置