CN101405677B - 自适应电源管理 - Google Patents

自适应电源管理 Download PDF

Info

Publication number
CN101405677B
CN101405677B CN2007800093184A CN200780009318A CN101405677B CN 101405677 B CN101405677 B CN 101405677B CN 2007800093184 A CN2007800093184 A CN 2007800093184A CN 200780009318 A CN200780009318 A CN 200780009318A CN 101405677 B CN101405677 B CN 101405677B
Authority
CN
China
Prior art keywords
computing machine
consuming apparatus
current consuming
application program
performance state
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
CN2007800093184A
Other languages
English (en)
Other versions
CN101405677A (zh
Inventor
K·W·斯塔弗尔比姆
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of CN101405677A publication Critical patent/CN101405677A/zh
Application granted granted Critical
Publication of CN101405677B publication Critical patent/CN101405677B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • 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/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • 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)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Power Sources (AREA)
  • Supply And Distribution Of Alternating Current (AREA)

Abstract

本发明的各实施例涉及在准许安装在计算机上的程序执行有意义的任务的同时最小化计算机的电量消耗。根据一实施例,提供了一种实现基于可从电源获得的当前功率容量的节电措施的方法。更具体地,该方法包括标识可从电源获得的当前电量。随后,做出关于可用的当前电量是否与一降低的性能状态相关联的判定。如果当前电量与一降低的性能状态相关联,则该方法改变这些耗电设备的配置来将计算机置于该降低的性能状态。

Description

