CN102687098B - 用于无线设备的基于工作负载的功率管理的动态时钟及电压缩放的系统和方法 - Google Patents

用于无线设备的基于工作负载的功率管理的动态时钟及电压缩放的系统和方法 Download PDF

Info

Publication number
CN102687098B
CN102687098B CN201180005279.7A CN201180005279A CN102687098B CN 102687098 B CN102687098 B CN 102687098B CN 201180005279 A CN201180005279 A CN 201180005279A CN 102687098 B CN102687098 B CN 102687098B
Authority
CN
China
Prior art keywords
dcvs
operating load
load
new
described new
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN201180005279.7A
Other languages
English (en)
Other versions
CN102687098A (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 CN102687098A publication Critical patent/CN102687098A/zh
Application granted granted Critical
Publication of CN102687098B publication Critical patent/CN102687098B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • 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/3296Power saving characterised by the action undertaken by lowering the supply or operating voltage
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本发明揭示一种在中央处理单元CPU中执行动态时钟和电压缩放DCVS算法的方法,且所述方法可包含监视CPU活动,以及当工作负载被添加到所述CPU活动时确定所述工作负载是否指明为特殊工作负载。

Description

用于无线设备的基于工作负载的功率管理的动态时钟及电压缩放的系统和方法
相关申请案
本申请案主张2010年1月11日申请的标题为“动态地控制处理器的系统和方法(SYSTEM AND METHOD OF DYNAMICALLY CONTROLLING A PROCESSOR)”的第61/294,019号美国临时专利申请案的优先权,所述临时专利申请案的内容以引用的方式完全并入本文中。
技术领域
本发明涉及中央处理单元。更具体来说,本发明涉及动态地控制处理器。
背景技术
便携式计算装置(PCD)普遍存在。这些装置可包含蜂窝式电话、便携式数字助理(PDA)、便携式游戏控制台、掌上型计算机,和其它便携式电子装置。除了这些装置的主要功能外,许多装置还可包含外围功能。举例来说,蜂窝式电话可包含进行蜂窝式电话呼叫的主要功能,以及照相机、摄像机、全球定位系统(GPS)导航、网络浏览、发送和接收电子邮件、发送和接收文本消息、即按即说能力等外围功能。随着此装置的功能性增加,支持此功能性所需的计算或处理能力也增加。此外,随着计算能力增加,更加需要有效管理提供计算能力的处理器。
因此,需要在中央处理单元中执行动态时钟和电压缩放算法的改进的方法。
发明内容
在一个方面中,本申请案涉及一种在中央处理单元(CPU)中执行动态时钟和电压缩放(DCVS)算法的方法。所述方法包括:监视CPU活动;以及当工作负载被添加到所述CPU活动时确定所述工作负载是否指明为特殊工作负载。
在另一方面中,本申请案涉及一种无线装置。所述无线装置包括:用于监视CPU活动的装置;以及用于当工作负载被添加到所述CPU活动时确定所述工作负载是否指明为特殊工作负载的装置。
在另一方面中,本申请案涉及一种无线装置。所述无线装置包括处理器。所述处理器可操作以:监视CPU活动;以及当工作负载被添加到所述CPU活动时确定所述工作负载是否指明为特殊工作负载。
在另一方面中,本申请案涉及一种存储器媒体。所述存储器媒体包括:用于监视CPU活动的至少一个指令;以及用于当工作负载被添加到所述CPU活动时确定所述工作负载是否指明为特殊工作负载的至少一个指令。
附图说明
图式中,除非另外指示,否则贯穿于各图的相同参考数字指代相同零件。
图1是处于关闭位置的便携式计算装置(PCD)的第一方面的平面前视图;
图2是处于打开位置的PCD的第一方面的平面前视图;
图3是PCD的第二方面的框图;
图4是处理系统的框图;
图5是说明在中央处理单元内执行动态时钟和电压切换算法的方法的第一方面的流程图;
图6是说明所描绘的针对中央处理单元的工作负载以及动态时钟和电压缩放跟踪负载与时间的第一曲线图;
图7是说明在中央处理单元内执行动态时钟和电压切换算法的方法的第二方面的流程图;
图8是说明所描绘的针对中央处理单元的工作负载以及动态时钟和电压缩放跟踪负载与时间的第二曲线图;
图9是说明所描绘的针对中央处理单元的工作负载以及动态时钟和电压缩放跟踪负载与时间的第三曲线图;
图10是说明在中央处理单元内执行动态时钟和电压切换算法的方法的第三方面的流程图;
图11是说明所描绘的针对中央处理单元的工作负载以及动态时钟和电压缩放跟踪负载与时间的第四曲线图;
图12是说明所描绘的针对中央处理单元的工作负载以及动态时钟和电压缩放跟踪负载与时间的第五曲线图;
图13是说明在中央处理单元内执行动态时钟和电压切换算法的方法的第四方面的流程图;
图14是说明所描绘的针对中央处理单元的工作负载以及动态时钟和电压缩放跟踪负载与时间的第六曲线图;以及
图15是说明所描绘的针对中央处理单元的工作负载以及动态时钟和电压缩放跟踪负载与时间的第七曲线图。
具体实施方式
本文使用词语“示范性”来表示“充当实例、例子或说明”。本文描述为“示范性”的任何方面不必解释为比其它方面优选或有利。
在此描述中,术语“应用程序”还可包含具有可执行内容的文件,例如:对象代码、脚本、字节代码、标记语言文件和修补程序。另外,本文引用的“应用程序”还可包含本质上不可执行的文件,例如可能需要打开的文档或需要存取的其它数据文件。
术语“内容”也可包含具有可执行内容的文件,例如:对象代码、脚本、字节代码、标记语言文件和修补程序。另外,本文引用的“内容”还可包含本质上不可执行的文件,例如可能需要打开的文档或需要存取的其它数据文件。
如此描述中使用,术语“组件”、“数据库”、“模块”“系统”等意在指代计算机相关实体,其为硬件、固件、硬件与软件的组合、软件,或执行中的软件。举例来说,组件可为(但不限于为)在处理器上运行的进程、处理器、对象、可执行程序、执行线程、程序,和/或计算机。借助说明,在计算装置上运行的应用程序和计算装置两者均可为组件。一个或一个以上组件可驻留在进程和/或执行线程内,且组件可局限于一个计算机上且/或分布于两个或两个以上计算机之间。另外,这些组件可从上面存储有各种数据结构的各种计算机可读媒体执行。所述组件可借助本地和/或远程进程,例如根据具有一个或一个以上数据包的信号(例如,来自一个与本地系统、分布式系统中的另一组件和/或借助所述信号越过例如因特网等网络与其它系统交互的组件的数据)来通信。
首先参看图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电池或DC电源,其从连接到AC电源的交流(AC)/DC变换器导出。
图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或其组合可充当用于执行本文描述的方法步骤中的一者或一者以上以便基于工作负载的类型在中央处理单元内执行动态时钟和电压切换算法的装置。
参看图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上执行或致使执行DCVS算法416、417、418。
在特定方面中,控制器440可为软件程序。然而,在替代方面中,控制器440可为存储器404外部的硬件控制器。在任一情况下,控制器440、存储器404、核410、412、414或其任何组合可充当用于执行本文描述的方法步骤中的一者或一者以上以便基于工作负载的类型在中央处理单元内执行动态时钟和电压切换算法的装置。
参看图5,其展示执行动态时钟和电压缩放(DCVS)算法的方法的第一方面,且其一般表示为500。方法500用do回路在框502处开始,其中当装置通电时,可执行随后的步骤。在框504处,控制器可监视CPU活动。此活动可为单核CPU、多核CPU、多个单核CPU、多个多核CPU或其组合的活动。此外,控制器可为软件控制器、硬件控制器或其组合。
在决策506处,控制器可确定是否添加了工作负载。工作负载可为视频应用、音频应用、电子邮件应用、无线网络应用、蜂窝式网络应用、短消息服务(SMS)应用、通信应用、安全应用、日历应用、即时消息收发应用、照相机应用、全球定位系统(GPS)应用、浏览器应用、记事簿应用、时钟应用、游戏应用、计算器应用、金融应用、密码管理器应用、帮助应用、电子商务应用、软件递送应用、搜索应用、选项应用、设置应用、电话应用、连接管理应用、安全应用,任何其它应用,或其组合。
在特定方面中,如果在决策506处未添加工作负载,那么方法500可返回到框504,且方法500可如本文所描述而继续。否则,在决策506处,如果添加了工作负载,那么方法500可继续到决策508,且控制器可确定所述工作负载是否为特殊工作负载,即可保证通过DCVS算法进行不同处理的工作负载类型。所述特殊工作负载可为脉冲工作负载、经注册工作负载、等时工作负载、脉冲控制工作负载、尽力服务(best effort)工作负载、经调度工作负载,或其组合。控制器可基于从工作负载接收的输入确定所述工作负载是否为特殊工作负载。
在决策508处,如果所述工作负载并非特殊的,那么方法500可进行到框510,且控制器可执行未更改的DCVS算法。随后,方法500可移动到决策512,且控制器可确定装置是否被断电。如果装置未被断电,即装置保持开启,那么方法500可返回到框504且方法500可如本文所描述而继续。否则,如果装置被断电,那么方法500可结束。
返回到决策508,如果所述工作负载为特殊工作负载,那么方法500可继续到框513,且控制器可接收对于所述特殊工作负载的注册。在框514处,控制器可将唯一识别符指派给所述特殊工作负载。接着,在决策516处,控制器可确定DCVS解是否与工作负载相关联,即对DCVS算法的修改或更改是否与工作负载相关联。所述工作负载可指示与工作负载相关联的类型和与工作负载相关联的解。
如果DCVS解与特殊工作负载相关联,那么方法500可继续到框518,且控制器可基于与特殊工作负载相关联的解而自动重新调谐DCVS算法。接下来,在框520处,控制器可执行经重新调谐的DCVS算法。方法500可接着移动到决策512,且方法500可如本文所描述而继续。
返回到决策516,如果不存在与特殊工作负载相关联的DCVS解,那么方法500可继续到决策522,且控制器可确定是否创建新的解。举例来说,控制器可询问工作负载以确定所述工作负载是否具有预定解。如果是,那么控制器可实施所述解。或者,控制器可询问工作负载以获得特定工作负载要求,且控制器可基于工作负载的要求创建针对所述工作负载的新的解。工作负载要求例如可用百万指令/秒(MIPS)表达。在另一方面中,工作负载要求可表达为频率,例如千赫值(kHz)、兆赫(MHz)值、千兆赫(GHz)值等。在又一方面中,工作负载要求可表达为数据传递速率,例如千位/秒(KB/S)、兆位/秒(MB/S)、千兆位/秒(GB/S),或其组合。工作负载要求可进一步包含响应度值。响应度可为系统设定的变化速率。举例来说,响应度可为CPU频率的变化速率、电压的变化速率,或其组合。此外,响应度可为如用毫秒表达的最大延迟、如所表达的频率/毫秒(MHz/ms)的CPU转换速率限制,或其组合。并且,工作负载要求可包含先前工作负载要求的任何组合。
在决策522处,如果控制器不决定创建新的解,那么方法500可进行到框510,且方法500可如本文所描述而继续。否则,如果控制器确实决定创建新的解,那么方法500可移动到框524,且控制器可例如基于从当前工作负载接收的一个或一个以上工作负载要求而创建当前工作负载的新的解。接下来,在框526处,控制器可将新的解存储在相关联的表或数据库中。所述解可结合与工作负载相关联的唯一识别符而存储。方法500可接着移动到框518,且方法500可如本文所描述而继续。
图6说明所描绘的针对中央处理单元的工作负载以及动态时钟和电压缩放跟踪负载与时间的第一曲线图(一般表示为600)。如图所示,曲线图600包含工作负载指示符602和DCVS跟踪负载指示符604。如图所示,工作负载指示符602可包含第一忙碌循环606和第二忙碌循环608。如果第一忙碌循环606和第二忙碌循环608中包含的工作负载的类型确定为特殊的且所述特殊工作负载具有使其免于执行DCVS算法的与其相关联的DCVS解,那么DCVS跟踪负载指示符604可保持在第一忙碌循环606和第二忙碌循环608期间如图所示相对平坦。如果所述工作负载不特殊或不具有与其相关联的解,那么DCVS跟踪负载指示符604可如虚线所指示跟踪第一忙碌循环606和第二忙碌循环608。
如图6所示,可使用多个操作指示符610来触发对特殊工作负载的特殊处理。操作指示符610可包含开始解、停止解或其组合。
参看图7,展示执行动态时钟和电压缩放(DCVS)算法的方法的第二方面,且其一般表示为700。方法700用do回路在框702处开始,其中当装置通电时,可执行随后的步骤。在框704处,控制器可监视CPU活动。此活动可为单核CPU、多核CPU、多个单核CPU、多个多核CPU或其组合的活动。此外,控制器可为软件控制器、硬件控制器或其组合。
在决策706处,控制器可确定是否添加了工作负载。工作负载可为视频应用、音频应用、电子邮件应用、无线网络应用、蜂窝式网络应用、短消息服务(SMS)应用、通信应用、安全应用、日历应用、即时消息收发应用、照相机应用、全球定位系统(GPS)应用、浏览器应用、记事簿应用、时钟应用、游戏应用、计算器应用、金融应用、密码管理器应用、帮助应用、电子商务应用、软件递送应用、搜索应用、选项应用、设置应用、电话应用、连接管理应用、安全应用,任何其它应用,或其组合。
在特定方面中,如果在决策706处未添加工作负载,那么方法700可返回到框704,且方法700可如本文所描述而继续。否则,在决策706处,如果添加了工作负载,那么方法700可继续到决策708,且控制器可确定所述工作负载是否为脉冲工作负载。脉冲工作负载可为键按压事件、触摸屏事件、另一脉冲型事件,或其组合。此外,脉冲工作负载可具有众所周知的开始点,但不具有众所周知的结束,且不具有众所周知的负载。DCVS算法的响应可取决于每一脉冲工作负载的细节。举例来说,DCVS可通过跳到完全性能而响应于小键盘事件,而触摸屏事件可能不需要完全性能响应。
在决策708处,如果所述工作负载并非脉冲工作负载,那么方法700可移动到框710,且控制器可执行标准(即,未更改的)DCVS算法。随后,方法700可返回到框704,且方法700可如本文所描述而继续。
返回到决策708,如果所添加的工作负载为脉冲工作负载,那么方法700可进行到框712,且控制器可指派与所添加的工作负载相关联的唯一识别符。接下来,在决策714处,控制器可确定是否存在与工作负载相关联的CPU频率。可依据与工作负载相关联的历史值确定CPU频率。历史值可存储在与工作负载相关联的控制器中。
如果存在与工作负载相关联的CPU频率,那么方法700可继续到框716,且控制器可将新的工作负载与任何同时工作负载(例如,经注册和未经注册)累计。举例来说,如果存在与脉冲相关联的100MIPS的负载和50MIPS的另一负载,那么控制器将跳到150MIPS。接着,在框717处,控制器可跳到累计的CPU频率。随后,在框718处,控制器可从当前CPU频率执行DCVS算法。移动到决策720,控制器可确定装置是否被断电。如果装置未被断电,那么方法700可返回到框704且方法700可如本文所描述而继续。否则,在决策720处,如果装置被断电,那么方法700可结束。
返回到决策714,如果控制器未发现数据库中的与所添加的工作负载相关联的CPU频率,那么方法700可移动到框722。在框722处,控制器可跳到最大CPU频率。接下来,在框724处,控制器可从最大频率执行DCVS算法,且控制器可使用DCVS算法步降CPU频率直到发现正确且适当的工作负载的频率值为止。在框726处,控制器可存储所述频率。方法700可接着移动到决策720,且方法700可如本文所描述而继续。
图8说明所描绘的针对中央处理单元的工作负载以及DCVS响应与时间的第二曲线图(一般表示为800)。如图所示,曲线图800可包含工作负载指示符802和DCVS响应指示符804。如图所示,工作负载指示符802可包含以脉冲事件开始的忙碌循环806。DCVS响应指示符804可包含紧密跟踪忙碌循环的DCVS响应808。DCVS响应808可跳到与脉冲事件相关联的已知频率,或最大CPU频率。随后,DCVS响应808可如图8所示当执行DCVS算法时减小。
图9说明所描绘的针对中央处理单元的工作负载以及DCVS响应与时间的第三曲线图(一般表示为900)。如图所示,曲线图900可包含工作负载指示符902和DCVS响应指示符904。如图所示,工作负载指示符902可包含第一忙碌循环906和第二忙碌循环908。每一忙碌循环906、908可用脉冲事件开始。
DCVS响应指示符904可包含第一DCVS响应910和第二DCVS响应912。第一DCVS响应910是不使用与工作负载相关联的历史信息的响应。如图所示,第一DCVS响应910跳到最大CPU频率。随后,第一DCVS响应910可当执行DCVS算法时减小。
第二DCVS响应912是利用与工作负载相关联的历史信息的响应。如图所示,第二DCVS响应912跳到满足或稍许超出先前与工作负载相关联的需求的CPU频率。随后,第二DCVS响应912可当执行DCVS算法时减小。如图所示从DCVS问题空间移除高响应度事件允许低响应度操作期间的较低功率,同时提供针对高响应度操作的较好性能且实现针对那些相同操作的功率节省。
在特定方面中,脉冲密度可用作工作负载指示符。举例来说,使脉冲紧密在一起可抑制DCVS响应,因为DCVS可忽略充分紧密在一起发生的来自单一来源的脉冲。或者,具有密集脉冲系列可暗示较大工作负载且可强化DCVS。在特定方面中,紧密度可为工作负载特定的。
参看图10,展示执行动态时钟和电压缩放(DCVS)算法的方法的第三方面,且其一般表示为1000。方法1000用do回路在框1002处开始,其中当装置通电时,可执行随后的步骤。在框1004处,控制器可监视CPU活动。此活动可为单核CPU、多核CPU、多个单核CPU、多个多核CPU或其组合的活动。此外,控制器可为软件控制器、硬件控制器或其组合。
在决策1006处,控制器可确定是否添加了工作负载。工作负载可为视频应用、音频应用、电子邮件应用、无线网络应用、蜂窝式网络应用、短消息服务(SMS)应用、通信应用、安全应用、日历应用、即时消息收发应用、照相机应用、全球定位系统(GPS)应用、浏览器应用、记事簿应用、时钟应用、游戏应用、计算器应用、金融应用、密码管理器应用、帮助应用、电子商务应用、软件递送应用、搜索应用、选项应用、设置应用、电话应用、连接管理应用、安全应用,任何其它应用,或其组合。
在特定方面中,如果在决策1006处未添加工作负载,那么方法1000可返回到框1004,且方法1000可如本文所描述而继续。否则,在决策1006处,如果添加了工作负载,那么方法1000可继续到决策1008,且控制器可确定是否接收到针对所述工作负载的最小CPU要求,即所述工作负载是否为具有特定要求的经注册工作负载。如果未接收到最小CPU要求,那么方法1000可进行到框1010,且控制器可执行或致使执行标准DCVS算法。随后,方法1000可移动到决策1012。在决策1012处,控制器可确定装置是否被断电。如果装置未被断电,那么方法1000可返回到框1004且方法1000可如本文所描述而继续。
返回到1008,如果从工作负载接收到最小CPU要求,那么方法1000可继续到框1014。在框1014处,控制器可跳到从工作负载接收到的最小CPU要求。接下来,在框1016处,控制器可致使DCVS不针对工作负载执行。换句话说,控制器可使所添加的工作负载免于针对工作负载执行DCVS算法。接着,方法1000可继续到决策1012,且如本文所描述而继续。
图11说明所描绘的针对中央处理单元的工作负载、DCVS响应以及CPU响应与时间的第四曲线图(一般表示为1100)。如图所示,曲线图1100可包含工作负载指示符1102、DCVS响应指示符1104和CPU响应指示符1106。如图所示,工作负载指示符1102可包含忙碌循环1108。CPU响应指示符1106展示CPU可响应于对于最小性能需求的请求。DCVS响应指示符1104展示DCVS算法可忽略工作负载。
举例来说,如果工作负载、任务或事件请求一百(100)MIPS的处理且DCVS算法同时见证CPU负载增加一百(100)MIPS,那么DCVS算法可推断不存在未请求的任务的改变。这可使DCVS算法能够避免CPU使用中的错误峰值。在此情况下,CPU响应可跟踪性能关键前导区和功率关键拖尾区上的工作负载而不使DCVS响应于所述工作负载。
图12说明所描绘的中央处理单元的工作负载、DCVS响应以及CPU响应与时间的第五曲线图(一般表示为1200)。如图所示,曲线图1200可包含工作负载指示符1202、DCVS响应指示符1204和CPU指示符1206。如图所示,工作负载指示符1202可包含经注册工作负载1208和未经注册工作负载1210。当经注册工作负载1208发生时,CPU指示符1206展示CPU可具有第一CPU响应1212,而DCVS指示符1204展示DCVS算法不具有响应。当未经注册工作负载1210发生时,CPU指示符1206展示第二CPU响应1214且DCVS指示符1204展示DCVS响应1216。由于DCVS算法可被告知经注册工作负载1208的要求,所以DCVS算法可跟踪未经注册工作负载1210而不响应于经注册工作负载1208所引起的任何改变。
参看图13,其展示执行动态时钟和电压缩放(DCVS)算法的方法的第一方面,且其一般表示为1300。方法1300用do回路在框1302处开始,其中当装置通电时,可执行随后的步骤。在框1304处,控制器可监视CPU活动。此活动可为单核CPU、多核CPU、多个单核CPU、多个多核CPU或其组合的活动。此外,控制器可为软件控制器、硬件控制器或其组合。
在决策1306处,控制器可确定是否添加了工作负载。工作负载可为视频应用、音频应用、电子邮件应用、无线网络应用、蜂窝式网络应用、短消息服务(SMS)应用、通信应用、安全应用、日历应用、即时消息收发应用、照相机应用、全球定位系统(GPS)应用、浏览器应用、记事簿应用、时钟应用、游戏应用、计算器应用、金融应用、密码管理器应用、帮助应用、电子商务应用、软件递送应用、搜索应用、选项应用、设置应用、电话应用、连接管理应用、安全应用,任何其它应用,或其组合。
在特定方面中,如果在决策1306处未添加工作负载,那么方法1300可返回到框1304,且方法1300可如本文所描述而继续。否则,在决策1306处,如果添加了工作负载,那么方法1300可继续到决策1307,且控制器可确定所述工作负载是否为等时工作负载。等时工作负载可为以大体规则的持续时间发生的工作负载。或者,等时工作负载可为以大体规则的持续时间以大体规则的间隔发生的工作负载。
如果所述工作负载不是等时的,那么方法1300可返回到框1304,且方法1300可如本文所描述而继续。如果所述工作负载是等时的,那么方法1300可进行到框1308。在框1308处,控制器可接收工作间隔已开始的指示。此外,在框1310处,控制器可接收来自工作负载的所建议CPU设定。接下来,在框1312处,控制器可接收工作完成的截止时间。
移动到框1314,控制器可确定历史设定是否可用于所述工作负载。如果是,那么方法1300可进行到框1316,且控制器可基于截止时间、所建议CPU设定和历史设定确定例如频率、电压等CPU设定。接下来,在框1318处,在工作终止时,控制器存储完成工作所需的时间长度和频率。此可允许控制器适应所述工作负载且使用关于随后工作负载请求的信息。换句话说,此允许控制器进行自适应性学习。
接着,方法1300可移动到决策1320,且控制器可确定装置是否被断电。如果装置未被断电,那么方法1300可返回到框1304且方法1300可如本文所描述而继续。否则,如果装置被断电,那么方法1300可结束。
返回到决策1314,如果控制器不具有针对工作负载的历史设定,那么方法1300可进行到框1322且控制器可基于截止时间和所建议CPU设定确定一个或一个以上CPU设定。随后,方法1300可进行到框1318且方法1300可如本文所描述而继续。
如果特定使用情况下的工作很大程度上可在间隔间重复,那么可使用来自先前工作间隔的数据来预测下一间隔中将必需的工作量。为了通知动态资源管理器(例如,控制器)其要求,所述使用情况指示工作间隔已开始连同工作需要完成时的截止时间。当工作实际完成时,所述使用情况指示工作已完成。
在了解工作多久必须完成与工作实际完成花费多久的情况下,可找到将功率更佳且仍在截止时间之前完成处理的替代资源设定。对于随后的请求,资源接收相同信息,但可使用过去的历史以便确定功率更佳且仍在截止时间之前完成工作的资源设定。
存在资源管理器可针对每一使用情况保存的一系列统计数据。这些统计数据包含每间隔的平均工作和间隔间的工作变化。这些统计数据可依据请求自适应地确定,经由基准播种,或固定为常数。还存在可保存的关于资源的一些统计数据,其包含每资源设定执行的工作量和可能每资源设定的所述工作的可变性。
为正确地起作用,将来请求可具有与先前请求类似的工作要求,存在此已知为错误的情形(比如,正解码的视频从480i改变为1080p-每一帧现具有完全不同的工作量)。可提供一机制以允许使用情况指示新的请求组成新的应用且应丢弃任何先前学习的统计数据。可允许所述使用情况向资源管理器提供提示,如图14和图15中所示。此提示是工作处理感觉足以满足其需求的水平,所述提示可被动态资源管理器忽略。
可允许所述使用情况向资源管理器提供净空要求,此净空规格是在调整资源设定时资源必须维持的处理量。所述净空或者可经由工作负载变化来导出。
利用指示符,目标可独立于所述使用情况针对功率消耗而优化-即所述使用情况实施方案独立于功率优化算法甚至可能独立于目标而保持相同。通常的初始实施方案可包含在最大值下执行资源,从而保证性能。随后,经由离线优化或自适应确定的统计数据,资源设定可改变为功率更佳的设定,而不必修改使用情况实施方案。
在本文描述的方法的每一者中,代替于试图使动态资源管理器(即,控制器)成为完全通用的,可向动态资源管理器直接告知任务要求。此可允许动态资源管理器作出较好资源管理决策。可识别从告知动态资源管理器其性能要求而受益的使用情况或工作负载,且可使所述要求正式化。此外,到动态资源管理器的接口可扩展以集成来自工作负载的信息。
到动态管理的资源的接口可包含对一系列共同工作模型(例如,所需、等时、脉冲等)的支持。所有共同工作模型可置于库中且可或可不被任何特定资源支持,这取决于资源创作者的自行决定。另外,此可允许资源创作者界定其自身的可能定制的工作模型且还允许客户端发布这些请求。这些定制的工作模型可用于告知资源有效客户端需求且使DCVS算法的所需一般性最小化并增加优化机会。
在特定方面中,额外工作模型可包含脉冲控制的工作负载,即在某一水平开始且以给定时间间隔自动停止的工作负载。此外,所述工作模型可包含尽力服务工作负载,其可包含存在可执行但并非性能关键而是可任意延迟的工作的提示。并且,工作模型可包含经调度工作负载,所述经调度工作负载可包含在将来的经界定点将需要某一工作量的通知。
本文描述的方法可允许DCVS算法问题空间任意减小,且特定使用情况任意优化,而不会影响其它使用情况或其它资源。
本文描述的方法可进一步包含到DCVS算法的额外输入。举例来说,这些额外输入可包含闲置分布信号、中断激发信号和计时器激发信号。此外,中断和计时器的分布可用作到DCVS算法的额外输入。通过包含这些输入,DCVS算法可通过具有更增强的系统知识而更有效且高效地起作用。
这些输入可用于检测模式(例如,音频重放)且调整DCVS算法以产生针对所检测情况的更佳的解。所述输入还可用于检测模式的变化,例如电话呼叫传入、用户事件,或甚至仅仅是用以缓冲音频内容的非易失性(NV)存储器存取的检测。此外,这些输入可实现利用实质上最小的客户端交互来调谐DCVS算法。
应了解,本文描述的方法步骤无需一定以所描述的次序执行。此外,例如“随后”、“接着”、“接下来”等词语不希望限制步骤的次序。这些词语仅用于引导读者通读方法步骤的描述。此外,本文描述的方法描述为可在便携式计算装置(PCD)上执行。PCD可为移动电话装置、便携式数字助理装置、智能本计算装置、上网本计算装置、膝上型计算装置、桌上型计算装置,或其组合。此外,本文描述的方法步骤可在单核处理器、多核处理器、多个单核处理器、多个多核处理器或其任何组合上执行。并且,本文的方法可用于动态地控制各种类型的处理器。举例来说,本发明的方法可用于控制中央处理单元(CPU)、图形处理单元(GPU)等。
在一个或一个以上示范性方面中,所描述的功能可用硬件、软件、固件或其任何组合实施。如果用软件实施,那么所述功能可作为一个或一个以上指令或代码存储在例如机器可读媒体(即,计算机可读媒体)等计算机程序产品上。计算机可读媒体包含计算机存储媒体,计算机存储媒体促进将计算机程序从一处传送到另一处的任何媒体。存储媒体可为可通过计算机存取的任何可用媒体。借助实例而非限制,此类计算机可读媒体可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置,或任何其它可用于存储呈指令或数据结构的形式的所需程序代码且可通过计算机存取的媒体。如本文所使用的磁盘(Disk)与光盘(Disc)包含压缩光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)、软性磁盘和蓝光光盘,其中磁盘通常以磁性方式再现数据,而光盘利用激光以光学方式再现数据。上述内容的组合也应包含于计算机可读媒体的范围内。
尽管已详细说明和描述选定方面,但将了解,可在不脱离如所附权利要求书界定的本发明的精神和范围的情况下在其中作出各种替代和更改。

