虚拟化移动平台中的细粒度的功率管理的制作方法

文档序号:6359136阅读:199来源:国知局
专利名称:虚拟化移动平台中的细粒度的功率管理的制作方法
技术领域
实施例一般涉及虚拟化技术(VT)。更具体地,实施例涉及虚拟化移动平台中的细粒度的(fine grained)功率管理。讨论随着移动电话的普及性增加,这些装置的复杂性和功能性也可增加。例如,给定移动平台可能不再受限于单个操作系统(OS),并且能支持多样的使用模型,例如网页浏览和电信。虽然具有多个操作系统的装置的虚拟化可使得电话供应商、软件和服务提供商以定制方式来供应装置更简单,但是仍然存在许多挑战。例如,将基于VM(虚拟机)的装置作为整体来考虑时,单个OS内相关的功率管理决策可能不再相关或者准确,因为能够存在来自不同操作系统的冲突的功率管理请求/决策。


通过阅读以下说明书和所附权利要求,以及通过参考以下附图,本发明实施例的各种优点对于本领域技术人员将变得显而易见,其中图I是根据一实施例的功率管理虚拟化方案的示例的框图;图2是根据一实施例的具有虚拟化协处理器的功率管理架构的示例的框图;图3是根据一实施例的移动平台的示例的框图;以及图4是根据一实施例的管理移动平台中功率的方法的示例的流程图。
具体实施例方式实施例可以提供一种方法,其中基于来自在移动平台上运行的第一操作系统(OS)和在该移动平台上运行的第二 OS的第一功率管理请求来确定功率状态(state)。第一 OS和移动平台的一个或更多组件能够定义第一虚拟机(VM),而第二 OS和移动平台的一个或更多组件能够定义第二 VM。该方法还可提供将功率状态应用于移动平台。其它实施例可以包括具有虚拟机管理(VMM)逻辑的一种设备,虚拟机管理(VMM)逻辑基于来自要在移动平台上运行的第一 OS的第一功率管理请求以及来自要在该移动平台上运行的第二 OS的第二功率管理请求来确定功率状态。第一 OS和移动平台的一个或更多组件可以定义第一 VM,并且第二 OS和移动平台的一个或更多组件可以定义第二 VM。该VMM逻辑还可以将功率状态应用于移动平台。另外,实施例可以包括一种系统,该系统包括运行第一 OS和第二 OS的一种移动平台,其中第一 OS和移动平台的一个或更多组件定义第一 VM。第二 OS和移动平台的一个或更多组件可以定义第二 VM。该系统还能够包括VMM逻辑以基于来自第一 OS的第一功率管理请求和来自第二 OS的第二功率管理请求来确定功率状态。该VMM逻辑还可以将功率状态应用于移动平台。
其它实施例可以提供包括指令集的一种计算机可读存储媒体,所述指令如果被运行则使得移动平台基于来自要在该移动平台上运行的第一 OS的第一功率管理请求以及来自要在该移动平台上运行的第二 OS的第二功率管理请求来确定功率状态。第一 OS和移动平台的一个或更多组件可以定义第一 VM,而第二 OS和移动平台的一个或更多组件可以定义第二 VM。所述指令还能够提供功率状态到平台的应用。现在转到图1,示出管理虚拟化移动平台中功率的方案10。在所示出的示例中,多个操作系统12(12a_12c)在平台上运行以提供广泛多种的功能性。例如,主OS 12a可能组成配置成支持平台外(off-platform)无线通信(例如,W-CDMA (UMTS)、CDMA2000 (IS-856/IS-2000)等)的闭合电话栈(closed telephony stack),而客OS 12b可能提供桌面功能性(例如,Windows 7)等等。一般,每个OS 12和移动平台的一个或更多组件能够定义虚拟机。
另外,操作系统12可能够执行外围设备或其它平台组件的增强的动态/运行时间(run-time)功率管理控制。因此,每个OS 12可以发出功率管理决策/请求14 (14a_14c,例如经由软件驱动器)来为移动平台降低功耗和扩展电池寿命。例如,功率管理请求14可以涉及装置功率状态、处理器功率状态、平台功率状态、装置性能状态等(见,例如,AdvancedConfiguration and Power Interface Specification, Rev.4.0,2009 年 6 月 16 日)。所示出的方案10还包括虚拟机管理(VMM)逻辑16以评估请求14并且基于全平台的(platform-wide)考虑(例如全局相关性和兼容性)来确定允准(honor)哪个功率管理请求,其中允准的功率管理请求18能够标识功率状态。在装置驱动器协调的功率状态改变的情况中,所请求的装置功率状态可能在不活动时间段期间将单独的芯片上系统(SoC)硬件块(例如,功率岛)(例如无线、存储、或成像电路块)放置在低功率模式中。因此,OS装置驱动器可能决定将装置降低功率(power down)到D3功率状态,或者将它升高功率(powerup)回到DO状态。OS功率管理层(OSPM)可以将这种请求指示给VMM逻辑16,其然后能进行全局相关的决策——以接受该请求并且允许装置降低功率,或者如果某一其它客OS当前正在使用该装置则拒绝该请求。例如,如果主OS 12a请求装置功率状态Dx和性能状态Px,客OS 12b请求装置功率状态Dxl和性能状态Pxl,并且客OS 12c请求装置功率状态Dx2和性能状态Px2,则VMM逻辑16能够实行以下分析在时刻t, Dx3 = Min(Dx2, Dxl, Dx) (I)在时刻t,Px3 = Min(Px2,Pxl,Px) (2)其中,允准的功率管理请求18能够标识装置功率状态Dx3和性能状态Px3。因此,所示出的VMM逻辑16选择最浅的功率状态,并且将它实时地应用于移动平台。如已经提到的,VMM逻辑16还可以有助于性能状态和其它功率状态转变,例如处理器功率状态转变和平台功率状态转变。例如,方案10可以要求全平台的活动空闲状态(例如,SOix),其能是在平台是空闲的时采用的低延时备用状态(low latency standbystate)。在这种情况下,VMM逻辑16能基于每个OS 12内的空闲检测来检测全平台的空闲,并在适当的时候将整个SoC引导进入低功率空闲备用状态。如果客操作系统中的一个或更多不具有全平台的空闲检测逻辑,那么这种方法可能特别地有利。图2示出了一种架构20,其中VMM逻辑16(图I)被实现为具有功率管理单元(PMU) 22的虚拟化协处理器,功率管理单元(PMU) 22使用存储器映射寄存器24的集合以评估来自OS功率管理层(OSPM) 26 (26a、26b)的功率管理请求,其中寄存器24专用于功率管理。寄存器24可以居于架构20中适当的任何位置。具体地,所示出的架构包括混合信号集成电路(MSIC)功率输送(power delivery)模块28,其生成中央处理单元(CPU)电压轨(voltage rail) 30和外部电压轨32。CPU电压轨30能够被供给到处理器36的一个或更多核38,外部电压轨32能够被供给到处理器36和平台控制器集线器(platform controllerhub,PCH)40上的各种其它硬件块。处理器36的PMU 34可以执行处理器36的硬件块的管芯上(on die)时钟和/或功率门控,而PCH 40的PMU 22能够执行PCH 40的硬件块的管芯上时钟和/或功率门控。PCH 40能够将存储器映射寄存器24暴露给OSPM 26,其能够将功率管理相关数据实时地写到寄存器24。在所示出的示例中,寄存器24包括状况(status)寄存器(VT_PM_STS)、命令寄存器(VT_PM_CMD)、子系统控制寄存器(VT_PM_SSC)以及子系统状况寄存器(VT_PM_SSS)。因此,OSPM 26可能将相应功率管理请求(例如,将装置从DO转变成D3的请求)写到命令寄存器和控制寄存器,并且在进行虚拟化环境中的全平台的功率管理决策中,PMU 22能够读取寄存器24的内容。另外,PMU 22能通过写到状况寄存器来报告全平台确定的结果,其中OSPM 26能够读取寄存器24的内容来确定结果。现在转到图3,示出虚拟化系统42。系统42可以是具有计算功能性(例如,个人数字助理/PDA、膝上型计算机)、通信功能性(例如,无线智能电话)、成像功能性、媒体播放功能性或其任何组合(例如,移动因特网装置/MID)的移动平台的一部分。在所示出的示例中,系统42包括处理器44、图形存储器控制器集线器(graphics memory controllerhub,GMCH) 46、图形控制器48、平台控制器集线器(PCH) 50、系统存储器52、基本输入/输出系统(BIOS)存储器54、网络控制器56、固态盘(SSD) 58和一个或更多其它控制器60。处理器44(其可以包括具有一个或若干处理器核62的核区)可能能够基于性能和/或功率管理顾虑来使其核62进入一个或更多活动和/或空闲状态中,如已经提到的。所示出的处理器44与GMCH 46被集成到共同的芯片上系统(SoC)上。备选的是,处理器44能通过接口(例如前端总线(FSB)、点对点互连结构或任何其它合适的接口)来与GMCH 46通信。GMCH 46 (有时被称为芯片组的北桥或北复合体(complex))能够经由存储器总线来与系统存储器52通信,其中系统存储器52可能包括动态随机存取存储器(DRAM)模块,其能被结合到单列直插式存储器模块(SIMM)、双列直插式存储器模块(DIMM)、小型DIMM(small outline DIMM,S0DIMM)等中。GMCH 46还可以经由例如以下的图形总线来与图形控制器48通信PCI高速(Express)图形(PEG,例如外围组件互连/PCI高速xl6图形150W-ATX规范I. 0,PCI特殊兴趣组)总线或者加速图形端口(例如,AGP V3.0接口规范,2002年9月)总线。处理器44还可以通过集线器总线来与PCH 50通信。在一个实施例中,集线器总线是DMI(直接媒体接口)总线。PCH 50还能与处理器44和GMCH 46被结合到共同的SoC上。所示出的PCH 50(有时被称为芯片组的南桥或南复合体)充当主装置(hostdevice)并且与网络控制器56通信,其能提供用于例如以下的广泛多种用途的平台外通信功能性蜂窝电话(例如,ff-CDMA(UMTS)、CDMA 2000 (IS-856/IS-2000)等)、WiFi (例如,IEEE 802. 11,1999 版本,LAN/WAN无线LANS)、蓝牙(例如,IEEE 802. 15. 1-2005,无线个人、区域网)、WiMax(例如,IEEE 802. 16-2004, LAN/WAN宽带无线LANS)、全球定位系统(GPS)、扩展频谱(例如,900MHZ)以及其它射频(RF)电话用途。PCH 50还可以包括一个或更多无线硬件电路块64以支持这种功能性。SSD 58可以包括一个或更多NAND芯片并且可能用于提供高容量数据存储装置和/或显著量的并行性。还可以存在包括被实现为分开的专用集成电路(ASIC)控制器的NAND控制器的解决方案,NAND控制器在例如以下标准总线上连接到PCH 50 :串行ATA (SATA,例如SATA Rev. 3. 0规范,2009年5月27日,SATA国际组织/SATA-I0)总线或者PCI高速图形(PEG,例如外围组件互连/PCI高速xl6图形150W-ATX规范I. OjPCI特殊兴趣组)总线。因此,SSD 58可以配置成根据例如以下协议来与PCH 50的一个或更多存储电路块66通信开放 NAND 闪存接口(Open NAND Flash Interface)(例如,ONFI 规范,Rev. 2. 2,2009 年 10月7日)协议或其它合适的协议。SSD 58还能被用作USB(通用串行总线,例如,USB规范
2.0,USB实现者论坛)闪速存储装置。 其它控制器60能与PCH 50通信以提供对成像装置的支持以及对用户接口装置(例如显示器、键盘、鼠标等)的支持,以便允许用户与系统10交互以及感知来自系统10的信息。在成像装置的情况中,PCH 50可能包括一个或更多成像电路块68来支持这种功能性。系统42可以运行多个操作系统,其中每个OS和系统42的一个或更多组件定义VM。另外,每个OS能包括0SPM,其能够对装置、核和/或系统42作为整体进行功率管理决策,并且将这些决策作为功率管理请求提交给VMM。如已经提到的,VMM逻辑能够评估功率管理请求,并且考虑全平台的顾虑来进行适当的决策。例如,VMM逻辑能将硬件块64、66、68中的一个或更多放置在与所允准的功率管理请求18(图I)的功率状态相对应的低功率模式中。图4示出管理虚拟化移动平台中功率的方法70。可以用使用汇编语言编程和电路技术(例如ASIC、互补金属氧化物半导体(CMOS)或晶体管-晶体管逻辑(TTL)技术)的固定功能性硬件,用可运行软件(如在例如随机存取存储器(RAM)、只读存储器(ROM)、可编程ROM(PROM)、闪速存储器等的存储器的机器可读存储媒体或计算机可读存储媒体中存储的逻辑指令和/或固件的集合),或其任何组合来实现方法70。处理块72提供读取专用于功率管理的存储器映射寄存器的集合。如已经提到的,寄存器(其可能包括一个或更多状况寄存器、命令寄存器和控制寄存器并且能居于平台控制器集线器(PCH) 50 (图4)、处理器44 (图4)或平台上适当的其它位置上)能够包含来自在平台上运行的多个操作系统的功率管理请求。在块74,可以基于当前未决功率管理请求来确定功率状态,并且在块76,该功率状态能够被应用于平台。因此,本文描述的技术能够提供用于实现基于VT的下一代移动平台中的功率管理决策的一种架构框架。例如,该解决方案可能能够虚拟化功率高效(power efficient)组件(例如装置、CPU、芯片组、跨多个操作系统的加速器块)的功率状态。本发明的实施例可应用于与所有类型的半导体集成电路(“1C”)芯片一起使用。这些IC芯片的示例包括但不限于处理器、控制器、芯片组组件、可编程逻辑阵列(PLA)、存储器芯片、网络芯片、芯片上系统(SoC)、SSD/NAND控制器ASIC以及诸如此类。另外,在一些附图中,用线来表示信号导体线路(signal conductor line)。一些可能更粗以指示更多的组成信号路径,具有数字标签以指示许多组成信号路径,和/或一个或更多端具有箭头以指示主要的信息流方向。但是,这应该不被用限制的方式来解释。更确切地说,可以连同一个或更多示范实施例来使用这些添加的细节,以有助于更容易理解电路。任何所表示的信号线路(无论是否具有附加的信息)可实际上包括可以在多个方向传播并且可以用任何合适类型的信号方案来实现的一个或更多信号,例如实现有差分对(differential pair)的数字或模拟线路、光纤线路和/或单端线路。
可能已经给出示例尺寸/模型/值/范围,但是本发明的实施例不限于其。由于制造技术(例如影印法)随着时间过去而成熟,预期能制造更小尺寸的装置。另外,为了图示和讨论的简单起见以及为了不影响对本发明实施例的某些方面的理解,到IC芯片和其它组件的众所周知的功率/地连接可以在附图内示出,也可以不在附图内示出。另外,为了避免影响对本发明实施例的理解以及还鉴于以下事实,可以用框图形式示出设置关于这类框图设置的实现的特定细节高度依赖于要在其内实现实施例的平台,即,这类特定细节应该是充分在本领域技术人员的见识内的。在为了描述本发明的示例实施例而阐述特定细节(例如电路)的情况下,对于本领域技术人员应该显而易见的是,没有这些特定细节或用这些特定细节的变化也能够实践本发明的实施例。因此描述被认为是说明性的,而不是限制性的。术语“耦合”在本文中用于涉及所讨论的组件之间的任何类型的关系(直接的或间接的),并且可以应用于电的、机械的、液体的、光的、电磁的、机电的或其它的连接。另外,术语“第一”、“第二”等在本文中仅用于有助于讨论,并且不携带特殊的时间或年代的意义,除非另外指示。从在前的描述,本领域技术人员将领会,能够在多种形式中实现本发明的实施例的广泛技木。因此,虽然已经连同本发明实施例的特殊示例对本发明的实施例进行了描述,但是本发明实施例的真正范围不应该被这样限制,因为在学习附图、说明书和随附权利要求后,其它修改将对于本领域技术人员变得显而易见。
权利要求
1.一种方法,包括 基于来自移动平台上运行的第一操作系统的第一功率管理请求和来自所述移动平台上运行的第二操作系统的第二功率管理请求来确定功率状态,其中,所述第一操作系统和所述移动平台的一个或更多组件定义第一虚拟机,并且所述第二操作系统和所述移动平台的一个或更多组件定义第二虚拟机;以及 将所述功率状态应用于所述移动平台。
2.如权利要求I所述的方法,其中,所述第一功率管理请求标识第一功率状态,并且所述第二功率管理请求标识第二功率状态,并且确定所述功率状态包括从所述第一和第二功率状态来选择最浅的功率状态。
3.如权利要求I所述的方法,还包括从专用于功率管理的寄存器的集合来读取所述第一和第二功率管理请求。
4.如权利要求3所述的方法,其中寄存器的所述集合包括状况寄存器、命令寄存器和控制寄存器中的至少一个。
5.如权利要求3所述的方法,还包括将寄存器的所述集合映射到存储器空间。
6.如权利要求I所述的方法,其中将所述功率状态应用于所述移动平台包括将所述移动平台的硬件块放置在与所述功率状态相对应的低功率模式中。
7.如权利要求6所述的方法,其中所述硬件块包括无线电路块、存储电路块和成像电路块中的至少一个。
8.如权利要求I所述的方法,还包括 基于来自所述第一操作系统的第一性能管理请求和来自所述第二操作系统的第二性能管理请求来确定性能状态;以及 将所述性能状态应用于所述移动平台。
9.一种设备,包括 虚拟机管理逻辑,用于 基于来自移动平台上运行的第一操作系统的第一功率管理请求和来自所述移动平台上运行的第二操作系统的第二功率管理请求来确定功率状态,其中,所述第一操作系统和所述移动平台的一个或更多组件要定义第一虚拟机,并且所述第二操作系统和所述移动平台的一个或更多组件要定义第二虚拟机;以及 将所述功率状态应用于所述移动平台。
10.如权利要求9所述的设备,其中,所述第一功率管理请求要标识第一功率状态,并且所述第二功率管理请求要标识第二功率状态,并且所述虚拟机管理逻辑要从所述第一和第二功率状态来选择最浅的功率状态。
11.如权利要求9所述的设备,还包括专用于功率管理的寄存器的集合,并且所述虚拟机管理逻辑要从寄存器的所述集合来读取所述第一和第二功率管理请求。
12.如权利要求11所述的设备,其中寄存器的所述集合包括状况寄存器、命令寄存器和控制寄存器中的至少一个。
13.如权利要求12所述的设备,其中所述虚拟机管理逻辑要将寄存器的所述集合映射到存储器空间。
14.如权利要求9所述的设备,其中所述虚拟机管理逻辑要将所述移动平台的硬件块放置在与所述功率状态相对应的低功率模式中。
15.如权利要求14所述的设备,其中所述硬件块要包括无线电路块、存储电路块和成像电路块中的至少一个。
16.—种系统,包括 移动平台,运行第一操作系统和第二操作系统,其中所述第一操作系统和所述移动平台的一个或更多组件要定义第一虚拟机,并且所述第二操作系统和所述移动平台的一个或更多组件要定义第二虚拟机;以及 虚拟机管理逻辑,用于 基于来自所述第一操作系统的第一功率管理请求和来自所述第二操作系统的第二功率管理请求来确定功率状态,以及 将所述功率状态应用于所述移动平台。
17.如权利要求16所述的系统,其中,所述第一功率管理请求要标识第一功率状态,并且所述第二功率管理请求要标识第二功率状态,并且所述虚拟机管理逻辑要从所述第一和第二功率状态来选择最浅的功率状态。
18.如权利要求16所述的系统,还包括专用于功率管理的寄存器的集合,并且所述虚拟机管理逻辑要从寄存器的所述集合来读取所述第一和第二功率管理请求。
19.如权利要求18所述的系统,其中寄存器的所述集合包括状况寄存器、命令寄存器和控制寄存器中的至少一个。
20.如权利要求19所述的系统,其中所述虚拟机管理逻辑要将寄存器的所述集合映射到存储器空间。
21.如权利要求16所述的系统,其中所述移动平台包括硬件块,并且所述虚拟机管理逻辑要将所述硬件块放置在与所述功率状态相对应的低功率模式中。
22.如权利要求21所述的系统,其中所述硬件块包括无线电路块、存储电路块和成像电路块中的至少一个。
23.一种包括指令集的计算机可读存储媒体,所述指令如果被运行则使得移动平台 基于来自所述移动平台上运行的第一操作系统的第一功率管理请求和来自所述移动平台上运行的第二操作系统的第二功率管理请求来确定功率状态,其中,所述第一操作系统和所述移动平台的一个或更多组件要定义第一虚拟机,并且所述第二操作系统和所述移动平台的一个或更多组件要定义第二虚拟机;以及 将所述功率状态应用于所述移动平台。
24.如权利要求23所述的媒体,其中,所述第一功率管理请求要标识第一功率状态,并且所述第二功率管理请求要标识第二功率状态,并且所述指令如果被运行则使得所述移动平台从所述第一和第二功率状态来选择最浅的功率状态。
25.如权利要求23所述的媒体,其中所述指令如果被运行则使得所述移动平台从要专用于功率管理的寄存器的集合来读取所述第一和第二功率管理请求。
26.如权利要求25所述的媒体,其中寄存器的所述集合要包括状况寄存器、命令寄存器和控制寄存器中的至少一个。
27.如权利要求25所述的媒体,其中所述指令如果被运行则使得所述移动平台将寄存器的所述集合映射到存储器空间。
28.如权利要求23所述的媒体,其中所述指令如果被运行则使得所述移动平台将所述移动平台的硬件块放置与所述功率状态相对应的低功率模式中。
29.如权利要求28所述的媒体,其中所述硬件块要包括无线电路块、存储电路块和成像电路块中的至少一个。
30.如权利要求23所述的媒体,其中所述指令如果被运行时则使得所述移动平台 基于来自所述第一操作系统的第一性能管理请求和来自所述第二操作系统的第二性能管理请求来确定性能状态;以及 将所述性能状态应用于所述移动平台。
全文摘要
管理功率的系统和方法可以包括根据来自移动平台上运行的第一操作系统的第一功率管理请求和来自该移动平台上运行的第二操作系统的第二功率管理请求来确定功率状态。第一操作系统和移动平台的一个或更多组件能够定义第一虚拟机,并且第二操作系统和移动平台的一个或更多组件能够定义第二虚拟机。另外,功率状态可以被应用于移动平台。
文档编号G06F9/44GK102656558SQ201180002786
公开日2012年9月5日 申请日期2011年10月20日 优先权日2010年10月21日
发明者H·塞沙德里, N·马哈林加姆, R·D·穆拉利达, R·S·卡达姆, S·卡鲁穆里, S·托马斯, V·M·鲁拉穆尼 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1