自适应电源管理
背景
市场需求、环境需要、商业成本及有限的电池寿命指示计算机在依然提供稳健的计算服务的同时使用尽可能少的能量。计算机所消耗的能量可通过按需为每一服务提供足够的计算能力而非始终提供最大的计算能力来更高效地管理。诸如膝上型计算机、台式计算机和大型计算机、个人数字助理(PDA)、蜂窝电话等的计算机通过使电子线路执行程序指令来提供服务。就此,计算机中的各种设备维护消耗电量以便可以提供服务的电子线路。
大多数计算机执行通常被称为操作***的计算机程序,操作***指导计算机的操作并向其它程序提供服务。更具体地,操作***控制诸如存储器、大容量存储设备、***设备等的硬件资源的分配和使用。初始化和操作计算设备的计算机指令通常被包含在操作***的通常被称为“内核”的组件中。在计算机启动后不久,该内核开始执行。由于内核直接控制硬件和对描述计算机状态的数据的访问,所以内核可被用来调节计算能力或以其它方式控制能量消耗。
传统上,操作***提供的电源管理特征由量化正被执行的处理的数量并基于计算机的空闲率/忙碌率在不同的***状态(有时被称为“S状态”)之间转换所组成。例如,一些计算机及其操作***符合通常称为高级配置和电源接口(“ACPI”)的支持包括活动状态(例如,S0)和各种***睡眠状态(例如,S1-S4)的不同的***状态的标准。此外,在计算机在各***状态之间转换时,计算机上的耗电设备可以转换到包括活动状态(例如,D0)和各种设备睡眠状态(例如,D1-D3)的适当的设备状态(有时被称为“D状态”)。就此,操作***可负责维护状态到设备的映射以使各个设备可以转换到适当的设备状态中。
一方面,每一持续更深的***和相关联的设备睡眠状态相比于活动状态提供更大等级的电源节约。另一方面,更高的***和设备睡眠状态各自都与降低的设备可用性相关联。例如,可能需要一时间段或等待时间开销来从睡眠状态转换到活动状态。无论如何,就这些类型的现有***而言,电源管理决定未考虑剩余可用电量。结果,由于即使在剩余电量非常低时某些硬件设备的省电能力也没有完全实现,所以其间用户可以在计算机上执行有意义的任务的时间段变短了。
概述
一般而言,本发明的各实施例涉及在准许安装在计算机上的程序执行有意义的任务的同时最小化计算机的电量消耗。根据一实施例,提供了一种实现基于可从电源获得的当前功率容量的节电措施的方法。更具体地,在该实施例中,该方法包括标识来自电源的对计算机可用的当前电量。随后,做出关于对计算机可用的当前电量是否与一降低的性能状态相关联的判定。如果当前电量与一降低的性能状态相关联,则该方法改变某些耗电设备的配置来将计算机置于适当的降低的性能状态。
提供本概述以便以简化的形式介绍将在以下详细描述中进一步描述的一些概念。本概述并不旨在标识所要求保护的主题的关键特征,也不旨在用于帮助确定所要求保护的主题的范围。
附图说明
当结合附图参考以下详细描述时,可以更容易领会并更好地理解本发明的上述方面和许多附加优点,附图中:
图1是具有适用于实现本发明的各方面的各组件的示例性计算机的框图;以及
图2是根据本发明的一实施例的适于示出用于标识和执行性能状态转换以节省计算机所消耗的电量的示例性方法的电源管理例程的功能流程图。
详细描述
本发明可在诸如程序模块等由计算机执行的计算机可执行指令的通用上下文中描述。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、应用程序、窗口小部件、对象、组件、数据结构等。本发明也可以在其中任务由通过通信网络链接的远程处理设备执行的分布式计算环境中实现。在分布式计算环境中,程序模块可以位于本地和/或远程计算机存储介质上。
虽然将主要在当可用电量低于可被任意地设置和按需要重新配置的特定阈量时降低计算机上的硬件设备所消耗的电量的上下文中描述本发明,但相关领域的技术人员及其他人将认识到,本发明还可应用于其它上下文中。无论如何,如下描述首先提供其中可以实现本发明的各方面的计算机的概览。随后,描述了根据一实施例的用于执行本发明的例程或方法。在此描述的说明性示例不旨在是穷尽的或将本发明限于所公开的精确形式。类似地,在此描述的任何步骤能与其它步骤或步骤组合互换以实现相同的结果。
现参考图1,描述了具有能够实现本发明的各方面的硬件和软件组件的示例性计算机100。本领域技术人员和其他人将认识到,计算机100可以是各种设备的任一种,包括但不限于,个人计算设备、基于服务器的计算设备、小型和大型计算机、膝上型计算机、个人数字助理(“PDA”)或具有某种类型的存储器的其它电子设备。为易于说明且因为其对于了解本发明并不重要,图1未示出许多计算机的典型组件,如存储器、键盘、鼠标、打印机、或其它I/O设备、显示器等等。然而,如图1所示,计算机100包括应用程序102、操作***104和硬件平台106。在该实施例中,操作***104包括驱动程序108和电源管理例程110。此外,如图1进一步所示,硬件平台106包括CPU114、耗电设备116和电源118。
为说明起见并且仅作为示例,图1描述其中操作***104代表应用程序管理对硬件资源的访问的计算机100的组件架构。就此,图1所示的操作***104可以是诸如
Figure G2007800093184D0003160352QIETU
操作***、
Figure G2007800093184D0003160405QIETU
操作***、
Figure G2007800093184D0003160411QIETU
操作***等的通用操作***。另选地,操作***104可以是为诸如有限资源计算设备等专用硬件设计的。在该示例中,操作***104可以是
Figure G2007800093184D0003160428QIETU
CE操作***、
Figure G2007800093184D0003160433QIETU
操作***等。无论如何,计算机100的各组件被分层为底层的硬件平台106和顶层的应用程序102。计算机100的分层示出本发明可在分层环境中实现,其中计算机100的每一层依赖于更低层中的***。更具体地,应用程序102不能直接访问硬件平台106的各组件。相反,在需要硬件平台106提供的服务时,应用程序102向操作***104发出请求。当接收到请求时,操作***104访问驱动程序108以与硬件平台106的各组件接口。例如,驱动程序108为操作***104提供与CPU114和耗电设备116接口的方法。
根据一实施例,本发明扩展操作***104的功能以节省电源资源。就此,操作***104被用来在应用程序102启动时或之后的某一时间标识应用程序102的硬件性能要求。随着可从计算机100获得的功率容量逐渐减小,操作***102可以在可在给定***和/或设备状态中出现的不同性能状态之间转换硬件平台106。一般而言,本发明的各方面扩展操作***104的功能以使操作***104可以充当将应用程序102的性能要求与硬件平台106的能力进行匹配的中介。
为使操作***104能管理程序的执行,获得描述硬件平台106的信息。通常,通常被称为基本输入输出***(“BIOS”)的固件程序在电源首先被应用于计算机100时执行初始化硬件平台106的功能,其后BIOS“引导”操作***104。就此,在计算机100上电时,计算机100的BIOS进行称为上电自检(“POST”)的硬件检查以确定硬件平台106是否存在并正确工作。随后BIOS中的指令将控制定向到通常被称为“引导加载程序”的程序,该程序将操作***104加载到计算机100的通常被实现为随机存取存储器(“RAM”)存储体(bank)的***存储器中。
如图1所示,计算机100包括负责向计算机100中的电子线路提供电量的电源108。电源108可以是包含在计算机100的外壳中的电池。在这一情况下,在用户与计算机100交互时,功率容量逐渐减小,且如果没有使用不间断电源对电池“重新充电”则其可能变得不可用。本发明的各方面在使用电池向计算机提供电量时尤其适用。然而,电源108可以是其中对计算机100可用的功率容量不会减小的不间断电源。在这一情况下,本发明的各方面可被用来节省电源资源的消耗,即使看来有无限量的电源可用。
通常,在计算机100引导时,一个或多个驱动程序108可以读取由BIOS提供的数据来发现硬件平台106中的***设备的电源管理能力,或可以通过驱动程序100或其它配置空间信息直接标识***设备的电源管理能力。在一些***中,由BIOS或通过直接操作***104判定所提供的数据被传递给包括在操作***104中的控制计算机100所耗费的电量的电源调节机构。例如,如前所述,在符合ACPI标准的操作***104中,电源调节机构可以量化正在计算机100上被执行的处理的数量并基于计算机100的空闲率/忙碌率在不同的***状态之间转换。
本发明的各方面可以在其中现有的电源调节机构在不同的***状态之间转换的计算机中实现。在该实施例中,在计算机100处于活动***状态(例如,“S0”)时,本发明所提供的自适应电源管理***可以基于当前的功率容量水平和/或在计算机100上执行的应用程序的硬件性能需求来去除特定硬件设备的性能状态的特征和/或降低特定硬件设备的性能状态。更具体地,随着对计算机100可用的功率容量逐渐减小,硬件设备特征和/或性能状态在工作***或设备状态中被调整为与剩余功率容量相一致的水平。结果,计算机的性能被设为在仍然允许用户执行有意义的任务的同时最大化对可用电量的使用的水平。如果电源调节机构转换出活动状态进入***睡眠状态,则本发明不执行另外的处理。相反,通过在不同的***睡眠状态之间转换,电源调节机构节省计算机100上的电源使用。在另一实施例中,本发明在其中电源调节机构不在不同的***状态之间转换以节省电源的计算机100中实现。在这一情况下,只要计算机100上的条件指示应该节省电源,如在可用电量降到特定阈量以下时,硬件设备特征和/或性能状态由本发明的各方面来调整。
如图1所示,计算机100包括被包含在硬件平台106上的CPU114。本领域技术人员和其他人将认识到,CPU114通过支持程序指令的执行而用作计算机100的计算中心。就此,操作***104使程序指令,包括实现本发明的程序指令,被从存储设备(例如,硬盘驱动器)加载到计算机100的***存储器(未示出)中。随后,CPU114通过顺序地“取出”和“执行”加载在***存储器中的指令来实现程序功能。本领域技术人员和其他人将认识到,一些当前可用的CPU支持降低的功率性能状态,如(1)“P状态”,其中可调整CPU114的电压/频率对来降低能量消耗,和(2)“C状态”,其中允许CPU114空闲预定百分比的时间。如下更详细地描述的,即使在计算机100处于活动***状态的情况下,本发明的各方面也可以使CPU114转换到降低的功率“P状态”或“C状态”。
图1中示出的耗电设备116可以是使用电源118提供的电力的任何现有的或有待开发的设备。例如,在现有计算机***中,耗电设备116可以包括但不限于,大容量存储设备(例如,硬盘驱动器)、视频卡、诸如DVD/CD-ROM驱动器等的***设备、网卡和网络适配器、热插拔设备、***存储器(例如,RAM/ROM)等。一般而言,本发明的各方面涉及调整CPU114和其它耗电设备116的性能水平来最大化对可用电源的使用。
如图1所示,操作***104包括调整CPU114和其它耗电设备116的性能水平来最大化其间计算机100可以执行有意义的任务的时间段的电源管理例程110然而,由于电源管理例程110的各方面参考图2详细描述如下,因此在此将不提供例程110的详细描述。然而,一般而言,电源管理例程110监控可从电源118获得的的功率容量。如果功率容量的水平降到特定阈级之下,则电源管理例程110为计算机100上的特定硬件设备标识降低的性能状态。随后,所标识的硬件设备的性能水平被调整为所标识的降低的性能状态。随着对计算机100可用的电源水平逐渐下降,硬件设备被转换到被设计来最大化其间用户可以在计算机100上执行有意义的任务的时间段的愈加深的降低的性能状态。
本领域技术人员和其他人将认识到,图1所示的计算机100是只包括有助于描述本发明的各方面的组件的高度简化的示例。在各实际实施例中,计算机100将具有图1未示出的另外的组件。此外,图1所示的组件架构应被解释为示例性的,本领域技术人员和其他人将认识到,本发明可在维护不同的组件架构的计算机中实现。
现参考图2,将详细描述如上参考图1简单提到的示例性电源管理例程110。本领域技术人员和其他人将认识到,随现代计算机包括的一些硬件设备被配置为以不同的性能水平运作和/或具有能够被启用/禁用的特征。例如,标准化的“D状态”被用来为某些硬件设备定义性能水平。在传统电源管理方案中,设备能够进入的每一“D状态”都可被映射到一***状态。电源管理例程110可以使用被配置为以不同的性能水平,例如“D状态”运作的硬件设备。然而,不同于传统电源管理方案,电源管理例程110可基于对计算机可用的电量而使设备转换到活动设备状态“D0”中的更节省电源的性能状态。作为预备,在电源管理例程110被执行之前,安装在计算机上的操作***可以自动获得或查询硬件设备来标识其节电能力。根据一实施例,电源管理例程110使用操作***所获得的信息将程序的性能要求与硬件设备的能力进行匹配来节省电源。
如图2所示,电源管理例程110始于框180,在此例程110保持空闲直到应用程序被加载到***存储器中。本领域技术人员和其他人将认识到,在应用程序被调度来执行时,存储设备(例如,硬盘驱动器)上的程序代码被从该存储设备加载到***存储器中,在此程序代码易于被CPU访问。然而,由于将程序代码加载到***存储器中是使用本领域公知的现有***来执行的,因此将不在此描述对这些***的进一步描述。
在框190,电源管理例程110查询在框180处被加载到***存储器中的应用程序的硬件要求设置信息。如下更详细地描述的,电源管理例程110可以取决于对计算机可用的电量而使硬件设备转换到不同的性能状态。更具体地,根据一实施例,硬件设备可处于5个不同的性能状态中的一个,包括全性能状态和各自都节省愈加大的电量的4个降低的性能状态。从应用程序获得的硬件要求设置信息描述应用程序在不同的可用性能状态的每一个下的硬件要求。尽管电源管理例程110描述了其中设备可处于5个性能状态中的一个的***,但在各替换实施例中,可以实现更多或更少的性能状态而不背离所要求保护的主题的范围。
在判定框195,电源管理例程110等待,直到会导致做出关于是否执行性能状态转换的判定的触发事件发生。仅作为示例,操作***可被配置为以周期性的间隔或随机地发布触发事件。此外,在另一实施例中,操作***被配置为在剩余功率容量降到特定阈量之下时发布触发事件。如下更详细地描述的,电源管理例程110确定是否要响应于触发事件发生而执行性能状态转换。
在框200,表示对计算机可用的剩余功率容量的值由电源管理例程110获得。本领域技术人员和其他人将认识到,在框200,可以使用现有***来标识可从电源获得的剩余功率容量的量。例如,符合ACPI的计算机为操作***提供与硬件平台接口并获得这一类型的数据的标准化方式。在该示例中,电源管理例程110访问由操作***维护的表或其它数据结构来获得这一数据。然而,本领域技术人员和其他人将认识到,在框200,可以使用其它技术来获得表示剩余功率容量的值,且在此提供的示例应被解释为是示例性的而非限制性的。
在框202,电源管理例程110在表示剩余功率容量的值(在框200所获得的)和与不同的性能状态相关联的一组预定值之间执行比较。一般而言,随着对计算机可用的功率容量逐渐减小,电源管理例程110降低某些硬件设备的性能。根据一实施例,在框202,表示剩余功率容量的值被与一组预定值作比较以便为计算机上的设备标识性能状态。仅作为示例,如果可用功率容量的量小于最大量的百分之八十(80%),则电源管理例程110将一组耗电设备转换到降低的性能状态。然而,应该理解,在此描述的在向降低的性能状态的转换将发生时所建立的各值是示例性的。
在判定框204,电源管理例程110确定可从电源获得的剩余功率容量的量是否是80%或更高。如前所述,在框202执行比较以便在给定剩余的功率容量时为计算机上的设备标识适当的性能状态。在框204,电源管理例程110确定该比较的结果是否指示剩余功率容量的量是80%或更高。如图2所示,如果剩余功率容量的量是80%或更高,则电源管理例程110前进至框206。相反地,如果剩余功率容量的量小于最大量的80%,则电源管理例程110前进至框208,如下更详细地描述的。
在框206,电源管理例程110允许实现本发明的计算机上的硬件设备以其最高性能状态运作。在一实施例中,在可用功率容量是80%或更高时,(1)计算机显示子***向用户提供最丰富的视觉体验;(2)允许诸如存储器、CPU、视频卡、大容量存储、网络设备等的耗电设备启用其所有特征来执行;以及(3)允许诸如屏幕保护程序等应用程序根据用户定义的设置来执行。随后,电源管理例程110前进至框223,如下更详细地描述的。
在判定框208,电源管理例程110确定可从电源获得的剩余功率容量的量是否在最大量的60%到80%之间。如前所述,在框202执行比较以便在给定可用的功率容量的量时为计算机上的设备标识适当的性能状态。如图2所示,如果剩余功率容量的量在最大量的60%到80%之间,则电源管理例程110前进至框210。相反地,如果剩余功率容量的量小于最大量的60%,则电源管理例程110前进至框212,如下更详细地描述的。
如图2进一步所示,在框210,电源管理例程110使实现本发明的计算机上的特定耗电设备转换到第一降低的性能状态。该第一降低的性能状态被设计为在考虑小于最大量的可用电量的同时提供稳健的用户体验。在一实施例中,在可用功率容量是最大量的60%到80%时,如果可从显示子***(例如,视频卡、计算机显示器等)获得的可以或不可以被计算机上的应用程序利用的特定高端特征当前未被使用,则其被“按比例缩回(scaled-back)”。例如,根据一实施例,诸如但不限于几何作图、64位纹理化、128位计算、32位色彩再现、3D渲染引擎和/或多个GPU等特定子***特征在框210被降低到下一更低的可用性能状态,除非应用程序要求该特征的最高性能状态。如前所述,当前正执行的应用程序所利用的硬件要求在这些应用程序被加载到***存储器中时由电源管理例程110标识。在框210,可参考这一信息来标识在第一降低的性能状态中可被“按比例缩回”的硬件特征。此外,在框210,还实现了不受当前正执行的应用程序的要求影响的其它电量节省措施。例如,在一实施例中,在框210使视频子***中的显示器背光的亮度到最大量的80%。在该实施例中,诸如存储器、CPU、网络设备等的其它耗电设备被允许以全性能水平运作。然而,大容量存储设备(例如,硬盘驱动器)被置于降低的性能状态,其中大容量存储设备在不被使用时可以“减速自旋”(spin-down)。随后,电源管理例程110前进至框223,如下更详细地描述的。
在判定框212,电源管理例程110确定可从电源获得的剩余功率容量的量是否是最大量的40%到60%之间。如前所述,在框202执行比较以便在给定可用的功率容量的量时为计算机上的设备标识适当的性能状态。如图2所示,如果剩余功率容量的量在最大量的40%到60%之间,则电源管理例程110前进至框214。相反地,如果剩余功率容量的量小于最大量的40%,则电源管理例程110前进至框216,如下更详细地描述的。
在框214,电源管理例程110使实现本发明的计算机上的硬件设备转换到第二降低的性能状态。在一实施例中,在可用功率容量是最大量的40%到60%时,即使在可以在显示器子***上可用的特征正被利用时的情况,这些特征也被“按比例缩回”。例如,常见的***显示任务以“2D”执行;计算精度被从128位调整到64位;64位纹理化被降低到32位;色彩再现从32位降至24位;以及显示器背光降至最大亮度的70%。诸如存储器、CPU、网络设备等的其它计算机组件被允许以全性能状态运作。然而,在一实施例中,大容量存储设备被置于进一步降低的性能状态,其中在该大容量存储设备被访问时执行电源控制的“加速自旋(spin-up)”序列。
在该第二降低的性能状态中,计算机上的应用程序何时变为活动的时序可以影响电源管理决定。例如,根据一实施例,在新的应用程序开始执行而计算机处于第二降低的性能状态时,向该应用程序给出去特征的硬件设备作为可用的唯一设备。作为另一示例,如果计算机上的活动的应用程序是“屏幕保护程序”,则特定耗电设备被置于降低的性能状态。在一实施例中,在“屏幕保护程序”活动时,CPU转换到“P2”和“C1”性能状态。随后电源管理例程110前进至框223,如下更详细地描述的。
在判定框216,电源管理例程110确定可从电源获得的剩余功率容量的量是否是最大量的20%到40%之间。如前所述,在框202执行比较以便在给定可用的功率容量的量时为计算机上的设备标识适当的性能状态。如图2所示,如果剩余功率容量的量在最大量的20%到40%之间,则电源管理例程110前进至框218。相反地,如果剩余功率容量的量小于20%,则电源管理例程110前进至框220,如下更详细地描述的。
在框218,电源管理例程110使实现本发明的计算机上的硬件设备转换到第三降低的性能状态。在可用功率容量是最大量的20%到40%时,实现本发明的计算机上的耗电设备所提供的特征被降低以满足当前正执行的应用程序的基本要求。
根据一实施例,在框218,电源管理例程110调整耗电设备116(图1)的性能水平来匹配当前正执行的应用程序的基本要求。如前所述,当前正执行的应用程序所利用的硬件要求在这些程序被加载到***存储器中时由电源管理例程110标识。在框218,可参考这一信息来标识当前正执行的应用程序的基本要求。就此,应用程序102可以使用耗电设备来实现程序功能。然而,应用程序可能不需要设备的所有耗电特征。在这一情况下,电源管理例程110将耗电设备的特征与应用程序102的基本要求进行匹配。例如,在进入第三降低的性能状态时,电源管理例程110可以访问***数据来确定当前正在计算机上活动的应用程序的类型。如果没有一个当前执行的应用程序要求特定图形呈现特征;例如,如果用户仅在执行如文字处理程序、数据库应用程序等基于文本的程序,且未在执行具有复杂图形的游戏,则计算机的显示子***被置于“只限文本”模式。
在进入该第三降低的性能状态时,性能或设备状态(例如,“D状态”)被进一步按比例缩回。例如,根据一实施例,***存储器被置于“自刷新”模式,且如果电源使用下降伴随着性能上的降低,则网络设备的性能被降低。此外,大容量存储设备被请求以降低的速度工作,例如,计算机硬盘驱动器工作速度可从每分钟7200转降到每分钟5400转。随后,电源管理例程110前进至框223,如下更详细地描述的。
在判定框220,电源管理例程110确定可从电源获得的剩余功率容量的量是否小于最大量的20%。如前所述,在框202执行比较以便在给定可用的功率容量的量时为计算机上的硬件设备标识适当的性能水平。如图2所示,如果剩余功率容量的量小于最大量的20%,则电源节省例程管理例程110前进至框222。相反地,如果剩余功率容量在可被设为任意值的临界水平,则操作***进入本发明范围之外的退出策略。在这一情况下,电源管理例程110可以返回到框195并等待触发事件发生。
如图2进一步所示,在框222,电源管理例程110使实现本发明的计算机上的硬件设备转换到第四降低的性能状态。该第四降低的性能状态被设计为在积极主动地节省电量的同时提供允许用户执行有意义的任务的资源。在一实施例中,在可用功率容量小于最大量的20%时,不再使用在显示子***上可用的特定特征。例如,为支持低性能***存储器,可从视频卡获得的高性能视频存储器的使用被中止。此外,根据一实施例,视频卡所使用的可用“管道”或通信通道的数目被降低到支持当前应用程序的最低要求所需的数目。
在计算机处于第四降低的性能状态时,视频子***之外的其它耗电设备的使用被一起进一步“按比例缩回”或中止。例如,根据一实施例,CPU性能状态被从“P0”降到“P2”而不管当前正在执行的应用程序。同样,可用***存储器的量被降至为支持当前应用程序所需的最小量。当前未连接到计算机的网络设备被禁用以便不必执行对该设备的搜索。此外,当前未被利用的任何耗电设备都被转换到最深的可用设备状态(例如,“D3”),除非应用程序或用户需要。诸如USB或火线驱动器等外部附连的热插拔设备被置于挂起状态,直到指示需要这些热插拔设备的中断发生。随后电源管理例程110前进至框223。
如图2所示,在判定框223,电源管理例程110确定在框180处被载入***存储器中的应用程序是否退出。根据一实施例,电源管理例程110被用来调节对在计算机上活动的每一应用程序所消耗的电量。在应用程序退出且不会以其它方式表示为计算机上的进程时,电源管理例程110关于退出程序终止。在这一情况下,电源管理例程110前进至框224,其终止于此。相反地,如果在框180处被载入到***存储器中的应用程序未退出,则电源管理例程110返回到框195,并从框195到222重复直到程序确实退出为止。
虽然参考图2描述了节电特征和基于可用电源向降低的性能状态的转换的各具体示例,但该实施例应被解释为是示例性的而非限制性的。例如,电源管理例程110以上被描述为具有4个降低的性能状态。然而,在其它各实施例中,电源管理例程110可以具有更多或更少的降低的性能状态而不背离所要求保护的主题的范围。
尽管示出和描述了本发明的说明性实施例,但将会认识到可在其中作出各种改变而不背离本发明的精神和范围。