Claims (12)

1.一种在中央处理单元CPU上执行动态时钟和电压缩放DCVS的方法,所述方法包括:
将未更改的DCVS算法与所述CPU相关联;
在处理器中监视CPU活动,以检测所述CPU上的新工作负载;
确定检测的新工作负载是否指明为特殊工作负载;
确定现有DCVS解是否与所述新工作负载相关联;
如果现有的DCVS解与所述新工作负载相关联,基于现有的DCVS解而重新调谐相关联的DCVS算法;
当确定现有的DCVS解与所述新工作负载不相关时,则确定是否创建新的DCVS解;
当确定没有新的DCVS解将被创建时,在所述CPU上执行相关联的未更改的DCVS算法;以及
当确定新的DCVS解将被创建时,基于特定工作负载要求针对所述新工作负载创建所述新的DCVS解,在数据库中存储所创建的新的DCVS解,基于所创建的新的DCVS解来调谐相关联的DCVS算法,并在所述CPU上执行调谐的DCVS算法。
2.根据权利要求1所述的方法,其中确定检测的新工作负载是否指明为特殊工作负载包括确定所述新工作负载是否是脉冲工作负载、经界定工作负载、等时工作负载、脉冲控制的工作负载、尽力服务工作负载、调度工作负载,或其组合。
3.根据权利要求1所述的方法,其进一步包括:
在确定所述新工作负载未指明为特殊工作负载的情况下执行所述未更改的DCVS算法。
4.根据权利要求1所述的方法,其进一步包括:
响应于确定所述新工作负载指明为特殊工作负载,将唯一识别符指派给所述新工作负载;以及
查询数据库以确定数据库是否包含与指派的唯一识别符相关的记录;
其中确定现有DCVS解是否与所述新工作负载相关联包括响应于确定数据库包含与指派的唯一识别符相关的记录,基于数据库查询结果来确定现有DCVS解是否与所述新工作负载相关联。
5.根据权利要求1所述的方法,其进一步包括:
当数据库查询结果不识别与所述新工作负载相关的DCVS解时,确定是否针对所述新工作负载创建所述新的DCVS解;
其中,响应于确定创建新的DCVS解,而基于所述特定工作负载要求针对所述新工作负载创建所述新的DCVS解,在数据库中存储所创建的新的DCVS解,基于所创建的新的DCVS解调谐相关联的DCVS算法,并在所述CPU上执行调谐的DCVS算法;且
其中,确定是否针对所述新工作负载创建所述新的DCVS解包括:
当所述新工作负载包括所述特定工作负载要求时,确定创建所述新的DCVS解;以及
当所述新工作负载包括预定的解时,确定不创建所述新的DCVS解。
6.根据权利要求4所述的方法,其中在数据库中存储所创建的新的DCVS解包括:
结合与所述数据库中的工作负载相关联的所述唯一识别符而存储所述新的DCVS解。
7.一种无线装置,其包括:
用于将未更改的动态时钟和电压缩放DCVS算法与所述无线装置的中央处理单元CPU相关联的装置;
用于监视CPU活动以检测所述CPU上的新工作负载的装置;以及
用于确定检测的新工作负载是否指明为特殊工作负载的装置;
用于确定现有DCVS解是否与所述新工作负载相关联的装置;
用于当现有的DCVS解与所述新工作负载相关联时,基于现有的DCVS解而重新调谐相关联的DCVS算法的装置;
用于当确定现有的DCVS解与所述新工作负载不相关时,确定是否创建新的DCVS解的装置;
用于当确定没有新的DCVS解将被创建时,在所述CPU上执行相关联的未更改的DCVS算法的装置;以及
用于当确定新的DCVS解将被创建时,基于特定工作负载要求针对所述新工作负载创建所述新的DCVS解,在数据库中存储所创建的新的DCVS解,基于所创建的新的DCVS解调谐相关联的DCVS算法,并在所述CPU上执行调谐的DCVS算法的装置。
8.根据权利要求7所述的无线装置,其中用于确定检测的新工作负载是否指明为特殊工作负载的装置包括用于确定所述新工作负载是否是脉冲工作负载、经界定工作负载、等时工作负载、脉冲控制的工作负载、尽力服务工作负载、调度工作负载,或其组合的装置。
9.根据权利要求7所述的无线装置,其进一步包括:
用于在确定所述新工作负载未指明为特殊工作负载的情况下执行所述未更改的DCVS算法的装置。
10.根据权利要求7所述的无线装置,其进一步包括:
用于响应于确定所述新工作负载指明为特殊工作负载,将唯一识别符指派给所述新工作负载的装置;以及
用于查询数据库以确定数据库是否包含与指派的唯一识别符相关的记录的装置;
其中用于确定现有DCVS解是否与所述新工作负载相关联的装置包括用于响应于确定数据库包含与指派的唯一识别符相关的记录,基于数据库查询结果来确定现有DCVS解是否与所述新工作负载相关联的装置。
11.根据权利要求7所述的无线装置,其进一步包括:
用于当数据库查询结果不识别与所述新工作负载相关的DCVS解时确定是否针对所述新工作负载创建新的DCVS解的装置;
其中,用于确定是否针对所述新工作负载创建所述新的DCVS解的装置包括:
用于当所述新工作负载包括所述特定工作负载要求时,确定创建所述新的DCVS解的装置;以及
用于当所述新工作负载包括预定的解时,确定不创建所述新的DCVS解的装置;且
其中,用于基于所述特定工作负载要求针对所述新工作负载创建新的DCVS解,在数据库中存储创建的新的DCVS解,基于所创建的新的DCVS解调谐相关联的DCVS算法,并在所述CPU上执行调谐的DCVS算法的装置包括:
用于响应于确定创建所述新的DCVS解,而基于所述特定工作负载要求针对所述新工作负载创建所述新的DCVS解,在数据库中存储所创建的新的DCVS解,基于所创建的新的DCVS解调谐相关联的DCVS算法,并在所述CPU上执行调谐的DCVS算法的装置。
12.根据权利要求10所述的无线装置,其中用于在数据库中存储创建的新的DCVS解的装置包括:
用于结合与所述数据库中的工作负载相关联的所述唯一识别符而存储所述新的DCVS解的装置。
CN201180005279.7A 2010-01-11 2011-01-10 用于无线设备的基于工作负载的功率管理的动态时钟及电压缩放的系统和方法 Expired - Fee Related CN102687098B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US29401910P 2010-01-11 2010-01-11
US61/294,019 2010-01-11
US12/846,058 2010-07-29
US12/846,058 US8671413B2 (en) 2010-01-11 2010-07-29 System and method of dynamic clock and voltage scaling for workload based power management of a wireless mobile device
PCT/US2011/020696 WO2011085320A1 (en) 2010-01-11 2011-01-10 System and method of dynamically controlling a processor

