增强监控机构制造技术

技术编号:7570860 阅读:121 留言:0更新日期:2012-07-15 04:14
一种可在两种模式下操作的监控机构,其允许与先前已有的监控机构的兼容性。在一种模式下,响应于遇到监控的事件,产生中断。在另一种模式下,响应于遇到监控的事件,递增一个或多个相关联的计数器,而不引起中断。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术一般地涉及计算环境中的处理,并且具体涉及在处理期间发生的监控事件。
技术介绍
这些年来,使用了不同的监控工具来监控处理事件。一种这样的工具是用于监控由国际商业机器公司提供的z/Architecture 系统中的处理的监控(monitor)调用(MC)指令。监控调用指令给程序提供了监控通过监控类别和监控掩码(mask)表示的感兴趣的关键区域的能力。监控掩码允许控制程序(例如操作系统)使能16个可能的监控类别中的一个或多个。当执行指定所使能的监控类别的监控调用指令(即,设置用于指定类别的掩码比特)时,发生监控事件程序中断,并且控制程序可以基于在该指令中指定的监控代码来记录信息。当执行监控调用指令,但是所指定的监控类别不对应于所使能的监控掩码比特时,该指令充当无操作(NOP)。监控调用指令例如用于对所编制的(instrumented)代码路径的执行进行计数。该计数是使用计数程序执行的。多年来,计数程序被用于确定各种关键操作系统事件的频率,作为示例,所述关键操作系统事件包括管理程序调用(SVC)、锁定、中断、存储器分配和释放、调度、排队和取消排队等等。
技术实现思路
使用先前已有的监控调用机制的计数操作需要大量的开销,包括进行程序中断,建立恢复环境,执行计数操作,然后在返回到中断的程序之前反转该过程。根据本专利技术的一个方面,提供了一种增强监控机构(facility),其允许处理器固件(例如毫代码)高效地更新由监控调用指令指定的计数器而无需中断。该增强监控机构提供了与先前已有的功能兼容的增强功能。通过提供一种用于便利于在计算环境内进行监控的计算机程序产品,克服了现有技术的缺点,并且提供了额外的优点。该计算机程序产品包括可由处理电路读取并存储指令的存储介质,所述指令用于由处理电路执行以便执行一方法。该方法例如包括执行机器指令以便监控计算环境的事件,所述执行包括通过机器指令指定要监控的事件;以及递增与被监控的事件相关联的计数器而不进行中断。在这里还描述了并且要求保护涉及本专利技术的一个或多个方面的方法和系统。此外,还描述了涉及本专利技术的一个或多个方面的服务,并且在这里可以要求保护所述服务。通过本专利技术的技术实现附加特征和优点。在这里,详细描述本专利技术的其他实施例和方面,并且本专利技术的其他实施例和方面被视为所要求保护的专利技术的一部分。附图说明在说明书结尾处的权利要求中,作为示例而具体地指出并且清楚地要求保护本专利技术的一个或多个方面。根据结合附图的以下详细描述,本专利技术的前述和其他目的、特征和优点是显而易见的,在附图中图1示出包含并使用本专利技术的一个或多个方面的计算环境的一个示例;图2示出根据本专利技术的一个方面使用的监控调用指令的格式的一个示例;图3示出根据本专利技术的一个方面使用的控制寄存器的一个示例;图4示出根据本专利技术的一个方面的计数器阵列和与其相关联的结构的一个示例;图5A-5B示出与本专利技术的一个方面相关联的监控逻辑的一个示例;图6示出包含本专利技术的一个或多个方面的计算机程序产品的一个实施例。具体实施例方式根据本专利技术的一个方面,提供了一种增强监控机构,其允许执行监控而不引起中断。该增强监控机构与先前已有的监控机构兼容,原因在于根据某些字段的设置,要么选择引起中断的先前已有的监控机构(第一操作模式),要么选择不引起中断的本专利技术的增强机构(第二操作模式)。尽管利用增强机构不进行中断,但是执行监控,该监控提供例如事件的计数。参照图1来描述包含和使用本专利技术的一个或多个方面的计算环境的一个实施例。计算环境100例如包括经由例如一条或多条总线108或其他连接彼此耦接的至少一个处理器102(例如中央处理单元(CPU))、存储器104(例如主存储器)以及一个或多个输入/输出设备106。作为一个示例,计算环境100基于由国际商业机器公司提供的z/Architecture ,其示例在通过引用而被整体合并于此的“z/Architecture-Principles of Operation”,SA22-7832-07, 2009年2月中进行了描述。在该示例中,处理器102是由国际商业机器公司提供的eServerz/Series .服务器,并且它执行诸如也是由国际商业机器公司提供的z/OS :操作系统的操作系统。z/Architecture 、z/Series 、z/OS 和IBM 是美国纽约州阿芒克的国际商业机器公司的注册商标。在这里使用的其他名称可能是国际商业机器公司或其他公司的注册商标、商标或产品名称。根据本专利技术的一个方面,经由监控机构来监控计算环境100内的处理。该监控机构包括例如监控调用指令,该指令使得当在被监控的程序中到达所选择的点时能够采取动作。也就是说,在所监控的程序中的期望点处植入监控调用指令,并且,当到达那些点时,采取动作。作为示例,所述动作包括将控制经由中断传递给监控程序,或者,根据本专利技术的一个方面,更新一个或多个计数而不进行中断。监控在执行各种测量功能时有用。例如,可以生成指示执行了哪些程序的追踪信息,可以生成指示特定程序被多频繁地使用的计数信息;以及可以生成指示特定程序执行所需的时间量的定时信息。参照图2描述监控调用指令的一个示例。在此具体示例中,监控调用指令是z/Architecture 的一部分,并且在通过引用而被整体合并于此的“ζ/Architecture-Principles of Operation”,SA22-7832-07,2009 年 2 月中描述了在本专利技术之前存在的指令的各方面。尽管提供了该具体示例,但是对监控调用指令的格式的很多修改都是可能的,并且被视为所要求保护的专利技术的一部分。参照图2,在一个示例中,监控调用指令200包括8比特操作代码202(例如4“AF”),其指定监控调用指令;索引字段(12) 204,其包括例如指定16个监控类别之一的4比特无符号二进制数;以及通过Bl 206和Dl 208指定的第一操作数地址,其形成如下所述使用的监控代码。在此示例中,Bl长度为4比特,Dl长度为12比特。当Bl不等于0时,Bl是寄存器位置,其内容被加到Dl字段上以产生操作数地址,其中该操作数地址不是用来对操作数进行寻址,而是用来提供监控代码。当在程序中到达监控调用指令时,执行该指令。在执行期间,检查至少一个监控掩码组,以确定是否要执行监控事件。所述至少一个监控掩码组被包括在诸如控制寄存器(CR) 8的控制寄存器中。具体地,在此示例中,CPU具有16个控制寄存器,每个具有64个比特位置。寄存器中的比特位置被分配给系统中的特定机构,并且被用来指明可以进行操作或者用来提供所述机构需要的特殊信息。控制寄存器由编号0-15标识,并且由指令“加载控制”和“存储控制”中的4比特的R字段来指定。可以通过这些指令来对多个控制寄存器寻址。加载控制(LCTLG)指令使得从存储器加载由所述指令指定的那些寄存器中的所有控制寄存器比特位置。图3中示出了控制寄存器8的一个示例。参照图3,控制寄存器300包括第一监控掩码组302以及第二监控掩码组304。在该具体实施例中,第一监控掩码组位于控制寄存器的比特48-63中,并且被用于先前已有的监控机构以及增强监控机构,而第二监控掩码组位于比特16-31中,并且被用于增强监控机构。每个掩码组例如包括本文档来自技高网...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:D格里纳R罗格斯R圣约翰J马尔德
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:

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

1
相关领域技术