Claims (18)

1.一种在具有操作***的计算机中的计算机实现的方法,所述操作***管理所述计算机上的耗电设备,所述方法基于对所述计算机可用的电量来节省电量消耗,所述方法包括:
(a)对当前在所述计算机上活动的应用程序,获得描述所述应用程序在一降低的性能状态中的硬件要求的硬件要求设置信息;
(b)标识对所述计算机可用的当前电量;
(c)确定对所述计算机可用的当前电量是否与所述降低的性能状态相关联;
(d)如果所述当前电量与所述降低的性能状态相关联,则改变所述耗电设备的配置来将所述计算机置于所述降低的性能状态,其中改变所述耗电设备的配置来将所述计算机置于所述降低的性能状态包括改变所述耗电设备提供的特征来满足所述应用程序的所述硬件要求设置信息;以及
重复(b)、(c)和(d)直到应用程序退出。
2.如权利要求1所述的方法,其特征在于,还包括如果所述当前电量不与所述降低的性能状态相关联,则允许所述耗电设备以全性能水平运作。
3.如权利要求1所述的方法,其特征在于,所述操作***实现基于所述计算机的空闲率而使所述计算机在不同的***状态之间转换的现有节电方案;以及
其中,所述耗电设备的配置被改变以在所述计算机处于活动***状态时节省电量。
4.如权利要求3所述的方法,其特征在于,所述现有节电方案使用高级配置和电源接口来帮助在所述耗电设备和所述操作***之间通信;以及
其中,改变所述耗电设备的配置来将所述计算机置于所述降低的性能状态包括使用高级配置和电源接口来将一耗电设备置于设备睡眠状态。
5.如权利要求4所述的方法,其特征在于,标识对所述计算机可用的当前电量包括在使用所述高级配置和电源接口所获得的数据结构中执行查找。
6.如权利要求1所述的方法,其特征在于,确定对所述计算机可用的当前电量是否与所述降低的性能状态相关联包括在表示对所述计算机可用的电量的值和与不同的降低的性能状态相关联的各阈值之间执行比较。
7.如权利要求1所述的方法,其特征在于,改变所述耗电设备提供的特征来满足所述应用程序的所述硬件要求设置信息包括对耗电设备的能力去特征来与所述应用程序的所述硬件要求设置信息匹配。
8.如权利要求1所述的方法,其特征在于,改变所述耗电设备的配置包括标识和停用所述耗电设备提供的当前未被利用的特征。
9.一种用于延长用户能够与包括具有电源和耗电设备的硬件平台的计算机上的应用程序交互的时间段的计算机实现的方法,所述计算机具有管理所述计算机上的硬件平台和应用程序之间的通信的操作***、用于报告和访问所述耗电设备的功率降低能力的驱动程序、电源管理例程,所述方法包括在应用程序的执行期间重复地执行以下步骤:
标识可从所述电源获得的电量;
随着可从所述电源获得的电量下降,将所述耗电设备的性能降低至节省愈加大的电量的状态;以及
降低所述耗电设备的性能来与从所述应用程序获得的描述所述应用程序在一降低的性能状态中的硬件要求的硬件要求设置信息匹配。
10.如权利要求9所述的方法,其特征在于,所述计算机的硬件平台使用高级配置和电源接口将所述耗电设备的功率降低能力传达给所述操作***。
11.如权利要求10所述的方法,其特征在于,还包括在所述计算机处于活动***状态时改变一个或多个耗电设备的设备状态。
12.如权利要求9所述的方法,其特征在于,所述电源管理例程是所述操作***的以内核模式执行的组件;以及
其中,所述方法还包括扩展所述操作***的功能来将应用程序的性能要求与所述耗电设备的能力匹配。
13.如权利要求9所述的方法,其特征在于,还包括标识和停用由所述耗电设备提供的当前未被利用的特征。
14.如权利要求13所述的方法,其特征在于,能在所述计算机的显示子***中被停用的特征包括:
(a)代表视频卡执行处理的图形处理单元;
(b)所述视频卡使用的、不是支持当前应用程序的需求所需的管道或通信通道;以及
(c)代表所述视频卡存储数据的视频卡存储器。
15.如权利要求13所述的方法,其特征在于,还包括在可用电量低于阈值时将所述耗电设备提供的特征降低到下一最高性能状态。
16.一种用于延长用户能够与计算机上的应用程序交互的时间段的方法,所述方法包括:
(a)对所述应用程序,获得描述所述应用程序在一降低的性能状态中的硬件要求的硬件要求设置信息;
(b)标识来自电源的、对所述计算机可用的当前电量;
(c)基于可从所述电源获得的电量为所述计算机上的耗电设备标识适当的性能状态;
(d)响应于确定所述可用电量低于与所述降低的性能状态相关联的阈值:
(i)标识由所述耗电设备提供的、将降低电量消耗来达到所述降低的性能状态的特征;以及
(ii)改变所述耗电设备的配置以满足由所述硬件要求设置信息所描述的硬件要求,以使所述计算机在所述降低的性能状态中操作;以及
重复地执行(b)、(c)和(d)直到应用程序退出。
17.如权利要求16所述的方法,其特征在于,一操作***实现基于所述计算机的空闲率而使所述计算机在不同的***状态之间转换的现有节电方案;以及
其中,所述耗电设备的配置被改变以在所述计算机处于活动***状态时节省电量。
18.如权利要求17所述的方法,其特征在于,所述现有节电方案使用高级配置和电源接口来帮助在所述耗电设备和所述操作***之间通信;以及
其中,改变所述耗电设备的配置包括使用所述高级配置和电源接口来将所述耗电设备中的一个或多个置于设备睡眠状态。
CN2007800093184A 2006-03-16 2007-03-08 自适应电源管理 Active CN101405677B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/376,922 2006-03-16
US11/376,922 US7484110B2 (en) 2006-03-16 2006-03-16 Adaptive power management
PCT/US2007/005763 WO2007108934A1 (en) 2006-03-16 2007-03-08 Adaptive power management