Publications (2)

Publication Number Publication Date
CN102687098A CN102687098A (zh) 2012-09-19
CN102687098B true CN102687098B (zh) 2015-06-17

Family

ID=44259520

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180005279.7A Expired - Fee Related CN102687098B (zh) 2010-01-11 2011-01-10 用于无线设备的基于工作负载的功率管理的动态时钟及电压缩放的系统和方法

Country Status (6)

Country Link
US (2) US8671413B2 (zh)
EP (1) EP2524274A1 (zh)
JP (1) JP5601731B2 (zh)
KR (1) KR20120116975A (zh)
CN (1) CN102687098B (zh)
WO (1) WO2011085320A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI634410B (zh) * 2016-01-04 2018-09-01 美商高通公司 用於在電腦處理器中基於程式階段動態時脈及電壓縮放之方法、裝置及非暫時性電腦可讀儲存媒體

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101648978B1 (ko) * 2009-11-05 2016-08-18 삼성전자주식회사 저전력 멀티코어 시스템에서의 전력 제어 방법 및 장치
US8370665B2 (en) * 2010-01-11 2013-02-05 Qualcomm Incorporated System and method of sampling data within a central processing unit
US8671413B2 (en) * 2010-01-11 2014-03-11 Qualcomm Incorporated System and method of dynamic clock and voltage scaling for workload based power management of a wireless mobile device
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
FR2982386B1 (fr) * 2011-11-08 2016-05-27 Bull Sas Procede, programme d'ordinateur et dispositif d'allocation de ressources informatiques d'un cluster pour l'execution d'un travail soumis audit cluster
US20140089699A1 (en) * 2012-09-27 2014-03-27 Advanced Micro Devices Power management system and method for a processor
CN104699531B (zh) * 2013-12-09 2019-12-13 超威半导体公司 3d芯片系统中的电压下降缓解
KR101842016B1 (ko) * 2013-12-10 2018-03-28 한국전자통신연구원 멀티 코어 환경에서의 동적 전력 제어방법
CN103746721B (zh) * 2013-12-30 2016-08-17 深圳市广和通无线股份有限公司 无线通信模块
US9378536B2 (en) * 2014-04-30 2016-06-28 Qualcomm Incorporated CPU/GPU DCVS co-optimization for reducing power consumption in graphics frame processing
CN104007806B (zh) * 2014-06-20 2017-10-24 中科创达软件股份有限公司 一种安卓系统中的cpu频率的控制方法、装置和设备
US11244264B2 (en) 2014-12-29 2022-02-08 Hand Held Products, Inc. Interleaving surprise activities in workflow
US10146286B2 (en) * 2016-01-14 2018-12-04 Intel Corporation Dynamically updating a power management policy of a processor
US10310572B2 (en) 2016-06-10 2019-06-04 Microsoft Technology Licensing, Llc Voltage based thermal control of processing device
US10338670B2 (en) 2016-06-10 2019-07-02 Microsoft Technology Licensing, Llc Input voltage reduction for processing devices
US10209726B2 (en) 2016-06-10 2019-02-19 Microsoft Technology Licensing, Llc Secure input voltage adjustment in processing devices
US10248186B2 (en) 2016-06-10 2019-04-02 Microsoft Technology Licensing, Llc Processor device voltage characterization
US10387234B2 (en) * 2016-08-05 2019-08-20 Arm Limited Apparatus and method for controlling a power supply to processing circuitry to avoid a potential temporary insufficiency in supply of power
KR20180076840A (ko) 2016-12-28 2018-07-06 삼성전자주식회사 Dvfs 동작을 수행하는 어플리케이션 프로세서, 이를 포함하는 컴퓨팅 시스템 및 이의 동작 방법
KR20180078558A (ko) 2016-12-30 2018-07-10 삼성전자주식회사 시스템 온 칩의 구동 방법, 이를 수행하는 시스템 온 칩 및 이를 포함하는 전자 시스템
DE102017128711A1 (de) 2017-05-24 2018-11-29 Tu Dresden Mehrkernprozessor und Verfahren zur dynamischen Einstellung einer Versorgungsspannung und einer Taktfrequenz
GB2569109B (en) * 2017-11-30 2021-03-31 Samsung Electronics Co Ltd Setting operating system parameters based on workload types
US11269656B2 (en) 2017-11-30 2022-03-08 Samsung Electronics Co., Ltd. Method and device for setting operating system
US10627885B2 (en) * 2018-01-09 2020-04-21 Intel Corporation Hybrid prioritized resource allocation in thermally- or power-constrained computing devices
KR102568686B1 (ko) 2018-02-09 2023-08-23 삼성전자주식회사 컨텍스트 허브를 포함하는 모바일 장치 및 그것의 동작 방법
WO2020082757A1 (en) * 2018-10-26 2020-04-30 Huawei Technologies Co., Ltd. Energy efficiency adjustments for cpu governor
CN110134217B (zh) * 2019-04-10 2021-03-23 深圳市普威技术有限公司 一种cpu功耗管理装置
WO2021011577A1 (en) * 2019-07-15 2021-01-21 Intel Corporation Dynamic energy performance preference based on workloads using an adaptive algorithm
US20230058700A1 (en) * 2021-08-17 2023-02-23 Bank Of America Corporation System and method for dynamically mapping and routing workload requirements to appropriate computing components

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6081901A (en) * 1997-06-03 2000-06-27 Kabushiki Kaisha Toshiba System and method for dynamically controlling processing speed of a computer in response to user commands

Family Cites Families (80)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5396635A (en) * 1990-06-01 1995-03-07 Vadem Corporation Power conservation apparatus having multiple power reduction levels dependent upon the activity of the computer system
US5408663A (en) * 1993-11-05 1995-04-18 Adrem Technologies, Inc. Resource allocation methods
TW282525B (zh) 1994-06-17 1996-08-01 Intel Corp
EP0727728A1 (en) 1995-02-15 1996-08-21 International Business Machines Corporation Computer system power management
US5623647A (en) * 1995-03-07 1997-04-22 Intel Corporation Application specific clock throttling
JP2900997B2 (ja) * 1996-11-06 1999-06-02 富士通株式会社 表示ユニットの消費電力制御のための方法と装置、それを備えた表示システム及びそれを実現するプログラムを格納した記憶媒体
US6928559B1 (en) 1997-06-27 2005-08-09 Broadcom Corporation Battery powered device with dynamic power and performance management
FI117523B (fi) 1998-10-07 2006-11-15 Nokia Corp Menetelmä tehonkulutuksen säätämiseksi
US6298448B1 (en) * 1998-12-21 2001-10-02 Siemens Information And Communication Networks, Inc. Apparatus and method for automatic CPU speed control based on application-specific criteria
US6684341B1 (en) 2000-03-09 2004-01-27 International Business Machines Corporation Method of altering the appearance of an icon of a program to provide an indication to a user that a power management is associated with the particular program
KR100361340B1 (ko) * 2000-05-15 2002-12-05 엘지전자 주식회사 씨피유 클럭 제어 방법
JP2002202959A (ja) * 2000-12-28 2002-07-19 Hitachi Ltd 動的な資源分配をする仮想計算機システム
US6901446B2 (en) 2001-02-28 2005-05-31 Microsoft Corp. System and method for describing and automatically managing resources
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
US7694303B2 (en) * 2001-09-25 2010-04-06 Sun Microsystems, Inc. Method for dynamic optimization of multiplexed resource partitions
US6515530B1 (en) * 2001-10-11 2003-02-04 International Business Machines Corporation Dynamically scalable low voltage clock generation system
JP3692089B2 (ja) * 2002-04-02 2005-09-07 株式会社東芝 消費電力制御方法及び情報処理装置
AUPS236502A0 (en) 2002-05-16 2002-06-13 Peterson, Paul Method of monitoring measurements
US7278136B2 (en) * 2002-07-09 2007-10-02 University Of Massachusetts Reducing processor energy consumption using compile-time information
US7155617B2 (en) * 2002-08-01 2006-12-26 Texas Instruments Incorporated Methods and systems for performing dynamic power management via frequency and voltage scaling
US7174468B2 (en) 2002-08-01 2007-02-06 Texas Instruments Incorporated Methodology for coordinating and tuning application power
US7131015B2 (en) * 2002-11-12 2006-10-31 Arm Limited Performance level selection in a data processing system using a plurality of performance request calculating algorithms
US7194385B2 (en) * 2002-11-12 2007-03-20 Arm Limited Performance level setting of a data processing system
US7321942B2 (en) * 2002-11-12 2008-01-22 Arm Limited Performance counter for adding variable work increment value that is dependent upon clock frequency
US7783759B2 (en) * 2002-12-10 2010-08-24 International Business Machines Corporation Methods and apparatus for dynamic allocation of servers to a plurality of customers to maximize the revenue of a server farm
US7539994B2 (en) 2003-01-03 2009-05-26 Intel Corporation Dynamic performance and resource management in a processing system
CN1759368A (zh) 2003-01-23 2006-04-12 罗切斯特大学 多时钟域微处理器
US7583555B2 (en) * 2003-04-11 2009-09-01 Qualcomm Incorporated Robust and Efficient dynamic voltage scaling for portable devices
KR100940260B1 (ko) * 2003-07-14 2010-02-04 삼성전자주식회사 다이나믹 주파수 스케일링에 따라 동작 모드의 제어가가능한 반도체 시스템 및 동작 모드 제어 방법
US7437580B2 (en) * 2004-05-05 2008-10-14 Qualcomm Incorporated Dynamic voltage scaling system
KR100716730B1 (ko) * 2004-06-11 2007-05-14 삼성전자주식회사 중앙 처리 장치의 아이들 상태에서의 시스템 전력 소모절감을 위한 방법 및 그 방법을 적용한 모바일 장치
US7505795B1 (en) * 2004-07-07 2009-03-17 Advanced Micro Devices, Inc. Power save management with customized range for user configuration and tuning value based upon recent usage
US9250967B2 (en) * 2004-08-23 2016-02-02 Palo Alto Research Center Incorporated Model-based planning with multi-capacity resources
US7711966B2 (en) 2004-08-31 2010-05-04 Qualcomm Incorporated Dynamic clock frequency adjustment based on processor load
WO2006056824A2 (en) 2004-09-10 2006-06-01 Freescale Semiconductor, Inc. Apparatus and method for controlling voltage and frequency
US7386739B2 (en) * 2005-05-03 2008-06-10 International Business Machines Corporation Scheduling processor voltages and frequencies based on performance prediction and power constraints
WO2007049100A1 (en) * 2005-10-27 2007-05-03 Freescale Semiconductor, Inc. System and method for controlling voltage level and clock frequency supplied to a system
KR100806284B1 (ko) * 2005-12-08 2008-02-22 한국전자통신연구원 동적 전압 스케일링을 적용한 고효율 프로세서
TW200746161A (en) * 2005-12-21 2007-12-16 Nxp Bv Power partitioning memory banks
TW200805047A (en) 2005-12-23 2008-01-16 Koninkl Philips Electronics Nv Performance analysis based system level power management
US8181051B2 (en) 2006-02-09 2012-05-15 Freescale Semiconductor, Inc. Electronic apparatus and method of conserving energy
US20070226741A1 (en) * 2006-03-22 2007-09-27 Seshadri Padmanabha V Power management based on dynamic frequency scaling in computing systems
DE102006014037A1 (de) * 2006-03-27 2007-10-11 Infineon Technologies Ag Integrierter Schaltkreis und Verfahren zum Ermitteln eines Betriebsbereichs eines integrierten Schaltkreises
US7721127B2 (en) * 2006-03-28 2010-05-18 Mips Technologies, Inc. Multithreaded dynamic voltage-frequency scaling microprocessor
US7624287B2 (en) * 2006-08-30 2009-11-24 Ati Technologies Ulc Adaptive power state management
US8565943B2 (en) 2006-09-25 2013-10-22 Appereo Systems, LLC Fleet operations quality management system
US7840825B2 (en) * 2006-10-24 2010-11-23 International Business Machines Corporation Method for autonomous dynamic voltage and frequency scaling of microprocessors
US8255915B1 (en) * 2006-10-31 2012-08-28 Hewlett-Packard Development Company, L.P. Workload management for computer system with container hierarchy and workload-group policies
JP5524623B2 (ja) 2006-11-29 2014-06-18 アギア システムズ インコーポレーテッド 動的電力制御及び適応的電力制御のためのスピード・ビニング
US7463096B2 (en) * 2006-12-07 2008-12-09 Taiwan Semiconductor Manufacturing Co., Ltd. Dynamic voltage and frequency management in integrated circuits
TWI326818B (en) * 2006-12-15 2010-07-01 Inst Information Industry Dynamic voltage scheduling method, system thereof and record medium
GB2445167A (en) * 2006-12-29 2008-07-02 Advanced Risc Mach Ltd Managing performance of a processor
US7821350B2 (en) * 2007-01-19 2010-10-26 Qualcomm Incorporated Methods and apparatus for dynamic frequency scaling of phase locked loops for microprocessors
US8145918B2 (en) * 2007-06-28 2012-03-27 International Business Machines Corporation Monitoring system processes energy consumption
WO2009010920A2 (en) * 2007-07-19 2009-01-22 Nxp B.V. Semi-adaptive voltage scaling for low-energy digital vlsi-design
US7913071B2 (en) * 2007-07-31 2011-03-22 Northwestern University Systems and methods for process and user driven dynamic voltage and frequency scaling
JP2009042187A (ja) * 2007-08-10 2009-02-26 Aisin Aw Co Ltd ナビゲーション装置、及びナビゲーションプログラム
US20090049314A1 (en) * 2007-08-13 2009-02-19 Ali Taha Method and System for Dynamic Voltage and Frequency Scaling (DVFS)
GB2452778A (en) * 2007-09-17 2009-03-18 Toshiba Res Europ Ltd Linking dynamic voltage scaling in master and slave modules
US7930573B2 (en) * 2007-09-18 2011-04-19 International Business Machines Corporation Workload apportionment according to mean and variance
US7622979B2 (en) * 2007-10-31 2009-11-24 Sun Microsytems, Inc. Dynamic voltage scaling for self-timed or racing paths
US8370663B2 (en) * 2008-02-11 2013-02-05 Nvidia Corporation Power management with dynamic frequency adjustments
US8239694B2 (en) * 2008-03-31 2012-08-07 Qualcomm, Incorporated Dynamic frequency scaling of a switched mode power supply
US8635625B2 (en) 2008-04-04 2014-01-21 International Business Machines Corporation Power-aware workload allocation in performance-managed computing environments
US20090258641A1 (en) * 2008-04-13 2009-10-15 Toshiba America Research, Inc. Multi-interface parsable mobile devices (pmd) for energy conservation and services enhancement
KR101592055B1 (ko) 2008-05-13 2016-02-04 시놉시스, 인크. 전력 관리자, 전자 시스템, 전력을 관리하는 방법 및 컴퓨터 프로그램 제품
US8032317B2 (en) 2008-05-15 2011-10-04 The Nielsen Company (Us), Llc System and methods for metering and analyzing energy consumption of events within a portable device
US8127160B2 (en) * 2008-10-13 2012-02-28 International Business Machines Corporation Dynamic frequency and voltage scaling for a computer processor
US8261112B2 (en) * 2008-12-08 2012-09-04 International Business Machines Corporation Optimizing power consumption by tracking how program runtime performance metrics respond to changes in operating frequency
US8250384B2 (en) * 2009-01-05 2012-08-21 International Business Machines Corporation Optimizer mechanism to increase battery length for mobile devices
US9231630B2 (en) * 2009-05-05 2016-01-05 San Diego, CA Radio device having dynamic intermediate frequency scaling
US8009090B2 (en) * 2009-05-05 2011-08-30 Sirf Technology, Inc. System and method for dynamic voltage scaling in a GPS receiver
KR101533572B1 (ko) * 2009-05-20 2015-07-03 삼성전자주식회사 전력 관리 방법
US8661274B2 (en) * 2009-07-02 2014-02-25 Qualcomm Incorporated Temperature compensating adaptive voltage scalers (AVSs), systems, and methods
US8117469B2 (en) 2009-07-10 2012-02-14 Packet Digital Automatically determining operating parameters of a power management device
US8924902B2 (en) * 2010-01-06 2014-12-30 Qualcomm Incorporated Methods and circuits for optimizing performance and power consumption in a design and circuit employing lower threshold voltage (LVT) devices
US8671413B2 (en) 2010-01-11 2014-03-11 Qualcomm Incorporated System and method of dynamic clock and voltage scaling for workload based power management of a wireless mobile device
US8745629B2 (en) * 2010-01-11 2014-06-03 Qualcomm Incorporated System and method of controlling power in an electronic device
US8700926B2 (en) * 2010-01-11 2014-04-15 Qualcomm Incorporated System and method of tuning a dynamic clock and voltage switching algorithm based on workload requests
US8510740B2 (en) * 2010-09-16 2013-08-13 Qualcomm Incorporated System and method of performing dynamic voltage and frequency scaling operations on a mobile device

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6081901A (en) * 1997-06-03 2000-06-27 Kabushiki Kaisha Toshiba System and method for dynamically controlling processing speed of a computer in response to user commands

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI634410B (zh) * 2016-01-04 2018-09-01 美商高通公司 用於在電腦處理器中基於程式階段動態時脈及電壓縮放之方法、裝置及非暫時性電腦可讀儲存媒體

