始终就绪的计算设备的制作方法

文档序号:6517163阅读:216来源:国知局
专利名称:始终就绪的计算设备的制作方法
技术领域
本发明一般涉及电源管理领域。更具体地说,本发明涉及一种系统和方法,控制计算机设备中个别组件的电源使用来降低声发射,以在维持开启(ON)状态运行应用程序的同时模拟断开(OFF)的环境。
背景技术
随着PC的功能开始汇聚于诸如个人视频记录装置(例如,数字视频记录器(DVR),eHome PC等等)的消费者电子(CE)设备的功能,PC将从诸如书房(den)或者家庭办公室的位置转移到起居室中,由此它们可被连接至家庭娱乐中心(例如,TV、立体声接收机、机顶盒等等),这种转移向PC提出了一个挑战,用户将期望很高的可靠性以及方便的使用,类似于CE设备。对于PC的期望在传统上远远低于对于CE设备的期望,因为PC较难使用并且在硬件和软件两者上往往都具有稳定性的问题。因此,为了在CE领域内获得成功,PC必须表现的更像一个设备(appliance)而不是一个传统的PC。
PC和CE设备在电源开启和关闭上同样具有显著的差别。传统上,为了立即从关闭状态变得可用,PC会进入低功率等待状态(ACPI S3)。一般,该低功率等待状态可使PC在小于两秒的时间内开启。然而,当PC处于低功率状态中时,可以执行的动作仅仅是唤醒该系统至完全“开启”状态(ACPIS0),以使PC可执行其它的功能。此外,S3和“开启”之间的等待时间会取决于许多的因素,硬件和软件两者都有。尽管可在一次开启中花费少于2秒的时间,可能在下一次需要5或7秒的时间。为此,PC低功率等待状态不能提供用户所期望的像CE设备那样的即时开启(instant-on)能力。
因此,需要一种将PC从节能状态恢复到完全“开启”状态的改进的系统,其中,PC在节能状态中可执行某些功能。本发明提供了这样的一种解决方案。

发明内容
本发明针对在计算设备中提供模拟关闭状态的系统和方法。按照第一方面,提供了一种通过一组软件扩充在计算设备中创建模拟关闭状态的方法。该方法包括提供设备驱动程序用于每个要被管理的组件,提供策略驱动程序来协调设备驱动程序的信息以确定计算设备的电源状态,接收改变计算设备的功率状态的信号,以及按照该信号指令系统组件改变它们各自的电源状态。如果信号表示进入低功率状态的请求,系统组件的功率消耗将被降低,以使计算设备进入模拟的关闭状态。然而,当计算设备处于模拟关闭状态时,计算系统维持在完全开启且系统组件维持可以运行应用程序的状态。如果信号表示进入完全开启电源状态的请求,则系统回到完全开启电源状态。
按照本发明的特征,通过丢弃输入来将人机接口设备锁定,而可以检测到表示上面提到的信号的预定的输入序列。此外,该策略可周期性地轮询每一个设备驱动程序以要求状态信息。同样,可提供一种系统服务以指令系统中的处理器降低时钟(clock-down)到最低的状态、停止显示信号以关闭监视器、降低供电电源输出、关闭冷却风扇并指示计算设备是处于模拟关闭状态。
按照本发明的其它方面,提供一种具有模拟关闭状态的计算设备,该设备包括一具有供电电源散热片的供电电源,该供电电源散热片具有与通过该供电电源的气流方向相匹配的第一鳍方向(fin orientation)以及用于引导气流扰流(turbulence)的第一横隔(cross-cut);一具有CPU散热片的中央处理单元,该CPU散热片具有双金属的外表面以及基座;一具有GPU散热片的图形处理单元,该GPU散热片具有与通过该图形处理单元的气流方向相匹配的第二鳍方向以及用于引导气流扰流的第二横隔;一硬盘驱动器;以及随机存取存储器。当该计算设备被关闭时,该计算设备通过使系统组件进入低功率状态而进入模拟关闭状态,从而使该计算设备看似被关闭。按照本发明的该方面,该计算设备在模拟关闭状态中仍维持可以运行应用程序。
按照本发明的另一个方面,提供一种当计算设备处于ACPI S0状态时在计算设备中产生模拟关闭环境的方法。该方法包括提供设备驱动程序用于每个要被管理的组件,提供策略驱动程序以协调设备驱动程序的信息来确定计算设备的电源状态,接收改变计算设备的电源状态的信号,以及按照该信号指令系统组件改变它们各自的电源状态。如果信号进入低功率状态的请求,则系统组件的功率消耗通过使用ACPI方法以使计算设备进入模拟关闭状态而降低。当计算设备处于模拟关闭环境中时,计算设备维持完全开启且系统组件维持可以运行应用程序的状态。然而,如果信号表示进入完全开启电源状态的请求,系统组件使用ACPI方法回到完全开启电源状态。
本发明的其它特征和优势将通过下面参考附图对所示的实施例的详细说明而变得更加明显。


