平台和处理器功率管理的制作方法

文档序号:6587910阅读:87来源:国知局
专利名称:平台和处理器功率管理的制作方法
技术领域
本发明总体上涉及计算系统并且特别地涉及平台管理方法和系统。


通过示例而不是限制性的方式说明了本发明的实施例,在附图中,相似的附图标 记指代相似的元素。图1是根据一些实施例的计算系统的示图。图2是根据一些实施例的、用于当主机将被唤醒时同步主机的任务的例程的流程 图。图3是根据一些实施例的、用于基于接收的网络设备空闲通知来启动主机模式的 例程的流程图。
具体实施例方式移动平台计算设备,例如膝上型计算机、平板计算机、蜂窝电话以及移动互联网 设备(MID),通过一个或多个通信接口提供普遍存在的网络连接。大多数这些平台的使用模 型是由通信活动驱动的。虽然通信设备本身消耗相对小部分的平台功率,但是由于进/出 的网络流量的不确定的特性,通信使用会对整个平台功率造成较大的影响,进/出的网络 流量会使平台在不必要的较高的功耗状态保持活动。通常由应用程序发起网络任务活动,通常基于计时器到期来唤醒主机以便生成外 发的消息。过去,如果平台部件处于深度休眠状态,例如处理器的最低C状态(即C5或更 高)和类似的较低级的平台功率状态,那么发送非时间关键(non-time-critical)分组的 这种活动将消耗大量的功率,因为它们将阻止整个平台达到或保持在较低的功率状态。更 糟糕的是,在不了解平台或其它应用程序操作的情况下,应用程序通常基于其自身的计时 器独立地运行。因此,平台将在随机的时间唤醒,以处理从不同应用程序发出的任务,从而 阻止平台达到并保持在低功率状态。在本文公开的一些实施例中,为需要网络保持活动、需要周期性的并且非时间关 键的网络访问的应用程序提供了接口和机制,以与平台活动同步并且彼此之间同步,以便 为平台创建更长的空闲周期。例如,为了维持应用程序的“心跳”,同时最少地唤醒平台,可 以同步非时间关键外发网络活动,其中,在最严格的定时需求的限制内允许其。当平台使用所谓的“无滴答”操作系统(tickless OS)时,期望控制外发的网络流 量活动并将它们与平台活动进行协调,以充分受益于更长期的空闲,这可以使得平台部件 能够达到更深的睡眠状态,因此增加了电池寿命。图1示出了根据一些实施例的计算系统。该图说明了用于实现平台功率管理的架 构。所述系统包括带有外围设备的平台102,所述外围设备包括硬盘驱动器122、鼠标124、 键盘126和网络接口设备128。平台102包括至少一个处理器110和平台控制中心105,它 们如图所示那样耦合。还包括功率管理单元(PMU) 112,其在该实施例中是处理器110的一部分。(可以将功率管理单元实现为平台中的独立的芯片中或任何合适的芯片中的独立的 处理单元。在一些实施例中,其可以被实现为处理器或另一个芯片(例如,PCH 105)内的 独立的控制器)。处理器和/或PMU执行操作系统(OS) 140以及应用程序131。在所描述 的实施例中,OS(例如,在用户空间驱动器、补丁或等价物中)实现OS应用程序接口 142和 OS平台接口 144,用于识别分别要在应用程序和平台侧执行的任务。OS消息寄存器141被 设置为存储任务信息(例如,任务队列、计时器等)以用于有效的性能协调。应用程序131表示应用程序,例如即时通信(IM)、互联网微件(widget)、电子邮件 以及其它应用程序,它们具有不需要用户参与的网络活动(周期性的非周期性的)。这些应 用程序通常周期性地发出保持活动消息,以防止连接超时,并且为微件等取得更新的信息, 例如电子邮件的信箱状态、天气预报、股票变化等。PMU 112可以执行各种不同的功能,包括管理平台以及管理其活动状态。在一些 实施例中,平台活动状态独立于处理器的活动状态。例如,处理器可以处于所谓的“C”状态 (如高级配置电源接口 ACPI标准所定义的),其中CO是最活跃的状态,而较低的活动状态 (例如,Cl到C7)定义了不同级别的降低的活动性以及由此降低的功耗。同时,平台可以处 于其自身的功率状态,例如范围从较高活动性的状态到较低级的睡眠状态。在一些方案中, SO是最高活动性的平台状态,而S3、S4和S5指示逐渐降低的活动性的平台状态。在一些 实施例中,当平台处于SO状态时,即使当处理器处于睡眠状态时,即处于较低的C状态时, 网络通信和其它平台活动也可以发生。OS应用程序接口 142允许应用程序向OS服务进行注册,以同步外发的网络请求 (即,传输)。该OS级特征允许把预计将在下一个寂静周期内运行的任务拉入(pull-in), 以便很快运行它们,假设它们的抖动(jitter)要求处于范围内。这种操作使得平台更安 静,从而实现更长的空闲。OS平台接口 144是在平台与OS之间的接口。通过这个接口,平台告知OS预期的 寂静周期。例如,网络接口(通信)设备128经由PCH 105告知OS平台接口预计的空闲持 续时间,并且保存通信设备上的进入流量。可以通过启发式方法或其它方法来估计持续时 间。类似地,其它外围设备可以经由PCH来指示接口有关它们的寂静持续时间,然后,PCH可 以通过该接口通知OS。在一些实施例中,没有关键外发消息最迟期限或者参与周期性的网络活动的应用 程序向OS应用程序接口进行注册,以协调应用程序任务和平台活动。所提供的信息可以包 括例如消息频率和包括可允许的抖动的定时要求。在所述实施例中,PMU 112执行平台管理例程114,即使在处理器处于较低的活动 状态时,例程114也协调应用程序的处理和/或执行必须执行的平台任务。图2和图3(如 下所述)示出了可以作为平台管理方案的一部分来执行的不同的例程功能。在一些实施例 中,它们可以作为平台管理例程114的一部分在PMU 112中执行。图2示出了例程201,其可以由平台管理程序(例如,PM程序114)运行或启动,以 在处理器处于睡眠模式时协调任务应用程序和平台任务处理。最初,在202,使用应用程序 计时器和平台空闲持续时间(例如,估计的空闲)信息来初始化或更新OS应用程序和OS 平台接口(或等价物)。关于平台信息,平台可以基于各种因素来预测到来的空闲周期。例 如,预测的空闲可以基于来自外围设备的信息。当外围设备指示在某个时间内没有活动时,例如通信设备缓冲接下来的50至100毫秒内的数据时,可以由PCH和/或PMU检测到到来 的空闲持续时间。还可以使用自适应估算方法(例如,基于启发式的空闲持续时间)来预 测空闲持续时间。例如,可以应用指数滤波器,基于空闲持续时间的过往历史来估计到来的空闲。接下来,在204,例程确定是否有平台活动。例如,如果用户尝试通过一个或多个外 围设备与平台连接,那么该操作在此处将被捕获。如果平台没有活动,那么例程进入到206 以确定是否有任何应用程序计时器已经到期。如果没有计时器到期,则表明应用程序任务 现在不需要被服务,那么例程循环回204。否则,如果有一个或多个应用程序计时器已到期, 那么例程进入208,在208,例程唤醒主机以处理与到期的计时器对应的任务。从这开始,例 程转到220并检查其它应用程序和/或应用程序计时器,例如具有需要周期性地传送的保 持活动消息的应用程序。在222,例程检查这些应用程序计时器中是否有任意计时器将很快(例如在预测 的平台空闲持续时间内)到期。如果有的话,那么在224,例程处理任务并转到226来检查 应用程序队列是否有具有要服务的非时间关键任务的应用程序。在222,如果保持活动应用 程序计时器不会很快到期,那么例程将直接进入226。在228,例程检查非关键应用程序队列是否为空,或者是否具有要处理的任务。如 果有任务,那么在230处理(或服务)这些任务,由此将空闲周期延长到更长。然后,例程 进入232并使主机回到睡眠,并且循环回204。在228如果队列为空,那么直接进入232,并 且如上所述继续执行。返回到204,如果有平台活动,那么例程进入210并唤醒主机(处理器)。从这里, 例程进入212并告知0S,然后进入214并检查具有周期性的拉入消息(pulling message) 的应用程序的计时器。当OS被告知并因此活动时,S卩,已由像中断或到来的分组这样的事 件唤醒时,它检查具有发送活动需求的那些应用程序,并检查它们的计时器是否快要到期。如果在216确定任意计时器将很快到期,那么在218处理这些任务,例程进入220。 如果没有计时器很快到期,那么例程将直接进入220。从这里,例程如上所述继续执行。OS 通知那些应用程序执行传送。然后,计时器被重置,所以在下一寂静周期内那些应用程序将 不唤醒平台。(当平台检测到到来的寂静周期时,PMU或PCH还可以通知OS预计的寂静持 续时间。在这种情况下,OS可以尝试拉入(pull-in)稍后在空闲周期期间可能期满的发送 请求并且使传送开始。)图3示出了用于基于从外围设备或网络设备收集的预计空闲来影响将处于活动 状态的主机中的主要部件(即,处理器)的例程301。该例程的基本思想是通信设备(例 如,外围设备或网络接口设备)告知主机所估计的到来的空闲持续时间,然后主机基于该 信息以及可能的其它平台活动来做出关于要进入哪个节电状态的“告知的”决定。最初,在302,平台管理实体从通信(网络接口)设备接收空闲通知。例如,空闲 通知可以来自带有网络接口卡(NIC)的网络代理,例如在2008年9月17日递交的、名称为 "SYNCHRONIZATION OF MULTIPLEINCOMING NETWORK COMMUNICATION STREAMS,,的美国专利 申请No. 12/283,931中给出了教导并且通过引用并入本文。在304,例程检查是否有比来自所述通信设备的所通知的空闲持续时间更频繁的 任何其它平台活动。如果没有,那么在308,将通知的持续时间T (η)与主机盈亏平衡(breakeven)持续时间T(b)进行比较。理想地,如果预计的空闲足够长,那么可以使主机进入更 深的睡眠状态(例如,CPU C5、C6或C7),其中,它的高速缓存被清洗(flush)并且可以节 省更多的功率。盈亏平衡持续时间对应于与进入这种状态相关联的成本(延时、功率等)。 如果所通知的持续时间比该盈亏平衡持续时间短,那么可能不值得进入这种更深的状态。因此,在310,如果例程确定所通知的持续时间比盈亏平衡持续时间短,那么例程 进入312并使主机保持其当前状态或使主机进入相对较浅的不活动状态。另一方面,如果 所通知的持续时间比盈亏平衡持续时间长,那么例程进入314并使主机进入更深的不活动 状态,例如,在其中,它的高速缓存被清洗并且消耗显著更少的功率。回到304,如果例程确定可能发生其它将中断或干扰所通知的空闲的平台活动,那 么例程进入314并基于平台活动来做决定。该方法的优点在于,利用现有的方法,CPU调度逻辑使得CPU仅当高速缓存为空时 才进入深度状态(例如,C5、C6)。而且它可能为CPU多次尝试完全地缩小高速缓存。因此, CPU经常在不必要的长时间内处于浅度节电状态。但是,利用图3的例程,如果到来的空闲 持续时间较长,例如,比C5或C6盈亏平衡时间长,那么主机(CPU或处理器)可以在单次尝 试中缩小高速缓存并立刻进入深度节电状态。通过这种方式,主机可以实现显著的功率节 省。应当意识到,可以使用各种机制以将空闲通知信息从设备传送到PMU或主机。例 如,可以使用PCIe扩展。可以设计PCIe的扩展以使得设备可以传输它们的恢复延时信息需 求,例如,在平台接口方案中定义的那样。可以为接口的未来版本增加携带“空闲持续时间” 的额外的字段。此外,可以定义扩展,以在包括网络设备(例如,无线NIC)的设备中使用, 以利用PCH来协调活动。可以使用存储器和/或I/O触发器。主要是使用点到点(ad-hoc) 的方法,但是可以使用存储器/10映射寄存器在通信设备与主机之间发送空闲信息信号。 还可以使用智能主机估计,例如基于NIC功能。网络设备可以设置注册表项,用于通知平台 将使用相关参数(例如,缓冲器大小、预期缓冲时间)来执行流量调节(例如,智能FIFO)。 当设备被启用时,主机或PMU能够读取该信息。如果NIC设备改变它的行为,那么可以生成 中断,从而PMU或主机可以相应地更新它们的策略。利用来自NIC的该信息,主机(或PMU) 观察来自网络设备的中断模式并估计到来的空闲持续时间。利用该知识,主机能够采取上 述操作以最佳地节省功率。在前述描述中,阐述了许多具体的细节。但是,可以理解,可以在没有这些具体细 节的情况下实现本发明的实施例。在其它实例中,可能没有详细地示出已知的电路、结构 和技术,以便不模糊对描述的理解。考虑到这些,对“一个实施例”、“实施例”、“示例性实施 例”、“各种实施例”等的提及指示如此描述的本发明的实施例可以包括特定特征、结构或特 性,但是不是每个实施例都必须包括特定特征、结构或特性。此外,一些实施例可以具有针 对其它实施例描述的特征中的一些特征、所有特征或不具其中的任何特征。在前述描述和以下的权利要求中,应当按照如下方式来解释以下的术语可以使 用术语“耦合”和“连接”以及它们的派生词。应当理解,这些术语并不旨在作为彼此的同义 词。相反,在特定的实施例中,使用“连接”来指示两个或多个元件彼此直接物理或电接触。 使用“耦合”来指示两个或多个元件彼此协作或交互,但是它们可以是或可以不是直接物理 或电接触。
本发明并不限于所描述的实施例,而是可以在所附权利要求的精神和范围内用变 型和改变来实现。例如,应当理解,本发明适合于与所有类型的半导体集成电路(“IC”)芯 片一起使用。这些IC芯片的例子包括但并不限于处理器、控制器、芯片组部件、可编程逻辑 阵列(PLA)、存储器芯片、网络芯片等。应当理解,在一些附图中,用线条来表示信号导线。一些线可以是较粗的,其用于 指示更多分量信号路径;一些具有数字标记,以指示分量信号路径的编号;和/或一些在一 个或多个端头具有箭头,以指示主信息流方向。但是,不应该以限制性的方式来解释它们。 相反,可以结合一个或多个示例性实施例来使用这种附加的细节,以便于更容易地理解电 路。任何所表示的信号线,不管是否具有附加的信息,可能实际上包括一个或多个信号,这 些信号可以在多个方向上传播并且可以用任何适当类型的信号方案来实现,例如,用差分 对、光纤线和/或单端线来实现的数字或模拟线路。应当理解,示例的尺寸/模型/值/范围可以是给定的,尽管本发明并不限于此。 随着制造技术(例如,光刻术)逐渐成熟,预计能够制造更小尺寸的设备。此外,为了说明和 讨论的简洁,在附图内可以示出或者可以不示出到IC芯片和其它部件的已知的电源/地连 接,以便不模糊本发明。此外,为了避免模糊本发明,可以以框图的形式来示出布局,这么做 还考虑到了以下事实关于这种框图布局的实现的细节高度依赖于将在其中实现本发明的 平台,即,这种细节应当完全在本领域技术人员的视野内。当阐述了具体细节(例如,电路) 以便描述本发明的示例性实施例时,对本领域的技术人员来说显而易见的是,可以在没有 这些具体细节的情况下实现本发明,或者可以使用这些具体细节的变形来实现本发明。因 此,说明书应被认为是说明性的而不是限制性的。
权利要求
一种电子设备,包括主机,其可以处于较低的活动状态;以及平台管理单元(PMU),用于管理具有部件的平台,所述部件具有要由所述主机服务的任务,其中,所述平台可以处于独立于所述主机的较低的活动状态的较低的活动状态,所述PMU用于使非时间关键任务与使得所述平台唤醒的任务一起被服务,以延长平台空闲持续时间。
2.根据权利要求1所述的设备,其中,所述非时间关键任务包括外发的网络通信。
3.根据权利要求1所述的设备,其中,使得所述平台唤醒的所述任务包括由计时器启 动的应用程序任务。
4.根据权利要求1所述的设备,其中,所述PMU是所述主机的一部分。
5.根据权利要求1所述的设备,其中,所述PMU是除所述主机以外的中心模块的一部分。
6.根据权利要求1所述的设备,其中,所述平台部件包括外围设备部件和网络接口部件。
7. 一种方法,包括在平台的较低的活动状态中,确定是否有要服务的平台活动; 如果没有要服务的活动,那么检查是否应用程序任务需要服务;以及 如果应用程序任务需要服务,那么唤醒主机并使得所述应用程序任务被服务,并且在 所述主机仍处于唤醒时,服务其它任务。
8.根据权利要求7所述的方法,其中,服务其它任务包括检查是否有任何其它应用程 序计时器可能在预定的持续时间内到期。
9.根据权利要求8所述的方法,其中,服务其它任务包括检查是否有任何非时间关键 任务正等待服务。
10.根据权利要求7所述的方法,包括使所述平台返回到所述较低的活动状态。
11.根据权利要求10所述的方法,包括在所述任务被服务之后,使所述主机返回睡眠 状态。
12. 一种方法,包括 接收要由主机服务的任务;检查所述任务是否可以被至少延迟盈亏平衡持续时间;以及如果所述任务可以被延迟所述盈亏平衡持续时间,那么使所述主机进入与所述盈亏平 衡持续时间相关联的睡眠状态,并且延迟服务所述任务。
13.根据权利要求12所述的方法,包括检查其它任务是否在所述盈亏平衡持续时间 之前需要服务,并且如果所述其它任务在所述盈亏平衡持续时间之前需要服务,那么不使 所述主机进入所述睡眠状态。
14.根据权利要求12所述的方法,其中,所述睡眠状态涉及清洗与所述主机相关联的 高速缓存。
全文摘要
本发明涉及具有平台功率管理能力的电子设备,包括主机,其可以处于较低的活动状态;以及平台管理单元(PMU),用于管理具有部件的平台,所述部件具有要由所述主机服务的任务,其中,所述平台可以处于独立于所述主机的较低的活动状态的较低的活动状态,所述PMU用于使非时间关键任务与使得所述平台唤醒的任务一起被服务,以延长平台空闲持续时间。
文档编号G06F1/32GK101916137SQ20091100025
公开日2010年12月15日 申请日期2009年12月25日 优先权日2008年12月31日
发明者C·马乔科, R·王, S·巴克希, T-Y·C·泰 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1