CN102652298A - 用于以减小的频率振荡控制中央处理单元功率的系统和方法 - Google Patents
用于以减小的频率振荡控制中央处理单元功率的系统和方法 Download PDFInfo
- Publication number
- CN102652298A CN102652298A CN2010800563425A CN201080056342A CN102652298A CN 102652298 A CN102652298 A CN 102652298A CN 2010800563425 A CN2010800563425 A CN 2010800563425A CN 201080056342 A CN201080056342 A CN 201080056342A CN 102652298 A CN102652298 A CN 102652298A
- Authority
- CN
- China
- Prior art keywords
- previous
- frequency
- cycle
- busy
- busy cycle
- 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
- 238000000034 method Methods 0.000 title claims abstract description 71
- 238000012545 processing Methods 0.000 title claims abstract description 16
- 230000010355 oscillation Effects 0.000 title description 7
- 235000008694 Humulus lupulus Nutrition 0.000 claims description 6
- 238000004422 calculation algorithm Methods 0.000 description 12
- 230000001052 transient effect Effects 0.000 description 11
- 230000006870 function Effects 0.000 description 6
- 230000007704 transition Effects 0.000 description 4
- 230000001413 cellular effect Effects 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 238000002924 energy minimization method Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/324—Power saving characterised by the action undertaken by lowering clock frequency
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Power Sources (AREA)
- Executing Machine-Instructions (AREA)
Abstract
本发明揭示一种动态地控制中央处理单元内的功率的方法,且所述方法可包含:进入闲置状态;检视直接在所述闲置状态之前的前一忙循环;以及基于所述前一忙循环来确定用于下一忙循环的CPU频率。
Description
相关申请案
本申请案主张2009年12月16日申请的标题为“动态地控制中央处理单元中的功率的系统和方法(SYSTEM AND METHOD OF DYNAMICALLY CONTROLLINGPOWER IN CENTRAL PROCESSING UNIT)”的第61/286,979号美国临时专利申请案的优先权,所述申请案的内容以引用的方式全部并入。
技术领域
背景技术
便携式计算装置(PD)到处可见。这些装置可包含蜂窝式电话、便携式数字助理(PDA)、便携式游戏控制台、掌上型计算机,和其它便携式电子装置。除了这些装置的主要功能之外,许多装置包含外围功能。举例来说,蜂窝式电话可包含进行蜂窝式电话呼叫的主要功能,和静态相机、视频相机、全球定位系统(GPS)导航、网络浏览、发送和接收电子邮件、发送和接收文本消息、即按即说能力等的外围功能。随着此类装置的功能性增加,支持此类功能性所需的计算或处理能力也增加。此外,随着计算能力增加,更需要有效地管理提供计算能力的处理器。
因此,所需的是控制CPU内的功率的改进的方法。
发明内容
附图说明
在图中,相同的参考数字在所有各种视图中指代相同的部分,除非另有指示。
图1是处于闭合位置的便携式计算装置(PCD)的第一方面的正视平面图;
图2是处于打开位置的PCD的第一方面的正视平面图;
图3是PCD的第二方面的方框图;
图4是处理系统的方框图;
图5是说明动态地控制CPU内的功率的方法的第一方面的流程图;
图6是说明动态地控制CPU内的功率的方法的第二方面的第一部分的流程图;
图7是说明动态地控制CPU内的功率的方法的第二方面的第二部分的流程图;
图8是说明动态地控制CPU内的功率的方法的第二方面的第三部分的流程图;以及
图9是在时间上描绘的展示受动态时钟和电压缩放(DCVS)控制的CPU频率的示范性图表。
具体实施方式
词语“示范性”在本文中用于表示“充当实例、例子或说明”。在本文中描述为“示范性”的任何方面不一定解释为比其它方面优选或有利。
在此描述中,术语“应用程序”还可包含具有可执行内容的文件,例如:对象代码、脚本、字节代码、标记语言文件和补丁。另外,本文中所涉及的“应用程序”还可包含本质上不可执行的文件,例如可能需要打开的文档或需要存取的其它数据文件。
术语“内容”还可包含具有可执行内容的文件,例如:对象代码、脚本、字节代码、标记语言文件和补丁。另外,本文中所涉及的“内容”还可包含本质上不可执行的文件,例如可能需要打开的文档或需要存取的其它数据文件。
如此描述中所使用,术语“组件”、“数据库”、“模块”、“系统”等意欲指代计算机相关实体,硬件、固件、硬件和软件的组合、软件或执行中的软件。举例来说,组件可为(但不限于)运行在处理器上的进程、处理器、对象、可执行程序、执行线程、程序,和/或计算机。以说明的方式,运行在计算装置上的应用程序和计算装置两者均可为组件。一个或一个以上组件可驻留于进程和/或执行线程内,且组件可位于一个计算机上和/或分布于两个或两个以上计算机之间。另外,这些组件可从上面存储有各种数据结构的各种计算机可读媒体来执行。组件可例如根据具有一个或一个以上数据包的信号(例如,来自一个借助所述信号与在本地系统、分布式系统中的另一组件和/或跨越例如因特网等网络与其它系统交互的组件的数据)而通过本地和/或远程进程进行通信。
起初参看图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。多核CPU324可包含第零核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耦合到多核CPU324。而且,USB端口342耦合到USB控制器340。存储器344和订户身份模块(SIM)卡346也可耦合到多核CPU 324。此外,如图3中所示,数码相机348可耦合到多核CPU324。在示范性方面中,数码相机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或其组合可用作用于执行本文中所描述的方法步骤中的一者或一者以上以便动态地控制多核CPU 324的CPU或核内的功率的装置。
参看图4,展示处理系统且大体上标示为500。在特定方面中,处理系统500可并入到上文结合图3所描述的PCD 320中。如图所示,处理器系统500可包含多核中央处理单元(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可独立地在相应核412、414、416上执行。
另外,如所说明,存储器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。
参看图5,展示动态地控制中央处理单元的功率的方法的第一方面,且大体上标示为500。方法500可以do循环开始于方框502,其中当装置通电时,可执行以下步骤。
在方框504处,功率控制器(例如,动态时钟和电压缩放(DCVS)算法)可监视一个或一个以上CPU。在决策506处,功率控制器可确定CPU是否闲置。如果不是,则方法500可返回到方框504且如本文中所描述继续下去。否则,如果CPU闲置,则方法500可前进到方框508,且功率控制器可检视直接在当前闲置状态之前的忙循环,即操作窗口。在方框510处,功率控制器可确定前一忙循环期间的总工作负荷。此外,在方框512处,功率控制器可检视在前一忙循环期间所利用的操作频率。
移动到决策513,功率控制器可确定前一忙循环是否结束于稳定状态水平。如果是,则方法500可前进到方框516,且功率控制器可将CPU频率设定为稳定状态值。随后,方法500可前进到决策518。在决策518处,功率控制器可确定装置是否被断电。如果装置被断电,则所述方法可结束。否则,如果装置保持通电,则方法500可返回到方框504且方法500可如所描述继续下去。
返回到决策513,如果前一忙循环未结束于稳定状态,则方法500可移动到决策514,且功率控制器可确定前一忙循环是否包含任何频率跳跃或处于最大性能水平,例如,归因于工作负荷增加。如果是,则方法500可前进到方框517,且功率控制器可将最长规格化的忙周期复位。方法500可继续方框520且如本文中所描述继续下去。
返回到决策514,如果前一忙循环未包含任何频率跳跃且未处于最大性能水平,则方法500可前进到方框520且功率控制器可确定自从复位以来的最长规格化的忙周期。在方框522处,功率控制器可确定假如已在最长忙周期上次被复位时开始使用的情况下将不会引起频率跳跃的最小操作频率。接下来,功率控制器将CPU频率设定为以上所确定的最小频率,且在最小频率与前一CPU频率不相同的情况下将最长忙周期复位。方法500可随后前进到决策518。在决策518处,功率控制器可确定装置是否被断电。如果装置被断电,则所述方法可结束。否则,如果装置保持通电,则方法500可返回到方框504且方法500可如所描述继续下去。
在特定方面中,方法500可包含稳定状态和瞬时状态。决策513可用于控制稳定状态与瞬时状态之间的转变。具有在稳定状态与瞬时状态之间转变的能力可减少频率上的过度振荡。此外,方法500可被视为自调谐的,且可提供动态的窗口大小。
参看图6,展示动态地控制中央处理单元的功率的方法的第二方面,且大体上标示为600。开始于方框602,中央处理单元(CPU)可进入闲置状态。在方框604处,功率控制器(例如,动态时钟和电压缩放(DCVS)算法)可将开始闲置时间(StartIdleTime)设定成等于当前时间(CurrentTime)。此外,在方框606处,功率控制器可通过从结束闲置时间(EndIdleTime)减去开始闲置时间(StartIdleTime)而确定忙时间(BusyTime)。
在方框608处,CPU可进入软件等待中断(SWFI)条件。在方框610处,CPU可退出SWFI条件。移动到方框612,功率控制器可将结束闲置时间(EndIdleTime)设定成等于当前时间(CurrentTime)。在决策614处,功率控制器可确定前一忙循环的最高CPU频率是否大于稳定状态频率。如果不是,则方法600可结束。否则,方法600可前进到图7的决策702。
在图7的决策702处,功率控制器可确定前一忙循环是否包含任何频率跳跃或处于最大性能水平。如果是,则方法可前进到方框704,且功率控制器可确定最大CPU频率下的忙时间(BusyTimeAtMax),即在CPU已在完整忙周期期间在最大频率下运行的情况下CPU将忙多久。BusyTimeAtMax是规格化的值。换句话说,BusyTimeAtMax经规格化为单一性能水平,例如,最大频率。
可使用以下公式确定BusyTimeAtMax:
MaxCPUFreq
BusyTimeAtMax=∑(BusyTimeAtFreq[N]*(N/MaxCPUFreq))
N=MinCPUFreq
其中,
BusyTimeAtFreq[N]=CPU在前一忙循环期间在频率N下忙的总时间量,
MaxCPUFreq=最大CPU频率;且
MinCPUFreq=最小CPU频率。
举例来说,如果前一忙循环是二毫秒(2ms),且CPU在一千兆赫兹(1GHz)的最大频率下花费一毫秒(1ms),且在一百兆赫兹(100MHz)的标称频率下花费一毫秒,则BusyTimeAtMax将等于1.1ms。
移动到方框706,功率控制器可确定不会引起任何频率跳跃的CPU频率(CPUFreq)。具体来说,功率控制器可确定会消除任何频率跳跃的最低CPU频率。这是通过计算将由瞬时滤波器计算的每一CPU频率的松弛预算且确定所述松弛预算是否充分而不会致使瞬时滤波器进行频率跳跃来确定。
可通过将CPUFreq设定成等于最小CPU频率(MinCPUFreq)且随后执行do循环直到满足条件来作出此确定。每当不满足条件时,可将CPUFreq增加值一(CPUFreq=CPUFreq+1),直到满足最大CPU频率(MaxCPUFreq)为止。所述条件如下:
(((MaxCPUFreq*slackBudget)/(MaxCPUFreq-
CPUFreq))*SteadyStateAdjustment)<=(BusyTimeAtMax*
(MaxCPUFreq/CPUFreq))
其中,
MaxCPUFreq=最大CPU频率;
slackBudget=针对正测试的当前CPUFreq跳跃到更高的CPU频率的瞬时响应滤波器期限;
CPUFreq=正经测试以消除跳跃的当前CPU频率;
SteadyStateAdjustment=归因于稳定状态滤波器设计而所需的任何调整;且
BusyTimeAtMax=CPU在最大CPU频率下操作多久的规格化值(上文所确定)。
一旦满足条件,则可将CPU频率设定为满足条件的以上CPUFreq。移动到方框708到712,功率控制器可初始化本文中所描述的能量最小化算法的状态。具体来说,在方框708处,功率控制器可将上次较低时间(LastLowerTime)设定成等于结束闲置时间(EndIdleTime)。在方框710处,功率控制器可将最大值下的最大忙时间(MaxBusyTimeAtMax)设定成等于零。接下来,在方框712处,功率控制器可将总忙时间(TotalBusyTime)设定成等于零。其后,方法600可结束。
返回到决策702,如果前一忙循环未包含任何频率跳跃且未处于最大性能水平,则方法可前进到图8的方框802且方法600可如本文中所描述继续下去。
在方框802处,功率控制器可使用上文所描述的相同公式来确定最大值下的忙时间(BusyTimeAtMax)。其后,在决策804处,功率控制器可确定BusyTimeAtMax是否大于最大CPU下的最大忙时间(MaxBusyTimeAtMax)。如果BusyTimeAtMax大于MaxBusyTimeAtMax,则方法600可前进到方框806,且功率控制器可将MaxBusyTimeAtMax设定成等于BusyTimeAtMax。随后,方法800可移动到方框808。在决策804处,如果BusyTimeAtMax不大于MaxBusyTimeAtMax,则方法800可直接移动到方框808。
在方框808处,功率控制器可通过将忙时间(BusyTime)添加到总忙时间(TotalBusyTime)来确定运行的总忙时间(TotalBusyTime)。在方框810处,功率控制器可使用上文结合方框706所描述的相同do循环来确定非跳跃频率(NonJumpingFrequency)。移动到方框812,功率控制器可确定能量节约频率(EnergySavingFrequency)。在特定方面中,EnergySavingFrequency是同样应设定CPU以便节约能量消耗的最低频率(从方框810中计算的水平开始)。在此方面中,可假设系统将至少在自从上次降低频率以来的时间量内不需要跳跃。而且,可假设紧跟在同一时间周期之后将发生跳跃。此步骤还包含时钟切换开销和调度开销。
在特定方面中,确定在当前CPU频率下消耗的能量的量。所述值可表示为DCVSFloorEnergy。随后,可提高CPU频率,直到找到至多具有百分之一(1%)的时钟切换开销或使用比当前性能水平少的能量的值为止。在特定方面中,百分之一(1%)的值是任意的且可消除。
在CPU频率小于当前CPU频率且逝去的时间(elapsedTime)少于clockSwitchOverhead乘以2乘以一百时,系统可确定在CPU频率下运行多久,以便经历与前一忙循环确切相同的工作负荷。所述值可表示为DCVSJFloorBusyTime,且可使用以下公式来确定:
DCVSJFloorBusyTime=(totalBusyTime*CPUFreq/currentCPUFreq)+(clockSwitchOverhead*2)
而且,系统可确定CPU在与前一忙循环相同的工作负荷下在CPUFreq下将消费的能量的量。移动到决策814,功率控制器可确定EnergySavingFrequency是否小于当前CPUFrequency。如果是,则方法600可返回到图7的方框708,且方法600可如本文中所描述继续下去。否则,方法600可结束。
应理解,本文中所描述的方法步骤不需要一定以所描述的次序执行。此外,例如“其后”、“随后”、“接下来”等词语无意限制步骤的次序。这些词语仅用于引导读者阅读方法步骤的描述。另外,本文中所描述的方法被描述为可在便携式计算装置(PCD)上执行。PCD可为移动电话装置、便携式数字助理装置、智能本计算装置、上网本计算装置、膝上型计算装置、桌上型计算装置或其组合。
在特定方面中,DCVS算法是一种机制,其测量CPU负荷/闲置时间,且动态地调整CPU时钟频率以努力跟踪工作负荷,从而减少功率消耗,同时仍提供令人满意的系统性能。随着工作负荷改变,CPU处理量的改变可跟踪(但也必定延滞)工作负荷的改变。遗憾的是,在工作负荷具有服务质量(QoS)要求的情况下,这可引入问题,因为DCVS算法可能不够快地跟踪工作负荷。此外,任务可能失败。可通过引入瞬时性能期限(即,到较高性能水平的显式应急)来解决所述性能(QoS)问题,然而,归因于在稳定状态与瞬时CPU频率之间转变时所引发的频率振荡,此可导致功率的实际增加。
本文中所描述的系统和方法可用于管理瞬时与稳定状态性能水平之间的转变。此外,本文中所描述的系统和方法可大体上减少任何振荡。因此,在所消耗的净功率中可存在实质性节约。如图9中所示,本文中所描述的系统和方法在没有过度振荡的情况下提供动态的CPU功率控制。
为了避免归因于QoS期限和/或显式应急而引起的过度频率振荡的问题,本发明的方法引入能量最小化算法,其可控制稳定状态与瞬时状态之间的转变,即到较高性能水平的显式应急。本文中所描述的能量最小化方法或算法可有效地管理由瞬时响应保证(即,到较高性能水平的显式跳跃)引起的最大性能水平与较低稳定状态性能水平之间的跳跃。
在两个水平之间不存在任何跳跃的情况下,能量最小化算法可仅将CPU性能水平设定为稳定状态值。因而,本文中所描述的方法可确定如何以能量最有效的方式将性能水平降低到稳定状态水平。此外,这些方法可从瞬时脉冲(即,到较高频率的显式应急)完成的时刻直到使性能水平退回到由稳定状态水平指示的水平为止来有效地管理性能水平。一般来说,可在离散步骤中使性能水平下降,其将在重复确切相同的闲置/忙轮廓(其仅在自从上次频率(性能水平)下降以来刚经历)的情况下消除需要跳跃到较高的性能水平的可能性。举例来说,如果瞬时脉冲致使到最大时钟频率的跳跃,则在下一闲置周期上,本文中所描述的能量最小化方法可将性能水平设定为将会消除跳跃的性能水平。在每一接连的闲置周期上,控制器可确定将会节约能量的在稳定状态性能水平处或以上的最低频率(假设从进行上次频率降低的时间点重复确切相同的闲置/忙轮廓)。
在特定方面中,本文中所描述的方法可利用其它方法来将频率从较高的性能水平降低到稳定状态水平。举例来说,步骤可为时间的,步骤可为线性的,步骤可为非线性的,可使用基于每秒若干跳跃的低通滤波器,或可使用其任何组合。
此外,本文中所描述的系统和方法可确保尽管存在QoS期限,或到较高性能水平的显式应急,也可不作出过度的频率改变。因此,可大体上降低功率消耗。
在一个或一个以上示范性方面中,可以硬件、软件、固件或其任何组合来实施所描述的功能。如果以软件实施,则可将功能作为一个或一个以上指令或代码而存储在计算机程序产品(例如,机器可读媒体(即,计算机可读媒体))上或经由计算机程序产品进行传输。计算机可读媒体包含计算机存储媒体与通信媒体两者,通信媒体包含促进将计算机程序从一处传递到另一处的任何媒体。存储媒体可为可由计算机存取的任何可用媒体。举例来说而非限制,此计算机可读媒体可包含RAM、ROM、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置,或可用以运载或存储呈指令或数据结构的形式的所要程序代码且可由计算机存取的任何其它媒体。而且,可恰当地将任何连接称作计算机可读媒体。举例来说,如果使用同轴电缆、光纤电缆、双绞线、数字订户线(DSL)或例如红外线、无线电及微波的无线技术从网站、服务器或其它远程源传输软件,则同轴电缆、光纤电缆、双绞线、DSL或例如红外线、无线电及微波的无线技术包含于媒体的定义中。如本文中所使用,磁盘及光盘包括压缩光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)、软盘和蓝光光盘,其中磁盘通常以磁性方式再现数据,而光盘用激光以光学方式再现数据。以上各者的组合也应包含在计算机可读媒体的范围内。
虽然已详细地说明和描述了选定的方面,但将理解,在不脱离由所附权利要求书界定的本发明的精神和范围的情况下,可在其中进行各种替代和更改。
Claims (40)
1.一种动态地控制中央处理单元内的功率的方法,所述方法包括:
进入闲置状态;
在所述闲置状态期间检视直接在所述闲置状态之前的前一忙循环;以及
基于所述前一忙循环来确定用于下一忙循环的CPU频率。
2.根据权利要求1所述的方法,其进一步包括:
确定所述前一忙循环期间的总工作负荷。
3.根据权利要求2所述的方法,其进一步包括:
检视所述前一忙循环期间的操作频率。
4.根据权利要求3所述的方法,其进一步包括:
确定所述前一忙循环是否结束于稳定状态水平。
5.根据权利要求4所述的方法,其进一步包括:
在所述前一忙循环结束于所述稳定状态水平时,将用于所述下一忙循环的CPU频率设定为稳定状态值。
6.根据权利要求4所述的方法,其进一步包括:
在所述前一忙循环未结束于所述稳定状态水平时,确定在所述忙循环期间是否发生任何频率跳跃,或所述前一忙循环是否结束于最大性能水平。
7.根据权利要求6所述的方法,其进一步包括:
在发生任何频率跳跃时或在所述前一循环结束于所述稳定状态水平时将最长忙周期复位。
8.根据权利要求7所述的方法,其进一步包括:
确定自从上次复位以来的最长规格化的忙周期。
9.根据权利要求8所述的方法,其进一步包括:
确定将会在所述前一循环期间消除任何频率跳跃的最小频率。
10.根据权利要求9所述的方法,其进一步包括:
将用于所述下一忙循环的CPU频率设定成等于将会消除任何频率跳跃的所述最小频率。
11.一种装置,其包括:
用于进入闲置状态的装置;
用于在所述闲置状态期间检视直接在所述闲置状态之前的前一忙循环的装置;以及
用于基于所述前一忙循环来确定用于下一忙循环的CPU频率的装置。
12.根据权利要求11所述的装置,其进一步包括:
用于确定所述前一忙循环期间的总工作负荷的装置。
13.根据权利要求12所述的装置,其进一步包括:
用于检视所述前一忙循环期间的操作频率的装置。
14.根据权利要求13所述的装置,其进一步包括:
用于确定所述前一忙循环是否结束于稳定状态水平的装置。
15.根据权利要求14所述的装置,其进一步包括:
用于在所述前一忙循环结束于所述稳定状态水平时将用于所述下一忙循环的CPU频率设定为稳定状态值的装置。
16.根据权利要求14所述的装置,其进一步包括:
用于在所述前一忙循环未结束于所述稳定状态水平时确定在所述忙循环期间是否发生任何频率跳跃或所述前一忙循环是否结束于最大性能水平的装置。
17.根据权利要求16所述的装置,其进一步包括:
用于在发生任何频率跳跃时或在所述前一循环结束于所述稳定状态水平时将最长忙周期复位的装置。
18.根据权利要求17所述的装置,其进一步包括:
用于确定自从上次复位以来的最长规格化的忙周期的装置。
19.根据权利要求18所述的装置,其进一步包括:
用于确定将会在所述前一循环期间消除任何频率跳跃的最小频率的装置。
20.根据权利要求19所述的装置,其进一步包括:
用于将用于所述下一忙循环的CPU频率设定成等于将会消除任何频率跳跃的所述最小频率的装置。
21.一种装置,其包括:
处理器,其中所述处理器可操作以:
进入闲置状态;
在所述闲置状态期间检视直接在所述闲置状态之前的前一忙循环;以及
基于所述前一忙循环来确定用于下一忙循环的CPU频率。
22.根据权利要求21所述的装置,其中所述处理器进一步可操作以:
确定所述前一忙循环期间的总工作负荷。
23.根据权利要求22所述的装置,其中所述处理器进一步可操作以:
检视所述前一忙循环期间的操作频率。
24.根据权利要求23所述的装置,其中所述处理器进一步可操作以:
确定所述前一忙循环是否结束于稳定状态水平。
25.根据权利要求24所述的装置,其中所述处理器进一步可操作以:
在所述前一忙循环结束于所述稳定状态水平时,将用于所述下一忙循环的CPU频率设定为稳定状态值。
26.根据权利要求24所述的装置,其中所述处理器进一步可操作以:在所述前一忙循环未结束于所述稳定状态水平时,确定在所述忙循环期间是否发生任何频率跳跃,或所述前一忙循环是否结束于最大性能水平。
27.根据权利要求26所述的装置,其中所述处理器进一步可操作以:
在发生任何频率跳跃时或在所述前一循环结束于所述稳定状态水平时将最长忙周期复位。
28.根据权利要求27所述的装置,其中所述处理器进一步可操作以:
确定自从上次复位以来的最长规格化的忙周期。
29.根据权利要求28所述的装置,其中所述处理器进一步可操作以:
确定将会在所述前一循环期间消除任何频率跳跃的最小频率。
30.根据权利要求29所述的装置,其中所述处理器进一步可操作以:将用于所述下一忙循环的CPU频率设定成等于将会消除任何频率跳跃的所述最小频率。
31.一种存储器媒体,其包括:
用于进入闲置状态的至少一个指令;
用于在所述闲置状态期间检视直接在所述闲置状态之前的前一忙循环的至少一个指令;以及
用于基于所述前一忙循环来确定用于下一忙循环的CPU频率的至少一个指令。
32.根据权利要求31所述的存储器媒体,其进一步包括:
用于确定所述前一忙循环期间的总工作负荷的至少一个指令。
33.根据权利要求32所述的存储器媒体,其进一步包括:
用于检视所述前一忙循环期间的操作频率的至少一个指令。
34.根据权利要求33所述的存储器媒体,其进一步包括:
用于确定所述前一忙循环是否结束于稳定状态水平的至少一个指令。
35.根据权利要求34所述的存储器媒体,其进一步包括:
用于在所述前一忙循环结束于所述稳定状态水平时将用于所述下一忙循环的CPU频率设定为稳定状态值的至少一个指令。
36.根据权利要求34所述的存储器媒体,其进一步包括:
用于在所述前一忙循环未结束于所述稳定状态水平时确定在所述忙循环期间是否发生任何频率跳跃或所述前一忙循环是否结束于最大性能水平的至少一个指令。
37.根据权利要求36所述的存储器媒体,其进一步包括:
用于在发生任何频率跳跃时或在所述前一循环结束于所述稳定状态水平时将最长忙周期复位的至少一个指令。
38.根据权利要求37所述的存储器媒体,其进一步包括:
用于确定自从上次复位以来的最长规格化的忙周期的至少一个指令。
39.根据权利要求38所述的存储器媒体,其进一步包括:
用于确定将会在所述前一循环期间消除任何频率跳跃的最小频率的至少一个指令。
40.根据权利要求40所述的存储器媒体,其进一步包括:
用于将用于所述下一忙循环的CPU频率设定成等于将会消除任何频率跳跃的所述最小频率的至少一个指令。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US28697909P | 2009-12-16 | 2009-12-16 | |
US61/286,979 | 2009-12-16 | ||
US12/944,378 US9128705B2 (en) | 2009-12-16 | 2010-11-11 | System and method for controlling central processing unit power with reduced frequency oscillations |
US12/944,378 | 2010-11-11 | ||
PCT/US2010/059562 WO2011084336A1 (en) | 2009-12-16 | 2010-12-08 | System and method for controlling central processing unit power with reduced frequency oscillations |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102652298A true CN102652298A (zh) | 2012-08-29 |
CN102652298B CN102652298B (zh) | 2015-02-18 |
Family
ID=44144380
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201080056342.5A Active CN102652298B (zh) | 2009-12-16 | 2010-12-08 | 用于以减小的频率振荡控制中央处理单元功率的系统和方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US9128705B2 (zh) |
EP (1) | EP2513747B1 (zh) |
JP (1) | JP5605960B2 (zh) |
KR (1) | KR101411729B1 (zh) |
CN (1) | CN102652298B (zh) |
WO (1) | WO2011084336A1 (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110145559A1 (en) * | 2009-12-16 | 2011-06-16 | Thomson Steven S | System and method for controlling central processing unit power with guaranteed steady state deadlines |
US9104411B2 (en) | 2009-12-16 | 2015-08-11 | Qualcomm Incorporated | System and method for controlling central processing unit power with guaranteed transient deadlines |
US8909962B2 (en) * | 2009-12-16 | 2014-12-09 | Qualcomm Incorporated | System and method for controlling central processing unit power with guaranteed transient deadlines |
US8689037B2 (en) | 2009-12-16 | 2014-04-01 | Qualcomm Incorporated | System and method for asynchronously and independently controlling core clocks in a multicore central processing unit |
US9176572B2 (en) | 2009-12-16 | 2015-11-03 | Qualcomm Incorporated | System and method for controlling central processing unit power with guaranteed transient deadlines |
US8775830B2 (en) * | 2009-12-16 | 2014-07-08 | Qualcomm Incorporated | System and method for dynamically controlling a plurality of cores in a multicore central processing unit based on temperature |
US8650426B2 (en) * | 2009-12-16 | 2014-02-11 | Qualcomm Incorporated | System and method for controlling central processing unit power in a virtualized system |
US9563250B2 (en) | 2009-12-16 | 2017-02-07 | Qualcomm Incorporated | System and method for controlling central processing unit power based on inferred workload parallelism |
US20130060555A1 (en) * | 2011-06-10 | 2013-03-07 | Qualcomm Incorporated | System and Apparatus Modeling Processor Workloads Using Virtual Pulse Chains |
US9086883B2 (en) | 2011-06-10 | 2015-07-21 | Qualcomm Incorporated | System and apparatus for consolidated dynamic frequency/voltage control |
EP2954385A1 (en) * | 2013-02-05 | 2015-12-16 | Qualcomm Incorporated | System and method for controlling central processing unit power with guaranteed transient deadlines |
US20160116954A1 (en) * | 2014-10-28 | 2016-04-28 | Linkedln Corporation | Dynamic adjustment of cpu operating frequency |
KR102528692B1 (ko) * | 2016-01-04 | 2023-05-08 | 한국전자통신연구원 | 중앙처리장치의 동적 주파수 조절 장치 및 그 방법 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4601008A (en) * | 1982-06-30 | 1986-07-15 | Fujitsu Limited | Data processing system |
US20020194509A1 (en) * | 2001-06-15 | 2002-12-19 | Microsoft Corporation | Method and system for using idle threads to adaptively throttle a computer |
US20060123253A1 (en) * | 2004-12-07 | 2006-06-08 | Morgan Bryan C | System and method for adaptive power management |
CN101135928A (zh) * | 2006-08-29 | 2008-03-05 | 松下电器产业株式会社 | 处理器系统 |
TW200907660A (en) * | 2007-02-15 | 2009-02-16 | Ibm | Maximum power usage setting for computering device |
US20090249347A1 (en) * | 2008-03-27 | 2009-10-01 | Panasonic Corporation | Virtual multiprocessor, system lsi, mobile phone, and control method for virtual multiprocessor |
Family Cites Families (95)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0351902A (ja) | 1989-07-20 | 1991-03-06 | Tokyo Electric Co Ltd | データ処理装置 |
US5644769A (en) | 1993-06-14 | 1997-07-01 | Matsushita Electric Industrial Co., Ltd. | System for optimizing program by virtually executing the instruction prior to actual execution of the program to invalidate unnecessary instructions |
JPH086681A (ja) | 1994-04-18 | 1996-01-12 | Hitachi Ltd | 省電力制御システム |
JP2770760B2 (ja) | 1995-01-04 | 1998-07-02 | 日本電気株式会社 | 電力分散マルチプロセッサ |
JPH10268963A (ja) | 1997-03-28 | 1998-10-09 | Mitsubishi Electric Corp | 情報処理装置 |
JPH11184554A (ja) | 1997-12-24 | 1999-07-09 | Mitsubishi Electric Corp | クロック制御タイプ情報処理装置 |
US6230183B1 (en) | 1998-03-11 | 2001-05-08 | International Business Machines Corporation | Method and apparatus for controlling the number of servers in a multisystem cluster |
KR100613201B1 (ko) | 2000-08-28 | 2006-08-18 | 마이크로코넥트 엘엘씨 | 씨피유 사용량 측정 방법 |
TW521177B (en) | 2000-08-31 | 2003-02-21 | Primarion Inc | Apparatus and system for providing transient suppression power regulation |
KR100487543B1 (ko) | 2000-09-01 | 2005-05-03 | 엘지전자 주식회사 | 시피유 스케쥴링 방법 |
US6718474B1 (en) | 2000-09-21 | 2004-04-06 | Stratus Technologies Bermuda Ltd. | Methods and apparatus for clock management based on environmental conditions |
JP2002099433A (ja) | 2000-09-22 | 2002-04-05 | Sony Corp | 演算処理システム及び演算処理制御方法、タスク管理システム及びタスク管理方法、並びに記憶媒体 |
US6829713B2 (en) | 2000-12-30 | 2004-12-07 | Intel Corporation | CPU power management based on utilization with lowest performance mode at the mid-utilization range |
US7596709B2 (en) | 2000-12-30 | 2009-09-29 | Intel Corporation | CPU power management based on utilization with lowest performance mode at the mid-utilization range |
US7017060B2 (en) | 2001-03-19 | 2006-03-21 | Intel Corporation | Power management system that changes processor level if processor utilization crosses threshold over a period that is different for switching up or down |
US6901522B2 (en) | 2001-06-07 | 2005-05-31 | Intel Corporation | System and method for reducing power consumption in multiprocessor system |
US6804632B2 (en) | 2001-12-06 | 2004-10-12 | Intel Corporation | Distribution of processing activity across processing hardware based on power consumption considerations |
US7318164B2 (en) | 2001-12-13 | 2008-01-08 | International Business Machines Corporation | Conserving energy in a data processing system by selectively powering down processors |
US6978389B2 (en) | 2001-12-20 | 2005-12-20 | Texas Instruments Incorporated | Variable clocking in an embedded symmetric multiprocessor system |
JP2003271401A (ja) * | 2002-03-18 | 2003-09-26 | Fujitsu Ltd | 負荷監視機能を有するマイクロプロセッサ |
US7634668B2 (en) | 2002-08-22 | 2009-12-15 | Nvidia Corporation | Method and apparatus for adaptive power consumption |
US6908227B2 (en) | 2002-08-23 | 2005-06-21 | Intel Corporation | Apparatus for thermal management of multiple core microprocessors |
US7194385B2 (en) | 2002-11-12 | 2007-03-20 | Arm Limited | Performance level setting of a data processing system |
US7240223B2 (en) | 2003-05-07 | 2007-07-03 | Apple Inc. | Method and apparatus for dynamic power management in a processor system |
GB2403823B (en) | 2003-07-08 | 2005-09-21 | Toshiba Res Europ Ltd | Controller for processing apparatus |
US7134031B2 (en) | 2003-08-04 | 2006-11-07 | Arm Limited | Performance control within a multi-processor system |
JP4549652B2 (ja) | 2003-10-27 | 2010-09-22 | パナソニック株式会社 | プロセッサシステム |
US7107187B1 (en) | 2003-11-12 | 2006-09-12 | Sprint Communications Company L.P. | Method for modeling system performance |
US7133806B2 (en) | 2004-05-13 | 2006-11-07 | Ittiam Systems (P) Ltd | Method and apparatus for measurement of processor-utilization |
US7401240B2 (en) | 2004-06-03 | 2008-07-15 | International Business Machines Corporation | Method for dynamically managing power in microprocessor chips according to present processing demands |
US7219245B1 (en) | 2004-06-03 | 2007-05-15 | Advanced Micro Devices, Inc. | Adaptive CPU clock management |
KR100716730B1 (ko) | 2004-06-11 | 2007-05-14 | 삼성전자주식회사 | 중앙 처리 장치의 아이들 상태에서의 시스템 전력 소모절감을 위한 방법 및 그 방법을 적용한 모바일 장치 |
JP3805344B2 (ja) | 2004-06-22 | 2006-08-02 | 株式会社ソニー・コンピュータエンタテインメント | プロセッサ、情報処理装置およびプロセッサの制御方法 |
US7739527B2 (en) | 2004-08-11 | 2010-06-15 | Intel Corporation | System and method to enable processor management policy in a multi-processor environment |
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 |
US7437581B2 (en) | 2004-09-28 | 2008-10-14 | Intel Corporation | Method and apparatus for varying energy per instruction according to the amount of available parallelism |
US7543161B2 (en) | 2004-09-30 | 2009-06-02 | International Business Machines Corporation | Method and apparatus for tracking variable speed microprocessor performance caused by power management in a logically partitioned data processing system |
US7370189B2 (en) | 2004-09-30 | 2008-05-06 | Intel Corporation | Method and apparatus for establishing safe processor operating points in connection with a secure boot |
US7346787B2 (en) * | 2004-12-07 | 2008-03-18 | Intel Corporation | System and method for adaptive power management |
DE102004059996B4 (de) * | 2004-12-13 | 2006-10-05 | Infineon Technologies Ag | Verfahren und Vorrichtung zum Einstellen der Taktfrequenz eines Prozessors |
US7228446B2 (en) | 2004-12-21 | 2007-06-05 | Packet Digital | Method and apparatus for on-demand power management |
US7369967B1 (en) | 2004-12-27 | 2008-05-06 | Sprint Communications Company L.P. | System and method for monitoring and modeling system performance |
US7502948B2 (en) | 2004-12-30 | 2009-03-10 | Intel Corporation | Method, system, and apparatus for selecting a maximum operation point based on number of active cores and performance level of each of the active cores |
US7467291B1 (en) | 2005-02-28 | 2008-12-16 | Sun Microsystems, Inc. | System and method for calibrating headroom margin |
JP4082706B2 (ja) | 2005-04-12 | 2008-04-30 | 学校法人早稲田大学 | マルチプロセッサシステム及びマルチグレイン並列化コンパイラ |
ATE535856T1 (de) | 2005-07-14 | 2011-12-15 | Nxp Bv | Verwendung von vorgeschichtlichen lastprofilen zur dynamischen justierung der betriebsfrequenz und verfügbaren leistung für einen prozessorkern eines in der hand gehaltenen multimedia-geräts |
US7490254B2 (en) | 2005-08-02 | 2009-02-10 | Advanced Micro Devices, Inc. | Increasing workload performance of one or more cores on multiple core processors |
US7548859B2 (en) | 2005-08-03 | 2009-06-16 | Motorola, Inc. | Method and system for assisting users in interacting with multi-modal dialog systems |
US7904912B2 (en) | 2005-08-30 | 2011-03-08 | International Business Machines Corporation | Adaptive processor utilization reporting handling different processor frequencies |
US7689838B2 (en) | 2005-12-22 | 2010-03-30 | Intel Corporation | Method and apparatus for providing for detecting processor state transitions |
US7233188B1 (en) | 2005-12-22 | 2007-06-19 | Sony Computer Entertainment Inc. | Methods and apparatus for reducing power consumption in a processor using clock signal control |
US7263457B2 (en) | 2006-01-03 | 2007-08-28 | Advanced Micro Devices, Inc. | System and method for operating components of an integrated circuit at independent frequencies and/or voltages |
US7650527B2 (en) * | 2006-02-07 | 2010-01-19 | Broadcom Corporation | MIPS recovery technique |
US7574613B2 (en) | 2006-03-14 | 2009-08-11 | Microsoft Corporation | Scaling idle detection metric for power management on computing device |
US20070260898A1 (en) | 2006-05-03 | 2007-11-08 | Edward Burton | Voltage regulator with suspend mode |
US20080005591A1 (en) | 2006-06-28 | 2008-01-03 | Trautman Mark A | Method, system, and apparatus for dynamic thermal management |
US7584369B2 (en) | 2006-07-26 | 2009-09-01 | International Business Machines Corporation | Method and apparatus for monitoring and controlling heat generation in a multi-core processor |
US20100325481A1 (en) | 2006-10-20 | 2010-12-23 | Freescale Semiconductor, Inc. | Device having redundant core and a method for providing core redundancy |
US7949887B2 (en) | 2006-11-01 | 2011-05-24 | Intel Corporation | Independent power control of processing cores |
JP2008129846A (ja) | 2006-11-21 | 2008-06-05 | Nippon Telegr & Teleph Corp <Ntt> | データ処理装置、データ処理方法およびプログラム |
GB2445167A (en) | 2006-12-29 | 2008-07-02 | Advanced Risc Mach Ltd | Managing performance of a processor |
US7793125B2 (en) | 2007-01-10 | 2010-09-07 | International Business Machines Corporation | Method and apparatus for power throttling a processor in an information handling system |
CN101241390B (zh) | 2007-02-07 | 2011-04-13 | 华硕电脑股份有限公司 | 多核心处理器的效能调整方法 |
US7730340B2 (en) | 2007-02-16 | 2010-06-01 | Intel Corporation | Method and apparatus for dynamic voltage and frequency scaling |
US7849349B2 (en) * | 2007-03-28 | 2010-12-07 | Qimonda Ag | Reduced-delay clocked logic |
JP4739271B2 (ja) | 2007-04-19 | 2011-08-03 | 株式会社富士通アドバンストエンジニアリング | 電源制御装置、仮想サーバ管理システム、電源制御方法および電源制御プログラム |
US7865751B2 (en) | 2007-06-18 | 2011-01-04 | Intel Corporation | Microarchitecture controller for thin-film thermoelectric cooling |
US7902800B2 (en) | 2007-07-13 | 2011-03-08 | Chil Semiconductor Corporation | Adaptive power supply and related circuitry |
JP4834625B2 (ja) | 2007-07-31 | 2011-12-14 | 株式会社東芝 | 電源管理装置及び電源管理方法 |
US8356306B2 (en) | 2007-07-31 | 2013-01-15 | Hewlett-Packard Development Company, L.P. | Workload management controller using dynamic statistical control |
US20090049314A1 (en) | 2007-08-13 | 2009-02-19 | Ali Taha | Method and System for Dynamic Voltage and Frequency Scaling (DVFS) |
CN101414268A (zh) | 2007-10-15 | 2009-04-22 | 南京大学 | 一种在ARM MPCore处理器上管理处理器热插拔的方法 |
US7945804B2 (en) | 2007-10-17 | 2011-05-17 | International Business Machines Corporation | Methods and systems for digitally controlled multi-frequency clocking of multi-core processors |
JP5433837B2 (ja) | 2007-12-05 | 2014-03-05 | 株式会社日立製作所 | 仮想計算機システム、仮想計算機の制御方法及びプログラム |
US20090150696A1 (en) | 2007-12-10 | 2009-06-11 | Justin Song | Transitioning a processor package to a low power state |
US8024590B2 (en) | 2007-12-10 | 2011-09-20 | Intel Corporation | Predicting future power level states for processor cores |
JP4488072B2 (ja) | 2008-01-18 | 2010-06-23 | 日本電気株式会社 | サーバシステム、及びサーバシステムの電力削減方法 |
US8245236B2 (en) | 2008-02-27 | 2012-08-14 | International Business Machines Corporation | Lock based moving of threads in a shared processor partitioning environment |
US20090271646A1 (en) | 2008-04-24 | 2009-10-29 | Vanish Talwar | Power Management Using Clustering In A Multicore System |
US8892916B2 (en) | 2008-08-06 | 2014-11-18 | International Business Machines Corporation | Dynamic core pool management |
US8170845B2 (en) | 2008-09-24 | 2012-05-01 | International Business Machines Corporation | Method and apparatus for automatic performance modeling with load dependent service times and overheads |
US8195962B2 (en) | 2008-11-11 | 2012-06-05 | Globalfoundries Inc. | Method and apparatus for regulating power consumption |
CN101436098A (zh) | 2008-12-24 | 2009-05-20 | 华为技术有限公司 | 降低多核对称多处理系统的功耗的方法及装置 |
US8245070B2 (en) | 2008-12-30 | 2012-08-14 | Intel Corporation | Method for optimizing voltage-frequency setup in multi-core processor systems |
JP5091912B2 (ja) | 2009-05-21 | 2012-12-05 | 株式会社東芝 | マルチコアプロセッサシステム |
US8924975B2 (en) | 2009-07-23 | 2014-12-30 | Empire Technology Development Llc | Core selection for applications running on multiprocessor systems based on core and application characteristics |
US9104411B2 (en) | 2009-12-16 | 2015-08-11 | Qualcomm Incorporated | System and method for controlling central processing unit power with guaranteed transient deadlines |
US8909962B2 (en) | 2009-12-16 | 2014-12-09 | Qualcomm Incorporated | System and method for controlling central processing unit power with guaranteed transient deadlines |
US8650426B2 (en) | 2009-12-16 | 2014-02-11 | Qualcomm Incorporated | System and method for controlling central processing unit power in a virtualized system |
US8689037B2 (en) | 2009-12-16 | 2014-04-01 | Qualcomm Incorporated | System and method for asynchronously and independently controlling core clocks in a multicore central processing unit |
US9176572B2 (en) | 2009-12-16 | 2015-11-03 | Qualcomm Incorporated | System and method for controlling central processing unit power with guaranteed transient deadlines |
US9563250B2 (en) | 2009-12-16 | 2017-02-07 | Qualcomm Incorporated | System and method for controlling central processing unit power based on inferred workload parallelism |
US8775830B2 (en) | 2009-12-16 | 2014-07-08 | Qualcomm Incorporated | System and method for dynamically controlling a plurality of cores in a multicore central processing unit based on temperature |
US20110145559A1 (en) | 2009-12-16 | 2011-06-16 | Thomson Steven S | System and method for controlling central processing unit power with guaranteed steady state deadlines |
-
2010
- 2010-11-11 US US12/944,378 patent/US9128705B2/en active Active
- 2010-12-08 JP JP2012544634A patent/JP5605960B2/ja active Active
- 2010-12-08 EP EP10795853.0A patent/EP2513747B1/en active Active
- 2010-12-08 KR KR1020127018609A patent/KR101411729B1/ko active IP Right Grant
- 2010-12-08 CN CN201080056342.5A patent/CN102652298B/zh active Active
- 2010-12-08 WO PCT/US2010/059562 patent/WO2011084336A1/en active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4601008A (en) * | 1982-06-30 | 1986-07-15 | Fujitsu Limited | Data processing system |
US20020194509A1 (en) * | 2001-06-15 | 2002-12-19 | Microsoft Corporation | Method and system for using idle threads to adaptively throttle a computer |
US20060123253A1 (en) * | 2004-12-07 | 2006-06-08 | Morgan Bryan C | System and method for adaptive power management |
CN101135928A (zh) * | 2006-08-29 | 2008-03-05 | 松下电器产业株式会社 | 处理器系统 |
TW200907660A (en) * | 2007-02-15 | 2009-02-16 | Ibm | Maximum power usage setting for computering device |
US20090249347A1 (en) * | 2008-03-27 | 2009-10-01 | Panasonic Corporation | Virtual multiprocessor, system lsi, mobile phone, and control method for virtual multiprocessor |
Also Published As
Publication number | Publication date |
---|---|
KR101411729B1 (ko) | 2014-06-25 |
EP2513747A1 (en) | 2012-10-24 |
CN102652298B (zh) | 2015-02-18 |
US20110145824A1 (en) | 2011-06-16 |
JP5605960B2 (ja) | 2014-10-15 |
EP2513747B1 (en) | 2018-02-21 |
KR20120112579A (ko) | 2012-10-11 |
US9128705B2 (en) | 2015-09-08 |
JP2013513899A (ja) | 2013-04-22 |
WO2011084336A1 (en) | 2011-07-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102934045B (zh) | 用于以保证的瞬时期限来控制中央处理单元功率的系统和方法 | |
CN102652298B (zh) | 用于以减小的频率振荡控制中央处理单元功率的系统和方法 | |
KR101409141B1 (ko) | 멀티코어 중앙 프로세싱 유닛에서의 복수의 코어들을 온도에 기초하여 동적으로 제어하는 시스템 및 방법 | |
JP5893568B2 (ja) | 推定される作業負荷並列性に基づき中央処理装置電力を制御するためのシステムおよび方法 | |
US8689037B2 (en) | System and method for asynchronously and independently controlling core clocks in a multicore central processing unit | |
KR101516859B1 (ko) | 보장된 정상 상태 데드라인을 가진 중앙 처리 장치 전력을 제어하는 시스템 및 방법 | |
EP2524272B1 (en) | System and method of sampling data within a central processing unit |
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 |