CN102667669B - 对中央处理单元内的数据进行取样的系统和方法 - Google Patents

对中央处理单元内的数据进行取样的系统和方法 Download PDF

Info

Publication number
CN102667669B
CN102667669B CN201180005055.6A CN201180005055A CN102667669B CN 102667669 B CN102667669 B CN 102667669B CN 201180005055 A CN201180005055 A CN 201180005055A CN 102667669 B CN102667669 B CN 102667669B
Authority
CN
China
Prior art keywords
cpu
determining
response
described cpu
idle state
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.)
Expired - Fee Related
Application number
CN201180005055.6A
Other languages
English (en)
Other versions
CN102667669A (zh
Inventor
诺曼·S·加尔加石
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.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN102667669A publication Critical patent/CN102667669A/zh
Application granted granted Critical
Publication of CN102667669B publication Critical patent/CN102667669B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/324Power saving characterised by the action undertaken by lowering clock frequency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3296Power saving characterised by the action undertaken by lowering the supply or operating voltage
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本发明揭示一种对中央处理单元CPU内的数据进行取样的方法。所述方法可包含:监视CPU活动;确定所述CPU是否进入闲置状态;以及在所述CPU进入闲置状态的情况下执行动态时钟和电压切换DCVS算法。

Description

对中央处理单元内的数据进行取样的系统和方法
相关申请案
本申请案主张2010年1月11日申请的题目为“对中央处理单元内的数据进行取样的系统和方法(SYSTEM AND METHOD OF SAMPLING DATA WITHIN A CENTRALPROCESSING UNIT)”的第61/294,028号美国临时专利申请案的优先权,所述美国临时专利申请案的内容完整地并入本文。
技术领域
背景技术
便携式计算装置(PCD)到处可见。这些装置可包含蜂窝式电话、便携式数字助理(PDA)、便携式游戏控制台、掌上型计算机,和其它便携式电子装置。除了这些装置的主要功能之外,许多装置包含外围功能。举例来说,蜂窝式电话可包含进行蜂窝式电话呼叫的主要功能,和静态相机、视频相机、全球定位系统(GPS)导航、网络浏览、发送和接收电子邮件、发送和接收文本消息、即按即说能力等的外围功能。随着此类装置的功能性增加,支持此类功能性所需的计算或处理功率也增加。此外,随着计算功率增加,更需要有效地管理提供计算能力的处理器。
因此,所需的是对中央处理单元内的数据进行取样的改进的方法。
发明内容
本发明提供一种对中央处理单元(CPU)内的数据进行取样的方法,所述方法包括:监视CPU活动;确定所述CPU是否进入闲置状态;以及在所述CPU进入闲置状态的情况下执行动态时钟和电压切换(DCVS)算法。
本发明还提供一种无线装置,其包括:用于监视CPU活动的装置;用于确定所述CPU是否进入闲置状态的装置;以及用于在所述CPU进入闲置状态的情况下执行动态时钟和电压切换(DCVS)算法的装置。
本发明还提供一种无线装置,其包括:处理器,其中所述处理器可操作以:监视CPU活动;确定所述CPU是否进入闲置状态;以及在所述CPU进入闲置状态的情况下执行动态时钟和电压切换(DCVS)算法。
本发明还提供一种存储器媒体,其包括:用于监视CPU活动的至少一个指令;用于确定所述CPU是否进入闲置状态的至少一个指令;以及用于在所述CPU进入闲置状态的情况下执行动态时钟和电压切换(DCVS)算法的至少一个指令。
附图说明
在图中,相同的参考数字在所有各视图中指代相同的部分,除非另有指示。
图1是处于闭合位置的便携式计算装置(PCD)的第一方面的正视平面图;
图2是处于打开位置的PCD的第一方面的正视平面图;
图3是PCD的第二方面的方框图;
图4是处理系统的方框图;
图5是说明对中央处理单元内的数据进行取样的方法的第一方面的流程图;
图6是说明对中央处理单元内的数据进行取样的方法的第二方面的第一部分的流程图;
图7是说明对中央处理单元内的数据进行取样的方法的第二方面的第二部分的流程图;
图8是说明对中央处理单元内的数据进行取样的方法的第二方面的第三部分的流程图;以及
图9是说明对中央处理单元内的数据进行取样的方法的一个操作方面的时间线。
具体实施方式
词语“示范性”在本文中用于表示“充当实例、例子或说明”。在本文中描述为“示范性”的任何方面不一定解释为比其它方面优选或有利。
在此描述中,术语“应用程序”还可包含具有可执行内容的文件,例如:对象代码、脚本、字节代码、标记语言文件和补丁。另外,本文中所涉及的“应用程序”还可包含本质上不可执行的文件,例如可能需要打开的文档或需要存取的其它数据文件。
术语“内容”还可包含具有可执行内容的文件,例如:对象代码、脚本、字节代码、标记语言文件和补丁。另外,本文中所涉及的“内容”还可包含本质上不可执行的文件,例如可能需要打开的文档或需要存取的其它数据文件。
如此描述中所使用,术语“组件”、“数据库”、“模块”、“系统”等意欲指代计算机相关实体,硬件、固件、硬件和软件的组合、软件或执行中的软件。举例来说,组件可为(但不限于)运行在处理器上的进程、处理器、对象、可执行程序、执行线程、程序,和/或计算机。以说明的方式,运行在计算装置上的应用程序和计算装置两者均可为组件。一个或一个以上组件可驻留于进程和/或执行线程内,且组件可位于一个计算机上和/或分布于两个或两个以上计算机之间。另外,这些组件可从上面存储有各种数据结构的各种计算机可读媒体来执行。组件可例如根据具有一个或一个以上数据包的信号(例如,来自一个借助所述信号与在本地系统、分布式系统中的另一组件和/或跨越例如因特网等网络与其它系统交互的组件的数据)而通过本地和/或远程进程进行通信。
起初参看图1和图2,展示示范性便携式计算装置(PCD)且大体上标示为100。如图所示,PCD 100可包含外壳102。外壳102可包含上部外壳部分104和下部外壳部分106。图1展示上部外壳部分104可包含显示器108。在特定方面中,显示器108可为触摸屏显示器。上部外壳部分104还可包含跟踪球输入装置110。此外,如图1中所示,上部外壳部分104可包含通电按钮112和断电按钮114。如图1中所示,PCD 100的上部外壳部分104可包含多个指示器灯116和扬声器118。每一指示器灯116可为发光二极管(LED)。
在特定方面中,如图2中所描绘,上部外壳部分104可相对于下部外壳部分106移动。具体来说,上部外壳部分104可相对于下部外壳部分106滑动。如图2中所示,下部外壳部分106可包含多按钮键盘120。在特定方面中,多按钮键盘120可为标准QWERTY键盘。在上部外壳部分104相对于下部外壳部分106移动时,可露出多按钮键盘120。图2进一步说明PCD 100可于下部外壳部分106上包含复位按钮122。
参看图3,展示便携式计算装置(PCD)的示范性非限制性方面且大体上标示为320。如图所示,PCD 320包含芯片上系统322,芯片上系统322包含多核心CPU 324。多核心CPU 324可包含第零核心325、第一核心326和第N核心327。
如图3中所说明,显示器控制器328和触摸屏控制器330耦合到多核心CPU 324。芯片上系统322外部的显示器/触摸屏332又耦合到显示器控制器328和触摸屏控制器330。
图3进一步指示视频编码器334(例如,逐行倒相(PAL)编码器、顺序传送彩色与存储(SECAM)编码器,或美国电视系统委员会(NTSC)编码器)耦合到多核心CPU 324。此外,视频放大器336耦合到视频编码器334和显示器/触摸屏332。而且,视频端口338耦合到视频放大器336。如图3中所描绘,通用串行总线(USB)控制器340耦合到多核心CPU 324。而且,USB端口342耦合到USB控制器340。存储器344和订户身份模块(SIM)卡346也可耦合到多核心CPU 324。此外,如图3中所示,数码相机348可耦合到多核心CPU 324。在示范性方面中,数码相机348为电荷耦合装置(CCD)相机或互补金属氧化物半导体(CMOS)相机。
如图3中进一步说明,立体声音频CODEC 350可耦合到多核心CPU 324。另外,音频放大器352可耦合到立体声音频CODEC 350。在示范性方面中,第一立体声扬声器354和第二立体声扬声器356耦合到音频放大器352。图3展示麦克风放大器358也可耦合到立体声音频CODEC 350。另外,麦克风360可耦合到麦克风放大器358。在特定方面中,调频(FM)无线电调谐器362可耦合到立体声音频CODEC 350。而且,FM天线364耦合到FM无线电调谐器362。此外,立体声头戴式送受话器366可耦合到立体声音频CODEC 350。
图3进一步指示射频(RF)收发器368可耦合到多核心CPU 324。RF开关370可耦合到RF收发器368和RF天线372。如图3中所示,小键盘374可耦合到多核心CPU 324。而且,具有麦克风的单声道耳机376可耦合到多核心CPU 324。此外,振动器装置378可耦合到多核心CPU 324。图3还展示电源380可耦合到芯片上系统322。在特定方面中,电源380为将电力供应给PCD 320的需要电力的各种组件的直流(DC)电源。此外,在特定方面中,电源为可再充电DC电池或从连接到AC电源的交流(AC)-DC变压器得到的DC电源。
图3进一步指示PCD 320还可包含网卡388,网卡388可用于接入数据网络,例如局域网、个域网或任何其它网络。网卡388可为蓝牙网卡、WiFi网卡、个域网(PAN)卡、个域网超低功率技术(PeANUT)网卡,或此项技术中众所周知的任何其它网卡。此外,网卡388可并入到芯片中,即网卡388可为芯片上的整个解决方案,且可不为单独的网卡388。
如图3中所描绘,显示器/触摸屏332、视频端口338、USB端口342、相机348、第一立体声扬声器354、第二立体声扬声器356、麦克风360、FM天线364、立体声头戴式送受话器366、RF开关370、RF天线372、小键盘374、单声道耳机376、振动器378,和电源380在芯片上系统322的外部。
在特定方面中,本文中所描述的方法步骤中的一者或一者以上可作为计算机程序指令存储于存储器344中。这些指令可由多核心CPU 324执行以便执行本文中所描述的方法。此外,多核心CPU 324、存储器344或其组合可用作用于执行本文中所描述的方法步骤中的一者或一者以上以便对中央处理单元内的数据进行取样的装置。
参看图4,展示处理系统且大体上标示为400。在特定方面中,处理系统400可并入到上文结合图3所描述的PCD 320中。如图所示,处理系统400可包含多核心中央处理单元(CPU)402和连接到多核心CPU 402的存储器404。多核心CPU 402可包含第零核心410、第一核心412和第N核心414。第零核心410可包含在其上执行的第零动态时钟和电压缩放(DCVS)算法416。第一核心412可包含在其上执行的第一DCVS算法417。此外,第N核心414可包含在其上执行的第N DCVS算法418。在特定方面中,每一DCVS算法416、417、418可独立地在相应核心410、412、414上执行。
另外,如所说明,存储器404可包含存储于其上的操作系统420。操作系统420可包含调度器422,且调度器422可包含第一运行队列424、第二运行队列426,和第N运行队列428。存储器404还可包含存储于其上的第一应用程序430、第二应用程序432和第N应用程序434。
在特定方面中,应用程序430、432、434可将一个或一个以上任务436发送到操作系统420以在多核心CPU 402内的核心410、412、414处进行处理。可将任务436处理或执行为单个任务、线程或其组合。此外,调度器422可调度任务、线程或其组合以用于在多核心CPU 402内执行。另外,调度器422可将任务、线程或其组合放置于运行队列424、426、428中。核心410、412、414可如(例如)操作系统420所指示而从运行队列424、426、428检索任务、线程或其组合,以用于在核心410、412、414处对那些任务和线程进行处理或执行。
图4还展示存储器404可包含存储于其上的控制器440。控制器440可连接到操作系统420和多核心CPU 402。具体来说,控制器440可连接到操作系统420内的调度器422。如本文所描述,控制器440可监视核心410、412、414上的工作负荷,且控制器440可对来自核心410、412、414的数据进行取样,如下文所述。
在特定方面中,控制器440可为软件程序。然而,在替代方面中,控制器440可为在存储器404外部的硬件控制器。在任一情况下,控制器440、存储器404、核心410、412、414或其任一组合可充当用于执行本文描述的方法步骤中的一者或一者以上以便对来自核心410、412、414的数据进行取样的装置。
参见图5,展示且大体上标示500执行动态时钟和电压缩放(DCVS)算法的方法。方法500以“进行”循环开始于方框502处,其中当装置通电时,可执行以下步骤。在方框504处,控制器可监视CPU活动。此活动可为单核心CPU、多核心CPU、多个单核心CPU、多个多核心CPU或其组合的活动。此外,控制器可为软件控制器、硬件控制器或其组合。
移动到决策506,控制器可确定CPU或CPU的核心是否已进入闲置状态。如果是,则方法可前进到方框508,且控制器可执行DCVS算法。随后,在决策510处,控制器可确定CPU或CPU的核心是否退出闲置状态。如果不是,则方法500可前进到方框511,且CPU可保持闲置。随后,方法可返回到决策510,且方法500可如本文描述而继续。否则,如果CPU或CPU的核心退出闲置状态,则方法500可继续进行到方框512,且控制器可停止执行DCVS算法。随后,控制器可确定装置是否被断电。如果装置被断电,则方法500可结束。相反,如果装置保持通电,则方法500可返回到方框504,且方法500可如本文描述而继续。
返回到决策506,如果CPU或CPU的核心未进入闲置状态,则方法500可前进到决策516。在决策516处,控制器可确定是否已启动定时器。如果不是,则方法500可返回到方框504,且方法500可如本文描述而继续。如果定时器启动,则方法500可移动到方框518,且控制器可将CPU频率增加一个步长。接着,在决策520处,控制器可确定CPU频率是否处于最大CPU频率。如果CPU频率处于最大CPU频率,则在方框522处,可取消定时器。随后,方法500可前进到决策514,且方法500可如本文描述而继续。如果CPU频率未处于最大CPU频率,则方法500可直接移动到决策514,且方法500可如本文描述而继续。
在特定方面中,如果进入闲置状态大体上接近于前一闲置时间,则可跳过DCVS算法的执行。这可取决于所需的DCVS响应时间。
参见图6,展示且大体上标示600执行动态时钟和电压缩放(DCVS)算法的方法的第二方面。方法600以“进行”循环开始于方框602处,其中当装置通电时,可执行以下步骤。在方框604处,控制器可确定响应性期限R。举例来说,响应性期限R可设定为90毫秒(90ms)。
移动到方框606,控制器可监视CPU活动。此活动可为单核心CPU、多核心CPU、多个单核心CPU、多个多核心CPU或其组合的活动。此外,控制器可为软件控制器、硬件控制器或其组合。
移动到决策608,控制器可确定CPU或CPU的核心是否已进入闲置状态。如果CPU未进入闲置状态,则方法600可直接前进到下文描述的图8的决策802。然而,如果CPU进入闲置状态,则方法600可前进到方框610,且控制器可标注时间。接着,在方框612处,控制器可确定前一忙循环的长度。在方框614处,控制器可记录前一循环的长度。此外,在方框616处,控制器可记录忙循环期间的CPU频率。随后,方法600可前进到图7的方框702。在方框610到方框616处收集的信息可提供到DCVS算法。
在图7的方框702处,方法600可取消定时器。移动到方框704,控制器可执行动态时钟和电压缩放(DCVS)算法。接着,在决策706处,控制器可确定CPU或CPU的核心是否退出闲置状态。如果不是,则方法600可前进到方框707,且CPU可保持闲置。随后,方法可返回到决策706,且如本文描述而继续。如果CPU或其核心退出闲置状态,则方法600可前进到方框708。在方框708处,控制器可标注时间。在方框710处,控制器可确定前一闲置周期或循环的长度。接着,在方框712处,控制器可将定时器设定为等于当前时间加上响应性期限。在方框714处,控制器可记录前一闲置周期的长度。随后,方法600可返回到图6的方框606,且方法600可如本文描述而继续。在方框710到方框714处收集的信息可提供到DCVS算法。
返回到图6的决策608,如果CPU或其中的核心未进入闲置状态,则方法600可前进到图8的决策802。
在图8的决策802处,控制器可确定定时器是否启动。如果不是,则方法600可返回到图6的方框606且方法600可如本文描述而继续。另一方面,在决策802处,如果定时器启动,则方法600可前进到决策804。在决策804处,控制器可确定控制器是否正在正常模式还是服务质量(QoS)模式中操作。如果控制器正在正常模式中操作,则方法600可前进到方框806且控制器可将CPU频率增加一个步长。
接着,在决策808处,控制器可确定CPU频率是否处于最大CPU频率。如果CPU频率处于最大CPU频率,则在方框810处,可取消定时器。随后,方法600可返回到图6的方框606。随后,方法600可如本文描述而继续。如果CPU频率未处于最大CPU频率,则方法600可返回到图7的方框712,且方法600可如本文描述而继续。
返回到决策804,如果控制器正在服务质量模式(QoS)中操作,则方法600可前进到方框812,且控制器可将CPU频率增加到最大CPU频率。随后,方法600可随后返回到图7的方框712。
图9是说明对中央处理单元内的数据进行取样的方法的一个操作方面的时间线。在此实例中,可将响应性期限设定为等于90毫秒(90ms)。在t0处开始,CPU可进入闲置状态。可标注时间,即,CPU从t-1(未图示)到t0或(t0-t-1)时忙。此外,可取消定时器。在t1处,CPU可退出或离开闲置状态。可标注时间,即,CPU从t0到t1或(t1-t0)时闲置。接着,可将定时器设定为t1加上90毫秒(90ms)。
在t2处,CPU可再次进入闲置状态。可标注时间,即,CPU从t1到t2或(t2-t1)时忙。接着,可取消定时器。在t3处,CPU可退出闲置状态。可标注时间,即,CPU从t2到t3或(t3-t2)时闲置。接着,可将定时器设定为t3加上90ms。在t3加上90ms处,定时器启动,且CPU频率增加。如果CPU处于正常模式,则CPU频率可增加一个递增频率步长。如果CPU处于QoS条件中,则CPU频率可增加到最大CPU频率。此外,如果CPU频率未处于最大CPU频率,则可将定时器重新调度为(t3加上90ms)加上90ms,即从当前时间起90ms。在t4处,CPU再次进入闲置状态。可标注时间,即,CPU从t3到t4或(t4-t3)时忙,且从(t3+90ms)到t4处于较高速率。随后,可取消定时器。
在特定方面中,在以上收集的所有数据点的情况下,DCVS算法具有对确切CPU闲置时间和CPU使用率的存取而没有对正常处理的任何中断,除了t3加上90ms处的情况,且所述中断具有最小的影响,因为已在闲置时间预先计算决策。DCVS算法还可具有对闲置/工作分布的历史的存取。
应理解,本文中所描述的方法步骤不需要一定以所描述的次序执行。此外,例如“其后”、“随后”、“接着”等词语无意限制步骤的次序。这些词语仅用于引导读者阅读方法步骤的描述。另外,本文中所描述的方法被描述为可在便携式计算装置(PCD)上执行。PCD可为移动电话装置、便携式数字助理装置、智能本计算装置、上网本计算装置、膝上型计算装置、桌上型计算装置或其组合。
本文描述的系统和方法提供可与样本率无关的取样方法。而且,响应性、服务质量(QoS)或其组合可为第一类输入参数。此外,DCVS算法处理不中断真实工作,且当系统满载时开销可变为零。另外,时钟改变可背负在现有的功率崩溃上。
在特定方面中,通过本文描述的配置,数据的取样可视为机会性的。此机会性取样方法并不以固定间隔对CPU负荷/闲置时间进行取样。事实上,机会性取样方法通过标注CPU进入和离开闲置状态的时间来直接测量CPU闲置。这消除了与周期性取样相关联的中断/上下文切换开销。DCVS算法可随后在系统另外静止时的闲置时间运行,这意味着DCVS算法不干扰任何有用的工作,且DCVS算法开销与所需的DCVS响应性无关。
大体上,本发明方法可以每样本节省一个中断和两(2)个上下文切换。另外,这可允许在经常存在必要的时钟改变时之退出闲置状态前后调度CPU时钟频率改变。
在特定方面中,如果CPU将变为被完全订用,即,变为百分之一百(100%),则将不存在闲置时间。在无闲置时间的情况下,没有机会取得样本和运行DCVS算法。为了避免此不足问题,在DCVS算法的最差情况忙时间处注册超时回调。如果CPU在所述超时期满之前未进入闲置状态,则系统可改变时钟频率。此超时即使在DCVS算法的存在下也提供对性能的界限。时钟频率改变可包含时钟频率的正常增加或较大改变(直到最大)以提供可能需要的任何QoS保证。
在任一情况下,开销被最小化,因为在此完全订用条件下,无需对闲置数据进行取样或运行DCVS算法,即,预先计算决策逻辑。一旦CPU达到最大频率,则在系统处于最终状态时可取消超时。由于此原因,本发明系统和方法可在负荷下较好地缩放。如果系统负荷较高,则DCVS算法开销将变为零。此性质可与任何所需的DCVS响应性/敏感性无关。此外,本发明系统和方法支持任意的DCVS算法。
在一个或一个以上示范性方面中,可以硬件、软件、固件或其任何组合来实施所描述的功能。如果以软件实施,则可将功能作为一个或一个以上指令或代码而存储在计算机程序产品(例如,机器可读媒体(即,非易失性计算机可读媒体))上。计算机可读媒体包含计算机存储媒体,计算机存储媒体促进将计算机程序从一处传递到另一处的任何媒体。存储媒体可为可由计算机存取的任何可用媒体。举例来说而非限制,此计算机可读媒体可包含RAM、ROM、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置,或可用以存储呈指令或数据结构形式的所要程序代码且可由计算机存取的任何其它媒体。如本文中所使用,磁盘及光盘包括压缩光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)、软盘和蓝光光盘,其中磁盘通常以磁性方式再现数据,而光盘用激光以光学方式再现数据。以上各者的组合也应包含在计算机可读媒体的范围内。
虽然已详细地说明和描述了选定的方面,但将理解,在不脱离由所附权利要求书界定的本发明的精神和范围的情况下,可在其中进行各种替代和更改。

Claims (21)

1.一种对中央处理单元CPU内的数据进行取样的方法,所述方法包括:
监视CPU活动;
确定所述CPU是否进入闲置状态;
响应于确定所述CPU进入所述闲置状态而执行动态时钟和电压切换DCVS算法;
响应于确定所述CPU未进入所述闲置状态而确定是否已启动定时器;
响应于确定已启动所述定时器而增加所述CPU频率,其中增加所述CPU频率包括:
确定所述CPU正在正常模式中还是服务质量模式中操作;以及
基于确定所述CPU正在所述正常模式中还是所述服务质量模式中操作而确定增加所述CPU频率的量;
确定所述CPU是否退出所述闲置状态;以及
响应于确定所述CPU退出所述闲置状态而停止执行所述DCVS算法。
2.根据权利要求1所述的方法,其进一步包括:
响应于确定所述CPU未退出所述闲置状态而继续执行所述DCVS算法。
3.根据权利要求1所述的方法,其进一步包括:
响应于确定所述CPU进入所述闲置状态而记录当前时间;
基于经记录的当前时间而确定前一忙循环的长度;以及
记录所述前一忙循环的所述长度。
4.根据权利要求1所述的方法,其进一步包括:
响应于确定所述CPU退出所述闲置状态而记录当前时间;
基于经记录的当前时间而确定前一闲置循环的长度;以及
记录所述前一闲置循环的所述长度。
5.根据权利要求1所述的方法,其中响应于确定已启动所述定时器而增加所述CPU频率包括:
当所述CPU正在服务质量模式中操作时将所述CPU频率增加到最大CPU频率值。
6.根据权利要求1所述的方法,其中响应于确定已启动所述定时器而增加所述CPU频率包括:
当所述CPU正在正常模式中操作时将所述CPU频率增加一个递增步长;以及
取消所述定时器。
7.根据权利要求6所述的方法,其中取消所述定时器的步骤包括以下子步骤:
确定所述CPU频率是否等于最大CPU频率值;以及
响应于确定所述CPU频率等于所述最大CPU频率值而取消所述定时器。
8.一种无线装置,其包括:
用于监视中央处理单元CPU活动的装置;
用于确定所述CPU是否进入闲置状态的装置;以及
用于响应于确定所述CPU进入所述闲置状态而执行动态时钟和电压切换DCVS算法的装置;
用于响应于确定所述CPU未进入所述闲置状态而确定是否已启动定时器;
用于响应于确定已启动所述定时器而增加所述CPU频率的装置,其中所述用于增加所述CPU频率的装置包括:
用于确定所述CPU正在正常模式中还是服务质量模式中操作的装置;以及
用于基于确定所述CPU正在所述正常模式中还是所述服务质量模式中操作而确定增加所述CPU频率的量的装置;
用于确定所述CPU是否退出所述闲置状态的装置;以及用于响应于确定所述CPU退出所述闲置状态而停止执行所述DCVS算法的装置。
9.根据权利要求8所述的无线装置,其进一步包括:
用于响应于确定所述CPU未退出所述闲置状态而继续执行所述DCVS算法的装置。
10.根据权利要求8所述的无线装置,其进一步包括:
用于响应于确定所述CPU进入所述闲置状态而记录当前时间的装置;
用于基于经记录的当前时间而确定前一忙循环的长度的装置;以及
用于记录所述前一忙循环的所述长度的装置。
11.根据权利要求8所述的无线装置,其进一步包括:
用于响应于确定所述CPU退出所述闲置状态而记录当前时间的装置;
用于基于经记录的当前时间而确定前一闲置循环的长度的装置;以及
用于记录所述前一闲置循环的所述长度的装置。
12.根据权利要求8所述的无线装置,其中所述用于响应于确定已启动所述定时器而增加所述CPU频率的装置进一步包括:
用于当所述CPU正在服务质量模式中操作时将所述CPU频率增加到最大CPU频率值的装置。
13.根据权利要求8所述的无线装置,其中所述用于响应于确定已启动所述定时器而增加所述CPU频率的装置进一步包括:
用于当所述CPU正在正常模式中操作时将所述CPU频率增加一个递增步长的装置;以及
用于取消所述定时器的装置。
14.根据权利要求13所述的无线装置,其中所述用于取消所述定时器的装置包括以下子装置:
用于确定所述CPU频率是否等于最大CPU频率值的装置;以及
用于在所述CPU频率等于所述最大CPU频率值的情况下取消所述定时器的装置。
15.一种无线装置,其包括:
处理器,其中所述处理器可操作以:
监视中央处理单元CPU活动;
确定所述CPU是否进入闲置状态;
响应于确定所述CPU进入所述闲置状态而执行动态时钟和电压切换DCVS算法;
响应于确定所述CPU未进入所述闲置状态而确定是否已启动定时器;
响应于确定已启动所述定时器而通过以下方面增加所述CPU频率:
确定所述CPU正在正常模式中还是服务质量模式中操作;以及
基于确定所述CPU正在所述正常模式中还是所述服务质量模式中操作而确定增加所述CPU频率的量;
确定所述CPU是否退出所述闲置状态;以及
响应于确定所述CPU退出所述闲置状态而停止执行所述DCVS算法。
16.根据权利要求15所述的无线装置,其中所述处理器进一步可操作以:
响应于确定所述CPU未退出所述闲置状态而继续执行所述DCVS算法。
17.根据权利要求15所述的无线装置,其中所述处理器进一步可操作以:
响应于确定所述CPU进入所述闲置状态而记录当前时间;
基于经记录的当前时间而确定前一忙循环的长度;以及
记录所述前一忙循环的所述长度。
18.根据权利要求15所述的无线装置,其中所述处理器进一步可操作以:
响应于确定所述CPU退出所述闲置状态而记录当前时间;
基于经记录的当前时间而确定前一闲置循环的长度;以及
记录所述前一闲置循环的所述长度。
19.根据权利要求15所述的无线装置,其中可操作以响应于确定已启动所述定时器而增加所述CPU频率的所述处理器包括处理器,其进一步可操作以:
当所述CPU正在服务质量模式中操作时将所述CPU频率增加到最大CPU频率值。
20.根据权利要求15所述的无线装置,其中可操作以响应于确定已启动所述定时器而增加所述CPU频率的所述处理器包括处理器,其进一步可操作以:
当所述CPU正在正常模式中操作时将所述CPU频率增加一个递增步长;以及
取消所述定时器。
21.根据权利要求20所述的无线装置,其中所述处理器可操作以取消所述定时器包含所述处理器进一步可操作以:
确定所述CPU频率是否等于最大CPU频率值;以及
响应于确定所述CPU频率等于所述最大CPU频率值而取消定时器。
CN201180005055.6A 2010-01-11 2011-01-10 对中央处理单元内的数据进行取样的系统和方法 Expired - Fee Related CN102667669B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US29402810P 2010-01-11 2010-01-11
US61/294,028 2010-01-11
US12/846,119 2010-07-29
US12/846,119 US8370665B2 (en) 2010-01-11 2010-07-29 System and method of sampling data within a central processing unit
PCT/US2011/020684 WO2011085313A1 (en) 2010-01-11 2011-01-10 System and method of sampling data within a central processing unit

Publications (2)

Publication Number Publication Date
CN102667669A CN102667669A (zh) 2012-09-12
CN102667669B true CN102667669B (zh) 2015-03-25

Family

ID=44259445

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180005055.6A Expired - Fee Related CN102667669B (zh) 2010-01-11 2011-01-10 对中央处理单元内的数据进行取样的系统和方法

Country Status (6)

Country Link
US (1) US8370665B2 (zh)
EP (1) EP2524272B1 (zh)
JP (1) JP5662478B2 (zh)
KR (1) KR101499303B1 (zh)
CN (1) CN102667669B (zh)
WO (1) WO2011085313A1 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8938631B2 (en) 2012-06-30 2015-01-20 International Business Machines Corporation Energy efficient implementation of read-copy update for light workloads running on systems with many processors
US9430014B2 (en) * 2013-07-18 2016-08-30 Qualcomm Incorporated System and method for idle state optimization in a multi-processor system on a chip
CN104951026A (zh) * 2014-03-25 2015-09-30 联芯科技有限公司 基于嵌入式温度传感器的芯片过温自动控制方法及系统
KR102164099B1 (ko) 2014-03-28 2020-10-12 삼성전자 주식회사 시스템 온 칩, 이의 작동 방법, 및 이를 포함하는 장치
US10114448B2 (en) * 2014-07-02 2018-10-30 Intel Corporation Autonomous C-state algorithm and computational engine alignment for improved processor power efficiency
US9600392B2 (en) 2014-08-11 2017-03-21 International Business Machines Corporation Tracking pipelined activity during off-core memory accesses to evaluate the impact of processor core frequency changes
JP6418056B2 (ja) 2015-05-01 2018-11-07 富士通株式会社 演算処理装置及び演算処理装置の制御方法
US10102031B2 (en) * 2015-05-29 2018-10-16 Qualcomm Incorporated Bandwidth/resource management for multithreaded processors

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1637683A (zh) * 2003-12-24 2005-07-13 三星电子株式会社 用于减少空闲模式下的功率消耗的处理器系统和方法

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS593651A (ja) 1982-06-30 1984-01-10 Fujitsu Ltd フア−ムウエアによる性能測定システム
WO1992021081A1 (en) * 1991-05-17 1992-11-26 Zenith Data Systems Corporation Suspend/resume capability for a protected mode microprocessor and hard disk, and idle mode implementation
EP0632360A1 (en) * 1993-06-29 1995-01-04 Xerox Corporation Reducing computer power consumption by dynamic voltage and frequency variation
JPH08263166A (ja) * 1995-03-10 1996-10-11 United Microelectron Corp コンピュータの電力節減方法及びその装置
JPH0973338A (ja) * 1995-09-05 1997-03-18 Ricoh Co Ltd デジタル画像形成装置
US5745375A (en) * 1995-09-29 1998-04-28 Intel Corporation Apparatus and method for controlling power usage
JPH11143573A (ja) * 1997-11-10 1999-05-28 Fujitsu Ltd クロック供給方法及び情報処理装置
JP2000039937A (ja) * 1998-07-22 2000-02-08 Toshiba Corp コンピュータシステムおよびそのパワーセーブ制御方法
US6747984B1 (en) * 1998-12-18 2004-06-08 Lsi Logic Corporation Method and apparatus for transmitting Data
JP2001245195A (ja) * 2000-02-29 2001-09-07 Olympus Optical Co Ltd 電子カメラ
JP2002304232A (ja) * 2001-04-03 2002-10-18 Sony Corp 演算処理システム及び演算処理制御方法、並びに記憶媒体
JP3610930B2 (ja) * 2001-07-12 2005-01-19 株式会社デンソー オペレーティングシステム、プログラム、車両用電子制御装置
WO2003036722A1 (fr) 2001-10-26 2003-05-01 Fujitsu Limited Circuit integre a semi-conducteur, dispositif electronique dans lequel ce circuit integre est incorpore et procede d'economie d'energie
KR100479329B1 (ko) * 2001-12-24 2005-03-30 한국전자통신연구원 동작주파수 및 구동전압 변동을 이용한 mpeg 디코딩 방법
JP2004192256A (ja) * 2002-12-10 2004-07-08 Seiko Epson Corp ネットワークコントローラ
US7299370B2 (en) 2003-06-10 2007-11-20 Intel Corporation Method and apparatus for improved reliability and reduced power in a processor by automatic voltage control during processor idle states
US7698575B2 (en) * 2004-03-30 2010-04-13 Intel Corporation Managing power consumption by requesting an adjustment to an operating point of a processor
JP3915007B2 (ja) * 2004-05-28 2007-05-16 ノキア コーポレイション ネットワークシステム
KR100716730B1 (ko) * 2004-06-11 2007-05-14 삼성전자주식회사 중앙 처리 장치의 아이들 상태에서의 시스템 전력 소모절감을 위한 방법 및 그 방법을 적용한 모바일 장치
US7761874B2 (en) 2004-08-13 2010-07-20 Intel Corporation Managing processing system power and performance based on utilization trends
US7711966B2 (en) 2004-08-31 2010-05-04 Qualcomm Incorporated Dynamic clock frequency adjustment based on processor load
JP2006227849A (ja) * 2005-02-17 2006-08-31 Fuji Xerox Co Ltd 情報処理装置
US20060275934A1 (en) * 2005-06-03 2006-12-07 William Pohl Management of computer processes
KR100731983B1 (ko) * 2005-12-29 2007-06-25 전자부품연구원 저전력 무선 디바이스 프로세서용 하드와이어드 스케줄러및 스케줄링 방법
US7484110B2 (en) * 2006-03-16 2009-01-27 Microsoft Corporation Adaptive power management
TW200825705A (en) 2006-04-26 2008-06-16 Nxp Bv Method and system for power-state transition controllers
US20080147357A1 (en) * 2006-12-15 2008-06-19 Iintrinisyc Software International System and method of assessing performance of a processor
US7783906B2 (en) * 2007-02-15 2010-08-24 International Business Machines Corporation Maximum power usage setting for computing device
US8739162B2 (en) * 2007-04-27 2014-05-27 Hewlett-Packard Development Company, L.P. Accurate measurement of multithreaded processor core utilization and logical processor utilization
US20090049314A1 (en) * 2007-08-13 2009-02-19 Ali Taha Method and System for Dynamic Voltage and Frequency Scaling (DVFS)
US7643964B2 (en) * 2007-08-21 2010-01-05 Texas Instruments Incorporated Method, system and apparatus for measuring an idle value of a central processing unit
US7949888B2 (en) * 2008-01-07 2011-05-24 Apple Inc. Forced idle of a data processing system
JP4875719B2 (ja) * 2009-02-02 2012-02-15 レノボ・シンガポール・プライベート・リミテッド Dc/dcコンバータおよび携帯式コンピュータ
US8909962B2 (en) * 2009-12-16 2014-12-09 Qualcomm Incorporated System and method for controlling central processing unit power with guaranteed transient deadlines
US8700926B2 (en) * 2010-01-11 2014-04-15 Qualcomm Incorporated System and method of tuning a dynamic clock and voltage switching algorithm based on workload requests
US8671413B2 (en) * 2010-01-11 2014-03-11 Qualcomm Incorporated System and method of dynamic clock and voltage scaling for workload based power management of a wireless mobile device

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1637683A (zh) * 2003-12-24 2005-07-13 三星电子株式会社 用于减少空闲模式下的功率消耗的处理器系统和方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
动态电压与频率调节在降低功耗中的作用;卢春鹏;《单片机与嵌入式系统应用》;20071231(第5期);12-17页 *

