CN104937551A - 用于图形设备的上下文感知功率管理 - Google Patents
用于图形设备的上下文感知功率管理 Download PDFInfo
- Publication number
- CN104937551A CN104937551A CN201380071539.XA CN201380071539A CN104937551A CN 104937551 A CN104937551 A CN 104937551A CN 201380071539 A CN201380071539 A CN 201380071539A CN 104937551 A CN104937551 A CN 104937551A
- Authority
- CN
- China
- Prior art keywords
- graphic
- performance level
- context
- module
- contextual
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
- G06F1/3215—Monitoring of peripheral devices
- G06F1/3218—Monitoring of peripheral devices of display devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3293—Power saving characterised by the action undertaken by switching to a less power-consuming processor, e.g. sub-CPU
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3296—Power saving characterised by the action undertaken by lowering the supply or operating voltage
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/461—Saving or restoring of program or task context
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5094—Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy 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 Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Power Sources (AREA)
- User Interface Of Digital Computer (AREA)
- Digital Computer Display Output (AREA)
- Supply And Distribution Of Alternating Current (AREA)
- Remote Monitoring And Control Of Power-Distribution Networks (AREA)
Abstract
描述了与用于图形设备的上下文感知功率管理有关的系统、装置和方法。
Description
背景技术
功率消耗是在计算设备中,特别是在诸如膝上型计算机、智能电话、平板电脑和超级本等之类的个人计算设备中的主要关注的问题。此外,在设备上运行的应用越来越依赖于图形和/或媒体硬件来加速处理。这样的应用可以与生产力、信息娱乐、web(网络)浏览器或游戏等相关。对图形和/或媒体硬件增加的使用可能导致增大管芯尺寸以及由例如图形设备产生的增加的功率消耗。
为了节省或更好地管理图形设备上的功率,可以引入频率尺度变化和/或空闲状态管理。对图形设备提供的时钟和/或电压可以被放大或减小,以平衡功率和性能要求,和/或可以对图形电路的一部分断电(例如,置于所谓的“空闲状态”)以进一步降低功率消耗。实际频率和/或空闲状态可以通过图形驱动器动态地指定或者由图形设备本身基于从图形驱动器提供的指导信息来决定。在一些示例中,为了确定要提供给图形设备的频率、空闲状态或指导信息,图形驱动器可以使用启发式算法。例如,图形驱动器的功率管理器可以监视从图形驱动器分派到图形设备的正在进行的命令,并且基于命令模式和所讨论的启发式算法来确定要提供到图形设备的频率、空闲状态或指导信息。
因为功率管理和图形性能是个人计算设备的重要特征,所以可以期望更好地管理图形设备中的功率。
附图说明
本文所描述的材料在附图中通过示例的方式而不是通过限制的方式来图示。为了简单和清楚的说明,附图中图示的元件不一定按比例绘制。例如,为了清楚的缘故,一些元件的尺寸可以相对于其他元件而被夸大。此外,在认为适当时,附图标记在附图中被重复以指示相应或类似的元件。在附图中:
图1是用于管理设备中的功率的示例性系统的说明图;
图2是示例性图形上下文(context)的说明图;
图3是图示用于管理设备中的功率的示例性过程的流程图;
图4是用于在操作中管理设备中的功率的示例性过程的说明图;
图5是用于评估基于上下文的性能水平的示例性方法的说明图;
图6是示例性功率管理模块的说明图;
图7是用于管理设备中的功率的示例性系统的说明图;
图8是示例性系统的说明图;以及
图9是全部根据本公开的至少一些实现方式布置的示例性系统的说明图。
具体实施方式
现在参考附图来描述一个或多个实施例或实现方式。尽管讨论了具体配置和布置,但是应当理解,这仅是出于说明性目的而进行的。相关领域技术人员将认识到,在不脱离本说明书的精神和范围的情况下,可以采用其他配置和布置。对相关领域技术人员显而易见的是,还可以在除了此处描述的之外的各种其他系统和应用中采用此处描述的技术和/或布置。
虽然以下描述阐述了可以在例如片上系统(SoC)架构的架构中呈现的各种实现方式,但是此处描述的技术和/或布置的实现方式不限于特定架构和/或计算系统,并且可以出于类似的目的,通过任何架构和/或计算系统来实现。例如,采用例如多个集成电路(IC)芯片和/或封装的各种架构和/或诸如机顶盒、膝上型计算机、智能电话等之类的各种计算设备和/或消费电子(CE)设备可以实现此处描述的技术和/或布置。此外,尽管以下描述可能阐述了诸如逻辑实现方式、系统组件的类型和相互关系、逻辑划分/集成选择等的许多具体细节,但是可以在没有这些具体细节的情况下实践要求保护的主题。在其他实例中,诸如例如控制结构和完整软件指令序列之类的一些材料可能没有被详细地示出,以便于不使此处公开的材料模糊。
此处公开的材料可以以硬件、固件、软件或其任何组合来实现。此处公开的材料还可以被实现为存储在机器可读介质上的指令,其可以由一个或多个处理器来读取和执行。机器可读介质可以包括用于以可由机器(例如,计算设备)读取的形式存储或传送信息的任何介质和/或机制。例如,机器可读介质可以包括只读存储器(ROM);随机存取存储器(RAM);磁盘存储介质;光学存储介质;闪速存储器设备;电、光、声或其他形式的传播信号(例如,载波、红外信号、数字信号等)和其他。
在本说明书中对“一个实现方式”、“实现方式”、“示例性实现方式”等的引用指示所描述的实现方式可以包括特定特征、结构或特性,但是每个实现方式可能不一定包括该特定特征、结构或特性。此外,这样的短语不一定指相同的实现方式。此外,当结合实现方式描述特定特征、结构或特性时,应当认为,与其他实现方式结合以实施这样的特征、结构或特性在本领域技术人员的知识范围内,不论此处是否明确描述。
以下描述了与用于图形设备的上下文感知功率管理相关的系统、装置、物品和方法。
如上所述,在图形设备功率管理中,可以引入频率尺度变化和/或空闲状态管理。例如,图形驱动器可以向图形设备动态地提供实际操作频率和/或空闲状态,或者图形驱动器可以向图形设备提供指导信息,使得图形设备可以基于或者部分地基于所提供的指导信息来确定频率或空闲状态。例如,图形驱动器的功率管理器可以监视从图形驱动器分派到图形设备的正在进行的命令,并且基于命令和使用启发式算法来确定要提供到图形设备的频率、空闲状态或指导信息。
然而,这样的实现方式可以不考虑与由图形驱动器分派的命令相关联的图形上下文(例如,与设备或再现(render)相关的图形客户端的特性和/或其他图形特性),并且因此,所选择的频率、空闲状态或指导信息可能未被优化。如在下面将更详细描述的,设备的上下文感知代理可以生成与设备的图形上下文相关联的基于上下文的性能水平。图形上下文可以包括以下各种因素中的一个或多个:诸如例如,与再现命令相关联的图形客户端(例如,在设备上运行的应用或虚拟机)、在设备上运行多少和/或何种类型的其他应用或虚拟机、哪个应用或虚拟机在设备的显示前台(foreground)中等等。基于该图形上下文,上下文感知代理可以生成所讨论的基于上下文的性能水平。基于上下文的性能水平可以从两个或更多个可用性能水平中选择,诸如,例如,严格性能水平和弹性性能水平,或者可以使用附加水平。严格性能水平可以提供该图形硬件模块应当尽可能快地进行操作以完成再现命令的指示,具有功率节省的有限空间,而弹性性能水平可以例如提供图形硬件模块可以更适度地操作并且由此可以节省更多功率的指示。
可以将基于上下文的性能水平从上下文感知代理传输到再现上下文模块,这可以经由图形驱动器来实现。例如,基于上下文的性能水平可以被存储为再现上下文的一部分,并且再现上下文可以与图形客户端和/或图形上下文相关联。通常,再现上下文模块可以存储任何数目的再现上下文,并且每个再现上下文可以在图形驱动器中提供包括例如由图形客户端指定的设备状态(例如,寄存器值、设备内部变量、内部管道等)的结构。功率管理模块可以在基于上下文的性能水平(并且,在一些示例中,再现上下文的其他部分)的基础上确定一个或多个图形再现性能/功率特性。例如,功率管理模块还可以使用启发式算法等、基于正在进行的再现命令的传统评估来确定一个或多个图形再现性能特性。图形再现性能特性可以包括在一些示例中可以动态地提供的用于图形硬件模块的操作频率或者(一个或多个)空闲状态或者指导信息等。指导信息可以包括可以允许图形硬件模块确定图形再现操作参数的任何信息。基于图形再现性能特性,图形硬件模块可以执行图形再现,并且将其提供给设备的其他组件,使得可以将其显示或呈现给例如用户。
如所讨论的,如本文所使用的,“图形上下文”可以包括图形客户端、图形客户端的特性或与设备或再现相关的其他图形特性,诸如在设备上运行的其他图形客户端(例如,应用或虚拟机)、或者哪个图形客户端在设备的前台上等。图形上下文还可以包括例如图形客户端的安全状态或用户选择的功率消耗设置。如本文使用,“再现上下文”可以包括例如图形驱动器中的结构,其包括图形客户端所指定的设备状态(例如,寄存器值、设备内部变量、内部管道等)。当调度新的图形客户端(或在图形客户端之间切换)时,设备可以被恢复或更新为由相关联的再现上下文定义的设备状态。如所讨论的,与图形上下文相关联的基于上下文的性能水平可以被确定和存储为例如再现上下文的分量或一部分。
图1是根据本公开的至少一些实现方式布置的用于管理设备中的功率的示例性系统100的说明图。如所示,系统100可以包括图形客户端110、上下文感知代理115、命令分派模块120、再现上下文模块125、调度器模块130、功率管理模块135、命令缓冲器140、再现模块147和功率管理单元145。如所示,在一些示例中,命令分派模块120、再现上下文模块125、调度器模块130和/或功率管理模块135可以经由图形驱动器150来实现,所述图形驱动器可以经由一个或多个中央处理单元来实现,为清楚的缘故而未示出所述一个或多个中央处理单元。同样如所示,再现上下文模块125可以存储任何数目的再现上下文,诸如再现上下文127。此外,在一些示例中,命令缓冲器140、再现模块147和/或功率管理单元145可以经由图形硬件模块160来实现。如下面进一步讨论的,图形客户端110和/或上下文感知代理115可以经由一个或多个中央处理单元来实现。通常,系统100可以是计算机实现的,如此处进一步讨论的。在各种实现方式中,系统100可以被配置为管理设备中的功率,使得系统100可以提供用于图形硬件模块160的上下文感知功率管理。
在一些示例中,系统100可以包括为了清楚的缘故而尚未在图1中示出的附加项目。例如,系统100可以包括射频型(RF)收发器、显示器和/或天线。此外,系统100可以包括为了清楚的缘故而尚未在图1中示出的附加项目,诸如扬声器、麦克风、加速度计、存储器、路由器、网络接口逻辑等。
如所讨论的,系统100可以提供用于图形硬件模块160的上下文感知功率管理。如所示,上下文感知代理115可以监视图形上下文105。在各种示例中,上下文感知代理115可以包括图形栈的组件、用户模式驱动器、操作系统窗口管理器或虚拟机显示管理器等。图形上下文105可以包括如此处进一步讨论的各种因素中的一个或多个。如所示,在一些示例中,图形上下文105可以包括图形客户端110。例如,图形客户端110可以包括在系统100上运行的应用(例如,本地图形应用)或虚拟机等。在一些示例中,图形上下文105可以包括在系统100上运行的另一或多个其他图形客户端。如所示,图形客户端110可以生成可以被传输到命令分派模块120的再现命令112。命令分派模块120可以(例如在调度器模块130的控制下)将再现命令112中的一个或多个作为再现命令122传输到图形硬件模块160的命令缓冲器140以供例如再现模块147来执行。再现结果可以被提供或进一步处理并提供为图形再现147。通常,图形再现147可以被提供到系统100的另一组件(诸如显示设备),使得经由显示设备提供给用户的图像数据可以是基于图形再现147的,或者图形再现147可以被提供到系统100的另一组件作为用于后续再现操作的源等。
通常,图形硬件模块160可以包括任何基于图形的硬件,诸如,例如,图形处理单元、图形设备、现场可编程门阵列或图形卡等。图形硬件模块160可以在可能影响性能和功率使用的各种参数下进行操作。例如,图形硬件模块160可以以通常可能变化(例如,可以实现频率和电压尺度变化)的操作频率进行操作。此外,图形硬件模块160可以使用空闲状态进行操作。
现在返回到上下文感知代理115,如所讨论的,上下文感知代理115可以监视图形上下文105。上下文感知代理115可以基于图形上下文105而生成基于上下文的性能水平117。通常,基于上下文的性能水平117可以从若干性能水平中的一个进行选择,并且可以被提供作为指示、标签或任何其他合适的数据格式。在一些示例中,图形客户端110可以具有相关联的基于上下文的性能水平117。在一些示例中,可以使用两个性能水平:严格性能水平和弹性性能水平。在这样的示例中,上下文感知代理115可以以规则的间隔、在性能水平改变(与例如图形上下文105中的改变相关联)处等提供严格性能水平或弹性性能水平的指示。
通常,严格性能水平可以提供下述图形上下文105的评估:该图形上下文105的评估指示图形硬件模块160应当尽可能快地完成存储在命令缓冲器140中的再现命令122,但是即使在使用严格性能水平中,只要性能不受影响,就可以节省功率(例如,当没有再现命令被提交时)。此外,如在本文中讨论的,在使用严格性能水平中,可以使用启发式算法,使得仍然可以实现功率节省。弹性性能水平可以提供图形硬件模块160可以更适度地操作并且从而可以节省更多功率的指示。例如,在使用弹性性能水平中,功率可以被进取地节省,即使具有相关联的性能降级,因为图形上下文105和图形客户端110可以容忍这样的降级。如所讨论的,在一些示例中,可以使用两种性能水平。在其他示例中,可以使用附加性能水平,诸如,例如,三个、四个或更多性能水平。这样的附加性能水平可以在调整图形硬件模块160的性能中提供增加的粒度的优点,但是可能以增加的实现复杂度为代价。
如所示,可以将基于上下文的性能水平117从上下文感知代理115传输到再现上下文模块125。再现上下文模块125可以将基于上下文的性能水平117存储在再现上下文127中。如所讨论的,再现上下文模块125可以在适当时存储任何数目的再现上下文。再现上下文127可以包括基于上下文的性能水平117,并且再现上下文127可以例如与图形客户端110相关联。通常,功率管理模块135可以使用再现上下文127和基于上下文的性能水平117来确定图形再现性能特性137。
如将领会的,在系统100的操作中,与图形客户端110相关联的基于上下文的性能水平117(或与其他图形客户端相关联的基于上下文的性能水平中的任何一个)可以改变。例如,假设在再现上下文127中没有改变(即,在活动的再现上下文中没有改变),在图形上下文105中可能发生改变。响应于这样的改变,上下文感知代理115可以提供基于上下文的性能水平,其可以被存储在再现上下文127中(同样地,在活动再现上下文中不存在改变)。然后,再现上下文模块125可以通知功率管理模块135来评估新的基于上下文的性能水平。可以将新的基于上下文的性能水平从再现上下文模块125传输到功率管理模块135,并且功率管理模块135可以通过将其与当前(或先前)基于上下文的性能水平作比较来评估新的基于上下文的性能水平。如果新的基于上下文的性能水平与当前(或先前)基于上下文的性能水平不同,则功率管理模块135可以使用如此处讨论的技术中的任何一个来生成图形再现性能特性137。如果新的基于上下文的性能水平并不与当前(或先前)基于上下文的性能水平不同,则功率管理模块135可以例如不采取动作。
在其他示例中,与不活动的图形客户端相关联的一个或多个基于上下文的性能水平可以改变。在这样的示例中,可以从上下文感知代理115传输新的基于上下文的性能水平,并且经由再现上下文模块125被存储在与关联于新的基于上下文的性能水平的图形客户端相关联的再现上下文中。因为再现上下文当前不是活动的,所以可以不立即向功率管理模块135提供通知。在对再现上下文的改变(即,不活动的再现上下文变为活动)时,调度器模块130可以调度与(改变的)再现上下文相关联的再现命令,使得该再现上下文活动。调度器模块130还可以向功率管理模块135通知对新的再现上下文的改变。该基于上下文的性能水平(例如,作为新近活动再现上下文的一部分)可以被传输到功率管理模块130,并且功率管理模块130可以评估与(现在活动的)再现上下文相关联的基于上下文的性能水平。通常,基于与(现在活动的)再现上下文相关联的基于上下文的性能水平(以及如此处讨论的任何其他因素),功率管理模块可以生成图形再现性能特性137,并且将其传输到图形硬件模块160的功率管理单元145,如此处所讨论的。
如所示,功率管理模块135可以在基于上下文的性能水平117的基础上来确定图形再现性能特性137。在一些示例中,硬件模块160可以提供或显露频率状态和空闲状态的列表。在这样的示例中,功率管理模块135可以基于性能水平来确定或选择策略管控器(governor),如下面进一步并且特别是关于图6讨论的。然后,所确定的策略管控器(例如,性能管控器或功率管控器)可以动态地确定或选择确切的频率和/或空闲状态,并且提供这样的频率或空闲状态作为图形再现性能特性137。此外,功率管理模块135可以在确定频率或空闲状态中,基于启发式算法等来评估再现命令112(例如,经由如图所示的命令分派模块120)。这样的技术可以考虑到例如系统100的图形上下文105和再现命令112二者。还可以向策略管控器通知与管控器相关联的信息或策略。例如,性能管控器可以接收性能目标,并且功率管控器可以接收功率预算。此处进一步讨论并且特别地关于图6来讨论这样的技术。
在其他示例中,硬件模块160可以提供或显露模式(例如,“性能”或“功率节省”??等)的列表。在这样的示例中,功率管理模块160可以将在基于上下文的性能水平117的基础上的模式(例如,经由硬件管控器)指定为图形再现性能特性137,并且功率管理单元145可以基于硬件模块160内的策略管控器来动态地管理频率和/或空闲状态。在这样的示例中,“实际”管控器可以经由硬件模块160来实现,并且图形驱动器150中的管控器可以被视为用于仅选择操作模式的虚拟管控器。
如所讨论的,上下文感知代理115可以生成与图形上下文105相关联的基于上下文的性能水平117,功率管理模块135可以在基于上下文的性能水平117的基础上来确定图形再现性能特性137,并且图形硬件模块160可以基于图形再现性能特性137来执行图形再现。通常,图形上下文105可以包括可以确定或影响图形硬件模块160的期望性能的任何信息、系统状态、操作参数等。例如,如果图形上下文105通常是图形密集的,则对于图形硬件模块160来说快速地(例如,以高的操作频率和最小的空闲状态)执行再现任务可能是有利的,并且功率节省可能不太优先。替代地,如果图形上下文105是不太图形密集的,则对于图形硬件模块160来说适度地(例如,以较低操作频率并利用较多空闲状态)执行可能是有利的。
如所示,在一些示例中,图形上下文105可以包括图形客户端110,如所讨论的,其可以生成再现命令112。图形客户端110可以包括在系统100上运行的应用或虚拟机等。在一些示例中,图形上下文105可以包括附加的图形客户端,诸如附加应用或虚拟机等。另外,在图形上下文105包括一个或多??个应用或虚拟机的示例中,应用或虚拟机的类型或其图形要求可以是图形上下文105的一部分。例如,图形上下文105可以包括应用或虚拟机的图形要求等。例如,办公软件可以被标记或与相对低的基于上下文的性能水平117相关联。作为另一个示例,在操作系统随着时间变得更加图形密集时,包含旧的操作系统的虚拟机可以被标记或与相对低的基于上下文的性能水平117相关联,而包含新的操作系统的虚拟机可以被标记或与相对高的基于上下文的性能水平117相关联。在其他示例中,图形上下文105可以包括应用是图形应用或虚拟机是图形虚拟机的指示。此外,在前台还是后台(background)中向用户显示应用或虚拟机等可以是图形上下文105的一部分。例如,图形上下文105可以包括应用或虚拟机是在系统100的显示设备的前台(或后台)上运行的图形应用的指示。现在转到图2,呈现了示例性图形上下文。
图2是根据本公开的至少一些实现方式布置的示例性图形上下文的说明图。如所示,图形上下文105可以包括虚拟机1(浏览器)210和虚拟机2(编码应用)220。虚拟机1(浏览器)210可以执行基于超文本标记语言5(HTML5)的浏览,并且通常可以要求图形再现。虚拟机2(编码应用)220可以允许用户起草计算机代码,并且通常可以不要求图形再现。此外,如(A)中所示,在一些实例中,虚拟机1(浏览器)210可以在前台中,而如(B)中所示,在一些实例中,虚拟机2(编码应用)220可以在前台中(例如,当用户在应用或窗口等之间切换时)。在图示的示例中,在(A)和(B)二者中,虚拟机1(浏览器)210可以主动地再现,如图所示。
在图2的示例中,图形上下文105可以包括虚拟机1(浏览器)210、虚拟机2(编码应用)220以及哪个虚拟机在系统100的显示设备的前台中的指示。如图所示,如果虚拟机1(浏览器)210在前台中,则上下文感知代理115可以为虚拟机1(VM1)230的基于上下文的性能水平提供严格性能水平,并且如果虚拟机2(编码应用)220在前台(即,虚拟机1(浏览器)210在后台中),则上下文感知代理115可以为虚拟机1(VM1)240提供弹性性能水平。使用所描述的技术,前台显示(例如,其中用户通常关注并对质量敏感的)可以提供图形上下文105中的因素,并且可以与例如前台虚拟机(或应用)是否是图形密集的相关联。类似地,如果用户进入全屏观看模式,则全屏观看模式(与在全屏幕中运行的虚拟机或应用相关联)可以提供图形上下文105中的因素。在这样的示例中,该因子可能是决定性的。
此外,上下文感知代理115可以管理任何或所有现有的图形客户端(例如,虚拟机1(浏览器)210和虚拟机2(编码应用)220),并且可以基于其图形上下文(例如,诸如前台/后台、优先级等)来使基于上下文的性能水平与现有图形客户端相关联。例如,当图形驱动器150的调度器模块130调度与图形上下文相关联的再现命令时,调度器模块130可以向功率管理模块135提供相关联的再现上下文,以遵循适当再现上下文中的基于上下文的性能水平。
现在返回到图1,继续讨论图形上下文105。如所讨论的,图形上下文105可以包括图形客户端110,其可以是例如图形应用或虚拟机。图形上下文105还可以包括在设备上运行的(一个或多个)附加图形客户端,诸如一个或多个应用、一个或多个虚拟机等。在其他示例中,图形上下文105可以包括应用或虚拟机(例如,图形客户端110)的信任水平或安全状态。例如,在虚拟化已经增加时,特别是在智能电话和平板电脑等中,一些实现方式使敏感信息(例如,个人信息、工作信息等)与非安全分区隔离或分开。在一些示例中,不良设计的应用可能通过频繁地(并且通常不必要地)利用图形硬件模块160而在系统100中侵略地使用功率。在这样的情况下,图形上下文105可以包括这样的应用的运行,并且例如,上下文感知代理115可以提供弹性性能水平,使得可以保护图形硬件模块160免受这样的误用。因此,例如,图形上下文105可以包括虚拟机或应用的安全状态。此外,在这样的示例中,可以向用户提供诸如用户选择的功率消耗设置之类的选项或设置,使得图形上下文105可以包括在这样的不可信或不安全的虚拟机或应用的操作期间的用户的偏好。
在一些实现方式中,系统100可以包括可以在用户认为必要的任何上下文中使用的诸如用户选择的功率消耗设置之类的选项或设置。例如,当观察到电池被过快消耗时,当用户知道他们可能无法充电达长的时间段时等,用户可以使用这样的设置。在其他示例中,当图形再现未满足用户的需要时,用户可以使用这样的设置。
通常,关于图1讨论的过程和组件可以以各种方式来实现。在一些实现方式中,命令分派模块120、再现上下文模块125、功率管理模块135和/或调度器模块130可以经由图形驱动器或内核模式驱动器(KMD)等来实现。此外,图形驱动器或KMD可以经由如此处讨论的且特别地关于图7讨论的一个或多个处理器来实现。如所讨论的,图形硬件模块160可以包括图形处理单元、图形设备、图形卡或现场可编程门阵列等。系统100可以经由如此处讨论的并且特别地关于图8和图9讨论的任何合适的设备来实现,诸如,例如,膝上型计算机、智能电话、平板设备或超级本等。
如下面更详细讨论的,系统100可以用于执行以下结合图3-5讨论的各种功能和操作以及此处其他地方讨论的操作中的一些或全部。
图3是图示根据本公开的至少一些实现方式布置的示例性过程300的流程图。在图示的实现方式中,过程300可以包括如由框302、304和/或306中的一个或多个图示的一个或多个操作、功能或动作。通过非限制性示例的方式,此处将参考示例性系统100来描述过程300。
过程300可以用作用于管理设备中的功率的计算机实现的方法。过程300可以开始于框302“生成与图形上下文相关联的基于上下文的性能水平”,其中可以生成与图形上下文相关联的基于上下文的性能水平。例如,基于上下文的性能水平117可以通过上下文感知代理115来生成。基于上下文的性能水平可以从例如两个或更多个性能水平中选择,并且可以基于与图形上下文相关联的各种因素中的任何一个,诸如在设备的前台中运行的图形客户端的图形要求、用户选择的设置、或者应用或虚拟机的安全水平等。
处理可以从操作302继续到操作304“在基于上下文的性能水平的基础上确定图形再现性能特性”,其中可以至少部分地在基于上下文的性能水平的基础上来确定一个或多个图形设备性能特性。例如,功率管理模块135可以在基于上下文的性能水平117的基础上生成图形再现性能特性137。在一些示例中,图形再现性能特性137可以包括确切的频率和/或空闲状态。在这样的示例中,频率或空闲状态可以被动态地生成,并且可以基于所提供和显露的频率状态和空闲状态的列表。在其他示例中,图形再现性能特性137可以包括诸如模式之类的指导信息。在这样的示例中,该模式可以基于所提供和显露的模式(例如,“性能”或“功率节省”等)的列表,并且功率管理模块160可以提供模式,使得硬件模块160可以主动地选择频率状态或空闲状态。
处理可以从操作304继续到操作306“基于图形再现性能特性来执行图形再现”,其中可以至少部分地基于(一个或多个)图形再现性能特性来执行图形再现。例如,图形硬件模块160可以基于图形再现性能特性137来执行图形再现。如所讨论的,在一些示例中,图形再现性能特性137可以包括用于图形硬件模块160的操作频率或空闲状态。在其他示例中,图形再现性能特性137可以包括指导信息(例如,模式),图形再现性能特性137可以根据该指导信息而确定其操作参数。
通常,过程300可以根据需要重复。例如,当例如通过功率管理模块135接收到不同的基于上下文的性能过程时,可以重复过程300。
可以在以下关于图4更详细地讨论的实现方式的一个或多个示例中说明与过程300相关的一些附加和/或替代细节。
图4是根据本公开的至少一些实现方式布置的用于在操作中管理设备中的功率的示例性系统100和过程400的说明图。在图示的实现方式中,过程400可以包括如通过动作411、412、413、414、415、416、417、418、419和/或420中的一个或多个图示的一个或多个操作、功能或动作。通过非限制性示例的方式,此处将参考示例性系统100来描述过程400。
在图示的实现方式中,系统100可以包括模块402等和/或其组合。例如,模块402可以包括图形硬件模块160、图形客户端110、上下文感知代理115和/或图形驱动器150。图形客户端110、上下文感知代理115和/或图形驱动器150可以例如经由一个或多个中央处理单元310来实现。如所讨论的,图形硬件模块160可以包括图形处理单元、图形设备、现场可编程门阵列或图形卡等。上下文感知代理115可以被配置为生成与图形上下文相关联的基于上下文的性能水平,并且将基于上下文的性能水平传输到图形驱动器150。图形客户端110可以被配置为生成一个或多个再现命令,并且将再现命令传输到图形驱动器150。图形驱动程序150可以被配置为接收再现命令和基于上下文的性能水平,至少部分地在基于上下文的性能水平和/或再现命令的基础上来确定一个或多个图形再现性能特性,并且将(一个或多个)图形再现性能特性和(一个或多个)再现命令传输到图形硬件模块160。图形硬件模块160可以被配置为至少部分地基于一个或多个图形再现性能特性和/或再现命令来执行图形再现,并且将图形再现传输到系统100的另一组件,诸如例如显示设备,其被配置为呈现图像数据,使得经由显示设备的图像数据的呈现至少部分地基于图形再现。
如图4所示,虽然系统100可以包括与特定模块相关联的框或动作的一个特定集合,但是这些框或动作可以与不同于这里图示的特定模块的模块相关联。
过程400可以用作用于管理设备中的功率的计算机实现的方法。过程400可以开始于操作413或操作411或同时开始于那些操作。为了描述的缘故,可以假设过程400可以开始于操作411 “生成再现命令”,其中可以生成一个或多个再现命令。再现命令112可以通过例如图形客户端110来生成。通常,任何数目的图形客户端可以在系统100上运行,并且图形客户端中的一个或多个可以根据需要生成再现命令。
处理可以从操作411继续到操作412“传输再现命令”,其中可以传输一个或多个再现命令的全部或一部分。例如,再现命令112可以从图形客户端110传输到图形驱动器150。在一些示例中,再现命令112可以被传输到图形驱动器150的命令分派模块120。
处理可以在操作413处继续(或者替代地,可以开始)“生成基于上下文的性能水平”,其中可以生成与图形上下文相关联的基于上下文的性能水平。例如,当启动图形客户端时,或者在与图形客户端相关联的特性或图形上下文改变时的运行时间期间,可以生成与图形上下文相关联的基于上下文的性能水平。例如,可以通过上下文感知代理115来生成基于上下文的性能水平117。基于上下文的性能水平可以从两个或更多个性能水平中选择,诸如例如,严格性能水平和弹性性能水平。基于上下文的性能水平可以基于与图形上下文相关联的各种因素中的任何一个,诸如此处讨论的那些中的任何一个。
处理可以从操作413继续到操作414??“传输基于上下文的性能水平(CBPL)”,其中可以传输基于上下文的性能水平。例如,基于上下文的性能水平117可以从上下文感知代理115被传输到再现上下文模块125,并且被存储为再现上下文127的一部分。
处理可以从操作414继续??到操作415“将基于上下文的性能水平(CBPL)与当前基于上下文的性能水平(CBPL)作比较,并且如果不同,则将基于上下文的性能水平(CBPL)传输到功率管理模块”,其中,可以将基于上下文的性能水平与当前(或先前)基于上下文的性能水平作比较,并且如果它们是不同的,则可以将基于上下文的性能水平传输到功率管理模块(在图形驱动器150内部)。如果它们是相同的,则不采取任何动作。例如,如此处讨论的,可以通过功率管理模块135来执行基于上下文的性能水平和当前(或先前)基于上下文的性能水平的比较。在一些示例中,基于上下文的性能水平117可以作为再现上下文127的一部分或分量被传输。如上所述,例如,当与性能水平相关联的再现上下文是当前再现上下文时,这样的实现方式可以应用。
处理可以从操作415继续到操作416“确定图形再现性能特性”,其中可以至少部分地在基于上下文的性能水平的基础上来确定一个或多个图形设备性能特性。例如,功率管理模块135可以在基于上下文的性能水平117的基础上来生成图形再现性能特性137。在一些示例中,图形再现性能特性137可以包括确切的频率和/或空闲状态。在这样的示例中,频率或空闲状态可以被动态地生成,并且可以基于所提供或显露的频率状态和空闲状态的列表。在其他示例中,图形再现性能特性137可以包括诸如模式之类的指导信息。在这样的示例中,模式可以基于所提供或显露的模式(例如,“性能”或“功率节省”等)的列表,并且功率管理模块160可以提供模式,使得硬件模块160可以主动地选择频率状态或空闲状态。
处理可以从操作416继续到操作417“传输(一个或多个)图形再现性能特性”,其中可以传输图形再现性能特性。例如,图形再现性能特性137可以从图形驱动器150传输到图形硬件模块160。在一些示例中,图形再现性能特性137可以从图形驱动器150的功率管理模块135传输到图形硬件模块160的功率管理单元145。如所讨论的,在一些示例中,图形再现性能特性137可以包括动态传输的确切的频率和/或空闲状态,并??且在其他示例中,图形再现性能特性137可以包括指导信息。
处理可以从操作417继续到操作418,或者操作418可以按需要在过程400期间在大体上任何时间被执行。在任何情况下,处理可以在操作418处继续,“传输(一个或多个)再现命令”,其中可以传输再现命令。例如,一个或多个再现命令122可以从图形驱动器150传输到图形硬件模块160。在一些示例中,一个或多个再现命令122可以从图形驱动器150的命令分派模块120传输到图形硬件模块160的命令缓冲器140。如将领会的,不是每个再现命令生成都要求性能水平改变,并且两个路径(即,用于再现命令112和122的路径、以及用于基于上下文的性能水平117和图形再现性能特性137的路径)可以并行地发生。
处理可以从操作418继续到操作419“执行图形再现”,其中可以至少部分地基于(一个或多个)图形再现性能特性来执行图形再现。例如,图形硬件模块160可以基于图形再现性能特性137来执行图形再现。如所讨论的,在一些示例中,图形再现性能特性137可以包括用于图形硬件模块160的操作频率或空闲状态。在其他示例中,图形再现性能特性137可以包括指导信息(例如,模式),图形再现性能特性137可以根据该指导信息而确定其操作参数。
处理可以从操作419继续到操作420“传输图形再现”,其中可以传输一个或多个图形再现。例如,图形再现147可以被传输到系统100的另一组件或模块。在一些示例中,图形再现147可以被传输到显示设备,该显示设备被配置为呈现图像数据,使得经由显示设备的图像数据的呈现至少部分地基于图形再现。在其他示例中,图形再现147可以被传输到系统100的另一组件以用作用于后续再现操作的源等。
通常,过程400可以根据需要重复或者大体上连续地执行。例如,随着可以在周期性的基础上生成基于上下文的性能水平,或者随着图形上下文改变等,当生成或接收到不同的基于上下文的性能水平时,可以重复与确定和提供上下文感知图形再现特性相关联的操作413、414、415、416和/或417。与生成和执行再现命令相关联的操作411、412、418、419和/或420可以根据需要由例如系统100来执行,并且如所讨论的,可以使用此处讨论的技术来被调度和/或协调以为设备提供更大的性能或功率节省。
如以上关于图1所讨论的,可以将基于上下文的性能水平117从上下文感知代理115传输到再现上下文模块125,并且基于上下文的性能水平117可以通过再现上下文模块125或调度器模块130(或那些模块一起)来评估,以确定基于上下文的性能水平是否已经改变。在图5中图示了这样的技术的示例。
图5是图示根据本公开的至少一些实现方式布置的用于评估基于上下文的性能水平的示例性过程500的流程图。在图示的实现方式中,过程500可以包括如由框502、504、508、510和/或512中的一个或多个图示的一个或多个操作、功能或动作。通过非限制性示例的方式,此处将参考图1和/或图7的示例性系统100来描述过程500。
过程500可以用作用于管理设备中的功率的计算机实现的方法。如所讨论的,当与基于上下文的性能水平相关联的再现上下文是活动的再现上下文时,过程500可以应用。过程500可以开始于操作502“接收基于上下文的性能水平”,其中可以接收基于上下文的性能水平。基于上下文的性能水平117可以在再现上下文模块125处被接收,并且被存储为可以与例如图形客户端110相关联的再现上下文127的一部分。在一些示例中,改变可以在图形上下文105中发生。响应于这样的改变,上下文感知代理115可以提供基于上下文的性能水平,其可以被存储在再现上下文127(活动的再现上下文)中。
处理可以从操作502继续到操作504“不同于当前基于上下文的性能水平?”,其中可以确定基于上下文的性能水平117(即,接收到的或新的基于上下文的性能水平)是否不同于在相关联的再现上下文中的当前基于上下文的性能水平。操作504可以通过例如功率管理模块135来执行。再现上下文模块125可以通知功率管理模块135来评估新的基于上下文的性能水平(在仍然活动的再现上下文中)。可以将新的基于上下文的性能水平从再现上下文模块125传输到功率管理模块135,并且功率管理模块135可以通过将其与当前(或先前)基于上下文的性能水平作比较来评估新的基于上下文的性能水平。如果(新的)基于上下文的性能水平不同于当前基于上下文的性能水平,则过程500可以在操作508处继续。如果基于上下文的性能水平117不是不同于当前基于上下文的性能水平,则过程500可以在操作506处继续“不采取动作”,其中可以不采取动作。
处理可以从操作504继续到操作508“设置为接收到的性能水平”,其中性能水平可以被设置为基于上下文的性能水平117。例如,性能水平设置可以在功率管理模块135处被改变。
处理可以从操作508继续到操作510“激活与接收到的性能水平相关联的管控器”,其中可以激活与基于上下文的性能水平117相关联的管控器可以被激活以生成例如图形再现性能特性137。
通常,随着在当前再现上下文仍然活动的同时改变发生,在框502处可以接收到基于上下文的性能水平时,过程500可以被重复任何次数。
如以上所讨论的,在其他示例中,(一个或多个)与不活动的图形客户端相关联的基于上下文的性能水平可能改变。在这样的示例中,基于上下文的性能水平的评估可以被推迟,直到相关联的再现上下文变为活动的为止。例如,基于上下文的性能水平可以被存储在与不活动图形客户端相关联的不活动再现上下文中。当不活动再现上下文变得活动(例如,经由调度器模块130)时,调度器模块130可以向功率管理模块135通知对新近活动的再现上下文的改变,并且功率管理模块130可以评估与(现在活动的)再现上下文相关联的基于上下文的性能水平。通常,在与(现在活动的)再现上下文相关联的基于上下文的性能水平(以及如此处讨论的任何其他因素)的基础上,功率管理模块可以生成图形再现性能特性137,并且将其传输到图形硬件模块160的功率管理单元145,如此处所讨论的。
如以上关于图1讨论的,功率管理模块135可以通过激活与基于上下文的性能水平117相关联的管控器来生成图形再现性能特性137。在图6中图示了这样的功率管理模块的示例。
图6是根据本公开的至少一些实现方式布置的示例性功率管理模块的说明图。如所示,功率管理模块135可以包括性能管控器610、硬件管控器620和硬件管控器630。作为功率管理模块135可以从再现上下文模块125接收基于上下文的性能水平117。在一些示例中,基于上下文的性能水平117可以是再现上下文125的一部分或分量。如所示,在说明性示例中,基于上下文的性能水平117可以是严格性能640或弹性性能650。
在一些实现方式中,图形硬件模块160(参见图1)可以支持诸如例如,“性能模式”和“功率节省模式”之类的??操作模式。在这样的实现方式中,基于上下文的性能水平117(无论?设定为严格性能还是弹性性能)可以大体上直接映射成图形硬件模块160的关联模式。例如,如果基于上下文的性能水平117是严格水平,则性能管控器610可以经由图形再现性能特性137来提供“性能模式”的指示,并且如果基于上下文的性能水平117是弹性水平,则性能管控器610可以经由图形再现性能特性137来提供“功率节省模式”的指示。这样的实现方式还可以包括激活硬件管控器620。如所讨论的,功率管理模块135可以提供指导信息,使得图形硬件模块160可以使用指导信息来确定操作参数,诸如,例如,操作频率(例如,频率或电压等)或空闲状态等。这样的实现方式由此可以向图形硬件模块160提供粗粒度指示(即“性能模式”或“功率节省模式”)并且向图形硬件模块160提供细颗粒指示(指导信息)。
在其他实现方式中,图形硬件模块160可以支持图形驱动器150直接设置图形再现性能特性137,诸如操作频率和空闲状态。在这样的实现方式中,无论设置为严格性能还是弹性性能,基于上下文的性能水平117可以分别激活性能管控器610或功率管控器630,以生成图形再现性能特性137,包括操作频率(例如,频率或电压等)或空闲状态等,如此处所讨论的。
此外,如图6中所示,功率管理模块135可以接收性能目标612和/或功率预算632。如所示,性能目标612可以用于影响性能管控器610的行为,并且功率预算632可以用于影响功率管控器的行为。在一些示例中,性能目标612和/或功率预算632可以从针对操作系统的配置和功率管理(OSPM)模块或者高级配置和功率接口(ACPI)模块等来接收。通常,图示的管控器可以被实现为策略组,使得每个策略组(例如,如与基于上下文的性能水平117相关联)可以根据需要包括并且激活一个或多个管控器以实现期望的策略。
虽然示例性过程300、400和500以及此处讨论的过程的实现方式可以包括进行以所图示的次序示出的所有操作,但是本公开在这方面不受限制,并且在各种示例中,过程300、400和500的实现方式可以包括仅进行所示出的框的子集和/或以与图示不同的次序。
此外,可以响应于由一个或多个计算机程序产品提供的指令来进行图1-6的框中的任何一个或多个。这样的程序产品可以包括提供指令的信号承载介质,所述指令当由例如处理器执行时可以提供此处所描述的功能。该计算机程序产品可以以任何形式的计算机可读介质来提供。因此,例如,包括一个或多??个处理器核的处理器可以响应于由计算机可读介质传递到处理器的指令来进行图1-6中示出的框中的一个或多个。
如此处描述的任何实现方式中使用的,术语“模块”指配置为提供此处描述的功能的软件、固件和/或硬件的任何组合。软件可以被体现为软件包、代码和/或指令集或指令,并且如此处描述的任何实现方式中使用的“硬件”可以单独地或以任何组合包括,例如,硬接线电路、可编程电路、状态机电路和/或存储由可编程电路执行的指令的固件。该模块可以共同地或单独地被体现为形成较大系统的一部分的电路,例如,集成电路(IC)、片上系统(SoC)等。
图7是根据本公开的至少一些实现方式布置的用于管理设备中的功率的示例性系统100的说明图。在图示的实现方式中,系统100可以包括一个或多??个中央处理单元310、一个或多个存储器存储装置708、图形硬件模块160和/或显示设备710。中央处理单元310、存储器存储装置708和图形硬件模块160可以能够经由例如总线或其他接入来彼此进行通信。在各种实现方式中,显示设备710可以被集成在系统100中或与系统100单独地实现。
如图7所示并且如以上所讨论的,图形客户端110、上下文感知代理115和/或图形驱动器150可以经由中央处理单元310来实现。此外,命令缓冲器140、功率管理模块145和/或再现模块147可以经由图形硬件模块160来实现。
如将领会的,图7中图示的模块可以包括各种软件和/或硬件模块和/或可以经由软件和/或硬件实现的模块。例如,图形客户端110、上下文感知代理115和/或图形驱动器150可以经由中央处理单元310被实现为软件,并且命令缓冲器140、功率管理模块145和/或再现模块147可以经由图形硬件模块160被实现为硬件。此外,所示出的存储器存储装置1008可以是用于例如中央处理单元1006和/或图形硬件模块160的共享存储器。并且,系统100可以以各种方式实现。例如,系统100(排除显示设备710)可以被实现为具有图形处理器的单个芯片或设备、四核中央处理单元、板上高速缓存和存储器控制器输入/输出(I/O)模块(未示出)。在其他示例中,系统100(同样排除显示设备710)可以被实现为芯片组。
中央处理单元310可以包括任何合适的实现方式,包括例如,(一个或多个)微处理器、多核处理器、专用集成电路、(一个或多个)芯片、芯片组等。此外,图形硬件模块160可以包括任何合适的实现方式,包括例如,(一个或多个)处理器、多核处理器、专用集成电路、可编程逻辑器件、图形卡、集成图形、(一个或多个)通用图形处理单元等。此外,存储器存储装置708可以是任何类型的存储器,诸如易失性存储器(例如,静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)等)或非易失性存储器(例如,闪速存储器等)等。在非限制性示例中,存储器存储装置708可以通过高速缓存存储器来实现。在各种示例中,系统100可以被实现为芯片组或片上系统。
图8图示了根据本公开的示例性系统800。在各种实现方式中,系统800可以是媒体系统,但是系统800不限于该上下文。例如,系统800可以并入个人计算机(PC)、膝上型计算机、超膝上型计算机、平板电脑、触摸板、便携式计算机、手持式计算机、掌上型计算机、个人数字助理(PDA)、蜂窝电话、组合蜂窝电话/ PDA、电视、智能设备(例如,智能电话,智能平板或智能电视)、移动互联网设备(MID)、消息传递设备、数据通信设备等。
在各种实现方式中,系统800包括耦合到显示器820的平台802。平台802可以接收来自内容设备(诸如(一个或多个)内容服务设备830或(一个或多个)内容递送设备840或其他类似的内容源)的内容。包括一个或多个导航特征的导航控制器850可以用于与例如平台802和/或显示器820进行交互。以下更详细地描述这些组件中的每一个。
在各种实现方式中,平台802可以包括芯片组805、处理器810、存储器812、储存器814、图形子系统815、应用816和/或无线电装置818的任何组合。芯片组805可以提供在处理器810、存储器812、储存器814、图形子系统815、应用816和/或无线电装置818之间的互通。例如,芯片组805可以包括能够提供与储存器814的互通的储存适配器(未示出)。
处理器810可以被实现为复杂指令集计算机(CISC)或精简指令集计算机(RISC)处理器;x86指令集兼容的处理器、多核或任何其他微处理器或中央处理单元(CPU)。在各种实现方式中,处理器810可以是(一个或多个)双核处理器、(一个或多个)双核移动处理器等。
存储器812可以被实现为易失性存储器设备,诸如但不限于,随机存取存储器(RAM)、动态随机存取存储器(DRAM)或静态RAM(SRAM)。
储存器814可以被实现为非易失性储存设备,诸如但不限于,磁盘驱动器、光盘驱动器、磁带驱动器、内部储存设备、附接的储存设备、闪速存储器、电池备份SDRAM(同步DRAM)和/或网络可访问储存设备。在各种实现方式中,储存器814可以包括用于在包括例如多个硬驱动器时增加对有价值的数字媒体的储存设备性能增强保护的技术。
图形子系统815可以执行对诸如静止或视频的图像的处理以供显示。图形子系统815可以是例如图形处理单元(GPU)或视觉处理单元(VPU)。模拟或数字接口可以用于通信地耦合图形子系统815和显示器820。例如,该接口可以是高清晰度多媒体接口、显示端口、无线HDMI和/或无线HD依从的技术中的任何一个。图形子系统815可以被集成到处理器810或芯片组805中。在一些实现方式中,图形子系统815可以是通信地耦合到芯片组805的独立卡。
此处描述的图形和/或视频处理技术可以以各种硬件架构来实现。例如,图形和/或视频功能可以被集成在芯片组内。替代地,可以使用分立的图形和/或视频处理器。作为又一实现方式,图形和/或视频功能可以由通用处理器来提供,所述通用处理器包括多核处理器。在另外的实施例中,可以在消费电子设备中实现该功能。
无线电装置818可以包括能够使用各种合适的无线通信技术来传送和接收信号的一个或多个无线电装置。这样的技术可以涉及跨一个或多个无线网络的通信。示例性无线网络包括(但不限于)无线局域网(WLAN)、无线个域网(WPAN)、无线城域网(WMAN)、蜂窝网络和卫星网络。在跨这样的网络进行通信中,无线电装置818可以根据以任何版本的一个或多个适用的标准来进行操作。
在各种实现方式中,显示器820可以包括任何电视型监视器或显示器。显示器820可以包括例如计算机显示屏、触摸屏显示器、视频监视器、类电视设备和/或电视。显示器820可以是数字和/或模拟的。在各种实现方式中,显示器820可以是全息显示器。并且,显示器820可以是可以接收视觉投影的透明表面。这样的投影可以传递各种形式的信息、图像和/或对象。例如,这样的投影可以是用于移动增强现实(MAR)应用的视觉覆盖。在一个或多个软件应用816的控制下,平台802可以在显示器820上显示用户界面822。
在各种实现方式中,(一个或多个)内容服务设备830可以由任何国家、国际和/或独立服务来托管,并且由此经由例如因特网对平台802可访问。(一个或多个)内容服务设备830可以耦合到平台802和/或显示器820。平台802和/或(一个或多个)内容服务设备830可以耦合到网络860以向和自网络860传送(例如,发送和/或接收)媒体信息。(一个或多个)内容递送设备840也可以耦合到平台802和/或显示器820。
在各种实现方式中,(一个或多个)内容服务器830可以包括有线电视盒、个人计算机、网络、电话、支持因特网的设备或能够递送数字信息和/或内容的器具、以及能够经由网络860或直接在内容提供商与平台802和/或显示器820之间单向或双向地传送内容的任何其他类似的设备。应当领会,可以经由网络860向和自内容提供商和系统800中的组件的任何一个单向和/或双向地传送内容。内容的示例可以包括任何媒体信息,包括例如视频、音乐、医疗和游戏信息等。
(一个或多个)内容服务设备830可以接收内容,诸如包括媒体信息、数字信息和/或其他内容的有线电视节目。内容提供商的示例可以包括任何有线或卫星电视或无线电台或因特网内容提供商。所提供的示例不意味着以任何方式限制根据本公开的实现方式。
在各种实现方式中,平台802可以从具有一个或多个导航特征的导航控制器850接收控制信号。控制器850的导航特征可以用于与例如用户界面822交互。在实施例中,导航控制器850可以是指示设备,所述指示设备可以是允许用户将空间(例如,连续的和多维)数据输入到计算机中的计算机硬件组件(具体地,人类接口设备)。诸如图形用户界面(GUI)以及电视和监视器之类的许多系统允许用户使用物理手势来控制和提供数据到计算机或电视。
可以通过在显示器上显示的指针、光标、聚焦环或其他视觉指示符的移动来在显示器(例如,显示器820)上复制控制器850的导航特征的移动。例如,在软件应用816的控制下,位于导航控制器850上的导航特征可以被映射成例如在用户界面822上显示的虚拟导航特征。在实施例中,控制器850可能不是单独的组件,而是可以被集成到平台802和/或显示器820中。然而,本公开不限于此处示出或描述的元件或上下文中。
在各种实现方式中,驱动器(未示出)可以包括用于使得用户能够例如在启用时在初始启动之后利用对按钮的触摸来即时打开和关闭如电视的平台802。程序逻辑可以允许平台802将内容流送到媒体适配器或其他(一个或多个)内容服务设备830或(一个或多个)内容递送设备840,甚至当平台被“关闭”时。此外,芯片组805可以包括例如对于8.1环绕声音音频和/或高清晰度(7.1)环绕声音音频的硬件和/或软件支持。驱动器可以包括用于集成图形平台的图形驱动器。在实施例中,图形驱动器可以包括外围组件互连(PCI)高速图形卡。
在各种实现方式中,可以集成在系统800中示出的组件中的任何一个或多个。例如,平台802和(一个或多个)内容服务设备830可以被集成,或者平台802和(一个或多个)内容递送设备840可以被集成,或者例如平台802、(一个或多个)内容服务设备830和(一个或多个)内容递送设备840可以被集成。在各种实施例中,平台802和显示器820可以是集成单元。例如,显示器820和(一个或多个)内容服务设备830可以被集成,或者显示器820和(一个或多个)内容递送设备840可以被集成。这些示例并不意在限制本公开。
在各种实施例中,系统800可以被实现为无线系统、有线系统或二者的组合。当被实现为无线系统时,系统800可以包括适用于通过无线共享介质进行通信的组件和接口,诸如一个或多个天线、发射机、接收机、收发器、放大器、滤波器、控制逻辑等。无线共享介质的示例可以包括无线频谱的一部分,诸如RF频谱等。当被实现为有线系统时,系统800可以包括适用于通过有线通信介质进行通信的组件和接口,诸如输入/输出(I/O)适配器、用于将I/O适配器与对应有线通信介质进行连接的物理连接器、网络接口卡(NIC)、盘控制器、视频控制器、音频控制器等。有线通信介质的示例可以包括导线、电缆、金属引线、印刷电路板(PCB)、背板、开关结构、半导体材料、双绞线、同轴电缆、光纤等。
平台802可以建立一个或多个逻辑或物理信道来传送信息。该信息可以包括媒体信息和控制信息。媒体信息可以指表示对用户有意义的内容的任何数据。内容的示例可以包括,例如,来自语音会话、视频会议、流送视频、电子邮件(“电子邮件”)消息、语音邮件消息、字母数字符号、图形、图像、视频、文本等的数据。来自语音会话的数据可以是例如语音信息、静默时段、背景噪声、舒适噪声、音调等。控制信息可以指表示期望用于自动化系统的命令、指令或控制字的任何数据。例如,控制信息可以用于通过系统来路由媒体信息,或者指示节点以预定方式处理媒体信息。然而,所述实施例不限于图8中示出或描述的元件或上下文中。
如上所述,可以以变化的物理风格或形状因子来实现系统800。图9图示了其中可以体现系统800的小??形状因子设备900的实现方式。在实施例中,例如,设备900可以被实现为具有无线能力的移动计算设备。移动计算设备可以指具有处理系统和诸如例如一个或多个电池之类的移动功率源或供应的任何设备。
如上所述,移动计算设备的示例可以包括个人计算机(PC)、膝上型计算机、超膝上型计算机、平板电脑、触摸板、便携式计算机、手持式计算机、掌上型计算机、个人数字助理(PDA)、蜂窝电话、组合蜂窝电话/ PDA、电视、智能设备(例如,智能电话、智能平板电脑或智能电视)、移动互联网设备(MID)、消息传递设备、数据通信设备等。
移动计算设备的实施例还可以包括被布置成由人穿戴的计算机,诸如手腕计算机、手指计算机、戒指计算机、眼镜计算机、皮带夹计算机、臂带计算机、鞋计算机、服装计算机和其他可穿戴计算机。在各种实施例中,例如,移动计算设备可以被实现为能够执行计算机应用以及语音通信和/或数据通信的智能电话。尽管通过示例的方式利用实现为智能电话的移动计算设备来描述一些实施例,但是可以领会,还可以使用其他无线移动计算设备来实现其他实施例。实施例不限于该上下文。
如图9所示,设备900可以包括外壳902、显示器904、输??入/输出(I/O)设备906以及天线908。设备900还可以包括导航特征912。显示器904可以包括用于显示适用于移动计算设备的信息的任何合适的显示单元。I/O设备906可以包括用于将信息输入到移动计算设备中的任何合适的I/O设备。用于I/O设备906的示例可以包括字母数字键盘、数字小键盘、触摸板、输入键、按钮、开关、摇臂开关、麦克风、扬声器、语音识别设备和软件等。信息还可以通过麦克风(未示出)的方式被输入到设备900中。这样的信息可以通过语音识别设备(未示出)来数字化。实施例不限于该上下文。
各种实施例可以使用硬件元件、软件元件或二者的组合来实现。硬件元件的示例可以包括处理器、微处理器、电路、电路元件(例如,晶体管、电阻器、电容器、电感器等)、集成电路、专用集成电路(ASIC)、可编程逻辑器件(PLD)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、逻辑门、寄存器、半导体器件、芯片、微芯片、芯片组等。软件的示例可以包括软件组件、程序、应用、计算机程序、应用程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、函数、方法、过程、软件接口、应用程序接口(API)、指令集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号或其任何组合。确定是否使用硬件元件和/或软件元件来实现实施例可以根据任何数目的因素而变化,诸如期望的计算速率、功率水平、耐热性、处理周期预算、输入数据速率、输出数据速率、存储器资源、数据总线速度以及其他设计或性能约束。
至少一个实施例的一个或多个方面可以由存储在表示处理器内的各种逻辑的机器可读介质上的代表性指令来实现,其在由机器读取时使得机器构造逻辑以执行此处描述的技术。这样的称为“IP核”的表示可以被存储在有形机器可读介质上,并且被供应到各种客户或制造设施以加载到实际作出逻辑的构造机器或处理器中。
虽然已经参考各种实现方式描述了此处阐述的特定特征,但是该描述不意在限制的意义上被解释。因此,此处描述的实现方式的各种修改以及对本公开所属于的领域中的技术人员显而易见的其他实现方式被认为在本公开的精神和范围内。
下面示例涉及到另外的实施例。
在一个示例中,用于管理设备中的功率的计算机实现的方法可以:包括在设备的上下文感知代理处生成与图形上下文相关联的基于上下文的性能水平。可以在设备的功率管理模块处确定至少部分地在基于上下文的性能水平上的一个或多个图形再现性能。可以在设备的图形硬件模块处至少部分地基于一个或多个图形再现性能特性来执行图形再现。
在用于管理设备中的功率的计算机实现的方法的另外的示例中,可以将基于上下文的性能水平从上下文感知代理传输到设备的再现上下文模块。基于上下文的性能水平可以经由再现上下文模块而被存储在再现上下文中,使得再现上下文可以与图形上下文和图形客户端相关联。可以确定基于上下文的性能水平是否不同于当前基于上下文的性能水平,并且如果基于上下文的性能水平不同于当前基于上下文的性能水平,则可以将基于上下文的性能水平从再现上下文模块传输到功率管理模块,并且如果基于上下文的性能水平不是不同于当前基于上下文的性能水平,则不采取行动。可以经由设备的再现上下文模块或调度器模块来执行确定基于上下文的性能水平是否不同于当前基于上下文的性能水平。可以在图形客户端处生成一个或多个再现命令。所述一个或多个再现命令可以从图形客户端传输到设备的命令分派模块。可以确定从当前图形客户端到与一个或多个再现命令相关联的图形客户端的改变。可以响应于改变来将基于上下文的性能水平从再现上下文模块传输到功率管理模块,使得传输基于上下文的性能水平可以包括将基于上下文的性能水平作为再现上下文的一部分进行传输。可以将一个或多个再现命令中的至少一个从命令分派模块传输到图形硬件模块的命令缓冲器。执行图形再现可以包括至少部分地基于一个或多个再现命令中的至少一个来执行图形再现。可以将一个或多个图形再现性能特性从功率管理模块传输到图形硬件模块的功率管理单元。确定一个或多个图形再现性能特性可以进一步包括基于启发式算法来评估一个或多个再现命令。可以经由功率管理模块执行评估一个或多个再现命令。确定一个或多个图形再现性能特性可以进一步包括激活与基于上下文的性能水平相关联的一个或多个管控器。一个或多个管控器可以包括性能管控器、硬件管控器或功率管控器。性能管控器可以接收性能目标。功率管控器可以接收功率预算。基于上下文的性能水平可以包括严格性能水平或弹性性能水平。图形上下文可以包括图形客户端,使得图形客户端包括图形应用或虚拟机、在设备上运行的一个或多个应用、在设备上运行的一个或多个虚拟机、图形客户端的图形需要、图形客户端在设备的前台还是后台上运行的指示、用户选择的功率消耗设置或所述图形客户端的安全状态。图形上下文可以包括运行超文本标记语言5(HTML5)浏览器的第一虚拟机,第二虚拟机包括编码应用,并且其中,如果第一虚拟机在前台中,则基于上下文的性能水平可以是严格性能水平,并且如果第一虚拟机在后台中,则基于上下文的性能水平可以是弹性性能水平。一个或多个图形再现性能特性可以包括操作频率、空闲状态或引导信息。上下文感知代理可以包括图形栈的组件、用户模式驱动器、操作系统窗口管理器或虚拟机显示管理器。可以经由图形驱动器来实现命令分派模块、再现上下文模块、功率管理模块和调度器模块。图形硬件模块可以包括图形处理单元或现场可编程门阵列。
在另一示例中,一种用于管理设备中的功率的系统,包括:显示设备、一个或多个处理器、一个或多个存储器存储装置、上下文感知代理、功率管理模块和图形硬件模块。一个或多个处理器可以通信地耦合到显示设备。一个或多个存储器存储装置可以通信地耦合到一个或多个处理器。上下文感知代理可以被配置为生成与设备的图形上下文相关联的基于上下文的性能水平。功率管理模块可以被配置为至少部分地在基于上下文的性能水平的基础上确定一个或多个图形再现性能特性。图形硬件模块可以被配置为至少部分地基于一个或多个图形再现性能特性来执行图形再现。经由显示设备的图像数据的呈现可以至少部分地基于图形再现。
在用于管理设备中的功率的系统的另外的示例中,该系统可以包括图形客户端、命令分派模块、命令缓冲器、功率管理单元、再现上下文模块、调度器模块和再现模??块。图形客户端可以被配置为生成一个或多个再现命令。命令分派模块可以被配置为接收一个或多个再现命令并且传输一个或多个再现命令中的至少一个。命令缓冲器可以经由图形硬件模块来实现并且被配置为接收一个或多个再现命令中的至少一个,并且提供用于图形再现的一个或多个再现命令中的至少一个。功率管理单元可以经由图形硬件模块来实现,并且被配置为接收一个或多个图形再现性能特性,并且提供用于图形再现的一个或多个图形再现性能特性。再现上下文模块可以被配置为接收基于上下文的性能水平并且将所述基于上下文的性能水平存储在再现上下文中。再现上下文可以与图形上下文和图形客户端相关联。调度器模块可以被配置为确定基于上下文的性能水平是否不同于当前基于上下文的性能水平,并且如果基于上下文的性能水平不同于当前基于上下文的性能水平,则将基于上下文的性能水平传输到功率管理模块,并且如果基于上下文的性能水平不是不同于当前基于上下文的性能水平,则不采取动作。再现模块可以经由图形硬件模块实现并且被配置为执行图形再现。调度器模块还可以被配置为确定从当前图形客户端到与一个或多个再现命令相关联的图形客户端的改变,并且响应于该改变来将基于上下文的性能水平从再现上下文模块传输到功率管理模块。传输基于上下文的性能水平可以包括将基于上下文的性能水平作为再现上下文的一部分进行传输。功率管理模块还可以被配置为至少部分地在基于启发式算法来评估一个或多个再现命令的基础上,确定一个或多个图形再现性能特性。确定一个或多个图形再现性能特性还可以包括激活经由功率模块实现并且与基于上下文的性能水平相关联的一个或多个管控器。一个或多个管控器可以包括性能管控器、硬件管控器或功率管控器。性能管控器可以被配置为接收性能目标。功率管控器可以被配置为接收功率预算。基于上下文的性能水平可以包括严格性能水平或弹性性能水平中的至少一个。图形上下文可以包括图形客户端,使得图形客户端可以包括:图形应用或虚拟机、在设备上运行的一个或多个应用、在设备上运行的一个或多个虚拟机、图形客户端的图形要求、图形客户端在设备的前台还是后台上运行的指示、用户选择的功率消耗设置或图形客户端的安全状态。图形上下文可以包括运行超文本标记语言5(HTML5)浏览器的第一虚拟机,第二虚拟机包括编码应用,使得如果第一虚拟机在前台中,则基于上下文的性能水平可以是严格性能水平,并且如果第一虚拟机在后台中,则基于上下文的性能水平可以是弹性性能水平。一个或多个图形再现性能特性可以包括操作频率、空闲状态或图形操作信息中的至少一个。上下文感知代理可以包括图形栈的组件、用户模式驱动器、操作系统窗口管理器或虚拟机显示管理器。可以经由图形驱动器来实现命令分派模块、再现上下文模块、功率管理模块和调度器模块。图形驱动器可以经由一个或多个处理器来实现。图形硬件模块可以包括图形处理单元、图形设备或现场可编程门阵列。
在另外的示例中,至少一个机器可读介质可以包括多个指令,所述多个指令响应于在计算设备上被执行而使计算设备执行根据上述示例中的任何一个的方法。
在又一个实施例中,一种装置可以包括用于执行根据上述示例中的任何一个的方法的部件。
上述的示例可以包括特征的特定组合。然而,这样的上述示例不限于此方面,并且在各种实现方式中,上述示例可以包括仅进行这样的特征的子集、进行这样的特征的不同次序、进行这样的特征的不同组合和/或进行除了明确列出的那些特征之外的附加特征。例如,可以关于示例性装置、示例性系统和/或示例性物体来实现关于示例性方法描述的所有特征,并且反之亦然。
Claims (25)
1.一种用于管理设备中的功率的计算机实现的方法,包括:
在所述设备的上下文感知代理处生成与图形上下文相关联的基于上下文的性能水平;
在所述设备的功率管理模块处至少部分地在基于上下文的性能水平的基础上确定一个或多个图形再现性能特性;以及
在所述设备的图形硬件模块处至少部分地基于一个或多个图形再现性能特性来执行图形再现。
2.根据权利要求1所述的方法,其中,所述基于上下文的性能水平包括严格性能水平或弹性性能水平中的至少一个。
3.根据权利要求1所述的方法,其中,所述图形上下文包括图形客户端,并且其中,所述图形客户端包括图形应用或虚拟机中的至少一个。
4.根据权利要求1所述的方法,其中,所述图形上下文包括图形客户端的图形要求。
5.根据权利要求1所述的方法,其中,所述图形上下文包括图形客户端在所述设备的前台还是后台上运行的指示中的至少一个。
6.根据权利要求1所述的方法,其中,所述图形上下文包括用户选择的功率消耗设置。
7.根据权利要求1所述的方法,其中,所述图形上下文包括在所述设备上运行的应用或虚拟机的安全状态。
8.根据权利要求1所述的方法,其中,所述一个或多个图形再现性能特性包括操作频率、空闲状态或指导信息中的至少一个。
9.根据权利要求1所述的方法,进一步包括:
将基于上下文的性能水平从上下文感知代理传输到所述设备的再现上下文模块;
经由再现上下文模块将基于上下文的性能水平存储在再现上下文中,其中,所述再现上下文与图形客户端相关联;
经由所述设备的功率管理模块来确定基于上下文的性能水平不同于当前基于上下文的性能水平,并且响应于基于上下文的性能水平不同于当前基于上下文的性能水平来确定一个或多个图形再现性能特性。
10.根据权利要求1所述的方法,其中,确定一个或多个图形再现性能特性进一步包括:激活与基于上下文的性能水平相关联的一个或多个管控器,其中,所述一个或多个管控器包括性能管控器、硬件管控器或功率管控器中的至少一个,其中,所述性能管控器接收性能目标,并且其中,所述功率管控器接收功率预算。
11.根据权利要求1所述的方法,进一步包括:
在图形客户端处生成一个或多个再现命令;
将一个或多个再现命令从图形客户端传输到所述设备的命令分派模块;
确定从当前图形客户端到与一个或多个再现命令相关联的图形客户端的改变;
响应于所述改变,将基于上下文的性能水平从再现上下文模块传输到功率管理模块,其中,传输基于上下文的性能水平包括将基于上下文的性能水平作为再现上下文的一部分进行传输;
将一个或多个再现命令中的至少一个从命令分派模块传输到图形硬件模块的命令缓冲器,其中,执行所述图形再现包括至少部分地基于一个或多个再现命令中的至少一个来执行所述图形再现;以及
将一个或多个图形再现性能特性从功率管理模块传输到图形硬件模块的功率管理单元;
其中,确定一个或多个图形再现性能特性进一步包括基于启发式算法来评估一个或多个再现命令,并且其中,经由功率管理模块来执行评估一个或多个再现命令。
12.根据权利要求1所述的方法,进一步包括:
将基于上下文的性能水平从上下文感知代理传输到所述设备的再现上下文模块;
经由再现上下文模块将基于上下文的性能水平存储在再现上下文中,其中,所述再现上下文与图形客户端相关联;
经由所述设备的功率管理模块来确定基于上下文的性能水平不同于当前基于上下文的性能水平,并且响应于基于上下文的性能水平不同于当前基于上下文的性能水平来确定一个或多个图形再现性能特性;
经由所述设备的功率管理模块来确定基于上下文的性能水平不是不同于当前基于上下文的性能水平,并且响应于基于上下文的性能水平不是不同于当前基于上下文的性能水平而不采取动作;
在图形客户端处生成一个或多个再现命令;
将一个或多个再现命令从图形客户端传输到所述设备的命令分派模块;
确定从当前图形客户端到与一个或多个再现命令相关联的图形客户端的改变;
响应于所述改变,将基于上下文的性能水平从再现上下文模块传输到功率管理模块,其中,传输基于上下文的性能水平包括将基于上下文的性能水平作为再现上下文的一部分进行传输;
将一个或多个再现命令中的至少一个从命令分派模块传输到图形硬件模块的命令缓冲器,其中,执行所述图形再现包括至少部分地基于一个或多个再现命令中的至少一个来执行所述图形再现;以及
将一个或多个图形再现性能特性从功率管理模块传输到图形硬件模块的功率管理单元;
其中,确定一个或多个图形再现性能特性进一步包括基于启发式算法来评估一个或多个再现命令,并且其中,经由功率管理模块来执行评估一个或多个再现命令;
其中,确定一个或多个图形再现性能特性进一步包括激活与基于上下文的性能水平相关联的一个或多个管控器,其中,所述一个或多个管控器包括性能管控器、硬件管控器或功率管控器中的至少一个,其中,所述性能管控器接收性能目标,并且其中,所述功率管控器接收功率预算;
其中,所述基于上下文的性能水平包括严格性能水平或弹性性能水平中的至少一个;
其中,所述图形上下文包括图形客户端中的至少一个,其中,所述图形客户端包括下述中的至少一个:图形应用或虚拟机、在所述设备上运行的一个或多个应用、在所述设备上运行的一个或多个虚拟机、图形客户端的图形要求、图形客户端在所述设备的前台还是后台上运行的指示、用户选择的功率消耗设置或图形客户端的安全状态,并且其中,所述图形上下文包括运行超文本标记语言5(HTML5)浏览器的第一虚拟机,第二虚拟机包括编码应用,并且其中,如果第一虚拟机在前台中,则基于上下文的性能水平是严格性能水平,并且如果第一虚拟机在后台中,则基于上下文的性能水平是弹性性能水平,
其中,所述一个或多个图形再现性能特性包括操作频率、空闲状态或指导信息中的至少一个,
其中,所述上下文感知代理包括图形栈的组件、用户模式驱动器、操作系统窗口管理器或虚拟机显示管理器中的至少一个,
其中,经由图形驱动器来实现命令分派模块、再现上下文模块、功率管理模块和调度器模块,并且
其中,所述图形硬件模块包括图形处理单元或现场可编程门阵列中的至少一个。
13.一种用于管理设备中的功率的系统,包括:
显示设备,其被配置为呈现图像数据;
通信地耦合到显示设备的一个或多个处理器;
通信地耦合到所述一个或多个处理器的一个或多个存储器存储装置;
上下文感知代理,其被配置为生成与所述设备的图形上下文相关联的基于上下文的性能水平;
功率管理模块,其被配置为至少部分地在所述基于上下文的性能水平的基础上确定一个或多个图形再现性能特性;以及
图形硬件模块,其被配置为至少部分地基于一个或多个图形再现性能特性来执行图形再现,
其中,经由显示设备的图像数据的呈现至少部分地基于所述图形再现。
14.根据权利要求13所述的系统,其中,所述基于上下文的性能水平包括严格性能水平或弹性性能水平中的至少一个。
15.根据权利要求13所述的系统,其中,所述图形上下文包括图形客户端,并且其中,所述图形客户端包括图形应用或虚拟机中的至少一个。
16.根据权利要求13所述的系统,其中,所述图形上下文包括图形客户端的图形要求。
17.根据权利要求13所述的系统,其中,所述图形上下文包括图形客户端在所述设备的前台还是后台上运行的指示中的至少一个。
18.根据权利要求13所述的系统,其中,所述图形上下文包括用户选择的功率消耗设置。
19.根据权利要求13所述的系统,其中,所述图形上下文包括在所述设备上运行的应用或虚拟机的安全状态。
20.根据权利要求13所述的系统,其中,所述一个或多个图形再现性能特性包括操作频率、空闲状态或指导信息中的至少一个。
21.根据权利要求13所述的系统,其中,经由图形驱动器来实现命令分派模块、再现上下文模块、功率管理模块和调度器模块,其中,经由所述一个或多个处理器来实现图形驱动器,并且其中,图形硬件模块包括图形处理单元、图形设备或现场可编程门阵列中的至少一个。
22.根据权利要求13所述的系统,进一步包括:
图形客户端,其被配置为生成一个或多个再现命令;
命令分派模块,其被配置为接收一个或多个再现命令并且传输一个或多个再现命令中的至少一个;
命令缓冲器,其经由图形硬件模块来实现并且被配置为接收一个或多个再现命令中的至少一个,并且提供用于所述图形再现的一个或多个再现命令中的至少一个;
功率管理单元,其经由图形硬件模块来实现,并且被配置为接收一个或多个图形再现性能特性,并且提供用于所述图形再现的一个或多个图形再现性能特性;以及
再现模块,其经由图形硬件模块来实现并且被配置为执行所述图形再现;
其中,所述功率管理模块进一步被配置为至少部分地在基于启发式算法来评估一个或多个再现命令的基础上来确定一个或多个图形再现性能特性。
23.根据权利要求13所述的系统,进一步包括:
图形客户端,其被配置为生成一个或多个再现命令;
命令分派模块,其被配置为接收一个或多个再现命令并且传输一个或多个再现命令中的至少一个;
命令缓冲器,其经由图形硬件模块来实现并且被配置为接收一个或多个再现命令中的至少一个,并且提供用于所述图形再现的一个或多个再现命令中的至少一个;
功率管理单元,其经由图形硬件模块来实现,并且被配置为接收一个或多个图形再现性能特性,并且提供用于所述图形再现的一个或多个图形再现性能特性;以及
再现上下文模块,其被配置为接收基于上下文的性能水平并且将基于上下文的性能水平存储在再现上下文中,其中,所述再现上下文与图形客户端相关联;
调度器模块,其被配置为确定从当前图形客户端到与一个或多个再现命令相关联的图形客户端的改变,并且响应于所述改变,将基于上下文的性能水平从再现上下文模块传输到功率管理模块,其中,传输基于上下文的性能水平包括将基于上下文的性能水平作为再现上下文的一部分进行传输;
再现模块,其经由图形硬件模块来实现并且被配置为执行所述图形再现;
其中,所述功率管理模块进一步被配置为至少部分地在基于启发式算法来评估一个或多个再现命令的基础上,确定一个或多个图形再现性能特性,并且其中,所述功率管理模块进一步被配置为经由所述设备的功率管理模块来确定基于上下文的性能水平不同于当前基于上下文的性能水平,并且响应于基于上下文的性能水平不同于当前基于上下文的性能水平来确定一个或多个图形再现性能特性,并且经由所述设备的功率管理模块来确定基于上下文的性能水平不是不同于当前基于上下文的性能水平,并且响应于基于上下文的性能水平不是不同于当前基于上下文的性能水平而不采取动作;
其中,确定一个或多个图形再现性能特性进一步包括激活经由功率模块实现的并与基于上下文的性能水平相关联的一个或多个管控器,其中,所述一个或多个管控器包括性能管控器、硬件管控器或功率管控器中的至少一个,其中,所述性能管控器被配置为接收性能目标,并且其中,所述功率管控器被配置为接收功率预算;
其中,所述基于上下文的性能水平包括严格性能水平或弹性性能水平中的至少一个;
其中,所述图形上下文包括图形客户端中的至少一个,其中,所述图形客户端包括下述中的至少一个:图形应用或虚拟机、在所述设备上运行的一个或多个应用、在所述设备上运行的一个或多个虚拟机、图形客户端的图形要求、图形客户端在所述设备的前台还是后台上运行的指示、用户选择的功率消耗设置或图形客户端的安全状态,并且其中,所述图形上下文包括运行超文本标记语言5(HTML5)浏览器的第一虚拟机,第二虚拟机包括编码应用,并且其中,如果第一虚拟机在前台中,则基于上下文的性能水平是严格性能水平,并且如果第一虚拟机在后台中,则基于上下文的性能水平是弹性性能水平,
其中所述一个或多个图形再现性能特性包括操作频率、空闲状态或图形操作信息中的至少一个,
其中,所述上下文感知代理包括图形栈的组件、用户模式驱动器、操作系统窗口管理器或虚拟机显示管理器中的至少一个,
其中,经由图形驱动器来实现命令分派模块、再现上下文模块、功率管理模块和调度器模块,并且其中所述图形驱动器经由所述一个或多个处理器来实现,并且
其中,所述图形硬件模块包括图形处理单元、图形设备或现场可编程门阵列中的至少一个。
24.至少一种机器可读介质,包括:
多个指令,其响应于在计算设备上被执行,使得所述计算设备执行根据权利要求1-12中的任何一项所述的方法。
25.一种装置,包括:
用于执行根据权利要求1-12中的任何一项所述的方法的部件。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2013/071976 WO2014131171A1 (en) | 2013-02-28 | 2013-02-28 | Context aware power management for graphics devices |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104937551A true CN104937551A (zh) | 2015-09-23 |
CN104937551B CN104937551B (zh) | 2019-06-04 |
Family
ID=51427472
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380071539.XA Active CN104937551B (zh) | 2013-02-28 | 2013-02-28 | 用于管理设备中的功率的计算机实现的方法和用于管理设备中的功率的系统 |
Country Status (4)
Country | Link |
---|---|
US (2) | US9547356B2 (zh) |
CN (1) | CN104937551B (zh) |
GB (1) | GB2525778B (zh) |
WO (1) | WO2014131171A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108140234A (zh) * | 2015-10-23 | 2018-06-08 | 高通股份有限公司 | 基于命令流标记的gpu操作算法选择 |
US10580108B2 (en) | 2015-12-22 | 2020-03-03 | Intel Corporation | Method and apparatus for best effort quality of service (QoS) scheduling in a graphics processing architecture |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104937551B (zh) | 2013-02-28 | 2019-06-04 | 英特尔公司 | 用于管理设备中的功率的计算机实现的方法和用于管理设备中的功率的系统 |
WO2016191908A1 (en) | 2015-05-29 | 2016-12-08 | Intel Corporation | Container access to graphics processing unit resources |
KR102360178B1 (ko) * | 2015-08-25 | 2022-02-08 | 삼성전자주식회사 | 애플리케이션 리스트를 제공하는 시스템 및 그 방법 |
US10332230B2 (en) * | 2015-08-31 | 2019-06-25 | Qualcomm Incorporated | Characterizing GPU workloads and power management using command stream hinting |
US10354653B1 (en) * | 2016-01-19 | 2019-07-16 | United Services Automobile Association (Usaa) | Cooperative delegation for digital assistants |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7173627B2 (en) * | 2001-06-29 | 2007-02-06 | Intel Corporation | Apparatus, method and system with a graphics-rendering engine having a graphics context manager |
US6885374B2 (en) * | 2001-06-29 | 2005-04-26 | Intel Corporation | Apparatus, method and system with a graphics-rendering engine having a time allocator |
US7484110B2 (en) * | 2006-03-16 | 2009-01-27 | Microsoft Corporation | Adaptive power management |
US8345053B2 (en) * | 2006-09-21 | 2013-01-01 | Qualcomm Incorporated | Graphics processors with parallel scheduling and execution of threads |
US7876328B2 (en) * | 2007-02-08 | 2011-01-25 | Via Technologies, Inc. | Managing multiple contexts in a decentralized graphics processing unit |
US8458497B2 (en) * | 2007-10-11 | 2013-06-04 | Qualcomm Incorporated | Demand based power control in a graphics processing unit |
US8514215B2 (en) * | 2008-11-12 | 2013-08-20 | International Business Machines Corporation | Dynamically managing power consumption of a computer with graphics adapter configurations |
EP3009941B1 (en) * | 2009-12-14 | 2017-07-26 | Citrix Systems Inc. | Methods and systems for communicating between trusted and non-trusted virtual machines |
EP2593860B1 (en) * | 2010-07-13 | 2020-08-19 | Advanced Micro Devices, Inc. | Dynamic enabling and disabling of simd units in a graphics processor |
CN102088472B (zh) * | 2010-11-12 | 2013-06-12 | 中国传媒大学 | 面向广域网的动漫渲染任务分解支持方法及实现系统 |
US8572421B2 (en) * | 2011-04-05 | 2013-10-29 | Apple Inc. | Adjusting device performance based on processing profiles |
TWI584221B (zh) * | 2012-09-28 | 2017-05-21 | 輝達公司 | 適應性調整圖形處理單元之圖框率的方法及使用該方法的電腦系統 |
CN104937551B (zh) | 2013-02-28 | 2019-06-04 | 英特尔公司 | 用于管理设备中的功率的计算机实现的方法和用于管理设备中的功率的系统 |
-
2013
- 2013-02-28 CN CN201380071539.XA patent/CN104937551B/zh active Active
- 2013-02-28 WO PCT/CN2013/071976 patent/WO2014131171A1/en active Application Filing
- 2013-02-28 GB GB1511425.9A patent/GB2525778B/en not_active Expired - Fee Related
- 2013-02-28 US US13/977,422 patent/US9547356B2/en active Active
-
2016
- 2016-12-09 US US15/374,068 patent/US10228748B2/en active Active
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108140234A (zh) * | 2015-10-23 | 2018-06-08 | 高通股份有限公司 | 基于命令流标记的gpu操作算法选择 |
CN108140234B (zh) * | 2015-10-23 | 2021-03-02 | 高通股份有限公司 | 基于命令流标记的gpu操作算法选择 |
US10580108B2 (en) | 2015-12-22 | 2020-03-03 | Intel Corporation | Method and apparatus for best effort quality of service (QoS) scheduling in a graphics processing architecture |
Also Published As
Publication number | Publication date |
---|---|
US10228748B2 (en) | 2019-03-12 |
GB2525778B (en) | 2020-04-15 |
US9547356B2 (en) | 2017-01-17 |
GB201511425D0 (en) | 2015-08-12 |
WO2014131171A1 (en) | 2014-09-04 |
US20170090551A1 (en) | 2017-03-30 |
CN104937551B (zh) | 2019-06-04 |
US20150169029A1 (en) | 2015-06-18 |
GB2525778A (en) | 2015-11-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104937551A (zh) | 用于图形设备的上下文感知功率管理 | |
CN103959198B (zh) | 降低3d工作负荷的功率 | |
US20180373398A1 (en) | Interaction with notifications across devices with a digital assistant | |
US20180081496A1 (en) | Intelligent productivity monitoring with a digital assistant | |
TWI516912B (zh) | 適應性圖形次級系統電源及效能管理 | |
CN104782136B (zh) | 在云中处理视频数据 | |
WO2018097890A1 (en) | Application program interface for managing complication data | |
KR101912177B1 (ko) | 음성 인식 동적 사전을 유지하기 위한 시스템 및 방법 | |
CN104704469B (zh) | 动态地重新平衡图形处理器资源 | |
CN103959197B (zh) | 降低3d工作负荷的功率 | |
CN104471540A (zh) | 通过统一存储器架构的存储器共享 | |
CN109992400A (zh) | 资源分配方法、装置、移动终端及计算机可读存储介质 | |
US9164579B2 (en) | Electronic device for granting authority based on context awareness information | |
CN109906437A (zh) | 基于线程重要性的处理器核停止和频率选择 | |
CN104050040A (zh) | 媒体重放工作负荷调度器 | |
US10037225B2 (en) | Method and system for scheduling computing | |
US11455075B2 (en) | Display method when application is exited and terminal | |
CN104090849B (zh) | 用于图形处理单元的存储器映射的系统、方法、装置、电子设备以及机器可读介质 | |
US20220222030A1 (en) | Methods and apparatus to improve screen sharing based on identification of irrelevant video frames from interactive context | |
CN115917512A (zh) | 人工智能请求和建议卡 | |
US11907674B1 (en) | Generating multi-modal response(s) through utilization of large language model(s) | |
CN110162393A (zh) | 任务调度方法、装置及存储介质 | |
US8776091B2 (en) | Reducing feedback latency | |
US10841663B2 (en) | Methods and systems for managing content on multiple devices | |
CN112637409B (zh) | 内容输出方法、装置和电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |