用于以保证的稳定状态期限来控制中央处理单元功率的系统和方法

文档序号:6351433阅读:164来源:国知局
专利名称:用于以保证的稳定状态期限来控制中央处理单元功率的系统和方法
技术领域
背景技术
便携式计算装置(PD)到处可见。这些装置可包含蜂窝式电话、便携式数字助理(PDA)、便携式游戏控制台、掌上型计算机,和其它便携式电子装置。除了这些装置的主要功能之外,许多装置包含外围功能。举例来说,蜂窝式电话可包含进行蜂窝式电话呼叫的主要 功能,和静态相机、视频相机、全球定位系统(GPS)导航、网络浏览、发送和接收电子邮件、发送和接收文本消息、即按即说能力等的外围功能。随着此类装置的功能性增加,支持此类功能性所需的计算或处理功率也增加。此外,随着计算功率增加,更需要有效地管理提供计算能力的处理器。因此,所需的是控制多核CPU内的功率的改进的方法
发明内容


在图中,相同的参考数字在所有各种视图中指代相同的部分,除非另有指示。图I是处于闭合位置的便携式计算装置(P⑶)的第一方面的正视平面图;图2是处于打开位置的P⑶的第一方面的正视平面图;图3是P⑶的第二方面的方框图;图4是处理系统的方框图;图5是说明动态地控制CPU的方法的第一方面的流程图;图6是说明动态地控制CPU的方法的第二方面的流程图;图7是说明动态地控制CPU的方法的第三方面的流程图;以及图8是说明动态地控制CPU的方法的第四方面的流程图;图9是说明计算有效CPU利用率的方法的流程图;图10是说明确定滤波器是否足够快地响应的方法的流程图;图11是说明在闲置周期期间更新滤波器的方法的流程图;图12是说明在忙周期期间更新滤波器的方法的流程图;以及图13是描绘CPU利用率对时间的图表。
具体实施例方式词语“示范性”在本文中用于表示“充当实例、例子或说明”。在本文中描述为“示范性”的任何方面不一定解释为比其它方面优选或有利。在此描述中,术语“应用程序”还可包含具有可执行内容的文件,例如对象代码、脚本、字节代码、标记语言文件和补丁。另外,本文中所涉及的“应用程序”还可包含本质上不可执行的文件,例如可能需要打开的文档或需要存取的其它数据文件。术语“内容”还可包含具有可执行内容的文件,例如对象代码、脚本、字节代码、标记语言文件和补丁。另外,本文中所涉及的“内容”还可包含本质上不可执行的文件,例如可能需要打开的文档或需要存取的其它数据文件。如此描述中所使用,术语“组件”、“数据库”、“模块”、“系统”等意欲指代计算机相关实体,硬件、固件、硬件和软件的组合、软件或执行中的软件。举例来说,组件可为(但不 限于)运行在处理器上的进程、处理器、对象、可执行程序、执行线程、程序,和/或计算机。以说明的方式,运行在计算装置上的应用程序和计算装置两者均可为组件。一个或一个以上组件可驻留于进程和/或执行线程内,且组件可位于一个计算机上和/或分布于两个或两个以上计算机之间。另外,这些组件可从上面存储有各种数据结构的各种计算机可读媒体来执行。组件可例如根据具有一个或一个以上数据包的信号(例如,来自一个借助所述信号与在本地系统、分布式系统中的另一组件和/或跨越例如因特网等网络与其它系统交互的组件的数据)而通过本地和/或远程进程进行通信。起初参看图I和图2,展示示范性便携式计算装置(P⑶)且大体上标示为100。如图所示,P⑶100可包含外壳102。外壳102可包含上部外壳部分104和下部外壳部分106。图I展示上部外壳部分104可包含显示器108。在特定方面中,显示器108可为触摸屏显示器。上部外壳部分104还可包含跟踪球输入装置110。此外,如图I中所示,上部外壳部分104可包含通电按钮112和断电按钮114。如图I中所示,P⑶100的上部外壳部分104可包含多个指示器灯116和扬声器118。每一指示器灯116可为发光二极管(LED)。在特定方面中,如图2中所描绘,上部外壳部分104可相对于下部外壳部分106移动。具体来说,上部外壳部分104可相对于下部外壳部分106滑动。如图2中所示,下部外壳部分106可包含多按钮键盘120。在特定方面中,多按钮键盘120可为标准QWERTY键盘。在上部外壳部分104相对于下部外壳部分106移动时可露出多按钮键盘120。图2进一步说明P⑶100可包含下部外壳部分106上的复位按钮122。参看图3,其展示便携式计算装置(PCD)的示范性非限制性方面且大体上标示为320。如图所示,P⑶320包含芯片上系统322,芯片上系统322包含多核CPU 324。多核CPU324可包含第零核325、第一核326和第N核327。如图3中所说明,显示器控制器328和触摸屏控制器330耦合到多核CPU 324。芯片上系统322外部的触摸屏显示器332又耦合到显示器控制器328和触摸屏控制器330。图3进一步指示视频编码器334 (例如,逐行倒相(PAL)编码器、顺序传送彩色与存储(SECAM)编码器,或美国电视系统委员会(NTSC)编码器)耦合到多核CPU 324。此外,视频放大器336耦合到视频编码器334和触摸屏显示器332。而且,视频端口 338耦合到视频放大器336。如图3中所描绘,通用串行总线(USB)控制器340耦合到多核CPU324。而且,USB端口 342耦合到USB控制器340。存储器344和订户身份模块(SM)卡346也可耦合到多核CPU 324。此外,如图3中所示,数码相机348可耦合到多核CPU324。在示范性方面中,数码相机348为电荷耦合装置(CCD)相机或互补金属氧化物半导体(CMOS)相机。如图3中进一步说明,立体声音频CODEC 350可耦合到多核CPU 324。另外,音频放大器352可耦合到立体声音频CODEC 350。在示范性方面中,第一立体声扬声器354和第二立体声扬声器356耦合到音频放大器352。图3展示麦克风放大器358也可耦合到立体声音频CODEC 350。另外,麦克风360可耦合到麦克风放大器358。在特定方面中,调频(FM)无线电调谐器362可耦合到立体声音频CODEC 350。而且,FM天线364耦合到FM无线电调谐器362。此外,立体声头戴式送受话器366可耦合到立体声音频CODEC 350。
图3进一步指示射频(RF)收发器368可耦合到多核CPU 324。RF开关370可耦 合到RF收发器368和RF天线372。如图3中所示,小键盘374可耦合到多核CPU 324。而且,具有麦克风的单声道耳机376可耦合到多核CPU 324。此外,振动器装置378可耦合到多核CPU 324。图3还展示电源380可耦合到芯片上系统322。在特定方面中,电源380为给PCD 320的需要电力的各种组件提供电力的直流(DC)电源。此外,在特定方面中,电源为可再充电DC电池或从连接到AC电源的交流(AC)-DC变压器得到的DC电源。图3进一步指示P⑶320还可包含网卡388,网卡388可用于接入数据网络,例如局域网、个域网或任何其它网络。网卡388可为蓝牙网卡、WiFi网卡、个域网(PAN)卡、个域网超低功率技术(PeANUT)网卡,或此项技术中众所周知的任何其它网卡。此外,网卡388可并入到芯片中,即网卡388可为芯片上的整个解决方案,且可不为单独的网卡388。如图3中所描绘,触摸屏显示器332、视频端口 338、USB端口 342、相机348、第一立体声扬声器354、第二立体声扬声器356、麦克风360、FM天线364、立体声头戴式送受话器366、RF开关370、RF天线372、小键盘374、单声道耳机376、振动器378,和电源380在芯片上系统322的外部。在特定方面中,本文中所描述的方法步骤中的一者或一者以上可作为计算机程序指令存储于存储器344中。这些指令可由多核CPU 324执行以便执行本文中所描述的方法。此外,多核CPU 324、存储器344或其组合可用作用于执行本文中所描述的方法步骤中的一者或一者以上以便动态地控制多核CPU 324内的每一 CPU或核的功率的装置。参看图4,展示处理系统且大体上标示为500。在特定方面中,处理系统500可并入到上文结合图3所描述的P⑶320中。如图所示,处理器系统500可包含多核中央处理单元(CPU) 402和连接到多核CPU 402的存储器404。多核CPU 402可包含第零核410、第一核412和第N核414。第零核410可包含在其上执行的第零动态时钟和电压缩放(DCVS)算法416。第一核412可包含在其上执行的第一 DCVS算法417。此外,第N核414可包含在其上执行的第N DCVS算法418。在特定方面中,每一 DCVS算法416、417、418可独立地在相应核412、414、416上执行。另外,如所说明,存储器404可包含存储于其上的操作系统420。操作系统420可包含调度器422,且调度器422可包含第一运行队列424、第二运行队列426,和第N运行队列428。存储器404还可包含存储于其上的第一应用程序430、第二应用程序432和第N应用程序434。在特定方面中,应用程序430、432、434可将一个或一个以上任务436发送到操作系统420以在多核CPU 402内的核410、412、414处进行处理。可将任务436处理或执行为单个任务、线程或其组合。此外,调度器422可调度任务、线程或其组合以用于在多核CPU402内执行。另外,调度器422可将任务、线程或其组合放置于运行队列424、426、428中。核410、412、414可如(例如)操作系统420所指令而从运行队列424、426、428检索任务、线程或其组合,以用于在核410、412、414处对那些任务和线程的处理或执行。图4还展示存储器404可包含存储于其上的并行度监视器440。并行度监视器440可连接到操作系统420和多核CPU 402。具体来说,并行度监视器440可连接到操作系统420内的调度器422。图5说明动态地控制中央处理单元的功率的方法的第一方面,其经展示且大体上标示为500。开始于方框502处,在操作期间,可执行以下步骤。在决策504处,控制器(例 如,动态时钟和电压缩放(DCVS)算法)可确定CPU是否处于稳定状态。如果不是,则方法500可结束。否则,方法500可前进到方框506,且控制器可计算CPU的最佳频率。在方框508处,DCVS可保证稳定状态CPU利用率。此外,在方框510处,DCVS可保证稳定状态CPU利用
率期限。其后,方法500可结束。参看图6,展示动态地控制中央处理单元的功率的方法的第二方面,且大体上标示为600。方法600可以do循环开始于方框602处,其中在装置通电时或每当响应性保证被改变时,可执行以下步骤。在方框604处,功率控制器(例如,动态时钟和电压缩放(DCVS)算法)可将响应性设定为最不可能的响应性值。在决策606处,功率控制器可确定响应性是否小于最快可能的响应性值。如果不是,则方法600可结束。相反,如果响应性小于最快可能的响应性,则方法600可移动到方框608。在方框608处,功率控制器可将时间变量设定成等于一。其后,在决策610处,功率控制器可确定时间是否小于或等于CPU利用率期限。如果不是,则 方法可移动到方框612,且功率控制器可增加响应性。随后,方法600可返回到决策606且方法600可如本文中所描述继续。返回到决策610,如果时间小于或等于CPU利用率期限,则方法可前进到方框614,且功率控制器可基于响应性值、滤波器(IIR)和CPU忙时间(CPUBusy)来确定稳定状态CPU频率(SteadyStateCPUFreq)。随后,在决策616处,功率控制器可确定SteadyStateCPUFreq是否大于或等于最大 CPU 频率(MaxCPUFreq)。如果 SteadyStateCPUFreq 不大于或等于 MaxCPUFreq,则方法可移动到方框618,且功率控制器可将时间变量增加整数一(时间=时间+1)。其后,方法600可返回到决策610且方法600可如本文中所描述继续下去。返回到决策616,如果SteadyStateCPUFreq大于或等于MaxCPUFreq,则方法600可继续到方框620,且功率控制器可将稳定状态响应性变量(SteadyStateResp)设定成等于响应性值。方法600可随后结束。参看图7,展示动态地控制中央处理单元的功率的方法的第三方面,且大体上标示为700。方法700可开始于方框702处。在方框702处,功率控制器(例如,动态时钟和电压缩放(DCVS)算法)可将稳定状态α变量(SteadyStateAlpha)设定成等于零。在方框704处,功率控制器可将稳定状态CPU频率(SteadyStateCPUFreq)设定成等于零。此外,在方框706处,功率控制器可将无限脉冲响应(IIR)滤波器值设定成等于零。在方框708处,功率控制器可将变量(α)设定成等于最大α变量(MaxAlpha)。移动到决策710,功率控制器可确定α是否大于零。如果不是,则方法700可结束。相反,如果α大于零,则方法700可移动到方框712。在方框712处,功率控制器可将时间变量设定成等于一。其后,在决策714处,功率控制器可确定时间是否小于或等于CPU利用率期限。如果不是,则方法可移动到方框716,且功率控制器可将α减小整数一(α =α -I)。随后,方法700可返回到决策710且方法700可如本文中所描述继续。返回到决策714,如果时间小于或等于CPU利用率期限,则方法可前进到方框718,且功率控制器可基于变量U )、滤波器(IIR)和CPU忙时间(CPUB usy)来确定稳定状态CPU频率(SteadyStateCPUFreq)。随后,在决策720处,功率控制器可确定SteadyStateCPUFreq是否大于或等于最大CPU频率(MaxCPUFreq)。如果SteadyStateCPUFreq不大于或等于MaxCPUFreq,则方法可移动到方框722,且功率控制器可将时间变量增加整数一(时间=时间+1)。其后,方法700可返回到决策714且方法700可如本文中所描述继续下去。返回到决策720,如果SteadyStateCPUFreq大于或等于MaxCPUFreq,则方法700可继续到方框724,且功率控制器可将稳定状态α变量(SteadyStateAlpha)设定成等于α。方法700可随后结束。图8说明动态地控制中央处理单元的功率的方法的第四方面,其被展示且大体上标示为800。方法800可开始于方框802处。在方框802处,功率控制器(例如,动态时钟和电压缩放(DCVS)算法)可将稳定状态α变量(SteadyStateAlpha)设定成等于零。在方框804处,功率控制器可将稳定状态CPU频率(SteadyStateCPUFreq)设定成等于零。此夕卜,在方框806处,功率控制器可将无限脉冲响应(IIR)滤波器值设定成等于零。在方框808处,功率控制器可将变量α设定成等于最大α值MaxAlpha。在方框808处,还可将另一变量BestAlpha设定为MaxAlpha。而且,在方框808处,可将另一变量BestHeadroomPct设定为零,且可将变量BestEffectiveCPUUtilization设定为零。移动到决策810,功率控制器可确定α是否大于零。如果不是,则方法800可如进到方框826,且控制器可将稳定状态α变量(SteadyStateAlpha)设定成等于最佳α值。而且,控制器可将稳定状态净空变量设定为最佳净空值。其后,方法800可结束。返回到决策810,如果α大于零,则方法800可移动到方框812。在方框812处,功率控制器可将净空百分比(HeadroomPCT)变量设定成等于一。其后,在决策814处,功率控制器可确定净空百分比是否小于CPU利用率。如果不是,则方法可移动到方框816,且功率控制器可将α减小整数一(α = α-1)0随后,方法800可返回到决策810且方法800可如本文中所描述继续。返回到决策814,如果净空百分比小于CPU利用率,则方法可前进到方框818,且功率控制器可确定有效CPU利用率是否大于最佳有效CPU利用率。如果不是,则方法800可移动到方框820,且功率控制器可将净空百分比变量增加整数一(HeadroomPCT =HeadroomPCT+1)。其后,方法800可返回到决策814且方法800可如本文中所描述继续下去。返回到决策818,如果有效CPU利用率大于最佳有效CPU利用率,则方法800可继续到决策822,且控制器可例如使用下文所描述的图10中所示的方法步骤来确定滤波器是否足够快地响应。如果不是,则方法800可返回到方框820且如本文中所描述继续下去。否则,方法800可前进到方框824,且控制器可将BestEffectiveCPUUtilization设定成等于EffectiveCPUUtilization。在特定方面中,可如图9中所示确定EffectiveCPUUtilization,如下文所描述。在方框824处,可将BestAlpha设定成α的值且将BestHeadRoomPct设定为HeadroomPCT的值。方法800可从方框824返回到方框820且方法800可随后如本文中所描述继续。现在参看图9,展示计算EffectiveCPUUtilization的方法且开始于方框902。在方框902处,将EffectiveCPUUtilization设定成等于零。接下来,在决策904处,可确定当前CPUUtilization是否大于净空百分比(HeadroomPCT)。如果不是,贝U方法900可结束。否则,方法900可前进到方框906,且可例如使用以下公式确定EffectiveCPUUtilization EffectiveCPUUtilization = ((maxFreq*CPUUtilizationPct)/EffectiveFrequency
其中,maxFreq =最大频率,CPUUtiIizationPct =当前 CPU 利用率百分比,且EffectiveFrequency =根据以下公式确定的有效频率EffectiveFrequency = (((maxFreq+minFreq>>alpha))/CPUUtiIizationPct-HeadroomPCT))*100)其中,maxFreq =最大频率,minFreq =最小频率,α =滤波器变量,CPUUtiIizationPct =当前 CPU 利用率百分比,且HeadroomPCT =当前净空百分比。
=右移在于方框906处确定EffectiveCPUUtilization之后,方法900可结束。图10说明确定滤波器是否足够快地响应的方法,其经展示且大体上标示为1000。开始于方框 1002 处,将忙时间变量BusyMS 设定为(CPUUtiIizationDeadline*CPUUtiIizationPct)/100。在方框 1004处,可将闲置时间变量 IdleMS设定为(CPUUtiIization-BusyMS)。在1006处,可将性能水平变量pLevel设定为零。移动到方框1008,可将稳定状态滤波器IIR设定为((2~ (IIR_Size-alpha))-I)。在方框1010处,可确定IIR2Freq是否大于最大频率maxFreq。如果不是,则方法1000可移动到方框1012,且其可指示滤波器正在预定时间内作出响应,例如,其足够快地响应。其后,方法1000可结束。返回到决策1010,如果IIR2Freq小于最大频率,则方法1000可前进到方框1014,且可将稳定状态IIR值设定为零。其后,可确定BusyMS是否大于零且IIR2Freq是否小于maxFreq。如果不是,则方法1000可前进到方框1012且方法1000可如本文中所描述继续。如果是,则方法1000可前进到决策1018,且可确定IdleMS是否大于零。如果是,则方法1000可移动到方框1020,且可将busyPulse值设定为ceiling(busyMS/idleMS),其中如果(busyMS/idleMS)含有非零分数部分,则取上限装置四舍五入为下一最高整数值。而且,可将idlePulse值设定为等于ceiling(idleMS/busyMS)。其后,在方框1022处,可执行UpdateIIRBusy方法以便在先前所计算的整数个忙循环内更新稳定状态IIR。举例来说,UpdateIIRBusy方法可为图12中所示的UpdateIIRBusy方法。此外,可执行UpdateIIRIdle方法以便在先前所计算的整数个闲置循环内更新稳定状态IIR。举例来说,UpdateIIRIdle方法可为图11中所示的UpdateIIRIdle方法。在方框1022处,可将BusyMS值减去BusyPulse值,且可将IdleMS值减去IdlePulse值。其后,方法1000可返回到决策1016且方法1000可如本文中所描述继续下去。图11说明UpdateIIRIdle方法,其大体上标示为1100。方法1100可以do循环开始于方框1102,其中在执行UpdateIIRIdle方法时,可执行以下步骤。在决策1104处,可确定持续时间变量是否大于零。如果不是,则方法1100可结束。否则,如果持续时间大于 零,则方法1100可前进到方框1106,且可将滤波器值IIR减去IIR a (例如,将整数IIR值右移a位)(IIR= IIR-(IIR>>a)。其后,方法1100可移动到方框1108,且可将持续时间减去整数一(持续时间=持续时间-I)。方法1100可随后返回到决策1104,且如本文中所描述继续下去。图12说明UpdateIIRBusy方法,其大体上标示为1200。方法1200可以do循环开始于方框1202,其中在执行UpdateIIRBusy方法时,可执行以下步骤。在决策1204处,可确定持续时间变量是否大于零。如果不是,则方法1200可结束。否则,如果持续时间大于零,则方法1200可前进到方框1206,且可使用以下公式确定滤波器值IIR IIR= (IIR-(IIR>>alpha)) + ((1〈〈(IIR_Size_alpha))-I其中,IIR=滤波器值,α =变量,且IIR_Size = IIR 的大小。X Y =将整数值X右移Y位(即,X/(2~Y))Χ〈〈Υ =将整数值 X 左移 Y 位(SP,X*(2~Y))在方框1206处确定IIR之后,方法1200可移动到方框1208,且可将持续时间减去整数一(持续时间=持续时间-I)。方法1200可随后返回到决策1204,且如本文中所描述继续下去。应理解,本文中所描述的方法步骤不需要一定以所描述的次序执行。此外,例如“其后”、“随后”、“接下来”等词语无意限制步骤的次序。这些词语仅用于引导读者阅读方法步骤的描述。另外,本文中所描述的方法被描述为可在便携式计算装置(PCD)上执行。PCD可为移动电话装置、便携式数字助理装置、智能本计算装置、上网本计算装置、膝上型计算装置、桌上型计算装置或其组合。本文中所描述的系统和方法提供一种防止DCVS将工作负荷延滞得过多并导致任务失败的方法。所述系统和方法利用稳定状态性能保证。所述稳定状态性能保证可为CPU可超过指定CPU利用率(即,忙百分比)的最大时间量(即,期限)。通过使用稳定状态性能保证,可消除为了满足Q0S要求而对DCVS算法和相关性能特性的特用分析。可将稳定状态性能组件建模为滤波器,且滤波器参数可经计算以使得滤波器的响应性得到保证以满足稳定状态CPU利用率限值和稳定状态CPU利用率限值期限。举例来说,在特定方面中,为满足1000毫秒期限内最大百分之九十(90%)的CPU利用率要求,可在26的α (取决于性能水平)下以I毫秒粒度的忙/闲置输入来配置简单的IIR滤波器。在特定方面中,为确定α的正确值,可将滤波器设定为其最低值,且随后可在滤波器中执行忙/闲置链以匹配CPU利用率限值。随后对于每一可能的α,可选择满足CPU利用率期限的最大α。在一个或一个以上示范性方面中,可以硬件、软件、固件或其任何组合来实施所描述的功能。如果以软件实施,则可将功能作为一个或一个以上指令或代码而存储在计算机程序产品(例如,机器可读媒体(即,计算机可读媒体))上或经由计算机程序产品进行传输。计算机可读媒体包含计算机存储媒体与通信媒体两者,通信媒体包含促进将计算机程序从一处传递到另一处的任何媒体。存储媒体可为可由计算机存取的任何可用媒体。举例来说而非限制,此计算机可读媒体可包含RAM、ROM、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置,或可用以运载或存储呈指令或数据结构的形式的所要程序代码且可由计算机存取的任何其它媒体。而且,可恰当地将任何连接称作计算机可读媒体。举例来说,如果使用同轴电缆、光纤电缆、双绞线、数字订户线(DSL)或例如红外线、
无线电及微波的无线技术从网站、服务器或其它远程源传输软件,则同轴电缆、光纤电缆、双绞线、DSL或例如红外线、无线电及微波的无线技术包含于媒体的定义中。如本文中所使用,磁盘及光盘包括压缩光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)、软盘和蓝光光盘,其中磁盘通常以磁性方式再现数据,而光盘用激光以光学方式再现数据。以上各者的组合也应包含在计算机可读媒体的范围内。虽然已详细地说明和描述了选定的方面,但将理解,在不脱离由所附权利要求书界定的本发明的精神和范围的情况下,可在其中进行各种替代和更改。
权利要求
1.一种动态地控制中央处理单元的方法,所述方法包括 确定CPU何时进入稳定状态; 在所述CPU进入稳定状态时计算所述CPU的最佳频率; 保证稳定状态CPU利用率;以及 保证稳定状态CPU利用率期限。
2.根据权利要求I所述的方法,其进一步包括 将响应性值设定成最不可能的响应性值。
3.根据权利要求2所述的方法,其进一步包括 确定所述响应性值是否大于最快可能的响应性值。
4.根据权利要求3所述的方法,其进一步包括 在所述响应性大于所述最快可能的响应性值时,将时间变量设定成等于一。
5.根据权利要求4所述的方法,其进一步包括 确定所述时间变量是否小于CPU利用率期限。
6.根据权利要求5所述的方法,其进一步包括 在所述时间小于所述CPU利用率期限时,增加所述响应性值。
7.根据权利要求5所述的方法,其进一步包括 在所述时间变量小于所述CPU利用率期限时,确定稳定状态CPU频率。
8.根据权利要求7所述的方法,其进一步包括 确定所述稳定状态CPU频率是否大于最大CPU频率。
9.根据权利要求8所述的方法,其进一步包括 在所述稳定状态CPU频率不大于所述最大CPU频率时,将所述时间变量增加整数一。
10.根据权利要求8所述的方法,其进一步包括 在所述稳定状态CPU频率大于所述最大CPU频率时,将稳定状态响应性变量设定成等于所述响应性值。
11.一种无线装置,其包括 用于确定CPU何时进入稳定状态的装置; 用于在所述CPU进入稳定状态时计算所述CPU的最佳频率的装置; 用于保证稳定状态CPU利用率的装置;以及 用于保证稳定状态CPU利用率期限的装置。
12.根据权利要求11所述的无线装置,其进一步包括 用于将响应性值设定成最不可能的响应性值的装置。
13.根据权利要求12所述的无线装置,其进一步包括 用于确定所述响应性值是否大于最快可能的响应性值的装置。
14.根据权利要求13所述的无线装置,其进一步包括 用于在所述响应性大于所述最快可能的响应性值时将时间变量设定成等于一的装置。
15.根据权利要求14所述的无线装置,其进一步包括 用于确定所述时间变量是否小于CPU利用率期限的装置。
16.根据权利要求15所述的无线装置,其进一步包括 用于在所述时间小于所述CPU利用率期限时增加所述响应性值的装置。
17.根据权利要求15所述的无线装置,其进一步包括 用于在所述时间变量小于所述CPU利用率期限时确定稳定状态CPU频率的装置。
18.根据权利要求17所述的无线装置,其进一步包括 用于确定所述稳定状态CPU频率是否大于最大CPU频率的装置。
19.根据权利要求18所述的无线装置,其进一步包括 用于在所述稳定状态CPU频率不大于所述最大CPU频率时将所述时间变量增加整数一的装置。
20.根据权利要求18所述的无线装置,其进一步包括 用于在所述稳定状态CPU频率大于所述最大CPU频率时将稳定状态响应性变量设定成等于所述响应性值的装置。
21.一种无线装置,其包括 处理器,其中所述处理器可操作以 确定CPU何时进入稳定状态; 在所述CPU进入稳定状态时计算所述CPU的最佳频率; 保证稳定状态CPU利用率;以及 保证稳定状态CPU利用率期限。
22.根据权利要求21所述的无线装置,其中所述处理器进一步可操作以 将响应性值设定成最不可能的响应性值。
23.根据权利要求22所述的无线装置,其中所述处理器进一步可操作以 确定所述响应性值是否大于最快可能的响应性值。
24.根据权利要求23所述的无线装置,其中所述处理器进一步可操作以 在所述响应性大于所述最快可能的响应性值时,将时间变量设定成等于一。
25.根据权利要求24所述的无线装置,其中所述处理器进一步可操作以 确定所述时间变量是否小于CPU利用率期限。
26.根据权利要求25所述的无线装置,其中所述处理器进一步可操作以 在所述时间小于所述CPU利用率期限时,增加所述响应性值。
27.根据权利要求25所述的无线装置,其中所述处理器进一步可操作以 在所述时间变量小于所述CPU利用率期限时,确定稳定状态CPU频率。
28.根据权利要求27所述的无线装置,其中所述处理器进一步可操作以 确定所述稳定状态CPU频率是否大于最大CPU频率。
29.根据权利要求28所述的无线装置,其中所述处理器进一步可操作以 在所述稳定状态CPU频率不大于所述最大CPU频率时,将所述时间变量增加整数一。
30.根据权利要求28所述的无线装置,其中所述处理器进一步可操作以 在所述稳定状态CPU频率大于所述最大CPU频率时,将稳定状态响应性变量设定成等于所述响应性值。
31.一种存储器媒体,其包括 用于确定CPU何时进入稳定状态的至少一个指令; 用于在所述CPU进入稳定状态时计算所述CPU的最佳频率的至少一个指令; 用于保证稳定状态CPU利用率的至少一个指令;以及用于保证稳定状态CPU利用率期限的至少一个指令。
32.根据权利要求31所述的存储器媒体,其进一步包括 用于将响应性值设定成最不可能的响应性值的至少一个指令。
33.根据权利要求32所述的存储器媒体,其进一步包括 用于确定所述响应性值是否大于最快可能的响应性值的至少一个指令。
34.根据权利要求33所述的存储器媒体,其进一步包括 用于在所述响应性大于所述最快可能的响应性值时将时间变量设定成等于一的至少一个指令。
35.根据权利要求34所述的存储器媒体,其进一步包括 用于确定所述时间变量是否小于CPU利用率期限的至少一个指令。
36.根据权利要求35所述的存储器媒体,其进一步包括 用于在所述时间小于所述CPU利用率期限时增加所述响应性值的至少一个指令。
37.根据权利要求35所述的存储器媒体,其进一步包括 用于在所述时间变量小于所述CPU利用率期限时确定稳定状态CPU频率的至少一个指令。
38.根据权利要求37所述的存储器媒体,其进一步包括 用于确定所述稳定状态CPU频率是否大于最大CPU频率的至少一个指令。
39.根据权利要求38所述的存储器媒体,其进一步包括 用于在所述稳定状态CPU频率不大于所述最大CPU频率时将所述时间变量增加整数一的至少一个指令。
40.根据权利要求38所述的存储器媒体,其进一步包括 用于在所述稳定状态CPU频率大于所述最大CPU频率时将稳定状态响应性变量设定成等于所述响应性值的至少一个指令。
全文摘要
本发明揭示动态地控制中央处理单元的方法。所述方法可包含确定CPU何时进入稳定状态;在所述CPU进入稳定状态时计算用于所述CPU的最佳频率;保证稳定状态CPU利用率;以及保证稳定状态CPU利用率期限。
文档编号G06F1/32GK102687097SQ201080056533
公开日2012年9月19日 申请日期2010年12月8日 优先权日2009年12月16日
发明者博胡斯拉夫·雷赫利克, 史蒂文·S·汤姆森, 布莱恩·J·萨尔斯贝瑞, 素密·苏尔, 诺曼·S·加尔加石, 阿里·伊兰里 申请人:高通股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1