前面的概述,以及下述对于优选实施例的详细描述,结合附图能够被更好地理解。为了说明本发明,在图中示出了本发明的示例构造;然而,本发明并不限于所揭示的特定方法和装置。在附图中图1是示出了在其中可以实现本发明的多个方面的示例计算环境的框图;图2是示出了SMBus接口以及相关组件的框图;图3-4是说明本发明的处理的流程图;图5是按照本发明的电源使用相对于ACPI/智能关闭状态的曲线图;图6是用于电源的散热片的图示;图7是用于CPU的散热片的图示;图8是用于图形卡的散热片的图示;图9是本发明的软件组件的概述图;图10是AR_COMMAND的一示例命令结构;以及图11是ARPOLICY_STATE的一示例命令结构。
具体实施例方式
示例性计算环境图1示出了在其中可实现本发明的合适的计算系统环境100的一个示例。计算系统环境100仅仅是合适的计算环境的的一个示例并且并不意味着对于本发明的使用范围或者功能的任何限制。同样,计算环境100不应该被解释为依靠或者要求在示例操作环境100中示出的任何一个组件或者其组合。
本发明可用许多其它通用或者专用计算系统环境或者配置来运行。适合于使用本发明的公知的计算系统、环境、以及/或者配置的示例包括但不限于,个人计算机、服务器计算机、手持或者膝上设备、多处理器系统、基于为处理器的系统、机顶盒、可编程消费者电子设备、网络PC、小型计算机、大型计算机、包括任何上述的系统或者设备的分布式计算环境,等等。
本发明可在例如程序模块等由计算机执行的计算机可执行指令的一般环境中被描述。一般,程序模块包括例程、程序、对象、组件、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。本发明还可以在分布式计算环境中被实现,其中任务是由通过通信网络或者其它数据传输媒质相连的远程处理设备执行。在分布式计算环境中,程序模块和其它数据可位于包括存储储存设备的本地以及远程计算机存储媒质中。
参考图1,实现本发明的示例系统包括以计算机110形式出现的通用计算设备。计算机110的组件可包括但不限于,处理单元120、系统存储器130以及用于将包括系统存储器的多种系统组件耦合至处理单元120的系统总线121。系统总线121可以是数种类型的总线结构中的任何一种,包括存储器总线或者存储器控制器、外围总线以及使用任何总线结构的局部总线。作为示例而不是限制,这些结构包括工业标准体系结构(ISA)、微通道体系结构(MCA)、扩展ISA(EISA)、视频电子技术标准协会(VESA)局部总线、外围部件互连(PCI)总线(也称为Mezzanine总线),外围部件互连快速(PCI-Express)总线、以及系统管理总线(SMBus)。
计算机110通常包括各种计算机可读媒质。计算机可读媒质可以是可由计算机110访问的任一可用媒质,包括易失和非易失媒质、可移动和不可移动媒质。作为示例而非局限,计算机可读媒质包括计算机存储媒质和通信媒质。计算机存储媒质包括以用于储存诸如计算机可读指令、数据结构、程序模块或其它数据等信息的任一方法或技术实现的易失和非易失,可移动和不可移动媒质。计算机存储媒质包括但不限于,RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光盘存储、磁盒、磁带、磁盘存储或其它磁存储设备、或可以用来储存所期望的信息并可由计算机110访问的任一其它媒质。通信媒质通常在诸如载波或其它传输机制的已调制数据信号中包含计算机可读指令、数据结构、程序模块或其它数据,并包括任一信息传送媒质。术语“已调制数据信号”指以对信号中的信息进行代码的方式设置或改变其一个或多个特征的信号。作为示例而非局限,通信媒质包括有线媒质,如有线网络或直接连线连接,以及无线媒质,如声学、RF、红外和其它无线媒质。上述任一的组合也应当包括在计算机可读媒质的范围之内。
系统存储器130包括以易失和/或非易失存储器形式的计算机存储媒质,如只读存储器ROM 131和随机存取存储器RAM 132。基本输入/输出系统133(BIOS)包括如在启动时帮助在计算机110内的元件之间传输信息的基本例程,通常储存在ROM 131中。RAM 132通常包含处理单元120立即可访问或者当前正在操作的数据和/或程序模块。作为示例而非局限,图1示出了操作系统134、应用程序135、其它程序模块136和程序数据137。
计算机110也可包括其它可移动/不可移动、易失/非易失计算机存储媒质。仅作示例,图1示出了对不可移动、非易失磁媒质进行读写的硬盘驱动器141、对可移动、非易失磁盘152进行读写的磁盘驱动器151以及对可移动、非易失光盘156,如CD ROM或其它光媒质进行读写的光盘驱动器155。可以在示例性操作环境中使用的其它可移动/不可移动、易失/非易失计算机存储媒质包括但不限于,磁带盒、闪存卡、数字多功能盘、数字视频带、固态RAM、固态ROM等等。硬盘驱动器141通常通过不可移动存储器接口,如接口140连接到系统总线121,磁盘驱动器151和光盘驱动器155通常通过可移动存储器接口,如接口150连接到系统总线121。
图1讨论并示出的驱动器及其关联的计算机存储媒质为计算机110提供了计算机可读指令、数据结构、程序模块和其它数据的存储。例如,在图1中,示出硬盘驱动器141储存操作系统144、应用程序145、其它程序模块146和程序数据147。注意,这些组件可以与操作系统134、应用程序135、其它程序模块136和程序数据137相同,也可以与它们不同。这里对操作系统144、应用程序145、其它程序模块146和程序数据147给予不同的标号来说明至少它们是不同的副本。用户可以通过输入设备,如键盘162和定点设备161(通常指鼠标、跟踪球或触摸板)向计算机110输入命令和信息。其它输入设备(未示出)可包括操纵杆、游戏垫、圆盘式卫星天线、扫描仪等等。这些和其它输入设备通常通过耦合至系统总线的用户输入接口160连接至处理单元120,但是也可以通过其它接口和总线结构连接,如并行端口、游戏端口或通用串行总线(USB)。监视器191或其它类型的显示设备也通过接口,如视频接口190连接至系统总线121。除监视器外,计算机也可包括其它外围输出设备,如扬声器197和打印机196,通过输出外围接口195连接。
计算机110可在网络化环境中运行,该环境使用逻辑连接至一个或多个诸如远程计算机180的远程计算机。远程计算机180可以是个人计算机、服务器、路由器、网络PC、对等设备或者其它公共网络接点,且一般包括上面结合计算机110描述的元件中的许多或则全部,尽管仅仅在图1中示出了存储储存设备181。所描述的逻辑连接包括局域网(LAN)171以及广域网(WAN)173,但也可以包括其它网络。这样的网络环境在办公室、企业范围计算机网络、内联网和互联网上是常见的。
当在LAN网络环境中使用时,计算机110通过网络接口或者适配器170连接至LAN 171。当在WAN网络环境中使用时,计算机一般包括调制解调器172或者其它用于通过诸如因特网的WAN 173建立通信的装置。调制解调器172可以是内置的或者是外置的,其可以通过用户输入接口160或者其它合适的机制连接至系统总线121。在网络化的环境中,结合计算机110或者其部分描述的程序模块可保存在远程存储器储存设备中。作为示例而不是限制,图1示出了远程应用程序185是驻留在存储设备181上。可以理解示出的网络连接是示例性的,而在计算机之间建立通信链路的其它装置也可以被使用。
始终就绪的计算设备的示例实施例现代的PC操作系统,例如可从华盛顿州雷蒙市的微软公司获得的WINDOWS XP,能够通过高级配置以及电源接口(ACPI)来控制系统中的某些组件取用(draw)的功率总量。这些组件包括但不限于,CPU、图形处理器(GPU)、监视器、硬盘驱动器、供电电源、冷却风扇等等。其好处在于可以降低电源使用从而使系统有更好的能效,同时还能降低冷却电扇的声发射。具体而言,当今的PC中最大的噪声就是来自冷却风扇,包括CPU风扇、GPU风扇、供电电源风扇以及系统外壳(case)风扇。如果设备取用较少的功率并发射出较少的热量,则通过风扇来主动散热的需求就会减少,因而可降低声发射。为了使PC可在起居室中被接受,噪声源需要被显著地降低。
本发明是针对具有“智能关闭”状态(模拟的关闭状态)的PC系统,其中PC在向用户呈现“关闭”状态的时候维持在“开启”状态(ACPI S0)。按照本发明,当PC上的电源按钮(“智能关闭电源按钮”)被按下时(可在系统的外壳上、通过遥控器、或者键盘或者鼠标动作),系统注册“关闭”事件,并且作为信令操作系统进入不同于当前运行的状态(S0)的ACPI状态(例如,S1、S3、S4或者S5)的替代,设置一系列电源管理触发来通过自定义软件和ACPI方法关闭诸如CPU、GPU、监视器、风扇等等的系统组件。因此,PC是“始终开启”的,并且准备好执行任务。或者,本发明可首先进入“智能关闭”状态,并接下来在经过一预定时间段之后,转换到S3。在这种情况下,当某些事件发生时,(例如,PC作为PVR,等等),系统从“S3”唤醒进入“智能关闭”(即,监视器关闭,音频静音等等),并执行任务且在非活动时间段之后回到S3。
这种技术促进一种系统,它能够处理低密度的任务而而显得不引人注目并以多种方式表现为“关闭”。当需要完成较高密度的任务时,系统可使其自己回到“开启”。例如,如果用户关闭了PC,但是安排在预定的时间记录TV节目,而与此同时另一个用户从该PC流下载(streaming)媒体,则该PC将会使其自己回到“开启”以提供完成这些工作所需要的处理功率和冷却工作。系统之后可被安排在完成这些任务之后将其自己返回“关闭”。
按照本发明,可以构想在S0中的五种“伪关闭(pseudo-off)”状态,如下(1)根据用户交互的开启。该状态是在用户通过观看TV、播放音乐、观看DVD等的方式与系统交互时进入。其还可以包括诸如文字处理或者互联网浏览的任何其它典型的PC使用。
(2)智能关闭。如上面所提到的,该状态在用户完成了他们的娱乐或者计算经历并按下PC上的“关闭”按钮时进入。PC维持在S0状态,但是所有的设备被降低时钟,所有的冷却风扇被停止,诸如鼠标和键盘的输入设备被锁定,等等,以向用户表示设备被关闭了。由于降低的时钟,与状态(1)相比,系统处于低功耗状态并可通过被动冷却的方式冷却。
(3)根据用户交互的智能关闭。在该状态中,用户能够在PC上执行某些任务而不需要将PC从智能关闭完全“唤醒”至状态(1)。例如,“智能关闭”提供足以进行音乐回放的处理功率。较佳地,用户能够在他们的PC上播放音乐而不需要打开风扇或者监视器。在这种情况下,PC可包括类似于在DVD/CD播放器上使用的面板显示屏,以表示正在播放哪个音轨、还剩余多少时间等等。
(4)不根据用户交互的开启。该状态在例如PC处于状态(2)之后进入,但要求返回状态(1)而屏幕不要再次打开。例如,当系统的任务是要求全部CPU或者GPU处理的记录TV节目(例如,个人视频记录器(PVR))时,可以进入此状态。该状态比状态(2)导致来自风扇的更高的声发射,但是比状态(1)有较低的声发射。
(5)活动智能关闭。该状态类似于状态(1),然而,处理工作负载足够小以使得PC能够维持在状态(2)时处理它。在这种状态下,PC处理任务而不打开风扇,并且即使处理指令的时候也继续表现为关闭。在对于状态(4)的描述中所提到的PVR情况仍然可能在该状态中完成。可能希望点亮LED以使得用户能够视觉上确认在PC处于“关闭”时任务被完成了,这类似于VCR会点亮一个灯以表示一个节目已经被记录了。
从任何上述的S0状态,用户同样可以完全将系统关闭至S5/G3状态。这可以通过第二电源按钮或者“关闭切换”(例如,在机壳后面)来实现。此外,可能希望实现以长时间按下(例如,4秒钟)智能关闭按钮来使系统进入S5/G3状态。最后,用户仍然可以使用操作系统的用户界面控制来关闭系统。
按照本发明,下列的非限制的列表中的组件可按照下列的方式关闭以实现低声发射。
CPU现有的CPU技术允许在基于系统需求而改变功耗期间对CPU的频率和电压进行调整(regulation)。例如,当呈现视频时,3.06GHz的处理器可将时钟调高(clock-up)至全频率和电压,以提供可能的最高处理功率,大约等于90瓦。然而,当系统处于闲置状态时,CPU可降低其时钟至很低的电压和频率(例如,低于800MHz),其仅仅需要大约10-35瓦。
常规的CPU冷却解决方案被设计成在所有时间对以可能的最高功率运行的CPU进行冷却,所以在低功率操作期间会产生不需要的高声发射。然而,按照本发明,被用于CPU上的散热片可被动冷却35瓦,或者由CPU所支持的时钟降低的频率所得到的任何瓦数,因而在智能关闭电源按钮被按下时,CPU风扇可完全关闭。
GPU在很多方面和CPU相同,大多数图形适配器的冷却解决方案是为最高电源利用率的情况而设计的,无论适配器是分离的还是集成的。通过实现与上述用于CPU的相同的技术,GPU风扇可在智能关闭按钮被按下时关闭。除了关闭GPU风扇之外,视频信号也会被立即消除以在显示屏上显示设备被关闭的。
系统外壳风扇系统外壳风扇是被用来降低系统机壳的周围温度,以帮助最大化组件风扇的效率并提供用于系统中被动冷却设备的气流。根据系统负载,这些风扇可被关闭或者以很低的转速被驱动,其产生的声发射低于人类听觉的阈值。
硬盘驱动器硬盘驱动技术已经进步到在PC外壳之外难以察觉其声发射的程度;然而,根据非活动性,还可能降低驱动器的转速。较佳的,硬盘驱动器在PC处于智能关闭状态是仍在继续转动,以使PC能够执行诸如更新系统代码或者从有线馈送(cable feed)或者互联网下载媒体内容的后台功能。
供电电源通过使用之前描述的解决方案,当系统中的组件处于低功率状态时,供电电源的负载将显著降低。通过降低供电电源的负载,合适大小的被动散热片可被用于冷却供电电源以使供电电源风扇在低功率状态期间关闭。
按照本发明,优选的实施方式使用软件驱动程序,其使用现有的ACPI方法控制CPU的频率和电压。类似的,GPU通过定义的API来控制,以按照PC操作系统的请求降低GPU的速度(throttle down)。软件驱动程序可被用于控制其它组件,例如风扇和供电电源等等。
在一优选的实现中使用的通信协议是SMBus(系统管理总线接口),其使用供电电源中的现有的微控制器。如在图2中所示的,通过SMBus接口200,不同的组件,包括SMBus系统主机202、供电电源204和其它设备206可实现通信以控制系统主机风扇、按钮以及LED。SMBus接口在“SystemManagement Bus(SMBus)Specification(系统管理总线(SMBus)规范)”版本2.0中描述,其由SBS实施者论坛在2000年8月3日公布,并通过引用整体结合与此。
供电电源可包括转换AC至DC的供电电源单元、电池、以及集成电池充电器。供电电源204监控特定的环境参数以为电源管理和充电控制提供合适的信息,而不考虑特定供电电源单元的大小,或者电池的大小和化学属性。主机110至供电电源204的通信被用于获得呈现给用户或者是呈现给主机110的电源管理系统的数据。用户可从电源获得两种类型的数据实际的和预计的。实际数据可被测量,例如温度或者电池充电/放电状态,或者它也可以是电池特性,例如电池的化学属性。预计数据是计算的,其是基于PSU和电池的当前状态计算的。
按照本发明,电源管理系统可查询设备驱动程序以确定一动作是否会对系统的完整性造成危害。例如,在供电电源204处于最大负载时提高磁盘驱动器的转速会导致输出电压跌落到可接受的限度以下,从而导致系统故障。为了避免这一点,设备驱动程序需要来自供电电源的可产生希望的结果的信息。如果驱动程序查询供电电源204并发现没有足够的功率可用,其可要求电源管理系统关闭一个非关键的电源使用或者改变系统组件的电源/性能操作点。
供电电源204能够告知主机110潜在的危险状态。这些通告表示供电电源204的部分上的影响,以告知主机110电源将要出现故障或者电池电量低。供电电源204希望用户或者主机110能采取正确的行动。这种危险通告可源自使用SMBAlert供电电源204来发信号通知主机110供电电源的状态改变了。
或者,CPU的频率和电压可通过包括微控制器(例如系统BIOS)中的微代码的硬件机制来控制。这可通过使用控制协议(例如,SMBus或者其它控制协议)的供电电源来触发,以告知CPU基于失去AC电源以及/或者DC电源(电池电源)的存在而改变频率和电压。该种实现不是依靠ACPI而是完全基于HW/固件的。
现在参考图3、4,示出了在上面描述的APCI S0中的多种伪关闭状态之间转换的流程图。在步骤300,PC处于完全“开启”状态,就如在状态(1)中所描述的。在步骤302,用户完成了他/她与PC的交互并按下了PC上的智能关闭按钮。在步骤304系统确定是否任何活动的应用程序要求完全的处理功率,并告知用户(步骤306)如果系统关闭该动作将被取消。在步骤308用户可取消在步骤306提到的动作,此时进程返回步骤304,或者可以选择不取消动作,此时PC返回步骤300并维持在完全开启状态。
如果在步骤304活动应用程序不要求完全处理功率,则在步骤310,系统组件被通告一低功率请求。下一步,在步骤312,CPU将时钟调低至最低的状态且CPU风扇停止。在步骤314,GPU关闭,风扇停止并且视频信号被切断。在步骤316,HDD刷新缓存并降低转速以进一步降低功耗。在步骤318,系统外壳风扇停止,之后供电电源输出降低且风扇在步骤320停止。在步骤322,电源按钮(或者外壳LED)表示关闭状态(即,智能关闭)以使PC表现的像关闭(步骤324)。
图4示出了当系统处于智能关闭状态(步骤326)时返回完全开启状态的过程。在步骤328,确定是否存在要求更多功率的应用程序。这些应用程序可由用户交互调度或者触发。如果没有应用程序要求更多的功率,则过程返回步骤326。如果存在要求额外功率的应用程序,则在步骤330,供电电源风扇打开,之后是系统外壳风扇在步骤332中打开。在步骤334,硬盘驱动器加快转速,之后GPU和其风扇在步骤336打开。在步骤338,CPU时钟调高且风扇打开。在步骤340,电源按钮指示PC被打开,此时PC处于完全开启状态(步骤342)。
图5示出了功耗相对于APCI/智能关闭状态的示例曲线图。当PC处于APCI S0状态时,PC中的各个组件被允许以完全的功率运行。因此,PC的功耗相对较高,大约是在50瓦至超过200瓦的范围。然而,当用户启动智能关闭,功耗被积极地(aggressively)管理以将功耗限制到阈值,例如60瓦(或者其它可被动散热的量)。当处于智能关闭状态中时,PC维持在S0而组件被管理以将总功耗维持在阈值以下。在该状态中PC能够执行处理任务。当处于智能关闭状态时,在遇到应用程序处理需求时,PC试图将功率缩减(curtail)在阈值之下。如果PC要运行要求超出智能关闭状态的功率限制的处理的应用程序,PC组件会被打开并重新激活活动冷却组件。PC由此返回到完全开启(S0)状态。然而,如果用户要求PC进入其它的APCI状态(S3、S4/S5),功耗会进一步降低但PC不能执行任何任务。
按照本发明的始终就绪计算设备的一个示例性硬件实施例现在将被描述。计算系统较佳地运行MICROSOFT WINDOWS XP,或者更高的版本。实现始终就绪特征的系统包括计算设备100的面板上一人机接口设备(HID)兼容的睡眠按钮、一遥控器以及可任选地包括键盘162。在本文件中,HID兼容睡眠按钮将被称为“智能关闭按钮”。智能关闭按钮主要是用于将系统100从S0转换到智能关闭,以及从智能关闭转换到S0。此外,设备100面板上,或者可选的位于遥控器上的智能关闭按钮可使系统从S5或者S4进入S0。
下面描述如何在始终就绪系统中实现智能关闭按钮,以及它与传统的HID睡眠按钮有什么区别。一专用USB接头暴露在母板上,用于将USB端口连接到智能关闭按钮。为了实现这个方案,低价的USB微控制器可被编程作为HID设备,以支持智能关闭功能。运行智能关闭按钮所需的USB微控制器被编程作为HID设备并发送HID使用代码,以用于电源管理。由于始终就绪使用传统的HID使用代码进行系统控制,如果始终就绪软件后来被删除的话,可使用电源管理来配置智能关闭按钮。
由于智能关闭按钮没有直接连线至超级I/O芯片的电源管理控制器,它通常在不具有执行任何操作的能力直至操作系统载入。为了使智能关闭按钮能够执行从S4或者S5的引导操作,母板通过USB支持“远程开启”。为了执行该功能,母板的芯片组被配置为USB端口上的“USB唤醒”(Wakeon USB),其上连接位于PC的机壳上的智能关闭按钮。如果遥控器接收机是内部地硬线连接至UBS接口而不是通过外置连接来连接的,该端口也可以用于唤醒系统。然而,为了在系统处于S4或者S5时节省电源,较佳的是仅仅将与智能关闭按钮相连的端口配置为USB唤醒,而不是所有的端口。
如果母板的芯片组在AC电源失去后不支持USB唤醒,则母板芯片组和系统两者都应当支持并被配置为在AC恢复时打开电源。否则,智能关闭按钮在AC电源被从系统移除并在之后恢复的情况下不工作。
BIOS实现通过始终就绪驱动程序扩展来实现与始终就绪技术的互操作,其将在下面详细讨论。由于智能关闭按钮被实现为HID兼容睡眠按钮,电源管理功能识别用于系统控制的HID使用代码并指令系统进入在控制面板的电源选项中指定的系统状态。为了使始终就绪系统在该按钮被按下时执行不同的动作,始终就绪系统驱动程序解释按钮按下的事件,并之后将该事件重新指向至始终就绪策略驱动程序。
始终就绪策略驱动程序通过始终就绪ACPI驱动程序与系统BIOS 133通信。本领域的普通技术人员将认识到,此处使用的驱动程序扩展、服务和方法的名称是为了示例的目的,且并不是为了限制本发明的范围。始终就绪APCI驱动程序执行告知BIOS转换至智能关闭或者从中转换出的ACPI控制方法(ADRY)。为了使始终就绪ACPI驱动程序传递一智能关闭请求至BIOS以在开启和智能关闭之间转换,该驱动程序会通过例如ACPI.SYS调用ARDY控制方法。如果设备在BIOS的ACPI名字空间中被创建,上述操作完成,可对其载入始终就绪ACPI驱动程序。一旦始终就绪ACPI驱动程序被载入用于新的设备,其发送IOCTL至ACPI.SYS以运行ARDY控制方法。
设备的名称和硬件ID可在ACPI名字空间中被创建,而一示例ARDY控制方法如下//Define smart off deviceDevice(\_SB.SOFF){Name(_HID,″ARY0001″) //始终就绪设备Method(ARDY,1){//此处添加控制方法}}和系统的活动电源状态通信的发光二极管(LED)也应该能够显示除所有的所支持的ACPI电源状态之外的智能关闭的状态。LED至智能关闭兼容系统的连接是与支持ACPI固定电源按钮的电源LED相同方式物理连接的。然而,如果系统中除了智能关闭按钮之外还具有ACPI固定电源按钮,就需要两个LED。无论系统的状态如何,这些LED中的每一个的系统状态应当在所有的时间都匹配。
智能关闭按钮LED使用在ACPI名字空间中定义的系统状态对象(_SST),以正确地指示系统是否处于智能关闭状态。当ARDY控制方法被执行时(由此指示系统转换到智能关闭),BIOS应当将SST对象从工作状态“1”改变到睡眠状态“3”。当该控制方法再一次被运行以将系统从智能关闭状态中唤醒时,_SST对象的值应当被改回工作状态“1”。
用于始终就绪计算设备的供电电源在上述提到的声学要求期间可被实现,即,风扇在设备处于智能关闭状态时停止。对于供电电源,需要考虑许多系统因素,例如功率取用、组件布局、机壳设计、以及对于诸如CPU和图形卡的系统组件的选择。由于这些因素在系统之间各不相同,在选择或者设计用于始终就绪计算设备的供电电源时考虑下述方面风扇控制、散热片设计以及操作效率。
虽然在智能关闭时关闭风扇是较佳的,但根据在上面的列表中提到的系统因素,这可能是不切实际的。作为替代,更合理的是具有对于供电电源的风扇的高级控制,使得风扇在智能关闭状态时以安静的速度运行。无论供电电源风扇关闭或者降低转速,当进入智能关闭时,风扇自己的控制必须以某种方式完成。风扇控制可通过运行计算设备上的始终就绪软件、通过BIOS、或者可由供电电源自己管理来完成。
供电电源的风扇操作通常是通过供电电源自己控制,或者在PC开启时以预定的速度(电压)恒定地运行风扇,或者在系统睡眠或者关闭时关闭风扇。因为始终就绪系统基本上在100%的时间处于S0,典型的供电电源没有用于确定何时将系统转换到智能关闭以及何时从中转出的机制。对于被设计成在始终就绪技术中工作最佳的供电电源,需要进行特殊的修改,现在将要描述。
风扇速度控制可通过FanC信号而向系统展现,FanC信号在ATX规范、版本2.2第4.3节中定义。通用I/O(GPIO)接头会暴露在母板上,而来自供电电源的FanC信号线与其连接。此外,当转换到智能关闭或者从中转出时,设备驱动程序可以和始终就绪策略驱动程序一同被使用以控制风扇。该设备驱动程序被实现为直接与连接有FanC信号的GPIO通信。或者,控制供电电源的GPIO可通过BIOS而不是通过设备驱动器来控制。或者,系统设计者可以选择使用MICROSOFT POWER SENSE技术的供电电源,其提供FanC/FanM风扇控制。
供电电源的风扇速度控制也可以通过母板的超级I/O芯片的环境控制器功能来完成,通常,这些控制器具有多个风扇输出,它们可被用于控制供电电源的风扇。
需要注意,不同的供电电源风扇控制方法可被实现。例如,在供电电源的热环境上升的情况下,供电电源也必须被设计为覆盖(override)风扇控制。由于供电电源不将热信息传送到系统,所以这是需要的。
为了使供电电源在智能关闭时能被安静地冷却,就需要在设计供电电源的散热片时考虑这个目标。热分析显示在供电电源的主PCA上提供的储备(stock)散热片在强制或者自然的对流情况下都不是足够的。此外,这些储备散热片被设计为适合于更加紧密封装的区域。
现在参考图6,示出了设计用于在始终就绪计算设备中被动驱散功率负载所产生的热量的供电电源散热片402。在为主板装配组件、线路、以及周边几何布置留出间隙的情况下,该散热片的物理尺寸被最大化以适于系统封装中的可用空间。鳍方向404与通过供电电源的主要气流方向相匹配,而横隔406帮助引导气流扰流。该散热片被阳极氧化(anodize)成黑色以帮助最大化所散发出的热量的传输能力。
供电电源设计的本质是在供电电源处于全负载运行时能够达到最佳的效率。表1示出了200瓦DC负载的供电电源在全容量运行时的效率