Also Published As

Publication number Publication date
US8370665B2 (en) 2013-02-05
JP5662478B2 (ja) 2015-01-28
CN102667669A (zh) 2012-09-12
JP2013516710A (ja) 2013-05-13
WO2011085313A1 (en) 2011-07-14
KR20120117861A (ko) 2012-10-24
EP2524272A1 (en) 2012-11-21
US20110173471A1 (en) 2011-07-14
KR101499303B1 (ko) 2015-03-05
EP2524272B1 (en) 2017-10-25

Similar Documents

Publication Publication Date Title
CN102667669B (zh) 对中央处理单元内的数据进行取样的系统和方法
CN102934045B (zh) 用于以保证的瞬时期限来控制中央处理单元功率的系统和方法
CN102687096B (zh) 用于异步地并独立地控制多核中央处理单元中的核时钟的系统和方法
CN102656539B (zh) 用于基于所推断的工作负载并行性控制中央处理单元功率的系统和方法
CN102687097B (zh) 用于以保证的稳定状态期限来控制中央处理单元功率的系统和方法
CN102687098B (zh) 用于无线设备的基于工作负载的功率管理的动态时钟及电压缩放的系统和方法
CN102652298B (zh) 用于以减小的频率振荡控制中央处理单元功率的系统和方法
US10528386B2 (en) Methods, apparatuses, and systems for controlling task migration
CN102695998B (zh) 用于在虚拟化系统中控制中央处理单元功率的系统和方法
CN102652296A (zh) 用于基于温度动态地控制多核中央处理单元中的多个核的系统和方法
US9477296B2 (en) Apparatus and method for controlling power of electronic device having multi-core
US8904399B2 (en) System and method of executing threads at a processor
CN103502946A (zh) 用于动态控制到便携式计算装置的多核心处理器中的多个核心的电力的方法和系统
CN106899649B (zh) 一种任务请求处理方法、装置和用户设备
CN104679218A (zh) 控制功耗的方法和装置
CN102754045B (zh) 基于工作负荷请求而调谐动态时钟和电压切换算法的系统和方法
CN104756043A (zh) 用于以有保证的瞬态最后期限来控制中央处理单元功率的系统和方法
CN109640344B (zh) 一种信息处理方法及装置、终端和存储介质
CN114979356A (zh) 显示方法、装置及电子设备
CN111630493A (zh) 终端智能控制方法、装置、设备及计算机可读存储介质
KR20140063966A (ko) 알람 시각에 따른 배터리 전원 관리 방법 및 그 방법이 기록된 기록매체

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: 20150325

Termination date: 20220110