用于图形设备的上下文感知功率管理的制作方法

文档序号:9221618阅读:187来源:国知局
用于图形设备的上下文感知功率管理的制作方法
【专利说明】
【背景技术】
[0001]功率消耗是在计算设备中,特别是在诸如膝上型计算机、智能电话、平板电脑和超级本等之类的个人计算设备中的主要关注的问题。此外,在设备上运行的应用越来越依赖于图形和/或媒体硬件来加速处理。这样的应用可以与生产力、信息娱乐、web (网络)浏览器或游戏等相关。对图形和/或媒体硬件增加的使用可能导致增大管芯尺寸以及由例如图形设备产生的增加的功率消耗。
[0002]为了节省或更好地管理图形设备上的功率,可以引入频率尺度变化和/或空闲状态管理。对图形设备提供的时钟和/或电压可以被放大或减小,以平衡功率和性能要求,和/或可以对图形电路的一部分断电(例如,置于所谓的“空闲状态”)以进一步降低功率消耗。实际频率和/或空闲状态可以通过图形驱动器动态地指定或者由图形设备本身基于从图形驱动器提供的指导信息来决定。在一些示例中,为了确定要提供给图形设备的频率、空闲状态或指导信息,图形驱动器可以使用启发式算法。例如,图形驱动器的功率管理器可以监视从图形驱动器分派到图形设备的正在进行的命令,并且基于命令模式和所讨论的启发式算法来确定要提供到图形设备的频率、空闲状态或指导信息。
[0003]因为功率管理和图形性能是个人计算设备的重要特征,所以可以期望更好地管理图形设备中的功率。
【附图说明】
[0004]本文所描述的材料在附图中通过示例的方式而不是通过限制的方式来图示。为了简单和清楚的说明,附图中图示的元件不一定按比例绘制。例如,为了清楚的缘故,一些元件的尺寸可以相对于其他元件而被夸大。此外,在认为适当时,附图标记在附图中被重复以指示相应或类似的元件。在附图中:
图1是用于管理设备中的功率的示例性系统的说明图;
图2是示例性图形上下文(context)的说明图;
图3是图示用于管理设备中的功率的示例性过程的流程图;
图4是用于在操作中管理设备中的功率的示例性过程的说明图;
图5是用于评估基于上下文的性能水平的示例性方法的说明图;
图6是示例性功率管理模块的说明图;
图7是用于管理设备中的功率的示例性系统的说明图;
图8是不例性系统的说明图;以及
图9是全部根据本公开的至少一些实现方式布置的示例性系统的说明图。
【具体实施方式】
[0005]现在参考附图来描述一个或多个实施例或实现方式。尽管讨论了具体配置和布置,但是应当理解,这仅是出于说明性目的而进行的。相关领域技术人员将认识到,在不脱离本说明书的精神和范围的情况下,可以采用其他配置和布置。对相关领域技术人员显而易见的是,还可以在除了此处描述的之外的各种其他系统和应用中采用此处描述的技术和
/或布置。
[0006]虽然以下描述阐述了可以在例如片上系统(SoC)架构的架构中呈现的各种实现方式,但是此处描述的技术和/或布置的实现方式不限于特定架构和/或计算系统,并且可以出于类似的目的,通过任何架构和/或计算系统来实现。例如,采用例如多个集成电路(IC)芯片和/或封装的各种架构和/或诸如机顶盒、膝上型计算机、智能电话等之类的各种计算设备和/或消费电子(CE)设备可以实现此处描述的技术和/或布置。此外,尽管以下描述可能阐述了诸如逻辑实现方式、系统组件的类型和相互关系、逻辑划分/集成选择等的许多具体细节,但是可以在没有这些具体细节的情况下实践要求保护的主题。在其他实例中,诸如例如控制结构和完整软件指令序列之类的一些材料可能没有被详细地示出,以便于不使此处公开的材料模糊。
[0007]此处公开的材料可以以硬件、固件、软件或其任何组合来实现。此处公开的材料还可以被实现为存储在机器可读介质上的指令,其可以由一个或多个处理器来读取和执行。机器可读介质可以包括用于以可由机器(例如,计算设备)读取的形式存储或传送信息的任何介质和/或机制。例如,机器可读介质可以包括只读存储器(ROM);随机存取存储器(RAM);磁盘存储介质;光学存储介质;闪速存储器设备;电、光、声或其他形式的传播信号(例如,载波、红外信号、数字信号等)和其他。
[0008]在本说明书中对“一个实现方式”、“实现方式”、“示例性实现方式”等的引用指示所描述的实现方式可以包括特定特征、结构或特性,但是每个实现方式可能不一定包括该特定特征、结构或特性。此外,这样的短语不一定指相同的实现方式。此外,当结合实现方式描述特定特征、结构或特性时,应当认为,与其他实现方式结合以实施这样的特征、结构或特性在本领域技术人员的知识范围内,不论此处是否明确描述。
[0009]以下描述了与用于图形设备的上下文感知功率管理相关的系统、装置、物品和方法。
[0010]如上所述,在图形设备功率管理中,可以引入频率尺度变化和/或空闲状态管理。例如,图形驱动器可以向图形设备动态地提供实际操作频率和/或空闲状态,或者图形驱动器可以向图形设备提供指导信息,使得图形设备可以基于或者部分地基于所提供的指导信息来确定频率或空闲状态。例如,图形驱动器的功率管理器可以监视从图形驱动器分派到图形设备的正在进行的命令,并且基于命令和使用启发式算法来确定要提供到图形设备的频率、空闲状态或指导信息。
[0011]然而,这样的实现方式可以不考虑与由图形驱动器分派的命令相关联的图形上下文(例如,与设备或再现(render)相关的图形客户端的特性和/或其他图形特性),并且因此,所选择的频率、空闲状态或指导信息可能未被优化。如在下面将更详细描述的,设备的上下文感知代理可以生成与设备的图形上下文相关联的基于上下文的性能水平。图形上下文可以包括以下各种因素中的一个或多个:诸如例如,与再现命令相关联的图形客户端(例如,在设备上运行的应用或虚拟机)、在设备上运行多少和/或何种类型的其他应用或虚拟机、哪个应用或虚拟机在设备的显示前台(foreground)中等等。基于该图形上下文,上下文感知代理可以生成所讨论的基于上下文的性能水平。基于上下文的性能水平可以从两个或更多个可用性能水平中选择,诸如,例如,严格性能水平和弹性性能水平,或者可以使用附加水平。严格性能水平可以提供该图形硬件模块应当尽可能快地进行操作以完成再现命令的指示,具有功率节省的有限空间,而弹性性能水平可以例如提供图形硬件模块可以更适度地操作并且由此可以节省更多功率的指示。
[0012]可以将基于上下文的性能水平从上下文感知代理传输到再现上下文模块,这可以经由图形驱动器来实现。例如,基于上下文的性能水平可以被存储为再现上下文的一部分,并且再现上下文可以与图形客户端和/或图形上下文相关联。通常,再现上下文模块可以存储任何数目的再现上下文,并且每个再现上下文可以在图形驱动器中提供包括例如由图形客户端指定的设备状态(例如,寄存器值、设备内部变量、内部管道等)的结构。功率管理模块可以在基于上下文的性能水平(并且,在一些示例中,再现上下文的其他部分)的基础上确定一个或多个图形再现性能/功率特性。例如,功率管理模块还可以使用启发式算法等、基于正在进行的再现命令的传统评估来确定一个或多个图形再现性能特性。图形再现性能特性可以包括在一些示例中可以动态地提供的用于图形硬件模块的操作频率或者(一个或多个)空闲状态或者指导信息等。指导信息可以包括可以允许图形硬件模块确定图形再现操作参数的任何信息。基于图形再现性能特性,图形硬件模块可以执行图形再现,并且将其提供给设备的其他组件,使得可以将其显示或呈现给例如用户。
[0013]如所讨论的,如本文所使用的,“图形上下文”可以包括图形客户端、图形客户端的特性或与设备或再现相关的其他图形特性,诸如在设备上运行的其他图形客户端(例如,应用或虚拟机)、或者哪个图形客户端在设备的前台上等。图形上下文还可以包括例如图形客户端的安全状态或用户选择的功率消耗设置。如本文使用,“再现上下文”可以包括例如图形驱动器中的结构,其包括图形客户端所指定的设备状态(例如,寄存器值、设备内部变量、内部管道等)。当调度新的图形客户端(或在图形客户端之间切换)时,设备可以被恢复或更新为由相关联的再现上下文定义的设备状态。如所讨论的,与图形上下文相关联的基于上下文的性能水平可以被确定和存储为例如再现上下文的分量或一部分。
[0014]图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的上下文感知功率管理。
[0015]在一些示例中,系统100可以包括为了清楚的缘故而尚未在图1中示出的附加项目。例如,系统100可以包括射频型(RF)收发器、显示器和/或天线。此外,系统100可以包括为了清楚的缘故而尚未在图1中示出的附加项目,诸如扬声器、麦克风、加速度计、存储器、路由器、网络接口逻辑等。
[0016]如所讨论的,系统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的另一组件作为用于后续再现操作的源等。
[0017]通常,图形硬件模块160可以包括任何基于图形的硬件,诸如,例如,图形处理单元、图形设备、现场可编程门阵列或图形卡等。图形硬件模块160可以在可能影响性能和功率使用的各种参数下进行操作。例如,图形硬件模块160可以以通常可能变化(例如,可以实现频率和电压尺度变化)的操作频率进行操作。此外,图形硬件模块160可以使用空闲状态进行操作。
[0018]现在返回到上下文感知代理115,如所讨论的,上下文感知代理115可以监视图形上下文105。上下文感知代理115可以基于图形上下文105而生成基于上下文的性能水平117。通常,基于上下文的性能水平117可以从若干性能水平中的一个进行选择,并且可以被提供作为指示、标签或任何其他合适的数据格式。在一些示例中,图形客户端110可以具有相关联的基于上下文的性能水平117。在一些示例中,可以使用两个性能水平:严格性能水平和弹性性能水平。在这样的示例中,上下文感知代理115可以以规则的间隔、在性能水平改变(与例如图形上下文105中的改变相关联)处等提供严格性能水平或弹性性能水平的指示。
[0019]通常,严格性能水平可以提供下述图形上下文105的评估:该图形上下文105的评估指示图形硬件模块160应当尽可能快地完成存储在命令缓冲器140中的再现命令122,但是即使在使用严格性能水平中,只要性能不受影响,就可以节省功率(例如,当没有再现命令被提交时)。此外,如在本文中讨论的,在使用严格性能水平中,可以使用启发式算法,使得仍然可以实现功率节省。弹性性能水平可以提供图形硬件模块160可以更适度地操作并且从而可以节省更多功率的指示。例如,在使用弹性性能水平中,功率可以被进取地节省,即使具有相关联的性能降级,因为图形上下文105和图形客户端110可以容忍这样的降级。如所讨论的,在一些示例中,可以使用两种性能水平。在其他示例中,可以使用附加性能水平,诸如,例如,三个、四个或更多性能水平。
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1