表1如在表1中所表示的,为了向PC传送190.85瓦的连续DC功率,供电电源能够接收270瓦的AC输入以容纳由于从AC转换到DC时的功率耗散而造成的79.15瓦的损耗。这相当于在100%负载时供电电源的速率效率为71%。相反,当供电电源的负载显著降低时,供电电源中的损耗增加。表2表示了200瓦DC负载的供电电源运行在20%负载下的效率

表2如表2所示的,为了向PC提供36.75瓦的连续DC功率,供电电源必须提供68瓦的AC输入以容纳由于从AC转换到DC时的功率耗散而造成的31.25瓦的损耗。这相当于在20%负载时54%的效率。通过将供电电源的操作效率从71%增加(如表1所表示的),在较低操作等级的损耗将会显著降低。这能为终端用户提供更高的功率节省,以及能够更加适于在智能关闭时进行被动冷却的热能设计。
当ARDY控制方法被运行以告知BIOS系统正在开启和智能关闭之间转换时,BIOS可根据ARDY控制方法的值采取合适的行动以控制供电电源风扇。这一般通过系统中监控CPU和系统温度信息的超级I/O芯片(SIO)来实现,该芯片具有多个风扇控制点。具有智能风扇控制的SIO芯片能够基于在风扇和温度控制寄存器中配置的值来改变风扇速度。
始终就绪设计的一个方面是在系统进入智能关闭状态时使CPU能以导致较低功率状态的较低的频率和电压运行。这种能力显著降低了在智能关闭状态中的功率取用,这能使CPU的热包层(thermal envelope)较小,可使用被动散热而不需要转动风扇。
设计最佳的始终就绪PC的CPU相关硬件如下支持ACPI处理器性能控制的CPU、以及用户散热片设计。支持处理器性能状态的处理器,如在高级配置和电源接口规范8.3.3节中定义的,允许CPU进入低功耗状态。这一般通过处理器的频率(CLK)和电压(VDD)的改变来实现。或者,处理器可实现停止时钟调速(throttling),如在ACPI规范8.1.1节中定义的,以增加处理器的时钟关闭时间的占空度(duty value)。这与降低频率有相同的效果,尽管电压没有降低意味着功率的节省不如在实现处理器性能控制时显著。
为了示例,在AMD ATHLON 64处理器中,表3示出了在智能关闭时不同情况下的CPU温度、系统功耗、CPU使用率