Publications (2)

Publication Number Publication Date
CN101405677A CN101405677A (zh) 2009-04-08
CN101405677B true CN101405677B (zh) 2013-07-10

Family

ID=38519358

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007800093184A Active CN101405677B (zh) 2006-03-16 2007-03-08 自适应电源管理

Country Status (13)

Country Link
US (1) US7484110B2 (zh)
EP (1) EP1999542A4 (zh)
JP (3) JP4621290B2 (zh)
KR (1) KR101429299B1 (zh)
CN (1) CN101405677B (zh)
AU (1) AU2007227679B2 (zh)
BR (1) BRPI0708901B1 (zh)
CA (1) CA2644598A1 (zh)
MX (1) MX2008011653A (zh)
MY (1) MY146970A (zh)
NO (1) NO20083692L (zh)
RU (1) RU2436144C2 (zh)
WO (1) WO2007108934A1 (zh)

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006129138A1 (en) 2005-06-03 2006-12-07 Chan Kam-Fu Method of connecting hard disk
US8284205B2 (en) * 2007-10-24 2012-10-09 Apple Inc. Methods and apparatuses for load balancing between multiple processing units
US8948822B2 (en) * 2008-04-23 2015-02-03 Qualcomm Incorporated Coordinating power management functions in a multi-media device
US8908763B2 (en) * 2008-06-25 2014-12-09 Qualcomm Incorporated Fragmented reference in temporal compression for video coding
US8138627B2 (en) * 2008-06-27 2012-03-20 Sharp Laboratories Of America, Inc. Power management of network-connected devices in peak power periods
US8948270B2 (en) 2008-08-19 2015-02-03 Qualcomm Incorporated Power and computational load management techniques in video processing
US8964828B2 (en) * 2008-08-19 2015-02-24 Qualcomm Incorporated Power and computational load management techniques in video processing
US8638804B2 (en) 2010-06-04 2014-01-28 Broadcom Corporation Method and system for recognizing energy efficient certified devices through a gateway
JP2010200589A (ja) * 2009-02-27 2010-09-09 Toshiba Corp 電力制御装置および方法
TW201042449A (en) * 2009-05-19 2010-12-01 Inventec Corp Method for accessing storage unit
JP2011008343A (ja) * 2009-06-23 2011-01-13 Toshiba Corp 電子機器
US20110099394A1 (en) * 2009-10-22 2011-04-28 International Business Machines Corporation Power management in a data processing apparatus
US8370665B2 (en) * 2010-01-11 2013-02-05 Qualcomm Incorporated System and method of sampling data within a central processing unit
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
US8381002B2 (en) 2010-06-23 2013-02-19 International Business Machines Corporation Transparently increasing power savings in a power management environment
US8643656B2 (en) * 2010-09-30 2014-02-04 Nec Laboratories America, Inc. Energy-aware task consolidation on graphics processing unit (GPU)
US8448006B2 (en) 2010-10-19 2013-05-21 International Business Machines Corporation Performing virtual and/or physical resource management for power management
KR101146383B1 (ko) * 2010-11-22 2012-05-17 숭실대학교산학협력단 배터리 전력 제어 장치, 휴대 기기 및 이의 제어 방법
EP2458501A1 (en) * 2010-11-30 2012-05-30 France Telecom Method of operating a communication device and related communication device
JP5640832B2 (ja) * 2011-03-10 2014-12-17 ソニー株式会社 制御装置、制御方法および実行装置
US9465427B2 (en) 2011-06-30 2016-10-11 International Business Machines Corporation Software-centric power management by indirectly determining that user is not actively using computer program running on computing device
JP5729197B2 (ja) * 2011-07-28 2015-06-03 富士通株式会社 情報処理装置、情報処理プログラムおよび情報処理方法
CN103890693B (zh) 2011-10-28 2017-01-18 惠普发展公司,有限责任合伙企业 基于参数报告更新的阈值基准
US9064253B2 (en) * 2011-12-01 2015-06-23 Broadcom Corporation Systems and methods for providing NFC secure application support in battery on and battery off modes
US9557386B2 (en) * 2012-01-19 2017-01-31 Nike, Inc. Power management in an activity monitoring device
US11073959B2 (en) * 2012-06-08 2021-07-27 Apple Inc. Simulating physical materials and light interaction in a user interface of a resource-constrained device
RU2538289C2 (ru) * 2012-11-30 2015-01-10 Закрытое акционерное общество "РСК Технологии" Способ оценки энергопотребления вычислителя
WO2014131171A1 (en) * 2013-02-28 2014-09-04 Intel Corporation Context aware power management for graphics devices
RU2552177C2 (ru) * 2013-08-01 2015-06-10 Корпорация "САМСУНГ ЭЛЕКТРОНИКС Ко., Лтд." Способ оценки влияния работы приложений и их функций на энергопотребление во встраиваемых системах
KR101849369B1 (ko) * 2013-12-09 2018-06-01 한국전자통신연구원 부하 특성에 따른 시스템 전력 캐핑 장치
US9552045B2 (en) * 2014-03-20 2017-01-24 Intel Corporation Method, apparatus, and system for controlling power consumption of unused hardware of a link interface
KR102050945B1 (ko) * 2015-04-14 2019-12-02 후아웨이 테크놀러지 컴퍼니 리미티드 단말기 제어 방법 및 장치, 그리고 단말기
US10365705B2 (en) * 2016-12-15 2019-07-30 Dell Products L.P. System and methods for prioritized multi-node server and infrastructure availability during power capacity loss
TWI659297B (zh) * 2017-12-07 2019-05-11 技嘉科技股份有限公司 系統電源管理方法及計算機系統
US11129103B2 (en) * 2018-03-15 2021-09-21 Qualcomm Incorporated Skipping periodic measurements to enable power saving in user equipments
KR20200029810A (ko) 2018-09-11 2020-03-19 에스케이하이닉스 주식회사 데이터 처리 시스템 및 그의 동작방법
US11262825B2 (en) * 2018-11-02 2022-03-01 Hewlett-Packard Development Company, L.P. Power supply identification
CN112543375A (zh) * 2019-09-20 2021-03-23 青岛海信传媒网络技术有限公司 一种电视耗能管理方法及相关设备
US11237611B2 (en) * 2020-05-08 2022-02-01 Dell Products L.P. Systems and methods for determining real-time workload power supply units and enhanced redundancy reporting

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1439946A (zh) * 2002-02-20 2003-09-03 精工爱普生株式会社 打印装置控制方法及程序和其存储记录媒体及打印***
CN1670664A (zh) * 2004-03-18 2005-09-21 宏碁股份有限公司 一种用电池给电子装置供电的电源管理方法

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5339445A (en) * 1992-11-16 1994-08-16 Harris Corporation Method of autonomously reducing power consumption in a computer sytem by compiling a history of power consumption
JPH08161088A (ja) * 1994-12-02 1996-06-21 Olympus Optical Co Ltd 情報処理装置
EP0727728A1 (en) * 1995-02-15 1996-08-21 International Business Machines Corporation Computer system power management
JPH08234872A (ja) * 1995-02-23 1996-09-13 Fuji Xerox Co Ltd 情報処理装置
JPH11161385A (ja) * 1997-11-28 1999-06-18 Toshiba Corp コンピュータシステムおよびそのシステムステート制御方法
AU2770399A (en) 1998-02-26 1999-09-15 Sun Microsystems, Inc. An interactive design tool for shared memory spaces
JP4338842B2 (ja) * 1998-09-18 2009-10-07 パナソニック株式会社 電力制御装置、電力制御方法、及び記録媒体
JP2000214963A (ja) * 1999-01-25 2000-08-04 Toshiba Corp コンピュ―タシステムおよび設定情報の自動設定方法
JP4230585B2 (ja) * 1999-01-28 2009-02-25 株式会社東芝 コンピュータシステムおよび省電力制御方法
JP3064314U (ja) * 1999-04-20 2000-01-14 株式会社ハドソン バッテリ搭載装置
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
JP2001331242A (ja) * 2000-05-22 2001-11-30 Hitachi Ltd 情報処理装置及びその消費電力制御方法
KR100371181B1 (ko) * 2000-11-28 2003-02-06 엘지전자 주식회사 휴대용 기기의 절전방법
JP2002374349A (ja) * 2001-06-15 2002-12-26 Hitachi Ltd 情報端末電源管理方式
US6710578B1 (en) * 2002-08-27 2004-03-23 Motorola, Inc. Power resource management in a portable communication device
US20040158878A1 (en) * 2003-02-07 2004-08-12 Viresh Ratnakar Power scalable digital video decoding
US7353413B2 (en) * 2003-08-18 2008-04-01 Intel Corporation Computer system power policy adjustment in response to an affirmative indication from a user
JP4230463B2 (ja) * 2003-09-03 2009-02-25 シャープ株式会社 制御装置、通信装置、通信機器、電子装置、および情報処理装置
WO2005037388A1 (ja) * 2003-10-21 2005-04-28 Sony Computer Entertainment Inc. 電子装置
US7197651B2 (en) * 2003-10-30 2007-03-27 Intel Corporation Power mode calibration for add-on cards on mobile platforms
KR20050057822A (ko) 2003-12-11 2005-06-16 에스케이씨앤씨 주식회사 Xml을 이용한 gui 구현방법
KR100609240B1 (ko) 2003-12-19 2006-08-04 한국전자통신연구원 Mof 메타 모델과 사용자 요구 사항에 기반한 다이어그램 모델링 도구 생성 장치 및 방법
US7565562B2 (en) * 2004-09-03 2009-07-21 Intel Corporation Context based power management
KR100663864B1 (ko) * 2005-06-16 2007-01-03 엘지전자 주식회사 멀티-코어 프로세서의 프로세서 모드 제어장치 및 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1439946A (zh) * 2002-02-20 2003-09-03 精工爱普生株式会社 打印装置控制方法及程序和其存储记录媒体及打印***
CN1670664A (zh) * 2004-03-18 2005-09-21 宏碁股份有限公司 一种用电池给电子装置供电的电源管理方法

Also Published As

Publication number Publication date
JP2009530709A (ja) 2009-08-27
US7484110B2 (en) 2009-01-27
MX2008011653A (es) 2008-09-22
KR20080111454A (ko) 2008-12-23
AU2007227679A1 (en) 2007-09-27
JP2014038644A (ja) 2014-02-27
CA2644598A1 (en) 2007-09-27
WO2007108934A1 (en) 2007-09-27
RU2008137077A (ru) 2010-03-20
BRPI0708901A8 (pt) 2018-06-12
CN101405677A (zh) 2009-04-08
JP2011023020A (ja) 2011-02-03
BRPI0708901B1 (pt) 2019-03-19
EP1999542A1 (en) 2008-12-10
JP5647460B2 (ja) 2014-12-24
NO20083692L (no) 2008-09-09
EP1999542A4 (en) 2013-01-09
BRPI0708901A2 (pt) 2011-06-14
MY146970A (en) 2012-10-15
JP5647721B2 (ja) 2015-01-07
KR101429299B1 (ko) 2014-08-12
US20070220291A1 (en) 2007-09-20
RU2436144C2 (ru) 2011-12-10
JP4621290B2 (ja) 2011-01-26
AU2007227679B2 (en) 2011-09-01

Similar Documents

Publication Publication Date Title
CN101405677B (zh) 自适应电源管理
CN102789305B (zh) 推迟挂起
CN101536080B (zh) 具有多图形子***及降能耗模式的设备、软件及方法
US10146289B2 (en) Power system utilizing processor core performance state control
CN101105711B (zh) 用于在主处理器与副处理器间分配处理功能的***和方法
US9098274B2 (en) Methods and apparatuses to improve turbo performance for events handling
CN1742249B (zh) 多处理器计算***及其计算组件内的电源管理方法
CN102326132A (zh) 最大化虚拟机平台的降低功率状态的电源管理
CN102193765A (zh) 计算机、显卡、显示设备及显示信息更新的方法
CN102866934A (zh) 基于非易失随机存储器的嵌入式设备的休眠及唤醒***
US20200159311A1 (en) Modified sleep state graphics processing system
US6477655B1 (en) System and method to set PME—status bit and wake up the system, and selectively load device driver by searching who set the bit without requiring clock
CN103593040A (zh) 电源管理***及电源管理方法
CN102929381A (zh) 电子***及其电源管理方法
CN1313558A (zh) 在数据处理***中基于所需电池寿命的计算机电源管理
CN102141920B (zh) 一种动态配置C-State方法和通信设备
CN110806918A (zh) 基于深度学习神经网络的虚拟机运行方法和装置
US20230315188A1 (en) Using a hardware-based controller for power state management
Ellis Controlling Energy Demand in Mobile Computing Systems
CN102385529A (zh) 多cpu领域移动电子装置与其操作方法
Macht GreenIT: Power Consumption and-Optimization of PCs

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
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150505

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150505

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.