Also Published As

Publication number Publication date
US8996595B2 (en) 2015-03-31
KR20120116975A (ko) 2012-10-23
US20130132973A1 (en) 2013-05-23
JP5601731B2 (ja) 2014-10-08
JP2013516712A (ja) 2013-05-13
US8671413B2 (en) 2014-03-11
WO2011085320A1 (en) 2011-07-14
US20110173617A1 (en) 2011-07-14
CN102687098A (zh) 2012-09-19
EP2524274A1 (en) 2012-11-21

Similar Documents

Publication Publication Date Title
CN102687098B (zh) 用于无线设备的基于工作负载的功率管理的动态时钟及电压缩放的系统和方法
CN102656539B (zh) 用于基于所推断的工作负载并行性控制中央处理单元功率的系统和方法
CN102687096B (zh) 用于异步地并独立地控制多核中央处理单元中的核时钟的系统和方法
CN102695998B (zh) 用于在虚拟化系统中控制中央处理单元功率的系统和方法
CN102687097B (zh) 用于以保证的稳定状态期限来控制中央处理单元功率的系统和方法
CN102652296B (zh) 用于基于温度动态地控制多核中央处理单元中的多个核的系统和方法
CN102934045A (zh) 用于以保证的瞬时期限来控制中央处理单元功率的系统和方法
KR101562448B1 (ko) 휴대용 컴퓨팅 디바이스의 멀티코어 프로세서에서 다수의 코어들로의 전력을 동적으로 제어하는 방법 및 시스템
CN103270471B (zh) 通过调度资源集转变来使便携式计算设备的处理器应用状态之间的资源等待时间最小化
EP2631736A1 (en) Sleep method, wake method and mobile terminal device
CN103140831B (zh) 在处理器处执行线程的系统和方法
US20170262311A1 (en) Methods, apparatuses, and systems for controlling task migration
CN102667669B (zh) 对中央处理单元内的数据进行取样的系统和方法
US20130262891A1 (en) Method and system for managing power of a mobile device
US20120066526A1 (en) System and method for determining optimal operating parameters for conserving power of a portable computing device
CN104838360A (zh) 基于配额的资源管理
CN103930874A (zh) 使用经调度资源组转变通过对便携式计算装置的工作负载估计而节省功率
CN102652298A (zh) 用于以减小的频率振荡控制中央处理单元功率的系统和方法
CN103959303A (zh) 减少nfc对等模式连接时间
CN104969142A (zh) 用于以有保证的瞬态最后期限来控制中央处理单元功率的系统和方法
US20180167878A1 (en) Core frequency/count decision-based thermal mitigation optimization for a multi-core integrated circuit
WO2012087533A1 (en) Minimizing resource latency between processor application states in a portable computing device by using a next-active state set
CN102754045B (zh) 基于工作负荷请求而调谐动态时钟和电压切换算法的系统和方法
CN104699535B (zh) 一种信息处理方法及电子设备
US20150301582A1 (en) Energy Efficient Mobile Device

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20150617

Termination date: 20220110