【技术实现步骤摘要】
【国外来华专利技术】用于在计算环境中执行机器指令的方法和计算机系统
一个或多个方面总体上涉及多处理计算环境,并且具体地说涉及在这样的计算环境内的事务处理。
技术介绍
在多处理器编程中的一个持久挑战是由多个中央处理单元(CPU)对于同一存储位置的更新的持久挑战。包括诸如与的甚至简单的逻辑运算的、更新存储位置的许多指令通过对于该位置的多个访问来如此进行。例如,首先,获取存储位置,并且然后,存储回更新的结果。为了多个CPU安全地更新同一存储位置,对于该位置的访问被串行化。使用由国际商业机器公司先前提供的S/360架构引入的一个指令TESTANDSET指令提供了存储位置的联锁更新。联锁更新表示,如其他CPU和输入/输出(I/O)子系统(例如,信道子系统)所观察,指令的整体存储访问看起来原子地出现。后来,由国际商业机器公司提供的S/370架构引入了COMPAREANDSWAP(比较和交换)和COMPAREDOUBLEANDSWAP(比较加倍和交换)指令,该指令提供了执行联锁更新的更复杂的手段,并且允许通常被称为锁字(或信号量)的部分的实现。近来增加的指令已经提供了另外的联锁更新能力,包括COMPAREANDSWAPANDPURGE(比较和交换和清除)和COMPAREANDSWAPANDSTORE(比较和交换和商店)。然而,所有这些指令提供了仅用于单个存储位置的联锁。更复杂的程序技术可能例如当向双向链表增加元素时要求多个存储位置的联锁更新。在这样的操作中,正向和反向指针都看起来同时被更新,如其他CPU和I/O子系统所观察的那样。为了进行这样的多位置更新,强制程序使用独立的单串行点,诸如锁 ...
【技术保护点】
一种在计算环境中执行机器指令的方法,所述方法包括:处理器获得用于操作的机器指令,对于根据计算机架构的计算机执行定义所述机器指令,所述机器指令包括:用于指定事务开始操作的操作码;以及用于指定要在事务执行中使用的一个或多个控件的控制字段;并且,所述处理器执行所述机器指令,所述执行包括:从所述指令的字段确定要被所述事务开始指令启动的事务是被约束事务还是未约束事务;基于所述字段是一个值,启动被约束事务,所述被约束事务具有与其相关联的一个或多个限制,并且将条件代码设置为用于指示所述机器指令的成功执行的值;并且,基于所述字段是另一个值,指定用于存储在中止的未约束事务中的诊断信息的存储位置,启动所述未约束事务,并且将条件代码设置为用于指示所述机器指令的成功执行的值。
【技术特征摘要】
【国外来华专利技术】2012.06.15 US 13/524,8451.一种在计算环境中执行机器指令的方法,所述方法包括:处理器获得用于操作的机器指令,对于根据计算机架构的计算机执行定义所述机器指令,所述机器指令包括:用于指定事务开始操作的操作码;以及用于指定要在事务执行中使用的一个或多个控件的控制字段;并且,所述处理器执行所述机器指令,所述执行包括:从所述指令的一个字段确定要被事务开始指令启动的事务是被约束事务还是未约束事务;基于所述一个字段是一个值,启动被约束事务,并且将条件代码设置为用于指示所述机器指令的成功执行的值,其中,所述被约束事务是在被约束事务执行模式中执行的事务,具有与其相关联的一个或多个限制,所述一个或多个限制包括以下的至少之一:可获得一般指令的子集;可以执行有限数量的指令;可以访问有限数量的存储器操作数位置;该事务限于单个嵌套层;并且,基于所述一个字段是另一个值,指定用于存储在中止的未约束事务中的诊断信息的存储位置,启动所述未约束事务,并且将条件代码设置为用于指示所述机器指令的成功执行的值,其中,所述未约束事务是在未约束事务执行模式中执行的事务,所述一个字段指示未约束事务,并且其中,所述机器指令进一步包括要在执行所述事务中使用的基本字段,并且其中,基于所述基本字段包括一个值,由所述基本字段指定的寄存器的内容与位移字段的内容组合,以建立第一操作数地址,所述第一操作数地址指定可用于在中止时存储所述诊断信息的事务诊断块的位置。2.根据权利要求1所述的方法,其中,所述一个字段包括所述操作码。3.根据权利要求1所述的方法,其中,所述控制字段包括下面的部分的一个或多个:通用寄存器存储掩蔽,用于指示要在所述事务的开始处存储并且在中止时恢复的一个或多个对的寄存器;以及允许访问寄存器修改字段,用于控制是否允许所述事务修改访问寄存器。4.根据权利要求3所述的方法,其中,所述一个字段指示未约束事务,并且其中,所述控制字段进一步包括:允许浮点操作字段,用于控制是否允许所述事务执行指定的浮点指令;以及程序中断过滤控制字段,用于控制某些类别的程序中断条件是否导致中断。5.根据权利要求1所述的方法,其中,所述一个或多个限制还包括:在所述事务内的有限数量的指令;在所述事务内的指令要在存储器的预定义区域内;某些预先指定的指令能够被包括在所述事务内,其他被限制;对于所述事务的存储器操作数的访问的限制;所述事务不访问在包含存储器的所述预定义区域的存储器的块中的存储器操作数;所述事务不使用被映射到同一绝对地址的不同逻辑地址访问指令或存储器操作数;并且由所述事务进行的操作数参考要在指定大小内。6.根据在前的权利要求的任何一项所述的方法,其中,所述方法进一步包括:执行另一个机器指令以结束由所述事务开始指令启动的所述事务,所述另一个机器指令包括事务结束指令,所述事务结束指令包括用于指示所述事务结束指令的操作码。7.根据权利要求6所述的方法,其中,所述执行所述另一个机器指令包括:递减事务嵌套深度;确定所述递减的事务嵌套深度是否是0;并且,基于所述递减的事务嵌套深度是0而提交由所述事务进行的存储访问。8.一种用于在计算环境中执行机器指令的计算机系统,所述机器指令用于启动事务,其中,由其他处理器对于所述事务的存储位置的存储使得所述事务中止,并且其中,在所述事务中由指令进行的存储被有效地延迟,直到所选择的事务完成,所述计算机系统包括:存储器;以及,处理器,其与所述存储器进行通信,其中,所述计算机系统被配置为执行一种方法,所述方法包括:处理器获得用于操作的机器指令,对于根据计算机架构的计算机执行定义所述机器指令,所述机器指令包括:用于指定事务开始操作的操作码;以及用于指定要在事务执行中使用的一个或多个控件的控制字段;并且,所述处理器执行所述机器指令,所述执行包括:从所述指令...
【专利技术属性】
技术研发人员:D格雷纳,C雅各比,T斯莱格尔,M米特兰,
申请(专利权)人:国际商业机器公司,
类型:发明
国别省市:美国;US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。