修改来自较小特权状态的运行时间仪表控制制造技术

技术编号:11045641 阅读:103 留言:0更新日期:2015-02-18 11:48
本发明专利技术实施例涉及在较小的特权状态下修改运行时间仪表控制(MRIC)。读取MRIC指令,该MRIC指令包括运行时间仪表控制块(RICCB)的地址。基于包含在MRIC指令中的地址读取RICCB。RICCB包括用于修改处理器的运行时间仪表控制的子集的值。运行时间仪表控制的子集包括运行时间仪表程序缓冲器(RIB)位置的运行时间仪表程序缓冲器当前地址(RCA)。该RIB保持在程序执行期间由处理器所确认的事件的运行仪表信息。RICCB的值被加载到运行时间仪表控制。基于被加载到运行时间仪表控制中的值,事件信息被提供给RIB。

【技术实现步骤摘要】
【国外来华专利技术】修改来自较小特权状态的运行时间仪表控制
本专利技术一般地涉及在计算环境内的处理,并且更具体地,涉及修改来自较小特权状态的运行时间仪表控制。
技术介绍
计算机处理器使用日益复杂的分支预测和指令高速缓冲器逻辑执行程序或指令流。这些处理已被引入来提高指令吞吐量,并因此提高处理性能。引入用于改善性能的逻辑使其很难肯定地预测特定软件应用程序将如何在计算机处理器上执行。在软件开发过程中,经常存在的功能和性能之间的平衡。软件在起始于正在执行软件的底层硬件的一个或多个抽象级别处被执行。当硬件被虚拟化时,附加的抽象层被引入。由于引入性能增强逻辑和各种抽象层,很难透彻了解到在执行程序时在硬件级别处实际正在发生什么。如果没有这个信息,软件开发者使用更抽象的方法,诸如执行持续时间、存储器使用情况、线程的数量等,用于优化软件应用。。
技术实现思路
技术问题当可以获得硬件具体信息时,其通常在事后被提供给开发者,并且其在高级别上以聚合方式提供,和/或点缀有其他散程序和操作系统的活性,使其难以识别可能影响该软件应用的效率和准确度的问题。问题解决方案实施例包括一种用于修改来自较小特权状态的的运行时间仪表控制(MRIC)的方法、系统以及计算机程序产品。取所述MRIC条指令。该MRIC指令包括运行时间仪表控制块(RICCB)的地址。该RICCB基于包括在该MRIC指令内的地址被取出。该RICCB包括用于修改处理器的运行时间仪表控制的子集的值。该运行时间仪表控制的子集包括运行时间仪表缓冲器(RIB)位置的运行时间仪表程序缓冲器当前地址(RCA)。所述RIB保存在程序执行期间由处理器识别的事件的运行时间仪表信息。所述RICCB的值被加载到运行时间仪表控制。基于被加载在运行时间仪表控制中的值,事件信息提供给所述RIB。通过本专利技术的技术可实现附加特征和优点。本专利技术的其他实施例和各方面在本文中将被详细描述,并且被认为是所要求保护的专利技术的一部分。为了更好地理解本专利技术的优点和特征,请参考说明书和附图。附图说明被认为是本专利技术的主题被特别指出并在说明书的结尾处的权利要求书中被清楚地要求保护。根据结合附图的以下详细描述可清楚本专利技术的前述和其它特征以及优点,其中,图1A是示出实施例中的示例主计算机系统的示意图;图1B是示出实施例中的示例仿真主计算机系统的示意图;图1C是示出实施例中的示例计算机系统的示意图;图2是示出在实施例中的示例性计算机网络的示意图;图3是示出在实施例中的计算机系统的元件的示意图;图4A示出了在实施例中的计算机系统的详细元件;图4B示出了在实施例中的计算机系统的详细元件;图4C示出了在实施例中的计算机系统的详细元件;图5示出根据实施例的处理器的用于运行时间仪表的系统的示意图;图6示出了在实施例中的修改运行时间仪表控制(MRIC)指令;图7示出了实施例中用于发起来自较小特权状态的程序的MRIC指令的处理流程;图8示出了另一个实施例中用于发起来自较小特权状态程序的MRIC指令的处理流程;图9示出了在实施例中的包括可由特权状态设定的控制的运行时间控制仪表控制块(RICCB)的一部分;图10示出了在实施例中当半特权位(K)被设置为1时RICCB控制块的一部分;图11示出了在实施例中当半特权位(K)被设置为0时RICCB控制块的一部分;图12示出了根据实施例的报告群组;以及图13示出了在实施例中计算机程序产品。具体实施方式本专利技术的实施例是一种,用于更新来自较小特权状态的运行时间仪表控制的子集的系统、方法和计算机程序产品。在一个实施例中,较小的特权(lesser-privileged)状态程序被允许基于当前的运行时间仪表控制的有效性、运行时间仪表控制的当前状态,以及基于表示较小特权状态配置被允许的标志(K),修改大多数或所有运行时间仪表控制。较小的特权状态的程序执行修改运行时间仪表控制(MRIC)指令来更新运行时间仪表控制。虽然基于运行时间仪表控制的许可设置所述MRIC指令允许更新大量的运行时间仪表控制,但是大部分运行时间仪表控制可以由较小特权状态程序使用MRIC指令来更新。图1A示出了实施例中的主计算机系统50的代表性组件。在计算机系统中也可以采用组件的其它布置。代表性主计算机系统50包括与主存储器(计算机存储器)2以及到存储设备11和用于与其它计算机或SAN和等通信的网络10的I/O接口进行通信的一个或多个处理器1。处理器1是符合具有架构的指令集和架构的功能的体系结构。处理器1可具有动态地址转换(DAT)3,用于将程序地址(虚拟地址)转换成存储器中的实际地址。DAT3通常包括转换后备缓冲器(translationlookasidebuffer(TLB))7,用于高速缓冲器一些转换,使得对计算机存储器2的块的后面的访问不需要地址转换的延迟。通常,高速缓冲器9用于计算机存储器2与处理器1之间。高速缓冲器9可以是分层的,具有可提供给多个CPU的大高速缓冲器以及在所述大容量高速缓冲器和每个CPU之间的更小更快的(较低级别的)高速缓冲器。在一些实施例中,低级别的高速缓冲器被划分,以提供单独的低级别的高速缓冲器用于取指令和数据的访问。在一个实施例中,由取指令单元4经由高速缓冲器9从计算机存储器2取出指令。该指令在指令解码单元6被解码并且(与一些实施例中其他的指令一起)被分派到指令执行单元8。通常,采用几个指令执行单元8,例如算术执行单元、浮点执行单元以及分支指令执行单元。指令是由指令执行单元8执行,根据需要访问来自指定的指令寄存器或计算机存储器2的操作数。如果操作数是从计算机存储器2存取(加载或存储)时,载荷存储单元5通常在正被执行的指令控制下处理访问。指令可以在硬件电路中或在内部微码(固件)、或者由两者的组合来执行。在图1B提供了对仿真主机系统21的描述,其仿真主机架构的主机系统,诸如图1的主机系统50。在仿真主计算机系统21中,主机处理器(CPU)1是仿真主机处理器(或虚拟主机处理器)29,并且包括本机(native)处理器27,其具有与主计算机系统50的主机处理器1不同的本地指令集架构。仿真主计算机系统21具有可访问本机处理器27的存储器(memory)22。在一个实施例中,存储器22被划分成计算机存储器2部分和仿真例程存储器23的部分。根据主计算机的体系结构,计算机存储器2可用于仿真主计算机系统21的程序。本机处理器27执行一个体系架构的结构化的指令集的本机指令,而不是所述仿真处理器29的本机指令(所述本机指令从仿真例程存储器23中得到),并且可以通过采用在序列与访问/解码例程中获得的一个或多个指令从计算机存储器2的程序访问用于执行的主机指令,所述序列与访问/解码例程可以解码被访问的主机指令以确定用于仿真被访问的主机指令的功能的本机指令的执行程序。为主计算机系统50架构定义的其他设施(facility)可以通过结构化的设施例程,例如包括诸如作为通用寄存器的设施、控制寄存器、动态地址转换和输入/输出(I/O)子系统支持以及处理器高速缓冲器,来仿真。仿真例程还可以利用在本机处理器27(如通用寄存器和虚拟地址的动态转换)可获得的功能,来提高仿真例程的性能。专用硬件和空载(off-load)引擎也可以被提供用于帮助本机处理器27模仿主计算机系统50的功能本文档来自技高网...
修改来自较小特权状态的运行时间仪表控制