表3由于适于合适的母板的传统散热片被设计为在使用集成冷却风扇的强制对流下工作,这些散热片具有在强制对流情况下最大化体积和表面积以利于最佳热传导的几何形状(针、紧密放置的鳍、折叠层金属鳍,等等)。然而,所示出的传统的散热片在自然对流情况下表现得不好,因为空气往往会在紧密布置的鳍的周围流动,而不是穿过。此外,集成配置的风扇往往会在风扇不提供强制气流时隔离散热片。
一些不具有风扇的散热片是可以购买的,然而它们太大,不能适应典型的计算设备中有限的可用空间。因此,要求一种在自然和强制对流情况下都有很好的热性能的设计。如在图7中所示的。
由于CPU散热片的设计具有高热传导性,铜基座410被用于将热量从处理器芯片分散出来。然而,铜沉重、昂贵、并且在制造过程中难以成形。为了最小化这些缺陷,这一散热片设计的外部部分412由黄铜基座上结合的铝鳍构成,其提供了将热量散发到空气中所要求的表面积和热体积。这些散热片鳍414被放置得相对分开很远,以允许在自然对流情况下的较佳传导。此外,该散热片的铝部分延伸越过铜基座以最大化热体积和表面积。封装的入口/出口和风扇偏转板的几何形状同样被调整以提供在强制对流下的最佳冷却情况。
散热片的理想物理尺寸由下述确定,在为主板装配组件和线路留出间隙的情况下,最大化整体几何形状的尺寸以适应系统封装中的可用空间。铜基座的尺寸被选择以适应由AMD ATHLON 64所指定的轮廓和装配孔布局。以使得散热片的铝部分(装配在铜基座的外表面上)能够延伸越过母板并和周边的组件留有空隙的方式来选择基座的厚度。这提供了一个简单、平整的转换区域,允许简单而低价的制造。
铜散热片基座上的有鳍的铝几何形状被设计为最大化母板上的可用空间,在给定计算设备封装的整体配置时,其提供最大可能的表面积和热体积。鳍的放置被选择以允许标准机械工具可被用于切割散热片鳍,而不需要使用特殊的工具或者处理(例如EDM加工)。该设计提供高长宽比的鳍几何形状,放置得相对较远以在强制和自然对流情况下都提供较好的热传输,如上面所描述的。此外,一薄横隔416被做成与鳍方向垂直以提供气流“中断”,这可以帮助引导气流扰流,从而增加散热片的热传输能力。
散热片的铝部分被阳极氧化成黑色以帮助最大化鳍传输所发射的热量的能力。黑色的阳极氧化层具有比裸露的铝高几倍的热辐射性。改善的热传输效率在使用对流冷却模式时尤其重要。
始终就绪兼容系统BIOS实现处理器性能控制,如在高级配置和电源接口规范8.3.3节中所定义的。这使得始终就绪用户模式服务执行NTPowerInformation API以在进入智能关闭时将CPU进入其所支持的最低P状态。
CPU风扇控制是通过告知系统BIOS系统已经通过ARDY控制方法进入智能关闭而实现的。BIOS之后采取适当的行动将风扇关闭。然而,必须考虑热量覆盖(override)以保证即使在智能关闭时,CPU温度不会升高到超过制造商所建议限制的程度。该功能一般是通过系统中监控CPU和系统温度信息的超级I/O芯片完成,该芯片具有多个风扇控制点。具有智能关闭风扇控制的SIO芯片能够根据风扇和温度控制寄存器中的值而改变风扇的速度。
在许多系统中,图形卡在使用时几乎会消耗和CPU一样多的功率。这提出了一个在系统进入智能关闭时需要解决的困难的热量挑战。然而,由于用户在系统处于智能关闭时不会主动使用显示器,对于高图形性能的需求是不必要的。这给了图形制造商在进入智能关闭时根据需要来积极管理卡上的GPU的可能性。此外,需要考虑散热片设计以开发一种能在智能关闭中被动散热的解决方案。
为了保证在智能关闭期间GPU的温度不会升高到高于制造商公布的规范,使用如图8中所示的散热片418的设计。该设计使用在没有实现GPU调速(throttling)和风扇控制的地方。此外,提供给大多数图形卡的储备散热片不提供足够的热传输特性。具体而言,视频卡装配了面向下的散热片,其所面对的区域不是在系统中多数气流的直接路径上。此外,储备的散热片的鳍420的方向是与所封闭的区域中主要气流相垂直的。
和CPU散热片一样,在为主板装配组件、线路、以及周边几何布置留出间隙的情况下,该散热片的物理尺寸被最大化以适于系统封装中的可用空间。鳍方向最好与封装区域中的主要气流的方向相匹配,而横隔422帮助引导气流扰流。该散热片同样被阳极氧化成黑色以帮助最大化传输所发射的热量的能力。
软件实现一组始终就绪扩展通过一套驱动程序和一用户模式服务来管理。图9中的框图示出了这些软件组件以及它们彼此之间的逻辑关系。矩形框表示驱动程序,ARPolicy、ARHidFlt和ARACPI不对任何具体的硬件实现专用。AREnv驱动程序是部分硬件相关的。ARService是用户模式始终就绪服务。该服务是硬件不相关的。
在WINDOWS操作系统中,所有的驱动程序都是标准内核模式WDM驱动程序。图中的所有驱动程序都通过标准PnP装置来例示,或者作为将驱动程序与给出的VID/DVD相关联的PCI总线驱动器的结果、作为过滤器驱动程序、或者作为根枚举设备。用户模式服务在系统引导期间在典型的系统服务开始时间开始。
现在将描述图9中的每一个元素。ARPolicy驱动程序424(或者其它适当命名的驱动程序)是负责从其它始终就绪驱动器和合作实体中收集信息。ARPolicy驱动程序424使用这些信息来确定系统的始终就绪状态。该状态信息之后由ARPolicy散发至整个系统中的所有合作实体。AREnv驱动程序426被提供作为怎样支持任何需要被告知系统始终就绪状态变化的特定硬件的一个示例。ARHidFt驱动程序428是HID过滤驱动程序。当系统处于智能关闭时,该驱动程序(通过丢弃所有的用户健入)来“锁定”USB键盘,(通过丢弃鼠标移动通告)来“锁定”USB鼠标。该驱动程序还侦测用于在智能关闭和开启之间来回切换的预定义的密钥序列(作为智能关闭按钮的替代)。ARACPI驱动程序430要求在系统的ACPI名字空间中定义的始终就绪专用设备(如果存在的话)。当系统进入或者离开智能关闭状态时,ARACPI设备430调用在该设备的ACPI名字空间(直接在设备之下)中定义的特定方法。ARService 432是执行在用户模式中更容易实现的始终就绪操作的用户模式服务。这些操作包括关闭主视频显示器、关闭音频、暂停正在进行的音频回放、降低CPU速度。这些操作可使用传统的功能完成。执行的进入S0-Looks-Off状态时所执行的特定功能ARService 432是由注册表键所控制的,如下面将要定义的。
现在描述ARPolicy和集成的内核模式组件之间的通信。ARXxxx驱动程序(即,控制在ARPolicy的指导下的组件的驱动程序)一般将不会采取自动的行动来改变它们的状态作为硬件状态改变或者由其内部检测到的事件的结果。相反,由ARXxxx驱动程序标识的硬件状态的改变会导致驱动程序产生一个或多个对ARPolicy驱动程序的事件通知。ARPolicy驱动程序集成从系统中的多个组件处收集的信息,并使用该信息定义系统的当前始终就绪状态。ARPolicy使用命令通知将系统的始终就绪状态的任何改变传递到其它ARXxxx驱动程序。ARXxxx驱动程序使用它们从ARPolicy接收的关于当前始终就绪系统状态的信息来管理它们的控制点。
ARPolicy和其它ARXxxx驱动程序之间的通信可通过一对命名的执行回叫的方式来完成。首先是“事件”回叫。该回叫(命名为ARPC_EVENT_CALLBACK_NAME)由一ARXxxx驱动程序通知,用以向ARPolicy发送系统状态报告信息。每个ARXxxx驱动程序(除了ARPolicy)打开该回叫,并使用其用于事件通知。ARPolicy打开该回叫并注册一回叫例程,该例程将被调用作为每个通知的结果。
第二是“命令”回叫。该回叫(ARPC_COMMAND_CALLBACK_NAME)由ARPolicy在其具有一命令要发送到一个或多个ARXxxx驱动程序时被通知。每个ARXxxx驱动程序(除了ARPolicy)打开该回叫并注册一回叫例程,该例程将被调用作为每个ARPolicy通知的结果。
内核回叫较佳地是被作为主通信方法,因为它们是相对轻载的并可提供一对多(广播类型)通信机制。此外,通知向回叫例程传递两个自变量,这提供了显著的灵活性。因为回叫通知被同步地处理,始终就绪套件中的所有驱动程序将快速地处理它们的回叫而没有阻塞。同样,该系统中的通信是在ARPolicy和一个其它ARXxxx驱动程序之间是较佳的。ARXxxx驱动程序相互之间从不直接通信。
当一回叫被通知时,无论是由ARPolicy还是任何其它ARXxxx驱动程序,两个32比特的自变量将被传递一AR_COMMAND结构,以及一附加的32比特值,此处称为Value2。对于Value2的使用是取决于AR_COMMAND的内容的。AR_COMMAND结构将被用于在ARPolicy和其它ARXxxx驱动程序之间通信。
示例结构的格式在图10中示出,其中AR_COMMAND字段定义如下C/E它被置1以表示AR_COMMAND结构描述一命令且该AR_COMMAND源自ARPolicy且主要是针对在Driver字段中定义的驱动程序。它被清0以表示AR_COMMAND结构描述主要针对ARPolicy驱动程序的事件,且该AR_COMMAND是源自在Driver字段中定义的ARXxxx驱动程序。
ID包括7比特的值,唯一地标识特定的命令或者事件。
Driver如果C/E等于1(表示一命令),Driver包含主要目标是该命令的驱动程序的AR_DRIVER号。当C/E等于1而Driver为0xF(AR_DRIVER_ALL)时,目标是所有的ARXxxx对象。如果C/E是0(表示一事件),Driver包含产生该事件的驱动程序的AR_DRIVER号。
Seq如果C/E等于1(表示一命令),这是命令序列号。如果C/E等于0(表示一事件),这是(1)来自之前接收的命令的Seq字段的序列号,以表示该事件是对特定的命令的响应,或者(2)0表示该事件不是响应于之前接收的命令而产生的。
F/S当C/E等于0时,F/S被置1以表示AR_COMMAND结构描述了至少部分有错的事件。Value1(见下文)中的数据是部分的或者不正确的。该比特最一般的是在ARXxxx驱动程序试图处理来自ARPolicy的命令但是失败时被置1的。在这种情况下,命令ID包含来自ARPolicy的命令。
Value1包含与在ID中表示的命令或者事件相关并且由其定义的数据(例如命令自变量或者事件值)。
事件ID的若干示例如下ARPC_EVENT_ENTER_SMARTOFF-对于该事件,Value1和Value2都是0。
ARPC_EVENT_EXIT_SMARTOFF-对于该事件,Value1和Value2都是0。
一示例命令可为ARPC_COMMAND_SET_ALWAYS_READY_SYSTEM_STATE-Value1为0,而Value2包含一ARPOLICY_STATE结构。
无论何时ARPolicy接收到一事件通知,其估计该事件在系统的始终就绪状态上产生的影响。如果该事件结果会导致系统的始终就绪状态的改变,则ARPolicy将会建立一具有命令ID为ARPC_COMMAND_SET_ALWAYS_READY_SYSTEM_STATE的AR_COMMAND,并将传送系统的新始终就绪状态,就如当命令通知被执行时,由Value2中的ARPOLICY_STATE结构所描述的。
示例的ARPOLICY_STATE结构的格式在图11中示出。如在图11中所示的,ARPOLICY_STATE字段定义如下PowerState系统的当前S状态(S0-S5),或者S0-Looks-Off。
CpuUsage当前的CPU使用率百分比,以十分位数表示(即,值1到10意味着10%到100%)。
Application位屏蔽,其中在0-14的范围之内的每一比特表示活动的特定“始终就绪感知(aware)”应用程序。比特数是到注册表中的始终就绪感知应用程序的名称的数组的索引。当比特15被置1时,表示一个或多个附加的“始终就绪感知”应用程序当前是活动的。
Reserved这些字段被保留用于将来的应用并被忽略。
除了ARXxxx驱动程序之外的合作的内核模式实体也可以向ARPolicy发送状态信息改变。它们通过打开事件回叫(ARPC_EVENT_CALLBACK_NAME)并如之前对ArXxxx驱动程序所描述地通知该回叫,传递一AR_COMMAND结构和附加的DWORD自变量(Value2)。因为合作实体不是始终就绪软件套件的整合部分,它们将AR_COMMAND结构的Driver字段设置为DRIVER_OTHER,并将Seq和S/F字段设为0。
例如,用于协作HID设备的驱动程序可能希望告知ARPolicy能导致系统进入S0-Looks-Off状态的HID事件的出现。该HID驱动程序可使用类似下述的代码来完成AR_COMMAND smartOffEvent;RtlZeroMemory(& smartOffEvent,sizeof(AR_COMMAND));smartOffEvent.CorE=AR_COMMAND_CorE_E;smartOffEvent.ID=ARPC_EVENT_ENTER_SMARTOFF;smartOffEvent.Driver=DRIVER_OTHER;smartOffEvent.Seq=0;smartOffEvent.SorF=0;ExNotifyCallback(DeviceExtension->SmartOffCallback, //回叫对象的指针(PVOID)smartOffEvent, //AR_COMMAND结构Null); //该AR_COMMAND没有自变量2在上面的例子中,DeviceExtension->SmartOffCallback包含指向之前打开的称为ARPC_EVENT_CALLBACK_NAME回叫对象的指针。因为合作实体不是始终就绪软件套件的整合设计的成员,较佳的是它们不打开命令回叫对象(ARPC_COMMAND_CALLBACK_NAME)。然而,这些实体可以通过注册来自ARPolicy的目标设备改变通知而被告知系统的始终就绪状态的改变。这在本文的其他部分描述。
ARPolicy通过发送自定义目标设备改变通知PnP事件将系统始终就绪状态的改变发送到用户模式组件和整合以及非整合的合作内核模式组件。WINDOWS操作系统使用GUIDS来识别目标设备改变通知事件。始终就绪定义了两种特定的目标设备改变通知事件,它们被定义用于和用户模式和其他合作实体的通信ARPOLICY_COMMAND_NOTIFICATION_GUID-当和该GUID相关的事件被触发时,所发送的自定义数据和之前描述的32比特的AR_COMMAND以及32比特的Value2的值相同。
ARPOLICY_ALWAYS_READY_NOTIFICATION_GUID-当和该GUID相关的事件被触发时,一字节的自定义数据被发送。值为0被用于表示系统处于S0,值为1表示系统处于S0-Looks-Off状态。
操作的阶段如前面所提到的,被开发作为该项目的一部分的驱动程序完全与WDMPnP和电源管理准则相兼容。该驱动器被例示如下ARPolicy-根被枚举为Root\ARPolicy。
AREnv-根被枚举为Root\AREnv。
ARHidFlt-载入作为HID分类驱动程序的上层过滤器。
ARACPI-载入作为ACPI定义的设备,ACPI\PNPxxyy。
在系统启动期间,除了ARPolicy以外的所有ARXxxx驱动程序将等待ARPolicy启用其接口(ARPOLICY_DRIVER_INTERFACE)。当ARPolicy的接口被启用时,引发会影响系统的始终就绪状态的事件的驱动程序将引发表示系统的起始状态的事件。这些起始状态将由ARPolicy用来为系统建立第一ARPC_COMMAND_SET_ALWAYS_READY_SYSTEM_STATE命令。一旦上述的事件由ARPolicy接收时,第一ARPC_COMMAND_SET_ALWAYS_READY_SYSTEM_STATE命令将通过命令回叫通知和GUID ARPOLICY_COMMAND_NOTIFICATION_GUID目标设备改变通告而被发布。在接收该命令之前,个别的ARXxxx驱动程序将设置它们的设备至合适的默认值。在系统启动期间,ARPolicy可发布或者不发布目标设备改变通知用于ARPOLICY_ALWAYS_READY_NOTIFICATION_GUID。因此,在启动期间使用该通知的元件将假设系统状态为S0。
在正常系统操作期间,ARXxxx驱动程序和合作实体可适当地与它们的硬件交互。每个ARXxxx驱动程序将会周期性的,但是不会小于间隔5秒,确定其组件的状态并通过产生一事件向ARPolicy发送任何将要本质上影响系统的始终就绪状态的改变。
ARPolicy一般会发表ARPC_COMMAND_SET_ALWAYS_READY_SYSTEM_STATE命令(通过回叫通知并触发ARPOLICY_COMMAND_NOTIFICATION_GUID和目标设备改变事件)仅仅作为系统的始终就绪状态的改变的结果。然而,较佳的是该组件能够接受接收连续的、相同的ARPC_COMMAND_SET_ALWAYS_READY_SYSTEM_STATE命令。
为了提供高质量的用户经历,并且尽可能接近“实时”的进行反馈,ARPolicy将用ARPC_COMMAND_SET_ALWAYS_READY_SYSTEM_STATE命令触发自定义目标设备改变事件,来表示在接收到进入智能关闭或者退出智能关闭事件时从S0-Looks-Off改变到ARPOLICY_COMMAND_NOTIFICATION_GUID。这允许ARService和其他这类实体在尽可能接近接收请求的时间内执行人机接口交互。
在经过合适的时间段收集任何附加的未决状态改变后,ARPolicy将发布具有反映(至少)S0-Looks-Off状态的改变的新系统状态的ARPC_COMMAND_SET_ALWAYS_READY_SYSTEM_STATE命令。该命令是通过回叫通知和ARPOLICY_COMMAND_NOTIFICATION_GUID自定义目标设备改变通知来发送的。随后,自定义目标设备改变通知同样被发送到ARPOLICY_COMMAND_NOTIFICATION_GUID以表示新的S0-Looks-Off状态。
ARPolicy通过自定义目标设备改变事件向大多数的合作系统组件告知系统进入或者退出S0-Looks-Off状态,该事件由ARPOLICY_COMMAND_NOTIFICATION_GUID标识。尽管ARPolicy一般仅仅在状态改变时触发该目标设备改变事件,使用该事件的实体核查包括在该通告中的自定义数据字节,以查看在系统的S0/S0-Looks-Off状态中是否真的有改变并且依此进行动作。
组件注册表值始终就绪系统中整体组件的默认行为可按照平台要求而修改(tailored)。较佳的,这是通过使用注册表条目来完成。注册表条目可包括如下KeyProcesses-系统处于智能关闭时会导致“CPU上限(ceiling)”上升的可操作的图像名称的列表。
ProcessTimer-ARPolicy轮询间隔的时间,以毫秒为单位。
BlankDisplay-表示在进入智能关闭时显示器是否需要被清空(blanked)的布尔值。
PauseMedia-表示在进入智能关闭时是否需要暂定当前正打开的媒体播放器的实例以及在退出时恢复的布尔值。
MuteAudio-表示在进入智能关闭时主音频是否应当被静音的布尔值。
ThrottledProcesspr-表示在进入智能关闭时是否应当将处理器调速至其可能的最低P状态的布尔值。
EnterKeys-会导致系统进入智能关闭的HID页和键使用的列表。
DontPassExitKey-会导致系统退出智能关闭的HID页和键使用的列表。
PassExitKeys-会导致系统退出智能关闭的HID页和键使用的列表。
需要注意,智能关闭功能可通过操作系统内核来完成。在操作系统中的该种实现一般将包括改变电源管理策略以理解在电源按钮被按下时将系统放入低功耗“S0”状态,如果OS被用户配置为这样的话。这将必须使用现有的机制来降低CPU上的功率(和另外两种实现所使用的一样),并在BIOS中实现ACPI热区域以在进入低功耗S0状态时改变风扇的行为。此外,清空屏幕、关闭音频也将通过内部的OS机制或者通过一服务而被处理。
虽然本发明已经结合不同附图的较佳实施例被描述,需要理解其他类似的实施例可被使用,或者可对所描述的实施例进行修改和添加以执行和本发明相同的功能而不脱离本发明。例如,本领域的技术人员将会理解在本申请中描述的本发明可被应用于任何计算设备或者环境,无论是有线的还是无线的,并且可被应用到任何数量的通过通信网络相连并且通过网络交互的这种计算设备。此外,需要强调多种计算机平台,包括手持设备操作系统和其他应用程序专用操作系统是可以被构想的,特别是在无线网络化设备的数量持续增长的情况下。更进一步,本发明可在多个处理芯片或者设备中或者之间实现,并且存储也可以类似的跨越多个设备。因此,本发明不应该被限制于任何的单个实施例,而是应该按照权利要求所构建的宽度和范围。
权利要求
1.一种在计算设备中提供模拟关闭状态的方法,其特征在于,所述方法包括接收一关闭计算设备的信号;将低功率请求告知系统组件;以及降低所述系统组件的功耗至低功率状态,以使所述计算设备看似为关闭,其中,所述系统组件在计算设备处于模拟关闭环境时保持能够运行应用程序。
2.如权利要求1所述的方法,其特征在于它还包括当计算设备接收所述关闭信号时,确定正在运行的应用程序是否要求全处理;以及如果计算设备被关闭,则提供一应用程序将被取消的通知。
3.如权利要求2所述的方法,其特征在于,它还包括接收输入以覆盖关闭计算设备的信号。
4.如权利要求1所述的方法,其特征在于,所述将低功率请求告知系统组件还包括发送请求至控制所述系统组件的电源管理特征的软件驱动程序,以使所述系统组件进入低功耗状态。
5.如权利要求1所述的方法,其特征在于,所述降低所述系统组件的功耗还包括指令所述系统中的处理器时钟下降至最低状态;中止显示信号以关闭监视器;降低供电电源输出;关闭冷却风扇;以及指示计算系统是处于模拟关闭状态。
6.如权利要求1所述的方法,其特征在于,它还包括监控要求所述系统组件使用比所述低功率状态更多的功率的应用程序;以及使所述系统组件中的预定的几个离开所述低功率状态以处理要求更多功率的应用程序。
7.如权利要求6所述的方法,其特征在于,它还包括在要求所述系统组件使用更多功率的应用程序完成后,将计算设备返回所述模拟关闭状态。
8.如权利要求1所述的方法,其特征在于,当所述计算设备处于模拟关闭状态时,所述计算设备处于ACPI S0状态,以及其中,在经过预定的时间段后,所述计算设备进入ACPI S3状态。
9.一具有模拟关闭状态的计算设备,其特征在于,包括中央处理单元;图形处理单元;硬盘驱动器;随机存取存储器;以及供电电源,其中,当所述计算设备被关闭时,所述计算设备通过使系统组件进入低功耗状态,以使计算设备看似为关闭,而进入模拟关闭状态,以及其中,当处于模拟关闭状态时,所述计算设备保持能够运行应用程序。
10.如权利要求9所述的计算设备,其特征在于,当计算设备被关闭时,所述计算设备确定正在运行的应用程序是否要求全处理;以及其中,计算设备提供一应用程序将被取消的通知。
11.如权利要求10所述的计算设备,其特征在于,它还包括接收输入以覆盖关闭计算设备的信号。
12.如权利要求11所述的计算设备,其特征在于,所述计算设备发送请求至控制所述系统组件的电源管理特征的软件驱动程序,以使所述系统组件进入低功耗状态。
13.如权利要求9所述的计算设备,其特征在于,所述计算设备指令所述系统中的处理器时钟下降至最低状态;中止显示信号以关闭监视器;关闭系统音频;暂停媒体回放;锁定输入设备;降低供电电源输出;关闭冷却风扇;并指示计算系统是处于模拟关闭状态。
14.如权利要求9所述的计算设备,其特征在于,所述计算设备监控要求所述系统组件使用比所述低功率状态更多的功率的应用程序;以及使所述系统组件中的预定的几个离开所述低功率状态,以处理要求更多功率的应用程序。
15.如权利要求14所述的计算设备,其特征在于,所述计算设备在要求所述系统组件使用更多功率的应用程序完成后返回所述模拟关闭状态。
16.如权利要求9所述的计算设备,其特征在于,当所述计算设备处于模拟关闭状态时,所述计算设备处于ACPI S0状态,以及其中在经过预定的时间段后,所述计算设备进入ACPI S3状态。
17.一种当计算设备处于ACPI S0状态时在计算设备中产生模拟关闭状态的方法,其特征在于,所述方法包括接收一关闭该计算设备的信号;将低功率请求告知系统组件;以及通过使用ACPI方法的软件来降低所述系统组件的功耗至低功率状态,以使所述计算设备看似为关闭,其中,所述系统组件在计算设备处于模拟关闭状态时保持能够运行应用程序。
18.如权利要求17所述的方法,其特征在于,所述降低所述系统组件的功耗还包括指令所述系统中的处理器时钟下降至最低状态;中止显示信号以关闭监视器;关闭系统音频;暂停媒体回放;降低供电电源输出;关闭冷却风扇;以及指示计算系统是处于模拟关闭状态。
19.如权利要求18所述的方法,其特征在于,它还包括监控要求所述系统组件使用比所述低功率状态更多的功率的应用程序;以及使所述系统组件中的预定的几个离开所述低功率状态以处理要求更多功率的应用程序。
20.如权利要求19所述的方法,其特征在于,它还包括使所述计算设备在要求所述系统组件使用更多功率的应用程序完成后返回所述模拟关闭状态。
21.一种通过一组软件扩展在计算设备中提供模拟关闭状态的方法,其特征在于,所述方法包括提供一设备驱动程序用于每个要被管理的组件;提供一策略驱动程序来协调来自设备驱动程序的信息,以确定所述计算设备的电源状态;接收一改变所述计算设备的功率状态的信号;按照所述信号指令系统组件改变它们各自的电源状态;以及如果所述信号表示进入低功率状态的请求,则降低所述系统组件的功耗以使所述计算设备进入一模拟的关闭状态,其中,当计算设备处于模拟关闭状态时,所述计算系统保持在完全开启且系统组件保持能够运行应用程序;以及如果所述信号表示进入完全开启电源状态的请求,则将所述系统组件返回到所述完全开启电源状态。
22.如权利要求21所述的方法,其特征在于,它还包括通过丢弃输入来锁定人机接口;以及检测一预定的数据序列,所述预定的序列是所述信号。
23.如权利要求22所述的方法,其特征在于,它还包括所述策略驱动程序周期性地轮询每个设备驱动程序。
24.如权利要求22所述的方法,其特征在于,提供一系统服务,所述系统服务指令所述系统中的处理器时钟下降至最低状态;中止显示信号以关闭监视器;降低供电电源输出;关闭冷却风扇;以及指示计算系统是处于模拟关闭状态。
25.如权利要求21所述的方法,其特征在于,它还包括监控要求所述系统组件使用比所述低功率状态更多的功率的应用程序;以及使所述系统组件中的预定的几个离开所述低功率状态以处理要求更多功率的应用程序。
26.如权利要求25所述的方法,其特征在于,它还包括使所述计算设备在要求所述系统组件使用更多功率的应用程序完成后返回到所述模拟关闭状态。
27.如权利要求21所述的方法,其特征在于,当所述计算设备处于所述模拟关闭状态时,所述计算设备处于ACPI S0状态,以及其中,在经过预定的时间段后,所述计算设备进入ACPI S3状态。
28.一种具有模拟关闭状态的计算设备,其特征在于,它包括具有供电电源散热片的供电电源,所述供电电源散热片具有与通过所述供电电源的气流方向相匹配的第一鳍方向,所述供电电源散热片还包括用于引导气流扰流的第一横隔;具有CPU散热片的中央处理单元,所述CPU散热片具有双金属的外表面以及基座;具有GPU散热片的图形处理单元,所述GPU散热片具有与通过所述图形处理单元的气流方向相匹配的第二鳍方向,所述GPU散热片还包括用于引导气流扰流的第二横隔;硬盘驱动器;随即存取存储器;以及其中,当所述计算设备被关闭时,所述计算设备通过使系统组件进入低功率状态,从而使所述计算设备看似被关闭,而进入模拟关闭状态,以及其中,所述计算设备在模拟关闭状态中仍保持能够运行应用程序。
29.如权利要求28所述的设备,其特征在于,人机接口设备通过丢弃输入而被锁定;并且其中,被输入到所述人机接口设备中的一个的预定的输入序列被用于在所述低功率状态和普通操作状态之间改变。
30.如权利要求28所述的设备,其特征在于,它还包括所述策略驱动程序周期性地轮询和所述系统组件相关的软件驱动程序。
31.如权利要求28所述的计算设备,其特征在于,所述计算设备发送请求至控制所述系统组件的电源管理特征的软件驱动程序,以使所述系统组件进入低功耗状态。
32.如权利要求31所述的计算设备,其特征在于,所述软件驱动程序指令所述系统中的处理器时钟下降至最低状态;中止显示信号以关闭监视器;关闭系统音频;暂停媒体回放;锁定输入设备;降低供电电源输出;关闭冷却风扇;以及指示计算系统是处于模拟关闭状态。
33.如权利要求31所述的计算设备,其特征在于,所述策略驱动程序监控要求所述系统组件使用比所述低功率状态更多的功率的应用程序;并且其中,使所述系统组件中的预定的几个离开所述低功率状态以处理要求更多功率的应用程序。
34.如权利要求33所述的计算设备,其特征在于,所述计算设备在要求所述系统组件使用更多功率的应用程序完成后返回到所述模拟关闭状态。
35.如权利要求30所述的计算设备,其特征在于,当所述计算设备处于所述模拟关闭状态时,所述计算设备处于ACPI S0状态,以及其中,在经过预定的时间段后,所述计算设备进入ACPI S3状态。
36.一种当计算设备处于ACPI S0状态时在计算设备中产生模拟关闭环境的方法,其特征在于,所述方法包括提供一设备驱动程序用于每个要被管理的组件;提供一策略驱动程序以协调来自设备驱动程序的信息,以确定所述计算设备的功率状态;接收一改变计算设备的电源状态的信号;按照所述信号指令系统组件改变它们各自的电源状态;以及如果所述信号表示进入低功率状态的请求,则使用ACPI方法降低所述系统组件的功耗,以使所述计算设备进入一模拟关闭状态,其中,当计算设备处于模拟关闭环境中时,所述计算系统保持完全开启且系统组件保持能够运行应用程序;以及如果所述信号表示进入完全开启电源状态的请求,则使用ACPI方法将所述系统组件返回到所述完全开启电源状态。
37.如权利要求36所述的方法,其特征在于,所述降低所述系统组件的功耗由一系统服务执行,所述方法还包括指令所述系统中的处理器时钟下降至最低状态;中止显示信号以关闭监视器;关闭系统音频;暂停媒体回放;降低供电电源输出;关闭冷却风扇;以及指示计算系统是处于模拟关闭状态。
38.如权利要求37所述的方法,其特征在于,它还包括监控要求所述系统组件使用比所述低功率状态更多的功率的应用程序;以及使所述系统组件中的预定的几个离开所述低功率状态以处理要求更多功率的应用程序。
39.如权利要求38所述的方法,其特征在于,它还包括在要求所述系统组件使用更多功率的应用程序完成后将所述计算设备返回到所述模拟关闭状态。
全文摘要
在使用一组与系统服务和设备BIOS交互的软件驱动程序的计算设备中产生模拟关闭状态的系统和方法。该计算设备包括诸如供电电源、处理器以及风扇的系统组件,这些组件在接收到关闭设备的信号后会进入低功率状态。这向用户提供了计算设备关闭的表现。然而,这些系统组件在处于模拟关闭状态时保持能够运行应用程序。如果需要的话,该设备可返回完全开启状态,以处理要求系统组件离开低功率状态而执行的应用程序。
文档编号G06F1/26GK1722060SQ20051000948
公开日2006年1月18日 申请日期2005年2月17日 优先权日2004年2月17日
发明者A·玛沙尔, C·F·林姆, J·M·安德森, S·B·威尔雷, T·D·皮尔斯, T·-C·于, W·J·韦斯特林宁, P·G·维斯卡罗拉 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1