专利名称:用于优化无线设备的功耗的装置和方法
技术领域:
概括地说,本发明涉及用于优化电子组件(例如,无线设备)的功耗的装置和方法。具体地说,本发明涉及用于通过改善使用动态时钟和电压调节(DCVQ技术的电子组件的电路响应时间,来优化功耗的方法和装置。
背景技术:
优化电子设备的功耗正日益变得重要,尤其是对于诸如电池供电的移动设备之类的设备而言。为了用户方便,人们期望尽可能地延长电池的操作时间。如今存在众多的方式来延长移动设备的操作时间的方法,包括降低电池的电力负载(即,DC电流消耗)。一种用于实现电力负载降低的方式是例如通过移动设备中的电子组件的有效功率管理,来优化该移动设备中的电路的功耗。有效功率管理是指用于根据当前操作状态来调整DC电流消耗量的动态技术。一种动态地调整诸如处理器或中央处理单元(CPU)之类的电路的功耗的方式是通过动态时钟和电压调节(DCVQ进行的。DCVS根据CPU(例如,应用处理器)的使用水平,来控制该CPU的功耗。这可以通过监测CPU使用水平,并随后根据监测的CPU使用水平来动态地改变该CPU时钟频率和操作电压的电压调节来实现。例如, 当相对于时钟频率,CPU使用水平增加时,则动态地增加时钟频率,或者当相对于时钟频率, CPU使用水平降低时,则动态地降低时钟频率,其在CPU使用水平较低时提供省电。同样,可以响应于监测的CPU使用水平来修改电压调节。通过根据使用水平来动态地调整CPU的时钟频率和电压,可以更好地优化功耗。特别在未来的移动无线设备设计中,也可以将DCVS功能移到移动无线设备的调制解调处理器中。当前,公知的DCVS功能对可以容忍较大延迟的应用处理器上的功耗的响应时间进行优化。如果DCVS功能与执行更多时间灵敏性任务的处理器(例如,在具有严格的完成时间限制的调制解调处理器中执行一个或多个实时活动的处理器)合并,则公知的 DCVS功能不具有用于改变CPU的频率和/或电压的足够快速的响应或处理时间,从而不能充分地处理数据和因此满足调制解调器的所有客户端的需求。在某些场景中,使用DCVS可能导致较低的DC电流消耗状态与较慢的瞬时响应。在这些情况下,传统的DCVS导致不能满足所有处理器客户端的需求的处理响应时间。
发明内容
根据一个方面,公开了一种用于无线设备中的功率优化的方法。该方法包括监测数据缓冲器中保存的数据量,其中所述数据缓冲器对输入到至少一个处理器的数据和从所CN 102549523 A述至少一个处理器输出的数据中的至少一个进行缓存。此外,该方法还包括根据所述数据缓存器中保存的数据量来修改控制函数的参数,其中所述控制函数被配置为根据所述至少一个处理器的负载来控制所述至少一个处理器的至少操作速度。根据另一个方面,公开了一种用于无线设备中的功率优化的装置。该装置包括至少一个第一监测器,被配置为监测数据缓冲器中保存的数据量,其中所述数据缓冲器对输入到所述无线设备中的至少一个处理器的数据和从所述至少一个处理器输出的数据中的至少一个进行缓存。此外,该装置还包括控制单元,被配置为根据所述数据缓存器中保存的数据量来修改控制函数的参数,其中所述控制函数是被配置为根据所述至少一个处理器的负载来控制所述至少一个处理器的至少操作速度的类型。根据另一个方面,公开了一种用于无线设备中的功率优化的装置。该装置包括用于监测数据缓冲器中保存的数据量的模块,其中所述数据缓冲器对输入到至少一个处理器的数据和从所述至少一个处理器输出的数据中的至少一个进行缓存。此外,还包括用于根据所述数据缓存器中保存的数据量来修改控制函数的参数的模块,其中所述控制函数被配置为根据所述至少一个处理器的负载来控制所述至少一个处理器的至少操作速度。根据又一个方面,公开了一种包括计算机可读介质的计算机程序产品。所述计算机可读介质包括用于使计算机监测数据缓冲器中保存的数据量的代码,其中所述数据缓冲器对输入到无线设备中的至少一个处理器的数据和从所述至少一个处理器输出的数据中的至少一个进行缓存。此外,所述计算机可读介质还包括用于使计算机根据所述数据缓存器中保存的数据量来修改控制函数的参数的代码,其中所述控制函数被配置为根据所述至少一个处理器的负载来控制所述至少一个处理器的至少操作速度。
图1示出了可在无线通信网络中操作的无线设备的一种设计的框图。图2是无线设备中的数据流的示例图。图3是用于监测数据速率流和改变无线设备的至少功率优化控制函数的参数的示例方案的框图。图4是根据本发明的一个方面,用于至少根据数据缓冲器的状态来监测和修改控制函数参数的方法的流程图。图5是根据本发明的一个方面,用于至少根据数据缓冲器的状态来监测和修改控制函数参数的另一种方法的流程图。图6是根据本发明的一个方面,用于至少根据数据缓冲器的状态来监测和修改控制函数参数的另一种方法的流程图。图7是根据本发明的一个方面,用于至少根据数据缓冲器的状态来监测和修改控制函数参数的另一种方法的流程图。图8是用于监测数据速率流和改变无线设备的至少功率优化控制函数的参数的装置的框图。
具体实施例方式本申请所公开的方法和装置提供了一种用于缩短诸如DCVS之类的控制算法的响应时间的数据服务,从而维持CPU或处理器的数据吞吐量性能的机制。在一个特定的方面, 本发明给出了用于设置或修改DCVS的最小CPU水平,以适应在高优先级任务上运行的数据移动需求的方法和装置。可以提供DCVS和其客户端之间的接口或类似模块,以便改变DCVS 响应时间或DCVS灵敏度。作为该方法的一部分,对接收机(Rx)、发射(Tx)或其它数据缓冲器进行监测。如果将任何缓冲器填充到高于第一预定门限,则数据服务可以调用DCVS应用程序接口(API)来缩短响应时间,这导致增加了 CPU时钟频率。在另一个方面,当缓冲器水平下降到低于较低的或第二预定门限时,数据服务可以将DCVS响应时间恢复成缺省值。因此,如果在有较大数量的数据要移动的情况下,CPU使用水平较高,但时钟频率较低时,则所给出的方法和装置可以在遭到分组丢失之前,提供时钟频率的增加。此外,根据一个方面, 如果在低时钟频率的情况下,CPU使用水平较低,且有较大数量的数据要移动时,则所公开的方法和装置不改变时钟频率,这是由于CPU不是问题的关键,而是由于诸如较差质量的无线连接之类的其它问题。如果CPU使用水平较高,但存在较低的数据活动性,则CPU时钟的改变将是基于缺省的DCVS设置的。本申请使用的“示例性的”一词意味着“用作例子、例证或说明”。本申请中被描述为“示例性”的任何实施例不应被解释为比其它实施例更优选或更具优势。本申请所描述的技术可以用于各种无线通信网络,比如CDMA网络、TDMA网络、 FDMA网络、OFDMA网络、SC-FDMA网络、无线局域网(WLAN)及其它网络。术语“网络”和 “系统”经常可以交换使用。CDMA网络可以实现诸如通用陆地无线接入(UTRA)、CDMA2000 等等之类的无线电接入技术(RAT)。UTRA包括宽带CDMA (WCDMA)和CDMA的其它变型。 CDMA2000覆盖CDMA IX和高速率分组数据(HRPD)。TDMA网络可以实现诸如全球移动通信系统(GSM)之类的RAT。OFDMA网络可以实现诸如演进的UTRA(E-UTRA)、超移动宽带 (UMB)、IEEE 802. 11 (Wi-Fi)、IEEE 802. 16 (WiMAX), IEEE 802. 20、闪速-OFDM 等等之类的 RAT。UTRA和E-UTRA是通用移动通信系统(UMTQ的一部分。3GPP长期演进(LTE)和改进的LTE(LTE-A)是UMTS的采用E-UTRA的新发布版本,其在下行链路上使用0FDMA,在上行链路上使用SC-FDMA。在来自名为“第三代合作伙伴计划”(3GPP)的组织的文档中描述了 UTRA, E-UTRA, UMTS、LTE、LTE-A和GSM。在来自名为“第三代合作伙伴计划2” (3GPP2)的组织的文档中描述了 CDMA2000和UMB。WLAN可以实现诸如IEEE 802. ll、Hiperlan等等之类的RAT。本申请描述的技术可以用于这些无线网络和上面提及的RAT以及其它无线网络和RAT。为了清楚说明起见,下面针对lxEV-D0(演进数据优化)或高速率分组数据(HRPD) 来描述这些技术的某些方面,下面描述的大多部分中使用HRPD术语。图1示出了可在无线通信网络中操作的无线设备100的设计的框图。该无线设备 100还可以称为用户设备(UE)、移动站、终端、接入终端、移动设备、用户单元、站等等。该无线设备可以是蜂窝电话、个人数字助理(PDA)、无线调制解调器、手持设备、膝上型计算机等等。在该示例中,无线设备100可以包括无线调制解调器芯片集102或者用于处理数据信号和使用控制功能(例如,举例而言的DCVS)来优化处理资源的类似设备。如图1中所示,在接收路径(例如,前向链路FL),天线104可以接收由基站和/或其它发射机站发送的信号,并向接收机(RCVR) 106提供接收的信号。接收机106可以处理 (例如,滤波、放大、下变频和数字化)所接收的信号,向数字部分108提供输入采样以便进一步处理。在发送路径中,数字部分108可以处理要发送的数据,并向发射机(TMTR)IlO提供输出采样。发射机110可以处理(例如,转换成模拟信号、滤波、放大和上变频)这些输出采样,生成通过天线104发送的反向链路(RL)信号。数字部分108可以包括用于支持无线通信以及其它各种应用的各种处理、存储器和接口单元。在图1所示的设计方案中,数字部分108可以包括至少一个处理器/CPU 110、 控制单元或管理器112、数字信号处理器114、存储器缓冲器116、外部接口 118和电源管理单元120中的一个或多个,其中所有这些部件可以通过诸如总线122或类似耦合来进行通信地耦合,其中示出的总线122或类似耦合仅用于描绘各个单元彼此之间进行通信的能力。每一个处理器或CPU可以包括CPU、数字信号处理器(DSP)、精简指令集计算机(RISC) 处理器、通用处理器等等中的一个或多个。另外,每一个处理器还可以包括内部存储器或外部存储器。数字部分108中的处理器可以执行用于实现数据发送的处理(例如,编码和调制)、用于实现数据接收的处理(例如,解调和解码)、用于与无线网络实现数据交换的更高层处理、用于实现各种应用的处理等等。控制管理器112可以指导无线设备100中的各种功能的操作,例如,这些功能包括诸如DCVS之类的省电算法的控制。控制管理器112可以由用于接收输入、处理这些输入和输出命令的微控制器、微处理器、逻辑电路或任何其它适当的设备实现。另外,控制管理器 112可以使用在处理器上运行的软件或者软件和硬件的结合来实现。存储器缓冲器116可以存储数字部分108中的各个单元(其包括CPU/处理器110)的数据和/或指令。接口单元118可以与调制解调器108或设备102中的其它单元或处理器以及输入/输出(I/O)设备等等进行交互。功率管理单元120可以管理无线设备100的电池功率,并可以耦合到电池1 或者外部电源。数字部分108可以实现在一个或多个专用集成电路(ASIC)和/或其它集成电路(IC)上,并位于诸如调制解调器芯片集102之类的更大芯片集中。通常,无线设备100可以包括更少、更多和/或与图1中所示的那些不同的处理、 存储器和接口单元。数字部分108中包括的处理器和存储器的数量以及处理器的类型取决于诸如通信网络和无线设备100所支持的应用、费用和功率考虑等等之类的各种因素。无线设备100可以支持各种应用。应用可以是执行特定功能的软件和/或固件模块。不同的应用可以用于通过不同的RAT来支持通信,以便支持不同的服务等等。例如,无线设备100可以支持用于语音、分组数据、视频、视频电视(VT)、网页浏览、电子邮件、文本编辑器、视频游戏、WLAN、蓝牙、辅助全球定位系统(A-GPS)等等的应用。无线设备100还可以具有用于所有的活动应用的一个或多个数据流。数据流可以是两个特定的端点之间的数据的流。数据流还可以称为互联网协议(IP)流、无线链路控制(RLC)流、无线链路协议 (RLP)流等等。针对不同的业务种类、不同的服务质量(QoQ种类等等,可以使用不同类型的数据流。每一种数据流类型可以与QoS需求相关联,也可以不与QoS需求相关联。仅举例而言,图2描绘了针对设备100中的EVDO数据所发生的数据流的示例。该图是数字信号处理器200(例如,诸如图1中的114之类的DSP)和由调制解调器的其它处理电路通过各种协议所运行的各种应用之间的数据的代表性数据流。如图所示,描绘了多个应用Ia和Ib (用附图标记2(^a_b表示)和应用2a、2b和2c (用附图标记2(Ma_c表示)。 为了说明目的,应用20 和202b是生成要在RL上发送的数据的应用,应用204a、204b和 204c是接收FL上的数据的应用。所描绘的RL和FL应用之间的分歧仅仅是示例性的,其它应用可以既生成数据也接收数据。此外,应用202或204可以运行在一个或多个处理器或CPU(例如,图1中的110)或者无线设备100中的其它应用处理器上。来自于应用202、204的数据流或者去往应用202、204的数据流可以遍历通过互联网协议(IP)栈模块206以及点到点协议模块(PPP)208。此外,该数据由用于RL数据的无线链路协议(RLP)Tx缓冲器210a、210b和用于所接收的FL数据的RLP Rx缓冲器进行缓存。举一个例子,缓冲器210、212可以是调制解调器芯片集中的缓冲器(例如,116)。 在RL发送方,可以使用RLP发射机214、幻象电路协议(PCP)模块216和基于预订的媒体访问控制(RMAC)模块218,来准备由数字信号处理器(DSP) 200接收的数据,并在DSP 200执行信号处理之后实现最终传输。在接收机或FL方,在RLP Rx缓冲器212中进行缓存之前, 将DSP 200处理的数据传送到基于前向链路预订的媒体访问控制(FMAC)模块220、幻象电路协议(PCP)模块222和RLP接收机224。图3描绘了用于监测数据速率流和改变无线设备的至少功率优化控制函数(例如,DCVS函数)的参数的示例性方案的框图。具体而言,图3描绘了图1中所示的调制解调器芯片集102的环境中的方案。但是,应当注意的是,该图仅仅是示例性的,可以在使用诸如DCVS之类的功率优化控制函数的无线设备或移动设备的其它部分中实现该方案。控制管理器112用于接收来自监测器、DCVS(例如,用于改变参数的DCVS API或类似接口)或者其它处理器(例如,应用处理器)的多个输入,以及向监测器、DCVS或者其它处理器发送命令。一个这种输入/输出实现诸如所描绘的缓冲器116之类的存储器缓冲器的监测。存储器监测器302或类似的功能单元监测或测量缓冲器116的水平或深度。在一个方面,控制管理器112可以从监测器302请求存储器测量值,随后监测器302向控制管理器112发送一个或多个测量值。控制管理器112还可以用于监测CPU (例如,110)的测量值,并在一个特定的方面, 用于监测CPU操作系统(OS) 304,以便确定该CPU的当前使用水平。CPU监测器306可以用于收集CPU测量值,并当管理器112请求时,向控制管理器112传输这些测量值。如稍后结合图4-7更详细描述的,控制管理器112可以使用所测量的缓冲器深度和CPU使用水平中的一个或多个,来确定对于诸如DCVS算法之类的控制函数的修改。在所描绘的示例中,控制管理器112可以例如通过DCVS API来与DCVS进行通信,以便改变或修改该函数的参数308。控制管理器112还可以通过通信耦合310来从无线设备或移动设备(例如,100) 中的其它处理器请求和/或接收测量值。此外,如果数据吞吐量由较差无线链路状况进行控制,且当该状况不需要较高处理器时钟速度时,稳定但较差的无线链路状况驱使低数据吞吐量。另外,由于衰减的无线链路状况导致低数据吞吐量,在该情况下,根据无线链路状况,数据缓冲器深度可以较高或较低。例如,如果无线链路协议(RLP)/MAC层忙于执行链路重传,则移动设备可能需要较高的处理器时钟。此外,还由于传输层的拥塞控制,也可能造成低数据吞吐量,在该情况下,当触发拥塞控制,且处理器运行在最大处理器时钟速度并需要调节数据速率以维持数据呼叫服务质量(QoQ时,数据缓冲器深度较高。因此,控制管理器112还可以接收关于无线数据链路(312)的状况的信息,以便确定何时和如何修改控制函数参数。因此,关于该无线链路状况的信息提供了对一些其它问题的确定,其中这些其它问题影响了超出数据缓冲器深度或CPU使用水平的测量值的数据吞吐量。在一个方面,当遭遇所要求的缺省或传统的DCVS的处理响应时间不能满足所有处理器客户端的需求的状况时,如先前所述的本发明装置和方法根据缓冲器深度、CPU使用水平或者无线链路状况中的一个或多个来实现DCVS参数的修改,以便更好地优化DCVS函数。在下面的讨论中,讨论了本申请所公开方法和装置可以解决的状况的各种示例。但是, 这并不意味详尽概述了本发明可以改善的所有状况。举例而言,当前并不进行发射但处于被动接收状态的移动设备可以设置处于待机模式,以使活动DC电流消耗最小。在另一个示例中,可以对电子时钟速度和/或操作电压进行管理,以便优化DC电流消耗。通常,以增加的DC电流消耗和增加的热耗散为代价,使用更快的时钟速度和/或更高的电压来优化处理性能(例如,处理速度)。因此,当不需要最佳的处理性能时,可以通过降低时钟速度和/或DC电压来获得改善的电池操作寿命。在另一个示例中,本发明公开了用于缩短DCVS的响应时间以维持所需要的数据吞吐量性能的方案。这些方案的一个优点是通过不在所有情况下使用最高处理器时钟速度,来获得改善的电池操作时间。例如,当已建立数据呼叫连接时,不需要最大处理器时钟速度能力。因此,由于大多数的数据呼叫因为无线链路性能或网络资源限制原因而不使用高数据速率链路,从而实现改善的DC省电。平均的、更低的处理器时钟速度设置足够用于满足无线链路能力。因此,本发明提供了一种反馈能力,以便平衡DC功耗与峰值处理器吞吐量需求。在另一个示例中,诸如处理器之类的电子组件具有通常需要根据DC功耗来进行严格优化的DCVS响应时间。该优化标准适合于对增加的延迟具有较高的容忍度的处理器任务。举例而言,非实时处理任务对于执行时间并不具有严格限制,这使得传统的DCVS技术适合于具有可接受的性能下降的最小DC功耗。但是,实时处理任务对于执行时间具有严格的限制,且不能容忍过度的延迟。例如,调制解调器处理器(例如,处理器110)需要的响应时间取决于对于物理层、媒体访问控制(MAC)层和数据服务需要多快地处理数据。本发明提出了对针对DCVS的最小处理水平进行设置,以便适应运行在较高优先级处理器任务上的物理层和MAC层数据移动需求。此外,本发明提供了 DCVS和其客户端之间的接口(例如,112和208),以便改变DCVS响应时间或DCVS灵敏度。在另一个示例中,数据服务对发送、接收或其它数据缓冲器(例如,116和监测器 202)进行监测。如果将任何缓冲器116填充到超过较高的门限,则数据服务(例如,控制管理器11 将调用DCVS应用程序接口(API)以便通过增加处理器时钟速度来缩短响应时间。如果缓冲器水平下降到低于较低的门限,则数据服务可以将DCVS响应时间恢复成缺省值。因此,如果在有较大量数据要移动的情况下,处理器使用水平较高,但处理器时钟速度较低,则在出现分组丢失之前,该过程增加处理器时钟速度。相反,如果在具有较低处理器时钟速度的情况下,处理器使用水平较低,且有较大量数据要移动时,该过程将不改变处理器时钟速度,这是由于处理器不是造成问题的原因。如果处理器使用水平较高,但却具有较低的数据活动性,则处理器时钟速度的改变可以基于缺省的DCVS设置。在另一个示例中,对于当前移动设备软件实现(例如,先进移动用户软件 (AMSS)),当启动无线数据应用时,在整个数据呼叫期间请求最大处理器和数据总线性能水平。一般情况下,该请求与实际的数据速率或者是否存在任何数据传输无关。根据对于实际无线通信系统(例如,演进数据优化(EV-DO)版本A前向链路)的经验证明,最大数据速率的数据呼叫不需要完全使用处理器和数据总线。因此,根据该凭证,可以在这种情形下修改DCVS缺省参数,以便更好地优化处理器使用水平并从而更好地优化功率资源。在又一个示例中,由于众多的因素,可能造成无线通信系统(例如,EV-D0)的低数据吞吐量。例如,如果特定的应用仅需要较少的数据传输,如果数据缓冲器深度通常较低, 如果即使瞬时数据速率较高,该应用也不需要较高的处理器时钟速度,则该特定的应用的本质驱使低数据吞吐量。在了解了上面讨论的示例以及负面影响数据吞吐量、性能和功率使用的其它情形之后,本申请的装置和方法提供了参数的修改或调整,以便调节用于移动设备功率管理的处理器时钟速度。具体而言,这些方法和装置至少根据数据缓冲器深度来修改参数以便调节处理器时钟速度。在图4所描绘的一个方面,示出方法400,以用于根据缓冲器深度来修改或改变诸如DCVS之类的功率优化控制函数。方法400包括监测数据缓冲器中保存的数据量,其中该数据缓冲器对输入到至少一个处理器的数据和从所述至少一个处理器输出的数据中的至少一个进行缓存,如方框402所示。在一个方面,这些过程可以由存储器监测器302和控制管理器112实现,其中存储器监测器302用于对缓冲器116进行监测。如方框404所示, 根据所述数据缓存器中保存的数据量来修改控制函数的参数,其中所述控制函数用于根据处理器的负载来控制至少一个处理器的至少操作速度,例如在DCVS的情况下。举例而言, 方框404的过程可以由与模块308进行通信的控制管理器112来实现,其中模块308可以是用于改变DCVS参数的API。图5描绘了用于修改或改变功率优化控制函数的另一个方法500的流程图,其中在该方法中,根据数据缓冲器深度或负载将CPU速度在两个或更多速度之间加以调整。方法500包括监测数据缓冲器中保存的数据量,其中该数据缓冲器对输入到至少一个处理器的数据和从所述至少一个处理器输出的数据中的至少一个进行缓存,如方框502所示。 在一个方面,该过程可以由存储器监测器302和控制管理器112实现,其中存储器监测器 302用于对缓冲器116进行监测。在监测之后,根据数据缓存器中保存的数据量来修改控制函数的参数,如方框504 所示。如方框504进一步示出的,控制函数参数的修改包括设置控制函数以便当数据量高于预定门限时,使至少一个处理器按至少第一速度操作,而当数据量等于或低于预定门限时,使至少一个处理器按低于第一速度的第二速度操作。应当注意的是,方法500并不限于两种刻度的CPU速度,而是根据数据缓冲器的不同监测水平,可以包括多个CPU速度或响应时间。举例而言,方框504的过程可以由与模块308进行通信的控制管理器112来实现,其中模块308可以是用于改变DCVS参数的API或类似功能。应当注意的是,各种DCVS参数可以包括但不限于DCVS的滤波器时间常量、CPU速度门限的门限、数据缓冲器的门限(上限和下限)、缓冲器基底(floor)和其它时间常量。在一个方面,方法500提供了在数据缓冲器深度改变时进行CPU速度的快速设置。 与缺省的DCVS参数相比,这将导致CPU的更快响应,从而防止数据丢失。图6描绘了用于修改或改变功率优化控制函数的另一个方法600的流程图,其中在该方法中,根据数据缓冲器深度或负载将CPU速度在两个或更多速度之间加以调整。方法600包括监测数据缓冲器中保存的数据量,其中该数据缓冲器对输入到至少一个处理器的数据和从所述至少一个处理器输出的数据中的至少一个进行缓存,如方框602所示。在一个方面,该过程可以由存储器监测器302和控制管理器112实现,其中存储器监测器 302用于对缓冲器116进行监测。在监测之后,根据数据缓存器中保存的数据量来修改控制函数的参数,如方框604 所示。如方框504进一步示出的,控制函数参数的修改包括设置所述控制函数以便当监测到有任何数据保存在数据缓冲器时,使至少一个处理器按所述至少一个处理器的最大速度来操作;设置所述控制函数以便当没有数据保存在所述数据缓冲器中时,使所述至少一个处理器按预定的最小速度操作。举例而言,方框504的过程可以由与模块308进行通信的控制管理器112来实现,其中模块308可以是用于改变DCVS参数的API或类似功能。在一个方面,方法600允许至少与缺省设置相同的数据吞吐量性能,但还具有当缓冲器中没有数据时的省电优势。图7描绘了用于修改或改变无线设备中的功率优化控制函数的另一个方法700的流程图。方法700包括监测数据缓冲器中保存的数据量,其中该数据缓冲器对输入到至少一个处理器的数据和从所述至少一个处理器输出的数据中的至少一个进行缓存,如方框 702所示。在一个方面,该过程可以由存储器监测器302和控制管理器112实现,其中存储器监测器302用于对缓冲器116进行监测。方框702还描绘了方法700还可以包括监测所述至少一个处理器的使用水平。在一个示例中,该过程可以由CPU监测器306和控制管理器112来实现。如方框704所示,方法700还包括根据数据缓冲器中保存的数据量,来修改诸如 DCVS函数之类的控制函数的参数。方框704的过程还包括当确定数据缓冲器中的数据量高于第一预定门限(例如,高门限),且确定至少一个处理器的使用水平低于最大使用水平时,通过降低控制函数的响应时间来修改所述控制函数的参数。因此,在一个方面,方法700还可以包括初始设置,其中当启动数据呼叫时,首先设置最小的CPU速度(图7中没有示出)。只要方框704的条件不满足,就可以使用缺省的DCVS 算法来调整CPU速度。此外,方法700提供了当数据缓冲器深度超过高门限,且CPU没有处于最大性能水平时,可以进行请求以便修改DCVS算法,从而使得具有较小的响应时间。此夕卜,当数据缓冲器深度低于第二预定门限(例如,低门限)时,方法700可以提供缺省DCVS 响应时间的恢复,如方框706所示。因此,方法700允许当CPU使用水平低于最大水平时 (其中CPU具有用于降低响应时间的保留容量)时,对于低于预定深度(即,第一预定门限或高预定门限)的水平,当在数据缓冲器中保存数据时不需要不必要地增加CPU速度,其中这些水平对于CPU按缺省响应时间充分处理来说过高。图8描绘了用于监测数据速率流和改变无线设备中的至少功率优化控制函数的参数的装置800的框图。装置800可以是无线设备(例如,设备100)或者无线设备的一部分(例如,调制解调器芯片集10 。装置800包括模块802,用于监测数据缓冲器804中保存的数据量,其中该数据缓冲器对输入到至少一个处理器806的数据和从至少一个处理器 806输出的数据中的至少一个进行缓存。在一个方面,输入到或输出缓冲器804的数据是来自于或者去往数字信号处理器(图8中没有示出)的,如图2的数据流所示。在一个示例中,模块802可以由监测器302结合控制管理器112来实现。这里应当注意的是,装置800 示出为具有通信耦合808,后者可以通过通信总线或者用于对装置800中的各种模块和单元进行通信耦合的类似模块来体现。
此外,装置800还包括模块810,后者用于根据数据缓存器804中保存的数据量来修改控制函数(例如,DCVS)的参数812,其中所述控制函数用于根据处理器的负载来控制所述至少一个处理器806的至少操作速度。在一个示例中,模块810可以由控制管理器112 结合针对这些参数(例如,308)的诸如API之类的接口来实现。此外,装置还可以包括另外的模块814,后者用于监测所述至少一个处理器806的使用水平。在一个示例中,模块814可以由监测器306结合控制管理器112来实现。使用模块814的监测结果,装置800还包括模块816,后者用于通过当数据缓冲器中的数据量高于第一预定门限,且所述至少一个处理器的使用水平低于最大使用水平时,降低所述控制函数的响应时间来修改所述控制函数的参数。在一个示例中,模块816可以由控制管理器 112结合308来实现。最后,在一个方面,装置800还可以包括模块818,后者用于当数据缓冲器中的数据量低于第二预定门限时,将参数恢复成缺省设置,其中该第二预定门限低于模块816所使用的第一预定门限。此外,还应当注意的是,可以根据对无线连接的无线链路或数据链路的监测(例如,通过监测图3中所示的无线链路312),来进行所述控制函数参数(例如,DCVS参数)的修改。例如,如果无线链路正在衰减或者具有较差的质量时,则由于较慢的数据吞吐量的原因而取消缓存操作或CPU处理,从而可以修改这些参数以便允许较慢的CPU响应时间。应当注意的是,可以监测无线链路和数据链路中的一个或两个,其中无线链路和数据链路是相关的但不是同义的。应当理解的是,本申请所公开过程中的特定顺序或步骤层次只是示例性方式的一个例子。应当理解的是,根据设计偏好,可以重新排列这些过程中的特定顺序或步骤层次, 而这些仍在本发明的保护范围之内。所附的方法权利要求以示例顺序给出各个步骤元素, 但并不意味着其受到给出的特定顺序或层次的限制。本领域普通技术人员应当理解,信息和信号可以使用多种不同的技术和方法来表示。例如,在贯穿上面的描述中提及的数据、指令、命令、信息、信号、比特、符号和码片可以用电压、电流、电磁波、磁场或粒子、光场或粒子或者其任意组合来表示。本领域普通技术人员还应当明白,结合本申请所公开实施例描述的各种示例性的逻辑框、模块、电路和算法步骤均可以实现成电子硬件、计算机软件或二者的组合。为了清楚地表示硬件和软件之间的这种可交换性,上面对各种示例性的部件、框、模块、电路和步骤均围绕其功能进行了总体描述。至于这种功能是实现成硬件还是实现成软件,取决于特定的应用和对整个系统所施加的设计约束条件。熟练的技术人员可以针对每个特定应用, 以变通的方式实现所描述的功能,但是,这种实现决策不应解释为背离本发明的保护范围。结合本申请所公开实施例描述的各种示例性的逻辑框、模块和电路,可以由用于执行本申请所述功能的通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件或者其任意组合来实现或执行。通用处理器可以是微处理器,或者,该处理器也可以是任何常规的处理器、控制器、微控制器或者状态机。处理器也可以实现为计算设备的组合,例如, DSP和微处理器的组合、多个微处理器、一个或多个微处理器与DSP内核的结合,或者任何其它此种结构。结合本申请所公开实施例描述的方法或者算法的步骤可直接体现在硬件、软件模块或计算机程序产品或者其任意组合中,其中所述计算机程序产品包括在介质上存储的并可由处理器或计算机执行的计算机可执行指令。软件模块或介质可以位于RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、移动硬盘、CD-ROM或者本领域已知的任何其它形式的存储介质中。可以将一种示例性的存储介质耦合至处理器,从而使该处理器能够从该存储介质读取信息,并且可向该存储介质写入信息。或者,存储介质也可以整合到处理器。处理器和存储介质可以位于ASIC中。该ASIC可以位于用户终端中。当然,处理器和存储介质也可以作为分立组件存在于用户终端中。 为使本领域任何普通技术人员能够实现或者使用本发明,上面围绕所公开示例进行了描述。对于本领域普通技术人员来说,对这些示例的各种修改是显而易见的,并且,本申请定义的总体原理也可以在不脱离本发明的保护范围的基础上适用于其它实施例。因此,本发明并不限于本申请所示出的这些示例,而是与本申请公开的原理和新颖性特征的
最广范围相一致。
权利要求
1.一种用于无线设备中的功率优化的方法,包括监测数据缓冲器中保存的数据量,其中,所述数据缓冲器对输入到至少一个处理器的数据和从所述至少一个处理器输出的数据中的至少一个进行缓存;以及根据所述数据缓存器中保存的所述数据量来修改控制函数的参数,其中,所述控制函数被配置为根据所述至少一个处理器的负载来控制所述至少一个处理器的至少操作速度。
2.根据权利要求1所述的方法,其中,修改所述控制函数的所述参数包括设置所述控制函数的所述参数以便当所述数据量高于预定门限时使所述至少一个处理器至少按第一速度操作,而当所述数据量等于或低于所述预定门限时使所述至少一个处理器按第二速度操作,其中,所述第二速度低于所述第一速度。
3.根据权利要求1所述的方法,其中,修改所述控制函数的所述参数包括设置所述控制函数以便当监测到有任何数据保存在所述数据缓冲器中时,使所述至少一个处理器按所述至少一个处理器的最大速度操作;以及设置所述控制函数以便当没有数据保存在所述数据缓冲器时,使所述至少一个处理器按预定的最小速度操作。
4.根据权利要求1所述的方法,还包括监测所述至少一个处理器的使用水平;以及当所述数据缓冲器中的所述数据量高于第一预定门限且所述至少一个处理器的所述使用水平低于最大使用水平时,通过降低所述控制函数的响应时间来修改所述控制函数的所述参数。
5.根据权利要求4所述的方法,还包括当所述数据缓冲器中的所述数据量下降到低于第二预定门限时,将所述控制函数的所述参数恢复成缺省设置,其中,所述第二预定门限低于所述第一预定门限。
6.根据权利要求1所述的方法,还包括监测无线连接的数据链路和无线链路中的至少一个;以及根据所监测的数据链路和无线链路中的至少一个来进一步修改所述控制函数。
7.根据权利要求1所述的方法,其中,所述控制函数是动态时钟和电压调节(DCVS)函数。
8.根据权利要求7所述的方法,其中,修改参数包括改变DCVS灵敏度、DCVS响应时间、处理器频率、处理器时间常量、处理器基底、处理器门限和DCVS滤波器时间常量中的至少一个。
9.一种用于无线设备中的功率优化的装置,所述装置包括至少一个第一监测器,被配置为监测数据缓冲器中保存的数据量,其中,所述数据缓冲器对输入到所述无线设备中的至少一个处理器的数据和从所述至少一个处理器输出的数据中的至少一个进行缓存;以及控制单元,被配置为根据所述数据缓存器中保存的所述数据量来修改控制函数的参数,其中,所述控制函数被配置为根据所述至少一个处理器的负载来控制所述至少一个处理器的至少操作速度。
10.根据权利要求9所述的装置,其中,所述控制单元还被配置为通过以下操作来修改所述控制函数的所述参数设置所述控制函数的所述参数以便当所述数据量高于预定门限时使所述至少一个处理器至少按第一速度操作,而当所述数据量等于或低于所述预定门限时使所述至少一个处理器按第二速度操作,其中,所述第二速度低于所述第一速度。
11.根据权利要求9所述的装置,其中,所述控制单元还被配置为通过以下操作来修改所述控制函数的所述参数设置所述控制函数以便当监测到有任何数据保存在所述数据缓冲器中时,使所述至少一个处理器按所述至少一个处理器的最大速度操作;以及设置所述控制函数以便当没有数据保存在所述数据缓冲器中时,使所述至少一个处理器按预定的最小速度操作。
12.根据权利要求9所述的装置,还包括至少一个第二监测器,被配置为监测所述至少一个处理器的使用水平;以及其中,所述控制单元还被配置为当所述数据缓冲器中的所述数据量高于第一预定门限、且所述至少一个处理器的所述使用水平低于最大使用水平时,通过降低所述控制函数的响应时间来修改所述控制函数的所述参数。
13.根据权利要求12所述的装置,其中,所述控制单元还被配置为当所述数据缓冲器中的所述数据量下降到低于第二预定门限时,将所述控制函数的所述参数恢复成缺省设置,其中,所述第二预定门限低于所述第一预定门限。
14.根据权利要求9所述的装置,还包括至少一个第三监测器,被配置为监测无线连接的数据链路和无线链路中的至少一个;以及其中,所述控制单元还被配置为根据所监测的数据链路和无线链路中的至少一个来修改所述控制函数。
15.根据权利要求9所述的装置,其中,所述控制函数是动态时钟和电压调节G3CVS)函数。
16.根据权利要求15所述的装置,其中,所述控制函数参数包括DCVS灵敏度、DCVS响应时间、处理器频率、处理器时间常量、处理器基底、处理器门限和DCVS滤波器时间常量中的至少一个。
17.一种用于无线设备中的功率优化的装置,包括用于监测数据缓冲器中保存的数据量的模块,其中,所述数据缓冲器对输入到至少一个处理器的数据和从所述至少一个处理器输出的数据中的至少一个进行缓存;以及用于根据所述数据缓存器中保存的所述数据量来修改控制函数的参数的模块,其中, 所述控制函数被配置为根据所述至少一个处理器的负载来控制所述至少一个处理器的至少操作速度。
18.根据权利要求17所述的装置,其中,所述用于修改控制函数的参数的模块包括 用于设置所述控制函数的所述参数以便当所述数据量高于预定门限时,使所述至少一个处理器至少按第一速度操作,而当所述数据量等于或低于所述预定门限时,使所述至少一个处理器按第二速度操作的模块,其中,所述第二速度低于所述第一速度。
19.根据权利要求17所述的装置,其中,所述用于修改控制函数的参数的模块包括 用于设置所述控制函数以便当监测到有任何数据保存在所述数据缓冲器中时,使所述至少一个处理器按所述至少一个处理器的最大速度操作的模块;以及用于设置所述控制函数以便当没有数据保存在所述数据缓冲器中时,使所述至少一个处理器按预定的最小速度操作的模块。
20.根据权利要求17所述的装置,还包括用于监测所述至少一个处理器的使用水平的模块;以及用于当所述数据缓冲器中的所述数据量高于第一预定门限、且所述至少一个处理器的所述使用水平低于最大使用水平时,通过降低所述控制函数的响应时间来修改所述控制函数的所述参数的模块。
21.根据权利要求20所述的装置,还包括用于当所述数据缓冲器中的所述数据量下降到低于第二预定门限时,将所述控制函数的所述参数恢复成缺省设置的模块,其中,所述第二预定门限低于所述第一预定门限。
22.根据权利要求17所述的装置,还包括用于监测无线连接的数据链路和无线链路中的至少一个的模块;以及用于根据所监测的数据链路和无线链路中的至少一个来进一步修改所述控制函数的模块。
23.根据权利要求17所述的装置,其中,所述控制函数是动态时钟和电压调节(DCVS)函数。
24.根据权利要求23所述的装置,其中,控制函数参数包括DCVS灵敏度、DCVS响应时间、处理器频率、处理器时间常量、处理器基底、处理器门限和DCVS滤波器时间常量中的至少一个。
25.一种计算机程序产品,包括计算机可读介质,其包括用于使计算机监测数据缓冲器中保存的数据量的代码,其中所述数据缓冲器对输入到无线设备中的至少一个处理器的数据和从所述至少一个处理器输出的数据中的至少一个进行缓存;以及用于使计算机根据所述数据缓存器中保存的所述数据量来修改控制函数的参数的代码,其中所述控制函数被配置为根据所述至少一个处理器的负载来控制所述至少一个处理器的至少操作速度。
26.根据权利要求25所述的计算机程序产品,其中,所述用于使计算机修改控制函数的参数的代码包括用于使计算机设置所述控制函数的所述参数以便当所述数据量高于预定门限时,使所述至少一个处理器至少按第一速度操作,而当所述数据量等于或低于所述预定门限时,使所述至少一个处理器按第二速度操作的代码,其中,所述第二速度低于所述第一速度。
27.根据权利要求25所述的计算机程序产品,其中,所述用于使计算机修改控制函数的参数的代码包括用于使计算机设置所述控制函数以便当监测到有任何数据保存在所述数据缓冲器中时,使所述至少一个处理器按所述至少一个处理器的最大速度操作的代码;以及用于使计算机设置所述控制函数以便当没有数据保存在所述数据缓冲器中时,使所述至少一个处理器按预定的最小速度操作的代码。
28.根据权利要求25所述的计算机程序产品,还包括用于使计算机监测所述至少一个处理器的使用水平的代码;以及用于当所述数据缓冲器中的所述数据量高于第一预定门限、且所述至少一个处理器的所述使用水平低于最大使用水平时,使计算机通过降低所述控制函数的响应时间来修改所述控制函数的所述参数的代码。
29.根据权利要求观所述的计算机程序产品,还包括用于当所述数据缓冲器中的所述数据量下降到低于第二预定门限时,使计算机将所述控制函数的所述参数恢复成缺省设置的代码,其中,所述第二预定门限低于所述第一预定门限。
30.根据权利要求25所述的计算机程序产品,还包括用于使计算机监测所述无线设备的无线连接的数据链路和无线链路中的至少一个的代码;以及用于使计算机根据所监测的数据链路和无线链路中的至少一个来进一步修改所述控制函数的代码。
31.根据权利要求25所述的计算机程序产品,其中,所述控制函数是动态时钟和电压调节(DCVS)函数。
32.根据权利要求31所述的计算机程序产品,其中,所述控制函数参数包括DCVS灵敏度、DCVS响应时间、处理器频率、处理器时间常量、处理器基底、处理器门限和DCVS滤波器时间常量中的至少一个。
全文摘要
本文公开了用于实现无线设备中的功率优化的装置和方法。这些装置和方法实现对数据缓冲器中保存的数据量进行监测,其中该数据缓冲器对输入到处理器的数据和从处理器输出的数据进行缓存。根据缓冲器中保存的数据量,基于该数据缓冲器中保存的数据量来修改例如动态时钟和电压调节(DCVS)函数之类的控制函数的参数。通过对控制至少处理器频率的控制函数的参数进行修改或预先置空,处理器可以相对于缺省的参数设置,更加动态地处理应用,特别是处理器对具有严格的完成时间限制的一个或多个实时活动进行处理的情形,如增加的缓冲器深度所表示的。因此,由于控制函数对处理状况进行更快地响应,而进一步优化了功率使用情况。
文档编号G06F1/32GK102549523SQ201080042240
公开日2012年7月4日 申请日期2010年9月24日 优先权日2009年9月24日
发明者A·K-H·杜, A·T·帕亚皮利, B·J·萨尔斯贝里, R·沙希迪, X·陈 申请人:高通股份有限公司