【技术保护点】
一种用于执行修改运行时间指令控制(MRIC)指令的计算机实现方法,所述MRIC指令可在管理程序状态或较小特权状态下执行,所述MRIC指令仅用于设置运行时间仪表控制的子集,其中所有运行时间仪表控制可由特权负荷运行时间仪表控制器(LRIC)指令加载,所述方法包括:取MRIC指令,所述MRIC指令包括运行时间仪表控制块(RICCB)的地址;由处理器取所述RICCB,所述RICCB包括多个用于修改所述处理器的运行时间仪表控制的子集的值,所述运行时间仪表控制的子集包括运行时间仪表程序缓冲器(RIB)位置的运行时间仪表缓冲器当前地址(RCA),所述RIB用于保存在程序执行期间由处理器识别事件的运行时间仪表信息;加载所述多个值到所述运行时间仪表控制;以及使用所加载的多个值来将运行时间仪表事件信息提供给所述RIB。

【技术特征摘要】
【国外来华专利技术】2012.03.16 US 13/422,5981.一种用于执行修改运行时间指令控制MRIC指令的计算机实现方法,所述MRIC指令在管理程序状态或较小特权状态下执行,所述MRIC指令仅用于设置运行时间仪表控制的子集,其中所有运行时间仪表控制由特权负荷运行时间仪表控制器LRIC指令加载,所述方法包括:取MRIC指令,所述MRIC指令包括运行时间仪表控制块RICCB的地址;由处理器取所述RICCB,所述RICCB包括用于修改所述处理器的运行时间仪表控制的子集的多个值,所述运行时间仪表控制的子集包括运行时间仪表程序缓冲器RIB位置的运行时间仪表缓冲器当前地址RCA,所述RIB用于保存在程序执行期间由处理器识别事件的运行时间仪表信息;加载所述多个值到所述运行时间仪表控制;以及使用所加载的多个值来将运行时间仪表事件信息提供给所述RIB。2.根据权利要求1所述的方法,还包括:导出用于所述RICCB的多个值中的至少一个的型号依赖有限值;和将所述型号依赖有限值作为更新值加载到运行所述时间仪表控制。3.根据权利要求2的方法,其中报告群组的尺寸可以使所述型号依赖有限值被加载,所述方法还包括:基于具有第一值的所述运行时间仪表控制的第一预定字段,将当前地址设置为所述RICCB的起始地址的值;以及基于具有第二值运行时间控制仪表的第一预定字段,将当前地址设置为指定的RICCB当前地址值的值。4.根据权利要求1所述的方法,还包括基于以下任何一项或多项造成一种例外:确定在所述MRIC指令中的地址没有与双字边界对齐;以及确定所述RICCB未能从MRIC指令包含的地址中被取出。5.根据权利要求1所述的方法,还包括:确定所述RICCB中的一个或多个值是有效的,其中,该确定还包括以下任一项:确定运行时间仪表的第二预定位,其表示来自较小特权状态的MRIC指令不被容许;确定所述运行时间仪表控制是无效的;以及确定运行时间仪表未启用。6.根据权利要求1所述的方法,其中所述RICCB的多个值还包括以下一个或多个:用于管理运行时间仪表数据采样的详细信息的控制:用于管理运行时间仪表数据收集的详细信息的控制;用于管理运行时间仪表数据报告到程序缓冲器的详细信息的控制;用于管理指令高速缓冲器未中的控制;用于管理指令高速缓冲器未中的检测的控制;用于管理报告群组的尺寸的控制;用于管理在其中存储下一个报告群组的输出程序缓冲器中的当前地址的控制;用于管理关于呼叫类型、返回类型、以及传送型分支的数据的数据收集的控制;以及用于管理是否被正确或不正确地预测以及是否被采取或不采取的分支的数据集合的控制。7.根据权利要求1所述的方法,其中所述MRIC指令被定义用于第一计算机体系结构,并且取指令和解析由计算机体系结构中的第二处理器执行,由所述第二处理器进行的所述取指令和分析包括:识别用于仿真所述MRIC指令在第一台计算机体系结构上的执行的软件例程;以及采用所述软件例程执行所述MRIC指令。8.根据权利要求1所述的方法,还包括:如果遇到错误,则所述运行时间仪表控制中没有值被更...

【专利技术属性】
技术研发人员:MS法雷尔小查尔斯W盖尼岑中龙TJ斯雷格
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:美国;US

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

1