CN1633644A - 用于确定cpu利用率的独立于操作系统的方法和系统 - Google Patents

用于确定cpu利用率的独立于操作系统的方法和系统 Download PDF

Info

Publication number
CN1633644A
CN1633644A CN01822952.2A CN01822952A CN1633644A CN 1633644 A CN1633644 A CN 1633644A CN 01822952 A CN01822952 A CN 01822952A CN 1633644 A CN1633644 A CN 1633644A
Authority
CN
China
Prior art keywords
cpu
processing unit
central processing
sample interval
handling system
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
Application number
CN01822952.2A
Other languages
English (en)
Other versions
CN100338581C (zh
Inventor
B·库珀
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of CN1633644A publication Critical patent/CN1633644A/zh
Application granted granted Critical
Publication of CN100338581C publication Critical patent/CN100338581C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording 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/3409Recording 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/3419Recording 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
    • G06F11/3423Recording 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 where the assessed time is active or idle time

Abstract

中央处理单元在取样时间间隔期间的利用率通过测量在取样时间间隔之内的中央处理单元时钟信号在中央处理单元的处理器核心之中是活动的时间量子而被确定。被施加到该处理器核心的中央处理单元时钟信号的周期总数和该中央处理单元时钟信号的周期被用来确定时间量子。然后,该利用率可以采用该时间量子与该总时间间隔的比值来加以表示。

Description

用于确定CPU利用率的独立于操作系统的方法和系统
发明领域
本发明领域总体上涉及到中央处理单元(CPU)。更具体而言,本领域发明涉及到确定CPU的利用率。再具体而言,本发明领域涉及一种用于确定CPU在数据处理系统中的利用率的独立于操作系统的方法和系统。
发明背景
在大多数现代多道编程的数据处理或者计算机系统中,各种任务或者用户应用会竞争处理时间以便在中央处理单元(CPU)或者类似的处理设备上执行。即使在非常高级的多任务化环境中的活动也趋向易于突发,具有强度处理活动周期所跟随着的等待时间或者不活动周期。所以,由于各种原因,对CPU和其他相似的数据处理系统设备的利用率进行分析是很有用的。例如,在很少或者没有用户任务被调度的周期期间的高处理器利用率可以作为病毒程序或者某个在任务调度时导致抖动或者其他低效率系统行为的可修正故障的标记。目前,对于确定CPU在数据处理系统中的利用率,存在若干种已知的机制。
如一个例子,在常规操作系统(OS)中,CPU利用率是通过累积CPU经过取样间隔的空闲时间而确定该处理器不活动时间的百分数来加以确定的。为了实现这一目的,任务或者线程的列表由OS来加以维护,它们就绪待运行,即,不用等待某个事件来恢复执行。当该就绪待运行列表为空时,没有任何任务处于执行中,并且处理器是空闲的。因此,独立于CPU的定时器被读取,并且处理器基本上不活动。这是通过将处理器置于预定的处理器性能状态诸如由众所周知的高级配置和电源接口规范,修订版2.0,2000年7月27日(ACPI)所定义的C2或者C3状态而加以实现的。在C2状态下,时钟信号被从处理器的功能单元除去,同时它的存储器子系统仍然活动,并且可由其他设备“探测”。在C3状态下,该时钟信号也被从该数据处理系统的存储器部分除去,并且进入所谓的″深度休眠″状态。当一个新的任务被添加到该就绪待运行列表时,该处理器就被置于活动状态(诸如C0的ACPI状态)并且该定时器被再次读取。于是,第一和第二定时器读取之差(乘以该定时器的周期)就代表该CPU的空闲时间。这一经过取样间隔的时间的累积然后被用于确定CPU利用率(该CPU时间的百分之多少消耗在空闲上)。遗憾的是,CPU利用率以及就绪待运行的任务列表的状态的这种测量离开OS通过所支持的应用编程接口(API)都是不可行的。
附图简述
本发明是通过例子加以说明的,并且并不限制于附图,在这些附图中:
图1a说明可使用本发明的常规数据处理系统;
图1b说明图1a所绘制的数据处理系统的现有技术体系结构;
图2更加详细地说明图1b绘制的体系结构的一部分;
图3说明绘制了根据本发明的数据处理系统的操作的体系结构的系统图;
图4说明本发明的应用程序利用率顺序的第一实施例;
图5说明本发明的应用程序利用率顺序的第二实施例;
图6说明本发明的应用程序利用率顺序的第三实施例;
图7说明本发明方法的一个实施例的高级逻辑流程图。
发明详述
一种用于确定CPU在数据处理系统中的利用率的独立于操作系统的方法和系统在此被公开。在以下详细描述中,对大量的具体细节进行了阐述以便提供对本发明的彻底理解。不过,对于本领域普通技术人员而言显而易见的是,要实践本发明,并非必须使用这些具体细节。在其他环境下,众所周知的结构、材料、电路、过程和接口也没有在细节上加以展示或者描述以便不会使本发明不必要地不清楚。
现在参考图1a,对可使用本发明的常规数据处理系统100加以说明。数据处理或者计算机系统100包括系统单元102、诸如显示器104和打印机110的输出设备、以及诸如键盘108和鼠标106的输入设备。数据处理系统100通过操纵输入设备108和106或者直接地从固定的或者可拆卸的介质存储设备诸如磁盘112和网络连接接口(未示出)接收要加以处理的数据。数据处理系统100然后处理数据,并且通过诸如显示器104、打印机110的输出设备、固定的或者像磁盘112的可拆卸的介质存储设备或者网络连接接口展示作为结果的输出数据。
现在参考图1b,它绘制的是诸如图1a所说明的数据处理系统100的部件的高级框图。在常规计算机系统中,系统单元102包括诸如中央处理单元(CPU)120这样的处理设备,该中央处理单元通过处理器系统总线(PSB)114连接到二级(L2)高速缓存器122。处理器系统总线114接着通过北桥电路124耦合到诸如本地总线116这样的扩展总线和存储器126。本地总线116可以包括外围部件互连(PCI)、视频电子标准协会(VESA)总线等等,被紧耦合到处理器120和处理器系统总线114以便允许高速访问选择设备,诸如显示设备128。
存储器126可以包括能够存储数据以及要由CPU 120执行的指令的只读(ROM)和/或诸如同步动态随机访问存储器(SDRAM)模块这样的随机访问(RAM)存储器设备。对在存储器126中所存储的数据和指令的访问是通过在北桥电路124之内的存储器控制器(未示出)而提供的。L2高速缓存器122被类似地使用,典型地是采用分级方式加以使用的,以便存储由CPU 120直接访问的数据和指令。显示设备128可以包括阴极射线管(CRT)显示器,诸如显示器104、液晶显示器(LCD)、或者用于将各种类型的数据显示给计算机用户的类似设备。例如,图像、图形、或者文本信息可以在显示设备128上展示给用户。数据处理系统100的系统单元102另外的特征在于,诸如工业标准体系结构(ISA)总线的扩展或者″兼容性″总线118、以及将它耦合到本地总线116以便于将其他相对较慢的设备连接到系统100上的南桥电路134。南桥电路134包括通用串行总线(USB)端口138以及用于像网络接口卡130、诸如硬磁盘驱动器132的数据存储设备、和诸如扬声器或者声卡的音频设备140这样的设备的其他直接连接。
没有直接耦合到南桥134的其他设备可以通过所说明的扩展总线118连接到系统100。将提供可拆卸的介质存储设备诸如磁盘112上的附加数据存储容量的软盘驱动器(FDD)144、和输入设备诸如键盘108和光标控制设备136均被采用这种方式耦合到扩展总线118,以便将数据、指令、和/或命令选择传送到中央处理单元120。光标控制设备136可以包括常规鼠标,诸如图1a的鼠标106、轨迹球、或者能够传送希望的光标操作的任何其他设备。类似地,扩展总线118包括输入/输出(I/O)控制器,该控制器具有用于将诸如打印机110的其他I/O设备连接到该系统的标准串行和并行端口功能。
本发明的系统包括软件、信息处理硬件以及各种处理步骤,将在以下对它们进行描述。本发明的特征和处理步骤可以体现为在诸如磁盘112的介质中所包括的机器或者计算机可执行的指令。这些指令可用于使通过该指令加以编程的通用或者专用处理器诸如CPU 120执行所描述的本发明方法。候选地,本发明的特征或者步骤可由包含用于执行这些步骤的硬连线逻辑的专用硬件部件加以执行,或者由所编程的计算机部件和定制硬件部件的任何组合加以执行。
现在参考图2,它更加详细地对图1b所绘制的体系结构的一部分进行说明。所展示的处理器120利用北桥电路124的存储器控制器226通过处理器系统总线114与存储器126进行通信。公共系统时钟,(BClk)216由时钟发生器208生成,并且被施加到CPU 120的时钟控制锁相环(PLL)218以及被施加到存储器控制器226。核心电压206被类似地施加到在所说明的实施例中的CPU 120,提供必要的工作电源。在BClk信号216被施加的同时,来往于存储器126的访问以它的近似100兆赫兹(MHz)的频率发生。不过,中央处理单元120能够以比这大得多的速度来执行任务,因此,总线比值或者乘数212被使用时钟控制信号GHI#202加以选择,并且更高频率的中央处理单元时钟信号被利用PLL 218生成。因此,例如,如果该系统或者前端时钟216具有100MHz的频率,并且5比1的比率212被使用GHI#信号202加以选择,则所生成的CPU时钟将具有近似500MHz的频率。候选地,更高的倍数或者比如7比1的比值212可以被选择,产生近似700MHz的CPU时钟频率。
然后,所生成的中央处理单元时钟信号,在被传递到处理器核心200之前,被施加到时钟调节(throttling)逻辑220。调节是一种技术,通过这种技术,CPU时钟被从处理器核心撤消或者″切断选通(gatedoff)″以防止核心内的功能单元进行操作。调节逻辑220因此就充当在PLL 218和处理器核心200之间的开关,它由停止时钟(Stp_Clk)控制信号204驱使。时间戳计数器224也被包括在CPU 120之中,并且为″选通(gated through)″或者施加到所展示的该处理器核心的的CPU时钟的每个周期(有时称为滴答或者脉冲)而增加。因为时间戳计数器224跟踪被施加到处理器核心200的功能单元诸如指令译码器、浮点和整数执行单元等等的时钟滴答或者周期数,所以它提供由CPU 120所执行的实际工作的极其准确的表示。图2所说明的一个附加的芯片组体系结构部件是独立定时器210。独立于系统的定时器210独立于CPU 120及其关联的系统时钟216而运行,并且不受Stp_Clk信号204调节或者BClk信号216的频率修改的影响。使用在读取之间流过的独立定时器210的滴答数及其固定频率,可以获得对通过时间的准确测量。在一个实施例中,Windows TM的高性能计数器,通过Win32应用编程接口(API)作为QueryPerformanceCounter()函数输出,可以用作独立定时器210。在一个候选的、遵从高级配置和电源接口(ACPI)的实施例中,可以利用电源管理定时器。尽管在所说明的实施例中,独立定时器210被描述为与时钟发生器电路208集成在一起,但是在候选实施例中,定时器210可以采用独立的设备或者集成电路来生成。
现在参考图3,它说明描述根据本发明的数据处理系统的操作的体系结构系统图。在该所说明的实施例中,诸如CPU利用率应用304的多个应用程序302通过诸如微软公司的WindowsTM操作系统的操作系统300、一个或者多个设备驱动器306以及基本输入/输出系统(BIOS)代码310与包括CPU 120的各平台硬件设备308交互。所说明的系统,关于各种应用302的多任务处理和应用302和平台硬件308之间的通信而言,是中断驱动的。因此,在本发明的一个实施例中,应用302对平台硬件308之中的硬件资源的请求会导致生成诸如系统控制中断(SCI)或者系统管理中断(SMI)这样的中断,以及导致中断处理程序例程被响应地执行。然后,在操作系统300和平台硬件308之间的交互通过设备驱动器306和BIOS 310就可容易地进行。在所说明的实施例中,BIOS 310包含诸如附加到数据处理系统100的各种设备308的物理设备地址这样的信息,并且关于数据的实际传送而言是很有用的。作为对照,设备驱动器306典型地专用于特定的硬件设备,并且通常涉及到各种设备格式之间的数据的翻译。
现在参考图4,它说明本发明的应用程序利用率顺序的第一实施例。工作和休眠的各个周期被绘制在时间间隔400上,它们相当于将中央处理单元时钟信号施加到CPU 120的处理器核心200或者从其除去。因此,所说明的工作周期402可以代表遵从ACPI的数据处理系统的C0处理器性能状态。类似地,所说明的″休眠″状态404则相当于C2和更大的状态,因为对于这些状态中的每一种状态,这样的处理器时钟信号被从处理器核心200除去。在所说明的图4的实施例中,CPU利用率应用包括周期性地执行小应用程序(applet)或者应用。每次该小应用程序被执行时,CPU利用率因数就被根据来自以前的执行(或者来自用于第一次执行的缺省值)的数据加以计算。如所说明的,在第一次执行406期间,该执行中的小应用程序在此前所描述的性能计数器中检索值。在该小应用程序的第二执行408期间,该性能计数器将被再次读取,并且在读取之间所流过的时间将被计算为第二次408和第一次406读取之间的计数器值之差乘以预定的定时器时钟周期。除了该性能计数器之外,在该利用率小应用程序的每次执行406、408期间,时间戳计数器224都被读取。在所说明的实施例中,在第一次执行406和第二次执行408之间已经被施加到CPU核心200的CPU时钟信号的滴答或者周期总数是从时间戳计数器224所获得的最终值(TSCount1)中减去第一值的读取(TSCount0)而计算出的。因为施加到CPU 120的时钟信号的频率可以如前所述那样被改变,所以通过将滴答计数值(TSCount1-TSCount0)乘以当前CPU时钟信号周期,所施加的滴答计数然后就被转换为时间单位,所述当前CPU时钟信号周期也是用于CPU的时间戳计数器224的时钟周期。这一周期在本发明的一个实施例中是从SMI中断处理程序中获得的,该SMI中断处理程序负责将处理器120从一种性能状态转换为另一种,因此就利用在此所描述的GHI#和StpClk控制信号将CPU 120的时钟信号从一个值转换为另一个值。于是,CPU 120的利用率可以被表示为在(独立于系统的计数器的读取之间的)取样间隔期间的时间的比值或者百分数,在此期间,CPU 120的时钟信号被施加到处理器核心200,考虑到所展示的施加的时钟信号频率的变化。
现在参考图5,它说明本发明的应用程序利用率顺序的第二实施例。工作和休眠的各种周期被类似地绘制在时间间隔500上,它们相当于将CPU时钟信号施加到CPU 120的处理器核心200或从其除去,以及因此分别对应于C0和C2和更大的ACPI处理器性能状态。不过,与图4的利用率顺序相对比,在所说明的图5的实施例中,周期性地执行的诸如SMI处理程序506、508的中断处理程序被利用来读取用于计算CPU利用率所必须的值而不实际地执行该计算。实际上,该值被读取、存储以及顺序地提供给用于确定活动CPU时间的实际百分数的CPU利用率小应用程序510。而且,在这一实施例中,电源管理定时器而非性能计数器被利用来确定通过的时间。在SMI处理程序506第一次执行期间,一个值被从该数据处理系统的时间戳计数器224(TSCount0)和电源管理定时器(PMTimer0)这二者中读取。在该周期性的处理程序第二次执行508期间,值被再次从这两个定时器中读取,并且在这两种情形之下,所获得的值都被存储。接着,CPU利用率小应用程序被执行510,并且CPU 120的空闲率被使用由该SMI处理程序所存储的值和这两个定时器的周期并作为在SMI处理程序执行506、508之间的间隔上的活动的CPU时间的比值或者百分数而加以计算。
现在参考图6,它说明本发明应用程序利用率顺序的第三实施例。工作和休眠的各种周期被类似地绘制在取样时间间隔600上,它们相当于将CPU时钟信号施加到CPU 120的处理器核心200或者从其除去,并且因此分别相当于C0、C2和更大的ACPI处理器性能状态。在所说明的实施例中,系统管理中断由周期性地执行的利用率小应用程序606、608生成,以便确定每个所需要的定时器或者计数器的值。因此,在利用率小应用程序第一次执行606期间,SMI被生成,使得该关联的SMI处理程序例程从时间戳计数器224和从诸如所展示的电源管理定时器的系统独立的定时器210中读取值。在该取样时间间隔到期之后,小应用程序608和SMI处理程序被再次执行,以便获得用于估计CPU120的利用率所必须的值。
现在参考图7,它说明本发明的方法的一个实施例的高级逻辑流程图。图7描述一种技术,通过该技术,CPU的利用率可以被独立于数据处理系统的操作系统而加以确定。图7所说明的过程以块700开始。之后,读取在此所论述的独立于系统的定时器,诸如电源管理定时器或者WindowsTM的性能计数器。(块702)。接着,取样时间间隔被使用该独立定时器的时钟周期以及当前和以前所读取的独立于系统的定时器值加以定义(块704)。一个值然后被从时间戳计数器中读取(块706),该时间戳计数器对于被施加到中央处理单元120的处理器核心200的CPU时钟信号的每个周期或者″时钟″增量一次。使用以前读取的时间戳计数器值和当前读取的值,在该取样时间间隔期间被施加到CPU处理器核心200的CPU时钟信号的滴答或者周期的总数可以被获得(块708)。之后,在该取样时间间隔期间该CPU时钟信号在CPU的处理器核心200之中曾处于活动的时间的总量或者″量子″可以被使用所累积的CPU时钟周期数和该CPU时钟信号的周期而导出(块710)。然后,CPU利用率可以被表示为这个活动CPU时钟信号时间与该取样时间间隔的比值(块712)。接着,确定该CPU利用率应用和分析是否要被终止(块714)。如果不终止,则该过程就以块702所绘制的入口点开始重复。如果要加以终止,则该过程就被终止(块716)。
尽管在此参考了优选的实施例对本发明进行了描述,但是其中的许多修改和变化对于本领域普通技术人员而言是很容易想到的。因此,所有的这种变化和修改都被包括在由所附的权利要求书所定义的本发明的预期范围之中。

Claims (20)

1.一种方法,包括:
测量在取样时间间隔之内的中央处理单元时钟信号在中央处理单元的处理器核心之中是活动的时间量子;以及
利用所述时间量子确定所述中央处理单元在所述取样时间间隔期间的利用率。
2.权利要求1所述的方法,其中测量在取样时间间隔之内的中央处理单元时钟信号在中央处理单元的处理器核心之中是活动的时间量子包括:
累积在所述取样时间间隔之内的所述中央处理单元时钟信号被施加到所述处理器核心的所有时间量子。
3.权利要求1所述的方法,其中利用所述时间量子确定所述中央处理单元在所述取样时间间隔期间的利用率包括:
计算所述时间量子与所述取样时间间隔的比值。
4.权利要求1所述的方法,其中测量在取样时间间隔之内的中央处理单元时钟信号在中央处理单元的处理器核心之中是活动的时间量子包括:
确定在所述取样时间间隔期间被施加到所述中央处理单元的所述处理器核心的所述中央处理单元时钟信号的周期总数;以及
利用所述周期总数和所述中央处理单元时钟信号的周期来计算所述时间量子。
5.权利要求4所述的方法,还包括:
周期性地执行利用率应用,其中所述取样时间间隔包括所述利用率应用第一次执行和所述利用率应用第二次执行之间的时间间隔。
6.权利要求4所述的方法,还包括:
周期性地执行系统管理中断处理程序,其中所述取样时间间隔包括所述系统管理中断处理程序第一次执行和所述系统管理中断处理程序第二次执行之间的时间间隔。
7.权利要求5所述的方法,其中确定在所述取样时间间隔期间被施加到所述中央处理单元的所述处理器核心的所述中央处理单元时钟信号的周期总数包括:
为在所述取样时间间隔期间被施加到所述处理器核心的所述中央处理单元时钟信号的每个周期,将时间戳计数器从初始值增加到最终值;
从所述时间戳计数器的所述最终值中减去所述时间戳计数器的所述初始值,以便确定在所述取样时间间隔期间被施加到所述中央处理单元的所述处理器核心的所述中央处理单元时钟信号的周期总数。
8.权利要求7所述的方法,还包括:
响应所述利用率应用的所述第一次执行,读取所述时间戳计数器的所述初始值;以及
响应所述利用率应用的所述第二次执行,读取所述时间戳计数器的所述最终值。
9.一种具有可由数据处理系统执行的多个指令的数据处理系统可读介质,其中所述指令被执行时,使所述数据处理系统执行如下操作:
测量在取样时间间隔之内的中央处理单元时钟信号在中央处理单元的处理器核心之中是活动的时间量子;以及
利用所述时间量子来确定所述中央处理单元在所述取样时间间隔期间的利用率。
10.权利要求9所述的数据处理系统可读介质,其中使所述数据处理系统测量在取样时间间隔之内的中央处理单元时钟信号在中央处理单元的处理器核心之中是活动的时间量子的所述指令使所述数据处理系统执行如下操作:
累积在所述取样时间间隔之内的所述中央处理单元时钟信号被施加到所述处理器核心的所有时间量子。
11.权利要求9所述的数据处理系统可读介质,其中使所述数据处理系统利用所述时间量子来确定所述中央处理单元在所述取样时间间隔期间的利用率的所述指令使所述数据处理系统执行如下操作:
计算所述时间量子与所述取样时间间隔的比值。
12.权利要求9所述的数据处理系统可读介质,其中使所述数据处理系统测量在取样时间间隔之内的中央处理单元时钟信号在中央处理单元的处理器核心之中是活动的时间量子的所述指令使所述数据处理系统执行如下操作:
确定在所述取样时间间隔期间被施加到所述中央处理单元的所述处理器核心的所述中央处理单元时钟信号的周期总数;以及
利用所述周期总数和所述中央处理单元时钟信号的周期计算所述时间量子。
13.权利要求12所述的数据处理系统可读介质,还包括多个指令,该多个执行被执行时使所述数据处理系统执行如下操作:
周期性地执行利用率应用,其中所述取样时间间隔包括所述利用率应用的第一次执行和所述利用率应用的第二次执行之间的时间间隔。
14.权利要求12所述的数据处理系统可读介质,还包括多个指令,该多个指令被执行时使所述数据处理系统执行如下操作:
周期性地执行系统管理中断处理程序,其中所述取样时间间隔包括所述系统管理中断处理程序的第一次执行和所述系统管理中断处理程序的第二次执行之间的时间间隔。
15.权利要求13所述的数据处理系统可读介质,其中使所述数据处理系统确定在所述取样时间间隔期间被施加到所述中央处理单元的所述处理器核心的所述中央处理单元时钟信号的周期总数的所述指令使所述数据处理系统执行如下操作:
为在所述取样时间间隔期间被施加到所述处理器核心的所述中央处理单元时钟信号的每个周期,将时间戳计数器从初始值增加到最终值;以及
从所述时间戳计数器的所述最终值中减去所述时间戳计数器的所述初始值,以便确定在所述取样时间间隔期间被施加到所述中央处理单元的所述处理器核心的所述中央处理单元时钟信号的周期总数。
16.权利要求15所述的数据处理系统可读介质,还包括多个指令,该多个指令被执行时使所述数据处理系统执行如下操作:
响应所述利用率应用的所述第一次执行,读取所述时间戳计数器的所述初始值;以及
响应所述利用率应用的所述第二次执行,读取所述时间戳计数器的所述最终值。
17.一种数据处理系统,包括:
用于处理数据和执行指令的中央处理单元,所述中央处理单元包括处理器核心;
用于生成中央处理单元时钟信号和定义取样时间间隔的时钟发生器;
用于存储多个指令的存储器,该多个指令被所述中央处理单元执行时使所述数据处理系统执行如下操作:
测量在取样时间间隔之内的中央处理单元时钟信号在中央处理单元的处理器核心之中是活动的时间量子;以及
利用所述时间量子来确定所述中央处理单元在所述取样时间间隔期间的利用率。
18.权利要求17所述的数据处理系统,其中使所述数据处理系统利用所述时间量子来确定所述中央处理单元在所述取样时间间隔期间的利用率的所述指令使所述数据处理系统执行如下操作:
计算所述时间量子与所述取样时间间隔的比值。
19.权利要求17所述的数据处理系统,其中使所述数据处理系统测量在取样时间间隔之内的中央处理单元时钟信号在中央处理单元的处理器核心之中是活动的时间量子的所述指令使所述数据处理系统执行如下操作:
确定在所述取样时间间隔期间被施加到所述中央处理单元的所述处理器核心的所述中央处理单元时钟信号的周期总数;以及
利用所述周期总数和所述中央处理单元时钟信号的周期计算所述时间量子。
20.权利要求19所述的数据处理系统,还包括时间戳计数器,该时间戳计数器用于为在所述取样时间间隔期间被施加到所述处理器核心的所述中央处理单元时钟信号的每个周期,从初始值增加到最终值,其中:
使所述数据处理系统确定在所述取样时间间隔期间被施加到所述中央处理单元的所述处理器核心的所述中央处理单元时钟信号的周期总数的所述指令使所述数据处理系统执行如下操作:
从所述时间戳计数器的所述最终值中减去所述时间戳计数器的所述初始值,以便确定在所述取样时间间隔期间被施加到所述中央处理单元的所述处理器核心的所述中央处理单元时钟信号的周期总数。
CNB018229522A 2000-12-29 2001-11-13 用于确定cpu利用率的独立于操作系统的方法和系统 Expired - Fee Related CN100338581C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/750,676 US6711526B2 (en) 2000-12-29 2000-12-29 Operating system-independent method and system of determining CPU utilization
US09/750,676 2000-12-29

Publications (2)

Publication Number Publication Date
CN1633644A true CN1633644A (zh) 2005-06-29
CN100338581C CN100338581C (zh) 2007-09-19

Family

ID=25018791

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB018229522A Expired - Fee Related CN100338581C (zh) 2000-12-29 2001-11-13 用于确定cpu利用率的独立于操作系统的方法和系统

Country Status (10)

Country Link
US (1) US6711526B2 (zh)
EP (1) EP1358557B1 (zh)
CN (1) CN100338581C (zh)
AT (1) ATE338304T1 (zh)
AU (1) AU2002226936A1 (zh)
BR (1) BR0116651A (zh)
DE (1) DE60122780T2 (zh)
HK (1) HK1058088A1 (zh)
TW (1) TW552547B (zh)
WO (1) WO2002054244A2 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101981530A (zh) * 2008-04-11 2011-02-23 飞思卡尔半导体公司 具有低功率模式和非低功率模式的微处理器,数据处理系统和计算机程序产品
CN107423206A (zh) * 2017-07-31 2017-12-01 郑州云海信息技术有限公司 一种衡量系统管理中断时间的方法及装置
CN112162820A (zh) * 2020-09-23 2021-01-01 广州六环信息科技有限公司 计时器的计时方法和装置

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6711526B2 (en) 2000-12-29 2004-03-23 Intel Corporation Operating system-independent method and system of determining CPU utilization
JP3491617B2 (ja) * 2001-03-01 2004-01-26 日本電気株式会社 運用レポート作成方式、運用レポート作成方法および運用レポート作成用プログラム
US6810361B1 (en) * 2002-06-19 2004-10-26 Hewlett-Packard Development Company, L.P. Estimating utilization of an electronic system component
DE10234469A1 (de) * 2002-07-29 2004-02-12 Siemens Ag Verfahren zur Erfassung von Programmlaufzeiten in einem Datenverarbeitungsgerät
US7694164B2 (en) * 2002-09-20 2010-04-06 Intel Corporation Operating system-independent method and system of determining CPU utilization
US20050071688A1 (en) * 2003-09-25 2005-03-31 International Business Machines Corporation Hardware CPU utilization meter for a microprocessor
US7783785B2 (en) * 2003-10-02 2010-08-24 Gateway, Inc. Method and apparatus for BIOS determination of network information and diagnostics
US7617488B2 (en) * 2003-12-30 2009-11-10 Intel Corporation Method and apparatus and determining processor utilization
US20050228927A1 (en) * 2004-04-05 2005-10-13 Philip Garcia Bus utilization based on data transfers on the bus
US8321554B2 (en) 2004-12-17 2012-11-27 International Business Machines Corporation System and program to automatically identify a server on which to deploy an application
US20090182534A1 (en) * 2008-01-11 2009-07-16 Microsoft Corporation Accurate measurement and monitoring of computer systems
US8020020B2 (en) * 2008-02-28 2011-09-13 Globalfoundries Inc. Fast, automatically scaled processor time stamp counter
TWI447557B (zh) * 2009-05-22 2014-08-01 Chi Mei Comm Systems Inc Cpu使用率分析系統及方法
US8527796B2 (en) 2009-08-24 2013-09-03 Intel Corporation Providing adaptive frequency control for a processor using utilization information
TW201117102A (en) * 2009-11-02 2011-05-16 Inventec Corp Method for self-diagnosing system management interrupt handler
US8713562B2 (en) * 2012-01-06 2014-04-29 International Business Machines Corporation Intelligent and automated code deployment
US9021499B2 (en) * 2012-01-10 2015-04-28 Hewlett-Packard Development Company, L.P. Moving a logical device between processor modules in response to identifying a varying load pattern
US9037840B2 (en) 2012-06-29 2015-05-19 Intel Corporation Mechanism to provide workload and configuration-aware deterministic performance for microprocessors
US9183022B2 (en) 2012-06-30 2015-11-10 International Business Machines Corporation Maintaining hardware resource bandwidth quality-of-service via hardware counter
US9128721B2 (en) 2012-12-11 2015-09-08 Apple Inc. Closed loop CPU performance control
US9494996B2 (en) 2013-03-15 2016-11-15 Intel Corporation Processor having frequency of operation information for guaranteed operation under high temperature events
US11057446B2 (en) 2015-05-14 2021-07-06 Bright Data Ltd. System and method for streaming content from multiple servers

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4485440A (en) 1981-09-24 1984-11-27 At&T Bell Laboratories Central processor utilization monitor
US4438490A (en) 1981-10-01 1984-03-20 Honeywell Information Systems Inc. Clock control of a central processing unit from a monitor interface unit
US5072376A (en) 1988-06-10 1991-12-10 Amdahl Corporation Measuring utilization of processor shared by multiple system control programs
US5475844A (en) * 1992-11-27 1995-12-12 Nec Corporation Heavily loaded resource evaluation system
US5706407A (en) * 1993-12-28 1998-01-06 Kabushiki Kaisha Toshiba System for reallocation of memory banks in memory sized order
AU2364095A (en) 1994-05-12 1995-12-05 Ast Research, Inc. Cpu activity monitoring through cache watching
US5623647A (en) 1995-03-07 1997-04-22 Intel Corporation Application specific clock throttling
US5719800A (en) 1995-06-30 1998-02-17 Intel Corporation Performance throttling to reduce IC power consumption
US5805909A (en) * 1995-08-03 1998-09-08 Texas Instruments Incorporated Microprocessors or microcontroller utilizing FLL clock having a reduced power state
US5745375A (en) 1995-09-29 1998-04-28 Intel Corporation Apparatus and method for controlling power usage
US5787294A (en) 1995-10-13 1998-07-28 Vlsi Technology, Inc. System for reducing the power consumption of a computer system and method therefor
US5815693A (en) 1995-12-15 1998-09-29 National Semiconductor Corporation Processor having a frequency modulated core clock based on the criticality of program activity
US5715467A (en) 1996-04-04 1998-02-03 Vlsi Technology, Inc. Event driven power management control circuit and method therefor
US5982814A (en) * 1996-08-01 1999-11-09 Pc-Tel, Inc. Dynamic control of processor utilization by a host signal processing modem
JP3798476B2 (ja) * 1996-08-30 2006-07-19 株式会社東芝 コンピュータシステムおよびそのシステムにおけるキャッシュメモリのパワーダウン制御方法
US6018803A (en) * 1996-12-17 2000-01-25 Intel Corporation Method and apparatus for detecting bus utilization in a computer system based on a number of bus events per sample period
US6105142A (en) * 1997-02-11 2000-08-15 Vlsi Technology, Inc. Intelligent power management interface for computer system hardware
US6212644B1 (en) 1998-09-10 2001-04-03 Intel Corporation Controlling temperatures in computers
US6161188A (en) * 1998-11-17 2000-12-12 Ip-First, L.L.C. Microprocessor having fuse control and selection of clock multiplier
US6118306A (en) 1998-12-03 2000-09-12 Intel Corporation Changing clock frequency
US6272642B2 (en) * 1998-12-03 2001-08-07 Intel Corporation Managing a system's performance state
US7032119B2 (en) * 2000-09-27 2006-04-18 Amphus, Inc. Dynamic power and workload management for multi-server system
US6711526B2 (en) 2000-12-29 2004-03-23 Intel Corporation Operating system-independent method and system of determining CPU utilization

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101981530A (zh) * 2008-04-11 2011-02-23 飞思卡尔半导体公司 具有低功率模式和非低功率模式的微处理器,数据处理系统和计算机程序产品
CN101981530B (zh) * 2008-04-11 2012-12-12 飞思卡尔半导体公司 具有低功率模式和非低功率模式的微处理器,数据处理系统和计算机程序产品
CN107423206A (zh) * 2017-07-31 2017-12-01 郑州云海信息技术有限公司 一种衡量系统管理中断时间的方法及装置
CN107423206B (zh) * 2017-07-31 2021-01-22 苏州浪潮智能科技有限公司 一种衡量系统管理中断时间的方法及装置
CN112162820A (zh) * 2020-09-23 2021-01-01 广州六环信息科技有限公司 计时器的计时方法和装置

Also Published As

Publication number Publication date
DE60122780D1 (de) 2006-10-12
US6711526B2 (en) 2004-03-23
BR0116651A (pt) 2004-07-13
TW552547B (en) 2003-09-11
CN100338581C (zh) 2007-09-19
WO2002054244A3 (en) 2003-09-12
WO2002054244A2 (en) 2002-07-11
DE60122780T2 (de) 2007-09-13
US20020087291A1 (en) 2002-07-04
EP1358557B1 (en) 2006-08-30
EP1358557A2 (en) 2003-11-05
ATE338304T1 (de) 2006-09-15
AU2002226936A1 (en) 2002-07-16
HK1058088A1 (en) 2004-04-30

Similar Documents

Publication Publication Date Title
CN100338581C (zh) 用于确定cpu利用率的独立于操作系统的方法和系统
US6829713B2 (en) CPU power management based on utilization with lowest performance mode at the mid-utilization range
KR101496077B1 (ko) 낮은 오버헤드를 갖는 전력 프로파일 정보의 획득
US6223338B1 (en) Method and system for software instruction level tracing in a data processing system
US7239980B2 (en) Method and apparatus for adaptive tracing with different processor frequencies
US8903703B2 (en) Dynamically adjusting speed versus accuracy of computer platform simulation
JPH0816877B2 (ja) データ処理システム用資源データの実時間捕獲及び減縮方法及びシステム
Flanagan et al. BACH: BYU address collection hardware, the collection of complete traces
EP0518574A2 (en) Indicating resource utilization in a data processing system
EP1492011A2 (en) System and method for facilitating profiling of an application
US5920689A (en) System and method for low overhead, high precision performance measurements using state transitions
US7694164B2 (en) Operating system-independent method and system of determining CPU utilization
Chang et al. Energy-driven statistical sampling: Detecting software hotspots
EP1555614B1 (en) Method and apparatus for determining processor utilization
US6530031B1 (en) Method and apparatus for timing duration of initialization tasks during system initialization
JP5542643B2 (ja) シミュレーション装置及びシミュレーションプログラム
Gray et al. Workload characterization of the SPECpower_ssj2008 benchmark
Larysch Fine-grained estimation of memory bandwidth utilization
EP0518602A2 (en) Resource monitor for data processing system
Flautner Automatic monitoring for interactive performance and power reduction
Weinstock et al. Accelerating MPSoC Simulation Using Parallel SystemC and Processor Sleep Models
GB2336919A (en) Pre-emptive threading in a virtual machine
Confidential Fay Chang Keith Farkas Parthasarathy Ranganathan
JPH076062A (ja) Cpuの稼働率測定方法
CN112181757A (zh) 一种基于模拟器的细粒度功耗估计方法

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
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20070919

Termination date: 20171113