CN101443738A - 提取cpu时间工具 - Google Patents
提取cpu时间工具 Download PDFInfo
- Publication number
- CN101443738A CN101443738A CNA2006800546048A CN200680054604A CN101443738A CN 101443738 A CN101443738 A CN 101443738A CN A2006800546048 A CNA2006800546048 A CN A2006800546048A CN 200680054604 A CN200680054604 A CN 200680054604A CN 101443738 A CN101443738 A CN 101443738A
- Authority
- CN
- China
- Prior art keywords
- time
- task
- instruction
- cpu
- timer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 239000000284 extract Substances 0.000 title claims description 9
- 238000000034 method Methods 0.000 claims abstract description 20
- 238000004590 computer program Methods 0.000 claims abstract description 8
- 238000012545 processing Methods 0.000 claims description 24
- 238000000605 extraction Methods 0.000 claims description 10
- 230000008569 process Effects 0.000 abstract description 4
- 238000009825 accumulation Methods 0.000 abstract 1
- 230000008901 benefit Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000007423 decrease Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000013475 authorization Methods 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
- G06F11/3419—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30076—Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
- G06F9/30087—Synchronisation or serialisation instructions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
- G06F9/4825—Interrupt from clock, e.g. time of day
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
- G06F9/4887—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues involving deadlines, e.g. rate based, periodic
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/88—Monitoring involving counting
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Executing Machine-Instructions (AREA)
- Debugging And Monitoring (AREA)
- Telephonic Communication Services (AREA)
- Exchange Systems With Centralized Control (AREA)
Abstract
一种用于确定资源使用(如任务使用的处理器时间)的有效工具。代表不需要调用操作系统服务的用户应用执行所述确定。所述工具包括指令,所述指令作为单个操作单位确定已用时间并将其报告给用户。
Description
技术领域
本发明一般地涉及处理环境内的处理,具体地说,涉及有效确定任务的资源使用的工具。
背景技术
确定资源使用对于包括代码改进、计费在内的许多处理方面而言至关重要。针对其确定使用的一种资源是处理器时间。在由国际商业机器公司提供的z/Architecture中,提供了测量已用中央处理单元(CPU)时间并在已经过指定时间量时导致中断的计时器。
由设置CPU计时器(SPT)控制指令设置此计时器,并通过存储CPU时间(STPT)控制指令检查此计时器的内容。这些指令都是特权指令以确保时间的准确性,并且因此不可由问题状态程序(即用户程序)使用。
除了上述之外,由国际商业机器公司提供的操作系统还提供了称为TIMEUSED的服务例程,此服务例程可用于问题状态程序。程序或操作调用此服务以确定一段代码(例如任务)使用的CPU时间量。TIMEUSED服务例程计算已用时间,将累积时间相加,并将值返回给程序。TIMEUSED例程的计算必须在禁用中断时执行,因为任何中断都会通过操纵CPU计时器或累加器而对结果产生不利影响。
TIMEUSED服务例程通过程序调用被链接并且程序返回指令。此例程禁用中断、获取并释放CPU锁、建立恢复环境、计算已用时间,并在完成其工作之后重新启用,所有这些操作将花费数百个CPU周期。当尝试测量很小的代码段时,TIMEUSED服务例程的开销将会严重干扰所测量的内容。
发明内容
根据以上所述,需要一种工具以有效确定资源使用,例如任务的已用CPU时间。具体地说,需要一种在不调用操作系统服务的情况下有效确定任务的资源使用的工具。需要用户能够有效确定资源使用。
通过提供如权利要求1中要求保护的方法克服了现有技术的缺点并提供了其他优点。
在此还描述和要求保护了对应于上述方法的系统和计算机程序产品,以及一个或多个指令。
通过本发明的技术实现了其他功能和优点。在此详细描述了本发明的其他实施例和方面并将其视为所要求保护的发明的一部分。
附图说明
在说明书结尾处的权利要求中作为实例具体指出并明确要求保护本发明的一个或多个方面。从下面结合附图的详细说明,本发明的上述和其他目标、特性和优点是显而易见的,这些附图是:
图1示出了结合并使用本发明的一个或多个方面的处理环境的一个实施例;
图2示出了根据本发明的一个方面的与确定资源使用关联的逻辑的一个实施例;
图3示出了根据本发明的一个方面的所使用的提取CPU时间指令的格式的一个实例;
图4a示出了由本发明的一个方面的提取CPU时间指令使用的通用寄存器0的字段的一个实施例;
图4b示出了由本发明的一个方面的提取CPU时间指令使用的通用寄存器1的字段的一个实施例;
图5示出了根据本发明的一个方面的与执行提取CPU时间指令关联的逻辑的一个实施例;
图6是本发明的一个方面的提取CPU时间指令的操作的图示;以及
图7示出了结合本发明的一个或多个方面的计算机程序产品的一个实例。
具体实施方式
根据本发明的一个方面,提供了一种工具以有效确定在处理环境内执行的任务的资源使用。在一个实例中,提供了一种工具,其中用户(例如用户代码、用户应用、用户程序等)可以准确测量执行特定代码段(在此称为任务)所需的处理器时间。此工具确定已用处理器时间而没有使此类测量失真的显著开销,例如与使用操作系统服务确定已用时间关联的开销。
参考图1描述了结合并使用本发明的一个或多个方面的处理环境的一个实施例。处理环境100例如是多处理环境,包括通过例如一个或多个总线108或其他连接相互连接的多个处理器102(例如中央处理单元(CPU))、存储器104(例如主存储器)以及一个或多个输入/输出(I/O)设备106。
作为一个实例,每个处理器102是由位于纽约阿蒙克的国际商业机器公司提供的IBM System ZTM服务器,并且一个或多个处理器执行诸如也由国际商业机器公司提供的之类的操作系统。(IBM和z/OS是位于美国纽约阿蒙克的国际商业机器公司的注册商标。在此使用的其他名称可以是国际商业机器公司或其他公司的注册商标、商标或产品名称。)
通过提供能够确定资源使用,例如已用处理器(例如CPU)时间而不需要调用操作系统服务或不使用特权指令或操作的工具而便于处理环境内的处理。
参考图2描述了与确定资源使用关联的逻辑的一个实施例。由处理环境的处理单元执行此逻辑以响应例如用户应用(例如,非特权代码)的请求。在不调用操作系统服务并且不使用特权操作的情况下确定任务的资源使用(步骤200)。
初始地,通过如所述逻辑指示的读取计数器值来确定用于跟踪任务的资源(例如所用时间)的计数器的当前值(步骤202)。然后从保存值中减去所确定的值,所述保存值例如是计数器在其启动时的值(步骤204)。在一个实例中,当任务使用资源时计时器递减并读取计数器的当前值以响应请求。减去的结果表示此时间间隔内任务使用的资源量,此时间间隔由计数器的开始值和结束值定义(步骤206)。
在一个实例中,由指令执行用于确定资源使用的操作。作为一个特定实例,提供了指令以确定任务使用的处理器时间量。所述指令可以在许多体系结构中实现并且可以被仿真。作为实例,所述指令由处理器在硬件中执行;或通过由在具有不同本机指令集的处理单元上执行的软件仿真包括此指令的指令集来执行。在一个特定实例中,所述指令在由国际商业机器公司提供的z/Architecture中实现,并且在此称为提取CPU时间(ECTG)指令。
提取CPU时间指令300(图3)是非特权指令,并且包括例如指定提取CPU时间指令的操作码302a、302b;通用寄存器304,其内容指定指令使用的第三操作数;基寄存器306,其可以是处理单元的十六个通用寄存器中的任何一个,并且包括指令使用的存储器中第一操作数的地址的一部分;位移值308,其例如是添加到寄存器306的内容中以提供存储器中第一操作数的地址的无符号12位二进制数;基寄存器310,其也是处理单元的十六个通用寄存器中的任何一个,并且包括指令使用的存储器中第二操作数的地址的一部分;以及位移值312,其被添加到寄存器310的内容中以提供指令的存储器中第二操作数的地址。
除了上述寄存器之外,提取CPU时间指令还隐含地使用两个不必编码在指令中但由指令使用的通用寄存器。这些寄存器包括通用寄存器0和通用寄存器1。
通用寄存器0(400,图4a)包括例如自上次分派任务以来的已用时间402。它是从第一操作数(其内容包括任务分派时的CPU计时器的值)中减去当前CPU计时器的值产生的差。
通用寄存器1(410;图4b)包括例如当分派任务时任务时间累加器的值412。这是指令的第二操作数的内容。
虽然以上描述了寄存器的实例,但是每个寄存器可以包括更多、更少或不同的信息。此外,每个寄存器可以包括本发明的一个或多个方面中不一定需要的其他数据。信息在寄存器内的特定位置与实施方式和/或体系结构相关。
参考图5描述了与提取CPU时间指令关联的逻辑的一个实施例。作为一个实例,此指令由处理环境的处理器代表在操作与特定任务相关时请求操作的非特权用户应用(例如,在问题状态中)执行。提取CPU时间指令是不调用操作系统服务的非特权指令。但是,在此实施例中假设在分派任务时已设置CPU计时器(例如计数器、寄存器等)。在一个实例中,计时器由设置CPU计时器(STP)指令设置,此指令是z/Architecture:Principles of Operation(z/Architecture:操作原理,第SA22-7832-04号刊物,2005年9月,在此完全引入作为参考)中描述的特权指令。它还可以由任何其他方式来设置。计时器被设置为代表用于执行任务的指定时间片的给定值(例如10-12毫秒)。
响应于执行提取CPU时间指令,确定CPU计时器的当前值(步骤500)。例如,当处理器处理任务时计时器递减,并且响应于执行提取CPU时间指令,此时观察计时器的值。这包括例如读取保存计时器的寄存器。在一个实施例中,可以在任何时间(包括在针对任务提供的时间片结束之前以及不等待计时器中断)提取计时器的值。
然后从指令的第一操作数中减去CPU计时器的当前值(步骤502)。第一操作数代表分派任务时的CPU计时器的值。例如,当分派任务时,CPU计时器被设置为选定值(例如10-12毫秒),并且此值被存储在存储器(例如PSDATSAV)中。因此,PSDATSAV-当前CPU计时器=自上次分派任务以来的已用处理器时间。将此值放在通用寄存器0中(步骤504)。
除了上述之外,在一个实施例中还提取其他信息(步骤506)。作为一个实例,指令的第二操作数未被改变地放置在通用寄存器1中。第二操作数包括例如维护任务先前使用的CPU时间总量的任务控制块(例如TCBTTUSD)的地址。通过提取此信息并将此信息放置在通用寄存器1中,用户应用能够通过将通用寄存器0和通用寄存器1的结果相加来确定至此使用的处理器时间总量。
此外,在一个实施例中,在指令的第三操作数位置处的信息替换了通用寄存器R3的内容。此信息包括各种类型的信息,包括但不限于指定对于任务而言重要或需要的信息的标志、可在出于计费目的调整处理器时间中使用的比例因数,以及其他类型的信息。
图6中示出了操作的图形表示。B1D1(600)参考存储器中的第一操作数602。从第一操作数604的内容中减去CPU计时器606的当前值。将差存储在通用寄存器0中(608)。B2D2(610)参考存储器中的第二操作数612,此操作数的内容未被改变地放置在通用寄存器1中(614)。此外,R3(616)参考存储器中的第三操作数618,此操作数的内容未被改变地放置在通用寄存器R3中(620)。
在一个实施例中,以上操作全部在同一操作单位内发生而不可能被中断。通过以原子方式执行这些操作,值将保持其含义。
以上详细描述了一种在没有与昂贵操作系统服务关联的开销和/或不使用特权操作的情况下有效确定资源使用的工具。具体地说,描述了一种在没有调用操作系统服务的昂贵开销和/或不发出程序调用和/或程序返回指令的情况下,能够有效确定所用CPU时间量的提取CPU时间工具。此工具使应用程序能够准确测量执行特定代码段所需的CPU时间,而没有使此类测量传统上失真的显著开销。所述测量可用于许多方面,包括但不限于应用代码和计费的细致调整。所述工具有利地使应用程序能够在任何给定时刻(而不仅仅在时间片的结尾)有效确定所用任务时间量。这允许程序在微秒或纳秒范围内有效确定指令计时而不必等待直到经过多个毫秒。
本发明的一个或多个方面可以包括在具有例如计算机可用介质的制品(例如,一个或多个计算机程序产品)中。所述介质其中具有例如计算机可读程序代码装置或逻辑(例如指令、代码、命令等)以提供和促进本发明的能力。所述制品可以包括为计算机系统的一部分或单独销售。
参考图7描述了结合本发明的一个或多个方面的制品或计算机程序产品的一个实例。计算机程序产品700包括例如一个或多个计算机可用介质702以在其上存储计算机可读程序代码装置或逻辑704以便提供和促进本发明的一个或多个方面。所述介质可以是电、磁、光、电磁、红外线或半导体系统(或装置或设备)或传播介质。计算机可读介质的实例包括半导体或固态存储器、磁带、可移动计算机盘、随机存取存储器(RAM)、只读存储器(ROM)、硬磁盘和光盘。光盘的实例包括光盘-只读存储器(CD-ROM)、光盘-读/写(CD-R/W)和DVD。
由一个或多个计算机可读程序代码装置或逻辑定义的一个或多个相关模块的程序指令序列或逻辑集引导执行本发明的一个或多个方面。
虽然在此提供了一个或多个实例,但是这些仅是实例。可以具有许多变型而不偏离本发明的精神。例如,不同于在此提供的实例的处理环境可以包括和/或受益于本发明的一个或多个方面。作为一个实例,一个或多个处理器可以不同于IBM System ZTM处理器和/或执行之外的操作系统。此外,所述环境不需要基于z/Architecture,而是可以基于例如由Intel、Sun Microsystems以及其他公司提供的其他体系结构。进而,所述指令可以包括指定信息的寄存器以外的其他寄存器或实体。此外,寄存器和/或实体内可以具有不同的数据和/或布置。进而,计时器可以不同于计数器或寄存器。可以使用任何机制确定资源使用。术语“计时器”旨在包括广泛的机制,包括但不限于计数器和寄存器。此外,虽然在此处的实施例中,计时器递减,但是在其他实施例中,它可以递增和/或遵循某种模式。存在许多其他变型。
此外,环境可以包括仿真器(例如软件或其他仿真机制),其中仿真特定体系结构或其子集。在此类环境中,尽管执行仿真器的计算机可能具有不同于被仿真的能力的体系结构,但是仿真器的一个或多个仿真功能可以实现本发明的一个或多个方面。作为一个实例,在仿真模式中,解码被仿真的特定指令或操作,并且构建相应仿真功能以实现单个指令或操作。
在仿真环境中,主机包括例如用于存储指令和数据的存储器;用于从存储器取回指令并可选地为取回的指令提供本地缓冲的指令取回单元;用于接收指令取回单元并确定已取回指令的类型的指令解码单元;以及用于执行指令的指令执行单元。执行可以包括将数据载入存储器的寄存器;将数据从寄存器存储回存储器;或如解码单元所确定的那样执行某种类型的算术或逻辑运算。在一个实例中,每个单元都在软件中实现。例如,由所述单元执行的操作被实现为仿真器软件内的一个或多个子例程。
此外,适合于存储和/或执行程序代码的数据处理系统可以包括至少一个通过系统总线直接或间接连接到存储器元件的处理器。所述存储器元件包括例如在程序代码的实际执行期间采用的本地存储器、大容量存储装置以及提供至少某些程序代码的临时存储以减少必须在执行期间从大容量存储装置检索代码的次数的高速缓冲存储器。
输入/输出或I/O设备(包括但不限于键盘、显示器、指点设备等)可以直接或通过中间I/O控制器与系统相连。网络适配器也可以被连接到系统以使所述数据处理系统能够通过中间专用或公共网络变得与其他数据处理系统或远程打印机或存储设备相连。调制解调器、电缆调制解调器和以太网卡只是几种可用的网络适配器类型。
如在此使用的,术语“操作数”不仅包括和/或指指令的操作数,而且还包括其他操作数,以及在程序的函数之间传递的参数或参量,或任何其他在实体之间传递的数据。此外,任务包括代码的任何部分,包括整个应用或程序或其中的任何部分。
本发明的一个或多个方面的能力可以以软件、固件、硬件或它们的某种组合实现。可以提供至少一个可由机器读取的程序存储设备,所述机器包括至少一个可由所述机器执行以执行本发明的功能的指令程序。
在此示出的流程图仅是实例。其中所述的这些图或步骤(或操作)可以具有许多变型而不偏离本发明的精神。例如,可以按不同的顺序执行所述步骤,或可以添加、删除或修改所述步骤。所有这些变型均被视为所要求保护的发明的一部分。
Claims (11)
1.一种确定处理环境的任务的中央处理单元时间使用的方法,所述方法包括:
选择要为其确定中央处理单元时间使用的所述处理环境的任务;以及
通过以下操作确定所述任务在特定时间间隔内使用的中央处理单元时间量:
确定针对所述任务设置的计时器的当前值;以及
从保存值中减去所述当前值以确定所述任务在所述特定时间间隔期间使用的已用处理器时间量。
2.如权利要求1中所述的方法,其中所述确定至少在针对所述任务提供的时间片结束之前的时间发生。
3.如权利要求1中所述的方法,还包括将所述已用处理器时间量添加到所述任务的累加值以确定所述任务至此使用的处理器时间总量。
4.如权利要求3中所述的方法,还包括提取所述累加值,其中确定所述已用处理器时间量和提取所述累加值作为单个操作单位发生。
5.如权利要求1中所述的方法,其中使用指令执行所述确定。
6.如权利要求5中所述的方法,其中所述指令使能提取其他信息。
7.如权利要求6中所述的方法,其中所述提取其他信息和所述确定作为单个不间断的操作单位发生。
8.如权利要求1中所述的方法,其中由与所述任务关联的计时器的开始时间和所述计时器的结束时间来定义所述特定时间间隔。
9.如权利要求1中所述的方法,其中所述方法还包括提取与所述任务相关的其他信息,其中确定所述已用处理器时间量和所述提取作为单个操作单位发生。
10.一种系统,所述系统包括适于执行根据任一上述方法权利要求的方法的所有步骤的装置。
11.一种计算机程序,包括当在计算机系统上执行所述计算机程序时,用于执行根据任一上述方法权利要求的方法的所有步骤的指令。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/437,220 US8117614B2 (en) | 2006-05-19 | 2006-05-19 | Extract CPU time facility |
US11/437,220 | 2006-05-19 | ||
PCT/EP2006/069992 WO2007134648A1 (en) | 2006-05-19 | 2006-12-20 | Extract cpu time facility |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101443738A true CN101443738A (zh) | 2009-05-27 |
CN101443738B CN101443738B (zh) | 2012-05-02 |
Family
ID=37758905
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2006800546048A Active CN101443738B (zh) | 2006-05-19 | 2006-12-20 | 提取cpu时间工具 |
Country Status (12)
Country | Link |
---|---|
US (4) | US8117614B2 (zh) |
EP (2) | EP1980944B1 (zh) |
CN (1) | CN101443738B (zh) |
CY (1) | CY1113092T1 (zh) |
DK (1) | DK1980944T3 (zh) |
ES (1) | ES2389894T3 (zh) |
GB (1) | GB2438230A (zh) |
PL (1) | PL1980944T3 (zh) |
PT (1) | PT1980944E (zh) |
SI (1) | SI1980944T1 (zh) |
TW (1) | TWI447644B (zh) |
WO (1) | WO2007134648A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103677749A (zh) * | 2012-09-14 | 2014-03-26 | 通用电气公司 | 用于控制处理器指令执行的系统和方法 |
CN103838662A (zh) * | 2012-11-23 | 2014-06-04 | 三星电子株式会社 | 动态库性能分析方法和动态库性能分析系统 |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8117614B2 (en) | 2006-05-19 | 2012-02-14 | International Business Machines Corporation | Extract CPU time facility |
US9342350B2 (en) * | 2006-08-24 | 2016-05-17 | Renesas Electronics Corporation | System for selecting a task to be executed according to an output from a task control circuit |
GB2473194A (en) * | 2009-09-02 | 2011-03-09 | 1E Ltd | Monitoring the performance of a computer based on the value of a net useful activity metric |
US8572357B2 (en) * | 2009-09-29 | 2013-10-29 | International Business Machines Corporation | Monitoring events and incrementing counters associated therewith absent taking an interrupt |
US9465659B2 (en) * | 2012-12-19 | 2016-10-11 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Dynamic task completion scaling of system resources for a battery operated device |
KR20140080058A (ko) * | 2012-12-20 | 2014-06-30 | 삼성전자주식회사 | 멀티코어를 위한 로드 밸런싱 방법 및 휴대 단말 |
US9658888B2 (en) | 2013-08-05 | 2017-05-23 | International Business Machines Corporation | Thresholding task control blocks for staging and destaging |
US9582295B2 (en) | 2014-03-18 | 2017-02-28 | International Business Machines Corporation | Architectural mode configuration |
US9588774B2 (en) | 2014-03-18 | 2017-03-07 | International Business Machines Corporation | Common boot sequence for control utility able to be initialized in multiple architectures |
US9916185B2 (en) | 2014-03-18 | 2018-03-13 | International Business Machines Corporation | Managing processing associated with selected architectural facilities |
Family Cites Families (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2253432A5 (zh) * | 1973-11-30 | 1975-06-27 | Honeywell Bull Soc Ind | |
JPS58501921A (ja) | 1981-10-13 | 1983-11-10 | インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション | チヤネル動作の測定のための方法及び装置 |
US4388688A (en) * | 1981-11-10 | 1983-06-14 | International Business Machines Corp. | Shared TOD clock modification bit |
US4497022A (en) * | 1982-10-19 | 1985-01-29 | International Business Machines Corporation | Method and apparatus for measurements of channel operation |
US4937780A (en) * | 1986-05-30 | 1990-06-26 | Bull Nh Information Systems, Inc. | Single instruction updating of processing time field using software invisible working registers |
US5047928A (en) * | 1986-10-24 | 1991-09-10 | Wiedemer John D | Billing system for computer software |
US5072376A (en) * | 1988-06-10 | 1991-12-10 | Amdahl Corporation | Measuring utilization of processor shared by multiple system control programs |
JP2779032B2 (ja) * | 1990-01-23 | 1998-07-23 | 株式会社日立製作所 | 情報処理装置 |
JPH03226883A (ja) * | 1990-01-31 | 1991-10-07 | Mitsubishi Electric Corp | 制御プロセッサ |
JP3169597B2 (ja) * | 1990-05-16 | 2001-05-28 | エヌイーシーソフト株式会社 | マルチタスク実行時間アカウント方法とその機構 |
US5615354A (en) * | 1992-12-23 | 1997-03-25 | International Business Machines Corporation | Method and system for controlling references to system storage by overriding values |
US5758144A (en) * | 1994-06-24 | 1998-05-26 | International Business Machines Corporation | Database execution cost and system performance estimator |
US5696702A (en) * | 1995-04-17 | 1997-12-09 | Skinner; Gary R. | Time and work tracker |
US5963914A (en) * | 1995-04-17 | 1999-10-05 | Skinner; Gary R. | Network time and work tracker |
JPH08292956A (ja) | 1995-04-20 | 1996-11-05 | Mitsubishi Electric Corp | データベース管理装置及びデータベース管理方法 |
CA2289024A1 (en) * | 1997-05-14 | 1998-11-19 | Compuware Corporation | Accurate profile and timing information for multitasking systems |
US6128710A (en) * | 1997-05-28 | 2000-10-03 | International Business Machines Corporation | Method utilizing a set of blocking-symbol resource-manipulation instructions for protecting the integrity of data in noncontiguous data objects of resources in a shared memory of a multiple processor computer system |
US5937199A (en) * | 1997-06-03 | 1999-08-10 | International Business Machines Corporation | User programmable interrupt mask with timeout for enhanced resource locking efficiency |
US6385637B1 (en) * | 1997-08-21 | 2002-05-07 | Rockwell Science Center, Inc. | Periodic process timer |
US6032248A (en) | 1998-04-29 | 2000-02-29 | Atmel Corporation | Microcontroller including a single memory module having a data memory sector and a code memory sector and supporting simultaneous read/write access to both sectors |
US6954922B2 (en) * | 1998-04-29 | 2005-10-11 | Sun Microsystems, Inc. | Method apparatus and article of manufacture for time profiling multi-threaded programs |
US6438704B1 (en) * | 1999-03-25 | 2002-08-20 | International Business Machines Corporation | System and method for scheduling use of system resources among a plurality of limited users |
US6247170B1 (en) * | 1999-05-21 | 2001-06-12 | Bull Hn Information Systems Inc. | Method and data processing system for providing subroutine level instrumentation statistics |
KR100613201B1 (ko) * | 2000-08-28 | 2006-08-18 | 마이크로코넥트 엘엘씨 | 씨피유 사용량 측정 방법 |
US7272832B2 (en) * | 2001-10-25 | 2007-09-18 | Hewlett-Packard Development Company, L.P. | Method of protecting user process data in a secure platform inaccessible to the operating system and other tasks on top of the secure platform |
TW538335B (en) * | 2001-12-24 | 2003-06-21 | Winbond Electronics Corp | Method and device for speeding up reading and writing the register for the processor |
US7243145B1 (en) * | 2002-09-30 | 2007-07-10 | Electronic Data Systems Corporation | Generation of computer resource utilization data per computer application |
US7320013B2 (en) | 2002-12-12 | 2008-01-15 | Adaptec, Inc. | Method and apparatus for aligning operands for a processor |
US8484643B2 (en) * | 2003-03-31 | 2013-07-09 | Fujitsu Limited | CPU usage time counting method and job control system using this CPU usage time |
US20040267548A1 (en) * | 2003-06-25 | 2004-12-30 | Jones James O. | Workload profiling in computers |
US6925424B2 (en) * | 2003-10-16 | 2005-08-02 | International Business Machines Corporation | Method, apparatus and computer program product for efficient per thread performance information |
US7426731B2 (en) * | 2004-03-22 | 2008-09-16 | Hewlett-Packard Development Company, L.P. | Determining processor usage by a thread |
US7672983B2 (en) * | 2005-12-19 | 2010-03-02 | Sun Microsystems, Inc. | Method and apparatus for tracking activity of a garbage collector with a plurality of threads that operate concurrently with an application program |
US8020164B2 (en) * | 2005-12-22 | 2011-09-13 | International Business Machines Corporation | System for determining and reporting benefits of borrowed computing resources in a partitioned environment |
US8117614B2 (en) | 2006-05-19 | 2012-02-14 | International Business Machines Corporation | Extract CPU time facility |
US20090089123A1 (en) * | 2007-06-29 | 2009-04-02 | Sylvia Delcheva | Method and a Tool for Performance Measurement of a Business Scenario Step Executed by a Single User |
-
2006
- 2006-05-19 US US11/437,220 patent/US8117614B2/en active Active
- 2006-12-20 WO PCT/EP2006/069992 patent/WO2007134648A1/en active Application Filing
- 2006-12-20 SI SI200631418T patent/SI1980944T1/sl unknown
- 2006-12-20 DK DK08161018.0T patent/DK1980944T3/da active
- 2006-12-20 CN CN2006800546048A patent/CN101443738B/zh active Active
- 2006-12-20 ES ES08161018T patent/ES2389894T3/es active Active
- 2006-12-20 EP EP08161018A patent/EP1980944B1/en active Active
- 2006-12-20 PT PT08161018T patent/PT1980944E/pt unknown
- 2006-12-20 PL PL08161018T patent/PL1980944T3/pl unknown
- 2006-12-20 EP EP06126643A patent/EP1860567A1/en not_active Withdrawn
- 2006-12-21 GB GB0625722A patent/GB2438230A/en not_active Withdrawn
-
2007
- 2007-05-08 TW TW096116339A patent/TWI447644B/zh active
-
2012
- 2012-01-10 US US13/347,223 patent/US8516485B2/en active Active
- 2012-09-05 CY CY20121100799T patent/CY1113092T1/el unknown
-
2013
- 2013-07-29 US US13/953,206 patent/US9047078B2/en active Active
-
2015
- 2015-06-01 US US14/726,772 patent/US10572301B2/en active Active
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103677749A (zh) * | 2012-09-14 | 2014-03-26 | 通用电气公司 | 用于控制处理器指令执行的系统和方法 |
CN103677749B (zh) * | 2012-09-14 | 2018-07-17 | 通用电气公司 | 用于控制处理器指令执行的系统和方法 |
CN103838662A (zh) * | 2012-11-23 | 2014-06-04 | 三星电子株式会社 | 动态库性能分析方法和动态库性能分析系统 |
Also Published As
Publication number | Publication date |
---|---|
CN101443738B (zh) | 2012-05-02 |
GB2438230A (en) | 2007-11-21 |
US20070271566A1 (en) | 2007-11-22 |
US20120109622A1 (en) | 2012-05-03 |
WO2007134648A1 (en) | 2007-11-29 |
PL1980944T3 (pl) | 2012-11-30 |
CY1113092T1 (el) | 2016-04-13 |
US8516485B2 (en) | 2013-08-20 |
EP1860567A1 (en) | 2007-11-28 |
PT1980944E (pt) | 2012-09-20 |
TWI447644B (zh) | 2014-08-01 |
EP1980944A2 (en) | 2008-10-15 |
EP1980944B1 (en) | 2012-08-15 |
DK1980944T3 (da) | 2012-09-10 |
SI1980944T1 (sl) | 2012-11-30 |
GB0625722D0 (en) | 2007-02-07 |
US20130311757A1 (en) | 2013-11-21 |
US10572301B2 (en) | 2020-02-25 |
US20150261565A1 (en) | 2015-09-17 |
EP1980944A3 (en) | 2009-01-14 |
US9047078B2 (en) | 2015-06-02 |
ES2389894T3 (es) | 2012-11-02 |
US8117614B2 (en) | 2012-02-14 |
TW200821921A (en) | 2008-05-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101443738B (zh) | 提取cpu时间工具 | |
CN100383754C (zh) | 发生中断时按其类型限定性能监视事件收集的方法与装置 | |
CN100407147C (zh) | 为记录事件提供前置与后置处理程序的方法 | |
CN100382061C (zh) | 按照类型对中断计数的方法和装置 | |
KR100754153B1 (ko) | 어카운팅 방법 및 프로세서 | |
KR100992209B1 (ko) | 데이터 처리 시스템 상에서 소프트웨어 제품의 사용량을 측정하는 방법 | |
US6571265B1 (en) | Mechanism to detect IEEE underflow exceptions on speculative floating-point operations | |
US6718403B2 (en) | Hierarchical selection of direct and indirect counting events in a performance monitor unit | |
CN1973265B (zh) | 用于在虚拟机环境中选择虚拟化算法的方法和装置 | |
CN101246447B (zh) | 用于测量微处理器中的流水线停顿的方法和装置 | |
US20060248436A1 (en) | Lost-cycle measurement using cycle counter | |
CN1633644A (zh) | 用于确定cpu利用率的独立于操作系统的方法和系统 | |
CN104866443A (zh) | 可中断存储独占 | |
Eisinger et al. | Automatic identification of timing anomalies for cycle-accurate worst-case execution time analysis | |
CN101164042A (zh) | 在条件指令将不执行时停止等待源操作数 | |
CN102023841B (zh) | 微处理器以及相关指令执行方法 | |
Levine et al. | A programmer's view of performance monitoring in the PowerPC microprocessor | |
GB2440216A (en) | Computer program for calculating the (accumulated) processing time for tasks | |
IE62074B1 (en) | Apparatus and method for synchronization of arithmetic exceptions in parallel pipelined execution units | |
Xu et al. | Evaluation and Optimization of Interrupt Response Mechanism in RISC-V Architecture | |
CN112486464A (zh) | 一种确定区块链智能合约语言性能的方法及装置 | |
Bose et al. | Bounds-based Loop Performance Characterization: Application to Post-silicon Analysis and Tuning | |
Warner | Measurement Tools |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |