CN102652296B - 用于基于温度动态地控制多核中央处理单元中的多个核的系统和方法 - Google Patents

用于基于温度动态地控制多核中央处理单元中的多个核的系统和方法 Download PDF

Info

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
Application number
CN201080056570.2A
Other languages
English (en)
Other versions
CN102652296A (zh
Inventor
素密·苏尔
博胡斯拉夫·雷赫利克
史蒂文·S·汤姆森
阿里·伊兰里
布莱恩·J·萨尔斯贝瑞
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 CN102652296A publication Critical patent/CN102652296A/zh
Application granted granted Critical
Publication of CN102652296B publication Critical patent/CN102652296B/zh
Active 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/20Cooling means
    • G06F1/206Cooling means comprising thermal management
    • 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
    • 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
    • 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/3287Power saving characterised by the action undertaken by switching off individual functional units in the computer system
    • 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/329Power saving characterised by the action undertaken by task scheduling
    • 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

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的所述第二核断电的装置。
CN201080056570.2A 2009-12-16 2010-12-08 用于基于温度动态地控制多核中央处理单元中的多个核的系统和方法 Active CN102652296B (zh)

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 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
US12/944,564 2010-11-11
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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US8909962B2 (en) * 2009-12-16 2014-12-09 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
US9104411B2 (en) 2009-12-16 2015-08-11 Qualcomm Incorporated System and method for controlling central processing unit power with guaranteed transient deadlines
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
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
US9086883B2 (en) 2011-06-10 2015-07-21 Qualcomm Incorporated System and apparatus for consolidated dynamic frequency/voltage control
US20130060555A1 (en) * 2011-06-10 2013-03-07 Qualcomm Incorporated System and Apparatus Modeling Processor Workloads Using Virtual Pulse Chains
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
JP5079168B1 (ja) 2011-12-27 2012-11-21 三菱電機株式会社 電源装置
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 ルネサスエレクトロニクス株式会社 半導体装置および半導体装置の制御方法
EP3895324A4 (en) * 2019-05-08 2022-01-26 Samsung Electronics Co., Ltd. ELECTRONIC DEVICE AND CONTROL METHOD THEREOF
CN111988467B (zh) * 2020-08-17 2021-09-14 深圳小辣椒科技有限责任公司 一种自定义控制手机温度的方法、装置、系统及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1692326A (zh) * 2002-08-23 2005-11-02 英特尔公司 用于多核心微处理器热管理的装置

Family Cites Families (101)

* 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 フア−ムウエアによる性能測定システム
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
US7346787B2 (en) 2004-12-07 2008-03-18 Intel Corporation System and method for adaptive power management
US7814485B2 (en) * 2004-12-07 2010-10-12 Intel Corporation System and method for adaptive power management based on processor utilization and cache misses
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 学校法人早稲田大学 マルチプロセッサシステム及びマルチグレイン並列化コンパイラ
WO2007007300A2 (en) 2005-07-14 2007-01-18 Nxp B.V. Using historic load profiles to dynamically adjust operating frequency and available power to a handheld multimedia device processor core
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
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
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 株式会社日立製作所 仮想計算機システム、仮想計算機の制御方法及びプログラム
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
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
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
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
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
US9176572B2 (en) * 2009-12-16 2015-11-03 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

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1692326A (zh) * 2002-08-23 2005-11-02 英特尔公司 用于多核心微处理器热管理的装置

Also Published As

Publication number Publication date
JP5643336B2 (ja) 2014-12-17
US9081558B2 (en) 2015-07-14
US20140181542A1 (en) 2014-06-26
BR112012014306B1 (pt) 2020-09-24
KR101409141B1 (ko) 2014-06-17
CN102652296A (zh) 2012-08-29
EP2513741A1 (en) 2012-10-24
KR20120101712A (ko) 2012-09-14
BR112012014306A2 (pt) 2016-07-05
US20110145605A1 (en) 2011-06-16
JP2013513898A (ja) 2013-04-22
US8775830B2 (en) 2014-07-08
WO2011084335A1 (en) 2011-07-14

Similar Documents

Publication Publication Date Title
CN102652296B (zh) 用于基于温度动态地控制多核中央处理单元中的多个核的系统和方法
CN102656539B (zh) 用于基于所推断的工作负载并行性控制中央处理单元功率的系统和方法
CN102695998B (zh) 用于在虚拟化系统中控制中央处理单元功率的系统和方法
CN102934045B (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) 计算机系统功率策略调整方法和设备以及相联系的计算机系统
CN102687097B (zh) 用于以保证的稳定状态期限来控制中央处理单元功率的系统和方法
EP2513747B1 (en) System and method for controlling central processing unit power with reduced frequency oscillations
US10064141B2 (en) Core frequency/count decision-based thermal mitigation optimization for a multi-core integrated circuit
CN102667669B (zh) 对中央处理单元内的数据进行取样的系统和方法
CN104969142A (zh) 用于以有保证的瞬态最后期限来控制中央处理单元功率的系统和方法
CN104756043A (zh) 用于以有保证的瞬态最后期限来控制中央处理单元功率的系统和方法
CN114816031B (zh) 终端设备的省电方法、终端设备及介质
US9298245B2 (en) Information processing apparatus performing processes in parallel

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