CN102652296B - 用于基于温度动态地控制多核中央处理单元中的多个核的***和方法 - Google Patents
用于基于温度动态地控制多核中央处理单元中的多个核的***和方法 Download PDFInfo
- Publication number
- CN102652296B CN102652296B CN201080056570.2A CN201080056570A CN102652296B CN 102652296 B CN102652296 B CN 102652296B CN 201080056570 A CN201080056570 A CN 201080056570A CN 102652296 B CN102652296 B CN 102652296B
- Authority
- CN
- China
- Prior art keywords
- core
- cpu
- core cpu
- frequency
- threshold
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 102
- 238000012545 processing Methods 0.000 title claims abstract description 31
- 230000005059 dormancy Effects 0.000 claims description 18
- 230000002045 lasting effect Effects 0.000 claims description 11
- 238000012544 monitoring process Methods 0.000 claims description 3
- 230000004044 response Effects 0.000 claims 10
- 230000003247 decreasing effect Effects 0.000 claims 4
- 238000004422 calculation algorithm Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 8
- 238000005070 sampling Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000000429 assembly Methods 0.000 description 2
- 230000000712 assembly Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 238000003756 stirring Methods 0.000 description 2
- 235000017060 Arachis glabrata Nutrition 0.000 description 1
- 241001553178 Arachis glabrata Species 0.000 description 1
- 235000010777 Arachis hypogaea Nutrition 0.000 description 1
- 235000018262 Arachis monticola Nutrition 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000003750 conditioning effect Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 235000020232 peanut Nutrition 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000007474 system interaction Effects 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
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/16—Constructional details or arrangements
- G06F1/20—Cooling means
- G06F1/206—Cooling means comprising thermal management
-
- 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
-
- 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
-
- 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/3287—Power saving characterised by the action undertaken by switching off individual functional units in the computer system
-
- 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/329—Power saving characterised by the action undertaken by task scheduling
-
- 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)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Power Sources (AREA)
- Microcomputers (AREA)
Abstract
本文揭示一种控制多核中央处理单元CPU内的功率的方法。所述方法可包含:监视裸片温度;确定所述CPU的工作负载内的并行性程度;以及基于所述并行性程度、所述裸片温度或其组合将所述CPU的一个或一个以上核加电或断电。
Description
相关申请案
本申请案主张2009年12月16日申请的标题为“动态地控制多核中央处理单元中的多个核的***和方法(SYSTEM AND METHOD OF DYNAMICALLY CONTROLLINGA PLURALITY OF CORES IN A MULTICORE CENTRAL PROCESSING UNIT)”的第61/287,011号美国临时专利申请案的优先权。
技术领域
本申请和下列申请案相关并将其以引用的方式并入:美国专利申请案第12/944,140号,标题为:基于经推测的并行工作负载控制中心处理单元的***和方法(SYSTEM ANDMETHOD FOR CONTROLLING CENTRAL PROCESSING UNIT POWER BASED ONINFERRED WORKLOAD PARALLELISM),发明人为Rychlik等,该案正在申请;美国专利申请案第12/944,202号,标题为:虚拟***中的控制中心处理单元的***和方法(SYSTEM AND METHOD FOR CONTROLLING CENTRAL PROCESSING UNITPOWER IN A VIRTUALIZED SYSTEM),发明人为Rychlik等,该案正在申请;美国专利申请案第12/944,321号,标题为:多核中心处理单元中的异步独立控制核频率的***和方法(SYSTEM AND METHOD FOR ASYNCHRONOUSLY AND INDEPENDENTLYCONTROLLING CORE CLOCKS IN A MULTICORE CENTRAL PROCES SING UNIT),发明人为Rychlik等,该案正在申请;美国专利申请案第12/944,378号,标题为:使用经降低的频率振荡控制中心处理单元的***和方法(SYSTEM AND METHOD FORCONTROLLING CENTRAL PROCESSING UNIT POWER WITH REDUCEDFREQUENCY OSCILLATIONS),发明人为Thomson等,该案正在申请;美国专利申请案第12/944,467号,标题为:使用确定瞬时最后期限控制中心处理单元的***和方法(SYSTEM AND METHOD FOR CONTROLLING CENTRAL PROCESSINGUNIT POWER WITH GUARANTEED TRANSIENT DEADLINES),发明人为Thomson等,该案正在申请;美国专利申请案第12/944,561号,标题为:使用确定稳定状态最后期限控制中心处理单元的***和方法(SYSTEM AND METHOD FORCONTROLLING CENTRAL PROCESSING UNIT POWER WITH GUARANTEEDSTEADY STATE DEADLINES),发明人为Thomson等,该案正在申请。
背景技术
便携式计算装置(PCD)普遍存在。这些装置可包含蜂窝式电话、便携式数字助理(PDA)、便携式游戏控制台、掌上型计算机,和其它便携式电子装置。除了这些装置的主要功能外,许多装置还可包含***功能。举例来说,蜂窝式电话可包含进行蜂窝式电话呼叫的主要功能,以及照相机、摄像机、全球定位***(GPS)导航、网络浏览、发送和接收电子邮件、发送和接收文本消息、即按即说能力等***功能。随着此装置的功能性增加,支持此功能性所需的计算或处理能力也增加。此外,随着计算能力增加,更加需要有效管理提供计算能力的处理器。
因此,需要控制多核CPU内的功率的改进的方法。
发明内容
揭示一种控制多核中央处理单元(CPU)内的功率的方法。所述方法包括:监视裸片温度;确定CPU的工作负载内的并行性程度;和基于并行性程度、裸片温度或其组合将CPU的一个或一个以上核上电或掉电。
本申请案进一步揭示一种无线装置,其包括:用于监视裸片温度的装置;用于确定CPU的工作负载内的并行性程度的装置;和用于基于并行性程度、裸片温度或其组合将CPU的一个或一个以上核上电或掉电的装置。
此外,揭示一种包括处理器的无线装置,其中所述处理器可操作以:监视裸片温度;确定CPU的工作负载内的并行性程度;和基于并行性程度、裸片温度或其组合将CPU的一个或一个以上核上电或掉电。
作为另一实例,揭示一种存储器媒体,其包括:用于监视裸片温度的至少一个指令;用于确定CPU的工作负载内的并行性程度的至少一个指令;和用于基于并行性程度、裸片温度或其组合将CPU的一个或一个以上核上电或掉电的至少一个指令。
附图说明
图式中,除非另外指示,否则贯穿于各图的相同参考数字指代相同零件。
图1是处于关闭位置的便携式计算装置(PCD)的第一方面的平面前视图;
图2是处于打开位置的PCD的第一方面的平面前视图;
图3是PCD的第二方面的框图;
图4是处理***的框图;
图5是说明基于温度控制多核中央处理单元的方法的第一方面的流程图;
图6是说明基于温度控制多核中央处理单元的方法的第二方面的流程图;
图7是说明基于温度控制多核中央处理单元的方法的第三方面的第一部分的流程图;以及
图8是说明基于温度控制多核中央处理单元的方法的第三方面的第二部分的流程图。
具体实施方式
本文使用词语“示范性”来表示“充当实例、例子或说明”。本文描述为“示范性”的任何方面不必解释为比其它方面优选或有利。
在此描述中,术语“应用程序”还可包含具有可执行内容的文件,例如:对象代码、脚本、字节代码、标记语言文件和修补程序。另外,本文引用的“应用程序”还可包含本质上不可执行的文件,例如可能需要打开的文档或需要存取的其它数据文件。
术语“内容”也可包含具有可执行内容的文件,例如:对象代码、脚本、字节代码、标记语言文件和修补程序。另外,本文引用的“内容”还可包含本质上不可执行的文件,例如可能需要打开的文档或需要存取的其它数据文件。
如此描述中使用,术语“组件”、“数据库”、“模块”“***”等意在指代计算机相关实体,其为硬件、固件、硬件与软件的组合、软件,或执行中的软件。举例来说,组件可为(但不限于为)在处理器上运行的进程、处理器、对象、可执行程序、执行线程、程序,和/或计算机。借助说明,在计算装置上运行的应用程序和计算装置两者均可为组件。一个或一个以上组件可驻留在进程和/或执行线程内,且组件可局限于一个计算机上且/或分布于两个或两个以上计算机之间。另外,这些组件可从上面存储有各种数据结构的各种计算机可读媒体执行。所述组件可借助本地和/或远程进程,例如根据具有一个或一个以上数据包的信号(例如,来自一个与本地***、分布式***中的另一组件和/或借助所述信号越过例如因特网等网络与其它***交互的组件的数据)来通信。
首先参看图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键盘。多按钮键盘120可在上部外壳部分104相对于下部外壳部分106移动时显露。图2进一步说明PCD 100可包含在下部外壳部分106上的复位按钮122。
参看图3,展示便携式计算装置(PCD)的示范性非限定性方面,且其一般表示为320。如图所示,PCD 320包含包括多核CPU 324的芯片上***322。多核CPU 324可包含第零核325、第一核326和第N核327。
如图3中说明,显示器控制器328和触摸屏控制器330耦合到多核CPU 324。芯片上***322外部的显示器/触摸屏332又耦合到显示器控制器328和触摸屏控制器330。
图3进一步指示视频编码器334(例如,逐行倒相(PAL)编码器、顺序传送与彩色存储电视***(SECAM)编码器或国家电视***委员会(NTSC)编码器)耦合到多核CPU324。此外,视频放大器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为直流(DC)电源,其将功率提供到PCD 320的需要功率的各个组件。此外,在特定方面中,电源为可再充电DC电池或从连接到AC电源的交流(AC)/DC变换器导出的DC电源。
PCD 320可进一步包含温度传感器382,其可用于感测与PCD 320相关联的裸片温度。换句话说,温度传感器382可充当用于感测与PCD 320相关联的裸片温度的装置。
图3进一步指示PCD 320还可包含可用于接入数据网络(例如,局域网、个域网,或任何其它网络)的网卡388。网卡388可为蓝牙网卡、WiFi网卡、个域网(PAN)网卡、个域网超低功率技术(PeANUT)网卡,或此项技术中众所周知的任何其它网卡。此外,网卡388可并入到芯片中,即网卡388可为芯片中的整套解决方案(full solution),且可并非单独的网卡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、温度传感器382或其组合可充当用于执行本文描述的方法步骤中的一者或一者以上以便基于温度控制多核中央处理单元。
参看图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可为监视调度器422中的运行队列424、426、428的软件程序。每一运行队列424、426、428(也称为,准备好运行的队列)可包含可用于在一个或一个以上核410、412、414上进行调度的当前任务、线程或其组合的列表。一些多核***可仅具有单个准备好运行的队列。其它多核***可具有多个准备好运行的队列。不论准备好运行的队列的数目如何,在任何时刻,在这些队列上等待的任务、线程或其组合的总数目加上实际正运行的任务、线程或其组合的数目可为工作负载中的并行性程度的近似。
参看图5,展示基于温度控制多核中央处理单元的方法的第一方面,且其一般表示为500。方法500可以do回路在框502处开始,其中当装置被通电时,可执行以下步骤。
在框504处,可监视裸片温度。此外,在框506处,功率控制器可确定与核相关联的工作负载中的并行性程度。
移动到框508,功率控制器可基于工作负载并行性程度、裸片温度或其组合独立地将核上电或掉电。接下来,在决策510处,功率控制器可确定装置是否被断电。如果装置被断电,那么所述方法可结束。否则,如果装置保持通电,那么方法500可返回到框504,且方法500可如所描述而继续。
参看图6,展示基于温度控制多核中央处理单元的方法的第二方面,且其一般表示为600。方法600可在框602处开始,其中动态时钟和电压缩放(DCVS)算法在多核中央处理单元内的所有正操作的核上运行或执行。移动到框604,可执行取样延迟。在特定方面中,取样延迟可为一百毫秒或更短。在另一方面中,取样延迟可为五十毫秒或更短。取样延迟可经引入以便防止***中的非常快的搅动。此外,通常花费一些时间来唤醒另一核,且取样延迟可大于唤醒时间。
移动到决策606,核控制器可确定裸片温度是否等于临界条件。举例来说,临界条件可为阈值温度,装置的操作可在所述阈值温度以上开始归因于温度问题而失败。
在决策606处,如果裸片温度不等于临界条件,那么方法600可返回到框602,且方法600可如本文所描述而继续。否则,如果裸片温度确实等于临界条件,那么方法600可移动到决策608,且核控制器可确定第二核是否休眠,例如所述第二核可为CPU1(第一核可为CPU0)。
如果第二核不休眠,即CPU1正在作用中且执行任务和线程,那么方法600可进行到框610。在框610处,可将第一核CPU0的频率设定(或以另外的方式移动)为将第一核的频率降低一个递增步长和最佳频率Fopt当中的最大值。换句话说,核控制器可将第二核的频率减小一个递增步长而不下降到最佳频率Fopt以下。所述递增步长可为一百兆赫(100MHz)或更小。此外,所述递增步长可为五十兆赫(50MHz)或更小。方法600可从框610返回到框602,且方法600可如所描述而继续。
返回到决策608,如果CPU1休眠,即CPU1被断电,那么方法600可进行到决策612。在决策612处,控制器可确定并行性程度是否满足一条件。特定来说,控制器可确定所述并行性程度是否大于预定阈值从而指示***中存在足够并行性来保证第二核CPU1的操作。
在决策612处,如果并行性程度不满足所述条件,那么方法可移动到框614,且可将第一核CPU0的频率设定(或以另外的方式移动)为将第一核的频率降低一个递增步长和最佳频率Fopt当中的最大值。换句话说,核控制器可将第二核的频率减小一个递增步长而不下降到最佳频率Fopt以下。随后,方法600可返回到框602,且方法600可如本文所描述而继续。
返回到决策612,如果并行性程度满足所述条件,那么方法可进行到框616,且可接通第二CPU(CPU1)。随后,在框618处,可将第二核CPU1的频率设定为最佳频率Fopt。并且,在框618处,可将第一核CPU0的频率设定为第一核的当前频率减去最佳频率Fopt或最佳频率Fopt当中的最大值。举例来说,如果CPU0正在一千兆赫(1000MHz)下操作且CPU1通电到六百兆赫(600MHz)的最佳频率,那么CPU0的频率可改变为六百兆赫(600MHz),因为1000MHz减去600MHz等于四百兆赫(400MHz),且600MHz(最佳频率Fopt)大于400MHz(减法运算的结果)。
在其它实例中,如果CPU0正在一千四百兆赫(1400MHz)下操作且CPU1通电到六百兆赫(600MHz)的最佳频率,那么CPU0的频率可改变为八百兆赫(800MHz),因为1400MHz减去600MHz等于八百兆赫(800MHz),且800MHz(减法运算的结果)大于600MHz(最佳频率Fopt)。
移动到决策620,控制器可确定***中是否存在持续并行性。换句话说,控制器可确定***中的并行性程度是否满足一条件持续至少预定时间量。所述条件可为并行性的阈值,且如果***中的并行性大于所述阈值,那么可认为满足所述条件。在决策620处,如果并行性是持续的,那么方法600可返回到框602,且方法600可如本文所描述而继续。
返回到决策620,如果并行性不是持续的,那么方法600可进行到框622,且可关断第二核CPU1。随后,方法600可返回到框602,且方法600可如本文所描述而继续。
现参看图7和图8,展示基于温度控制多核中央处理单元的方法的第三方面,且其一般表示为700。方法700可在框702处开始,其中动态时钟和电压缩放(DCVS)算法在多核中央处理单元内的所有正操作的核上运行或执行。移动到框704,可执行取样延迟。在特定方面中,取样延迟可为一百毫秒或更短。在另一方面中,取样延迟可为五十毫秒或更短。取样延迟可经引入以便防止***中的非常快的搅动。此外,通常花费一些时间来唤醒另一核,且取样延迟可大于唤醒时间。
移动到决策706,核控制器可确定裸片温度是否等于临界条件。举例来说,临界条件可为阈值温度,装置的操作可在所述阈值温度以上开始归因于温度问题而失败。
在决策706处,如果裸片温度不等于临界条件,那么方法700可返回到框702,且方法700可如本文所描述而继续。否则,如果裸片温度确实等于临界条件,那么方法700可移动到决策708,且核控制器可确定第二核是否休眠,例如所述第二核可为CPU1(第一核可为CPU0)。如果第二核不休眠,那么方法700可进行到图8的决策802,且方法700可如本文所描述而继续。
否则,如果CPU1休眠,即CPU1被断电,那么方法700可进行到决策710。在决策710处,控制器可确定并行性程度是否满足一条件。特定来说,控制器可确定所述并行性程度是否大于预定阈值从而指示***中存在足够的并行性来保证第二核CPU1的操作。
在决策710处,如果并行性程度不满足所述条件,那么方法可移动到框712,且可将第一核CPU0的频率设定(或以另外的方式移动)到将第一核的频率降低一个递增步长与最佳频率Fopt当中的最大值。换句话说,核控制器可将第二核的频率减小一个递增步长而不下降到最佳频率Fopt以下。随后,方法700可返回到框702,且方法700可如本文所描述而继续。
返回到决策710,如果并行性程度满足所述条件,那么方法可进行到框714,且可接通第二CPU(CPU1)。随后,在框716处,可将第二核CPU1的频率设定为最佳频率Fopt。并且,在框716处,可将第一核CPU0的频率设定为第一核的当前频率减去最佳频率Fopt或最佳频率Fopt当中的最大值。
移动到决策718,控制器可确定***中是否存在持续并行性。换句话说,控制器可确定***中的并行性程度是否满足一条件持续至少预定时间量从而保证两个核的持续操作。所述条件可为并行性的阈值,且如果***中的并行性大于所述阈值,那么可认为满足所述条件。在决策718处,如果并行性是持续的,那么方法700可返回到框702,且方法700可如本文所描述而继续。
返回到决策718,如果并行性不是持续的,那么方法700可进行到框720,且可关断第二核CPU1。随后,方法700可返回到框702,且方法700可如本文所描述而继续。
返回到决策708,如果第二核CPU1不休眠,那么方法700可移动到决策802。在决策802处,核控制器可确定第N核CPUN是否休眠。如果第N核不休眠,那么方法700可进行到框804。在框804处,可将第一核CPU0的频率设定(或以另外的方式移动)为将第一核的频率降低一个递增步长和最佳频率Fopt当中的最大值。换句话说,核控制器可将第二核的频率减小一个递增步长而不下降到最佳频率Fopt以下。此外,可将第二核CPU1的频率设定(或以另外的方式移动)为将第一核的频率降低一个递增步长和最佳频率Fopt当中的最大值。并且,可将第N核CPUN的频率设定(或以另外的方式移动)为将第一核的频率降低一个递增步长和最佳频率Fopt当中的最大值。方法700可从框804返回到图7的框702,且方法700可如所描述而继续。
返回到决策802,如果CPUN休眠,那么方法700可进行到决策806。在决策806处,控制器可确定并行性程度是否满足一条件。特定来说,控制器可确定所述并行性程度是否大于预定阈值从而指示***中存在足够并行性来保证第N核CPUN的操作。
在决策806处,如果并行性程度不满足所述条件,那么方法可移动到框808,且可将第一核CPU0的频率设定(或以另外的方式移动)为将第一核的频率降低一个递增步长和最佳频率Fopt当中的最大值。换句话说,核控制器可将第二核的频率减小一个递增步长而不下降到最佳频率Fopt以下。并且,在框808处,可将第二核CPU1的频率设定(或以另外的方式移动)为将第一核的频率降低一个递增步长和最佳频率Fopt当中的最大值。随后,方法700可返回到图7的框702,且方法700可如本文所描述而继续。
返回到决策806,如果并行性程度满足所述条件,那么方法可进行到框810,且可接通第N CPU(CPUN)。随后,在框812处,可将第N核CPUN的频率设定为最佳频率Fopt。此外,在框812处,可将第一核CPU0和第二核CPU1的频率设定为第一核的当前频率减去最佳频率Fopt或最佳频率Fopt当中的最大值。
移动到决策814,控制器可确定***中是否存在持续并行性。换句话说,控制器可确定***中的并行性程度是否满足一条件持续至少预定时间量从而保证N个核的操作。所述条件可为并行性的阈值,且如果***中的并行性大于所述阈值,那么可认为满足所述条件。在决策814处,如果并行性是持续的,那么方法700可返回到图7的框702,且方法700可如本文所描述而继续。
返回到决策814,如果并行性不是持续的,那么方法700可进行到框816,且可关断一个或一个以上核。随后,方法700可返回到图7的框702,且方法700可如本文所描述而继续。
应了解,本文描述的方法步骤无需一定以所描述的次序执行。此外,例如“随后”、“接着”、“接下来”等词语不希望限制步骤的次序。这些词语仅用于引导读者通读方法步骤的描述。此外,本文描述的方法描述为可在便携式计算装置(PCD)上执行。PCD可为移动电话装置、便携式数字助理装置、智能本计算装置、上网本计算装置、膝上型计算装置、桌上型计算装置,或其组合。
在特定方面中,可了解,***中的动态功率与V^2f成比例,其中f是时钟频率且V表示电压。电压还与频率正相关。换句话说,存在在给定时钟频率下运行的CPU的最小电压。如此,裸片处产生的热量大致与f^3成比例。在某些方面中,有可能当组装特定装置时,所述装置可能不能充分耗散在CPU核在其最高频率下或接近其最高频率运行时产生的热量。
本文揭示的***和方法提供一种通过利用***中的并行性且在多个核上分布工作负载借此在低得多的频率下运行每一核来防止装置过热的方式。由于热产生相对于时钟频率的三次非线性的缘故,在较低频率下运行两个核将导致产生比当其在单个核上运行时少得多的热量,而不会损害用户体验。
在特定方面中,可通过监视操作***状态来在任务/线程级动态地推断工作负载中的并行性程度。举例来说,一个可监视的操作***状态是所有OS调度器准备好运行的队列的长度。调度器准备好运行的队列是可用于在CPU上进行调度的线程的当前任务的列表。
使用并行性监视器,***可能够确定在任何时间点***中是否存在足够的并行性,以及所述并行性是否在一时间周期内是持续的。这两者均可用于本文描述的负载平衡算法中。
本文揭示的负载平衡算法可取周期性测得的裸片温度作为输入之一。此外,负载平衡算法可将裸片温度与阈值温度THS进行比较,所述阈值温度THS是尚认为对于手持机的适当操作是安全的最高温度。在特定实施例中,THS可经由实验得到。
在特定方面中,对于每一核,存在最具功率效益的电压和频率点Fopt。Fopt可接近最小操作电压可维持的最高频率水平。对于基于同类双CPU核的***,在Fopt下运行的两个核可能不产生足够的热量以使温度超过THS。在操作期间,CPU操作频率可递增地改变且常常是几个离散值,通常为50-100MHz的步长。
在任何时间点开始,如果温度传感器曾经跨越温度阈值THS,那么控制器可检查一个核还是两个核正在运行。如果一个核正在运行,那么控制器检查***中是否存在足够的并行性。如果存在足够的并行性,那么控制器可将第二核带到Fopt下,同时将第一核的频率减小某一量(除非这样做会使频率下降到Fopt以下)。如果减小第一核的频率将使频率下降到Fopt以下,那么控制器保持第一核处于Fopt。同样,可了解,在Fopt下运行两个核可能不增加温度使其超过THS。在两个核之间分布工作可使***冷却而不会有MIPS的损失和损害用户体验。
在一个或一个以上示范性方面中,所描述的功能可用硬件、软件、固件或其任何组合实施。如果用软件实施,那么所述功能可作为一个或一个以上指令或代码存储在例如机器可读媒体(即,非瞬时计算机可读媒体)等计算机程序产品上。计算机可读媒体包含计算机存储媒体,计算机存储媒体促进计算机程序从一处到另一处的传送。存储媒体可为可通过计算机存取的任何可用媒体。借助实例而非限制,此类非瞬时计算机可读媒体可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置,或任何其它可用于存储呈指令或数据结构的形式的所需程序代码且可通过计算机存取的媒体。如本文所使用的磁盘(Disk)与光盘(Disc)包含压缩光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)、软性磁盘和蓝光光盘,其中磁盘通常以磁性方式再现数据,而光盘利用激光以光学方式再现数据。上述内容的组合也应包含于非瞬时计算机可读媒体的范围内。
尽管已详细说明和描述选定方面,但将了解,可在不脱离如所附权利要求书界定的本发明的精神和范围的情况下在其中作出各种替代和更改。
Claims (14)
1.一种控制多核中央处理单元CPU内的功率的方法,所述方法包括:
确定所述多核CPU的第一核的第一最佳频率;
确定所述多核CPU的第二核的第二最佳频率;
监视所述多核CPU的裸片温度;
确定所监视的裸片温度是否大于或等于第一阈值;
响应于确定所监视的裸片温度大于或等于所述第一阈值,确定所述多核CPU的所述第二核是否休眠;
响应于确定所述多核CPU的所述第二核操作在所述第二最佳频率以下,基于操作***调度器的多个准备好运行的队列的长度确定所述多核CPU的工作负载内的并行性程度;
确定所述并行性程度是否大于第二阈值;
响应于确定所述并行性程度大于所述第二阈值、所监视的裸片温度大于或等于所述第一阈值、以及所述多核CPU的所述第二核休眠,将所述多核CPU的所述第一核的操作频率减小至所述第一核的当前操作频率减去所述第一最佳频率或所述第一最佳频率当中的最大值;以及
响应于确定所述并行性程度大于所述第二阈值、所监视的裸片温度大于或等于所述第一阈值、以及所述多核CPU的所述第二核休眠,将所述多核CPU的所述第二核的操作频率增加至所述第二最佳频率。
2.根据权利要求1所述的方法,其进一步包括:
确定临界条件值,所述多核CPU的操作在所述临界条件值以上开始归因于温度问题而失败,其中所述第一阈值等于所述临界条件值。
3.根据权利要求1所述的方法,其中将所述多核CPU的所述第一核的操作频率减小至所述第一最佳频率包括:
将所述多核CPU的所述第一核的所述操作频率减小一个递增步长。
4.根据权利要求3所述的方法,其进一步包括:
响应于确定所述多核CPU的所述第二核没有休眠,将所述多核CPU的所述第二核的所述操作频率减小一个递增步长而不下降到所述第二最佳频率以下。
5.根据权利要求1所述的方法,其中增加所述多核CPU的所述第二核的操作频率包括:
将所述多核CPU的所述第二核上电。
6.根据权利要求1所述的方法,其进一步包括:
确定所述并行性程度在一时间周期内是否是持续的。
7.根据权利要求6所述的方法,其进一步包括:
当所述并行性程度在所述时间周期内不持续时,将所述多核CPU的所述第二核断电。
8.一种控制多核中央处理单元CPU内的功率的装置,其包括:
用于确定所述多核CPU的第一核的第一最佳频率的装置;
用于确定所述多核CPU的第二核的第二最佳频率的装置;
用于监视所述多核CPU的裸片温度的装置;
用于确定所监视的裸片温度是否大于或等于第一阈值的装置;
用于响应于确定所监视的裸片温度大于或等于所述第一阈值,确定所述多核CPU的所述第二核是否休眠的装置;
用于响应于确定所述多核CPU的所述第二核操作在所述第二最佳频率以下,基于操作***调度器的多个准备好运行的队列的长度确定所述多核CPU的工作负载内的并行性程度的装置;
用于确定所述并行性程度是否大于第二阈值的装置;
用于响应于确定所述并行性程度大于所述第二阈值、所监视的裸片温度大于或等于所述第一阈值、以及所述多核CPU的所述第二核休眠,将所述多核CPU的所述第一核的操作频率减小至所述第一核的当前操作频率减去所述第一最佳频率或所述第一最佳频率当中的最大值的装置;以及
用于响应于确定所述并行性程度大于所述第二阈值、所监视的裸片温度大于或等于所述第一阈值、以及所述多核CPU的所述第二核休眠,将所述多核CPU的所述第二核的操作频率增加至所述第二最佳频率的装置。
9.根据权利要求8所述的装置,其进一步包括:
用于确定临界条件值的装置,所述多核CPU的操作在所述临界条件值以上开始归因于温度问题而失败,其中所述第一阈值等于所述临界条件值。
10.根据权利要求8所述的装置,其中用于将所述多核CPU的所述第一核的操作频率减小至所述第一最佳频率的装置包括:
用于将所述多核CPU的所述第一核的所述操作频率减小一个递增步长的装置。
11.根据权利要求10所述的装置,其进一步包括:
用于响应于确定所述多核CPU的所述第二核没有休眠,将所述多核CPU的所述第二核的所述操作频率减小一个递增步长而不下降到所述第二最佳频率以下的装置。
12.根据权利要求8所述的装置,其中用于增加所述多核CPU的所述第二核的操作频率的装置包括:
用于将所述多核CPU的所述第二核上电的装置。
13.根据权利要求8所述的装置,其进一步包括:
用于确定所述并行性程度在一时间周期内是否持续的装置。
14.根据权利要求13所述的装置,其进一步包括:
用于当所述并行性程度在所述时间周期内不持续时将所述多核CPU的所述第二核断电的装置。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US28701109P | 2009-12-16 | 2009-12-16 | |
US61/287,011 | 2009-12-16 | ||
US12/944,564 | 2010-11-11 | ||
US12/944,564 US8775830B2 (en) | 2009-12-16 | 2010-11-11 | System and method for dynamically controlling a plurality of cores in a multicore central processing unit based on temperature |
PCT/US2010/059560 WO2011084335A1 (en) | 2009-12-16 | 2010-12-08 | System and method for dynamically controlling a plurality of cores in a multicore central processing unit based on temperature |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102652296A CN102652296A (zh) | 2012-08-29 |
CN102652296B true CN102652296B (zh) | 2015-10-07 |
Family
ID=44144248
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201080056570.2A Active CN102652296B (zh) | 2009-12-16 | 2010-12-08 | 用于基于温度动态地控制多核中央处理单元中的多个核的***和方法 |
Country Status (7)
Country | Link |
---|---|
US (2) | US8775830B2 (zh) |
EP (1) | EP2513741A1 (zh) |
JP (1) | JP5643336B2 (zh) |
KR (1) | KR101409141B1 (zh) |
CN (1) | CN102652296B (zh) |
BR (1) | BR112012014306B1 (zh) |
WO (1) | WO2011084335A1 (zh) |
Families Citing this family (40)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
US9104411B2 (en) | 2009-12-16 | 2015-08-11 | Qualcomm Incorporated | System and method for controlling central processing unit power with guaranteed transient deadlines |
US9128705B2 (en) * | 2009-12-16 | 2015-09-08 | Qualcomm Incorporated | System and method for controlling central processing unit power with reduced frequency oscillations |
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 |
US9563250B2 (en) | 2009-12-16 | 2017-02-07 | Qualcomm Incorporated | System and method for controlling central processing unit power based on inferred workload parallelism |
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 |
US8650426B2 (en) * | 2009-12-16 | 2014-02-11 | Qualcomm Incorporated | System and method for controlling central processing unit power in a virtualized system |
US9176572B2 (en) | 2009-12-16 | 2015-11-03 | 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 |
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 |
US8595525B2 (en) * | 2011-09-22 | 2013-11-26 | Qualcomm Incorporated | On-chip thermal management techniques using inter-processor time dependent power density data for indentification of thermal aggressors |
DE112011106046T5 (de) | 2011-12-27 | 2014-11-27 | Mitsubishi Electric Corporation | Energieversorgungsvorrichtung |
KR101930752B1 (ko) * | 2012-02-24 | 2018-12-19 | 삼성전자 주식회사 | 멀티 코어를 포함하는 전자 기기의 전력 제어 방법 및 장치 |
US8995218B2 (en) | 2012-03-07 | 2015-03-31 | Semiconductor Energy Laboratory Co., Ltd. | Semiconductor device |
US8972759B2 (en) | 2012-06-29 | 2015-03-03 | Qualcomm Incorporated | Adaptive thermal management in a portable computing device including monitoring a temperature signal and holding a performance level during a penalty period |
KR20140044596A (ko) * | 2012-10-05 | 2014-04-15 | 삼성전자주식회사 | 멀티 코어 프로세서를 구비한 컴퓨팅 시스템 및 그것의 로드 밸런싱 방법 |
US9946319B2 (en) * | 2012-11-20 | 2018-04-17 | Advanced Micro Devices, Inc. | Setting power-state limits based on performance coupling and thermal coupling between entities in a computing device |
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 |
US9292293B2 (en) * | 2013-08-08 | 2016-03-22 | Qualcomm Incorporated | Intelligent multicore control for optimal performance per watt |
US9671844B2 (en) | 2013-09-26 | 2017-06-06 | Cavium, Inc. | Method and apparatus for managing global chip power on a multicore system on chip |
US9342135B2 (en) * | 2013-10-11 | 2016-05-17 | Qualcomm Incorporated | Accelerated thermal mitigation for multi-core processors |
US9411403B2 (en) | 2013-11-19 | 2016-08-09 | Qualcomm Incorporated | System and method for dynamic DCVS adjustment and workload scheduling in a system on a chip |
KR102208620B1 (ko) * | 2014-03-12 | 2021-01-28 | 삼성전자 주식회사 | 휴대형 전자장치의 절전 방법 및 그에 관한 장치 |
US9582012B2 (en) | 2014-04-08 | 2017-02-28 | Qualcomm Incorporated | Energy efficiency aware thermal management in a multi-processor system on a chip |
KR102169692B1 (ko) | 2014-07-08 | 2020-10-26 | 삼성전자주식회사 | 멀티-코어 프로세서를 포함하는 시스템 온 칩 및 그것의 동적 전력 관리 방법 |
US10198063B1 (en) * | 2014-11-06 | 2019-02-05 | Avago Technologies International Sales Pte. Limited | Average power saving modes and power architecture for read channel product |
US9880953B2 (en) * | 2015-01-05 | 2018-01-30 | Tuxera Corporation | Systems and methods for network I/O based interrupt steering |
US10698459B2 (en) | 2015-02-17 | 2020-06-30 | Apple Inc. | Electronic devices and method of controlling an electronic device |
CN106325325A (zh) * | 2015-06-15 | 2017-01-11 | 联想(北京)有限公司 | 电子设备及控制方法 |
CN105204602B (zh) * | 2015-09-02 | 2018-06-22 | 上海兆芯集成电路有限公司 | 电源控制装置 |
US9971393B2 (en) * | 2015-12-16 | 2018-05-15 | International Business Machines Corporation | Dynamic workload frequency optimization |
US11399720B2 (en) | 2016-04-05 | 2022-08-02 | Qulacomm Incorporated | Circuits and methods providing temperature mitigation for computing devices |
CN106293914B (zh) * | 2016-08-01 | 2019-08-09 | 深圳市金立通信设备有限公司 | 一种任务调度的方法及终端 |
CN106155866A (zh) * | 2016-08-01 | 2016-11-23 | 浪潮电子信息产业股份有限公司 | 一种监控cpu核心频率的方法及装置 |
JP2018082405A (ja) * | 2016-11-18 | 2018-05-24 | シャープ株式会社 | プロセッサ切替装置、監視カメラ、プロセッサ切替方法、制御プログラム、および記録媒体 |
CN106708241A (zh) * | 2016-11-24 | 2017-05-24 | 捷开通讯(深圳)有限公司 | 移动终端及提高其在低功耗模式下的性能的方法 |
JP6872440B2 (ja) * | 2017-06-30 | 2021-05-19 | ルネサスエレクトロニクス株式会社 | 半導体装置および半導体装置の制御方法 |
KR102665291B1 (ko) * | 2019-05-08 | 2024-05-13 | 삼성전자 주식회사 | 전자 장치 및 전자 장치의 제어 방법 |
CN111988467B (zh) * | 2020-08-17 | 2021-09-14 | 深圳小辣椒科技有限责任公司 | 一种自定义控制手机温度的方法、装置、***及存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1692326A (zh) * | 2002-08-23 | 2005-11-02 | 英特尔公司 | 用于多核心微处理器热管理的装置 |
Family Cites Families (101)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS593651A (ja) | 1982-06-30 | 1984-01-10 | Fujitsu Ltd | フア−ムウエアによる性能測定システム |
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 |
US7058824B2 (en) | 2001-06-15 | 2006-06-06 | Microsoft Corporation | Method and system for using idle threads to adaptively throttle a computer |
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 |
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 |
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 |
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 |
US7814485B2 (en) | 2004-12-07 | 2010-10-12 | Intel Corporation | System and method for adaptive power management based on processor utilization and cache misses |
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 | 学校法人早稲田大学 | マルチプロセッサシステム及びマルチグレイン並列化コンパイラ |
CN101223490A (zh) | 2005-07-14 | 2008-07-16 | Nxp股份有限公司 | 使用历史负载简档来动态调整手持多媒体设备处理器内核的工作频率及可用功率 |
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 |
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 |
US7689838B2 (en) | 2005-12-22 | 2010-03-30 | Intel Corporation | Method and apparatus for providing for detecting processor state transitions |
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 |
JP4808108B2 (ja) | 2006-08-29 | 2011-11-02 | パナソニック株式会社 | プロセッサシステム |
WO2008047179A1 (en) | 2006-10-20 | 2008-04-24 | 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 | 华硕电脑股份有限公司 | 多核心处理器的效能调整方法 |
US7783906B2 (en) | 2007-02-15 | 2010-08-24 | International Business Machines Corporation | Maximum power usage setting for computing device |
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 |
US8356306B2 (en) | 2007-07-31 | 2013-01-15 | Hewlett-Packard Development Company, L.P. | Workload management controller using dynamic statistical control |
JP4834625B2 (ja) | 2007-07-31 | 2011-12-14 | 株式会社東芝 | 電源管理装置及び電源管理方法 |
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 | 株式会社日立製作所 | 仮想計算機システム、仮想計算機の制御方法及びプログラム |
US8024590B2 (en) | 2007-12-10 | 2011-09-20 | Intel Corporation | Predicting future power level states for processor cores |
US20090150696A1 (en) | 2007-12-10 | 2009-06-11 | Justin Song | Transitioning a processor package to a low power state |
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 |
JP4996519B2 (ja) | 2008-03-27 | 2012-08-08 | パナソニック株式会社 | 仮想マルチプロセッサ、システムlsi、携帯電話機器、及び仮想マルチプロセッサの制御方法 |
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 |
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 |
US8650426B2 (en) | 2009-12-16 | 2014-02-11 | Qualcomm Incorporated | System and method for controlling central processing unit power in a virtualized system |
US9128705B2 (en) | 2009-12-16 | 2015-09-08 | Qualcomm Incorporated | System and method for controlling central processing unit power with reduced frequency oscillations |
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 |
US8909962B2 (en) | 2009-12-16 | 2014-12-09 | Qualcomm Incorporated | System and method for controlling central processing unit power with guaranteed transient deadlines |
US9104411B2 (en) | 2009-12-16 | 2015-08-11 | Qualcomm Incorporated | System and method for controlling central processing unit power with guaranteed transient deadlines |
US9176572B2 (en) | 2009-12-16 | 2015-11-03 | Qualcomm Incorporated | System and method for controlling central processing unit power with guaranteed transient deadlines |
-
2010
- 2010-11-11 US US12/944,564 patent/US8775830B2/en not_active Expired - Fee Related
- 2010-12-08 KR KR1020127018456A patent/KR101409141B1/ko active IP Right Grant
- 2010-12-08 BR BR112012014306-9A patent/BR112012014306B1/pt active IP Right Grant
- 2010-12-08 CN CN201080056570.2A patent/CN102652296B/zh active Active
- 2010-12-08 EP EP10798414A patent/EP2513741A1/en not_active Withdrawn
- 2010-12-08 WO PCT/US2010/059560 patent/WO2011084335A1/en active Application Filing
- 2010-12-08 JP JP2012544633A patent/JP5643336B2/ja active Active
-
2014
- 2014-02-06 US US14/174,012 patent/US9081558B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1692326A (zh) * | 2002-08-23 | 2005-11-02 | 英特尔公司 | 用于多核心微处理器热管理的装置 |
Also Published As
Publication number | Publication date |
---|---|
JP2013513898A (ja) | 2013-04-22 |
BR112012014306B1 (pt) | 2020-09-24 |
JP5643336B2 (ja) | 2014-12-17 |
KR101409141B1 (ko) | 2014-06-17 |
US9081558B2 (en) | 2015-07-14 |
WO2011084335A1 (en) | 2011-07-14 |
CN102652296A (zh) | 2012-08-29 |
US20140181542A1 (en) | 2014-06-26 |
US8775830B2 (en) | 2014-07-08 |
KR20120101712A (ko) | 2012-09-14 |
US20110145605A1 (en) | 2011-06-16 |
EP2513741A1 (en) | 2012-10-24 |
BR112012014306A2 (pt) | 2016-07-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102652296B (zh) | 用于基于温度动态地控制多核中央处理单元中的多个核的***和方法 | |
CN102695998B (zh) | 用于在虚拟化***中控制中央处理单元功率的***和方法 | |
EP2513750B1 (en) | System and method for asynchronously and independently controlling core clocks in a multicore central processing unit | |
US8082459B2 (en) | Power management based on policy | |
KR101562448B1 (ko) | 휴대용 컴퓨팅 디바이스의 멀티코어 프로세서에서 다수의 코어들로의 전력을 동적으로 제어하는 방법 및 시스템 | |
CN102687098B (zh) | 用于无线设备的基于工作负载的功率管理的动态时钟及电压缩放的***和方法 | |
CN1584788B (zh) | 计算机***功率策略调整方法和设备以及相联系的计算机*** | |
EP2513747B1 (en) | System and method for controlling central processing unit power with reduced frequency oscillations | |
US10198059B2 (en) | Adaptive doze to hibernate | |
CN104662487A (zh) | 根据应用程序活动来预测用户意图和未来交互 | |
US10064141B2 (en) | Core frequency/count decision-based thermal mitigation optimization for a multi-core integrated circuit | |
CN102667669B (zh) | 对中央处理单元内的数据进行取样的***和方法 | |
CN104969142A (zh) | 用于以有保证的瞬态最后期限来控制中央处理单元功率的***和方法 | |
JP2020513603A (ja) | 動的な外部電力資源選択 | |
CN102754045B (zh) | 基于工作负荷请求而调谐动态时钟和电压切换算法的***和方法 | |
CN104756043A (zh) | 用于以有保证的瞬态最后期限来控制中央处理单元功率的***和方法 | |
CN114816031B (zh) | 终端设备的省电方法、终端设备及介质 | |
JPWO2011135721A1 (ja) | 情報処理装置及び消費電力管理プログラム |
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 |