首页 / 专利库 / 专利权 / 实施例 / 计算机系统的多个组件之间的适应性功率预算分配

计算机系统的多个组件之间的适应性功率预算分配

阅读:59发布:2021-06-15

专利汇可以提供计算机系统的多个组件之间的适应性功率预算分配专利检索,专利查询,专利分析的服务。并且根据一些 实施例 ,多组件 计算机系统 的功率预算分配引擎可从第一组件接收功率预算分配调整 请求 信号 。基于接收的预算分配调整请求信号(在一些实施例中还有组件偏好),功率预算分配引擎可判断是否对提供给第一组件的功率预算分配信号进行调整。,下面是计算机系统的多个组件之间的适应性功率预算分配专利的具体信息内容。

1.一种用于执行适应性功率预算分配的方法,包括:
在包括图形子系统和处理器的多组件计算机系统的功率预算分配引擎处接收来自所述图形子系统的功率预算分配调整请求信号,所述图形子系统和处理器均耦合到所述功率预算分配引擎,所述请求信号指示所述图形子系统不需要额外的功率,其中与所述请求信号相关联的指示是基于在所述图形子系统处接收到的信息量;以及
基于接收到的预算分配调整请求,在所述功率预算分配引擎处确定是否对提供给所述图形子系统的功率预算分配信号作出调整,其中所述确定至少部分基于全部系统预算和当前总和发热状态。
2.如权利要求1所述的方法,其特征在于,所述确定至少部分地基于预定义组件偏好,所述预定义组件偏好指示:相比于计算性能,系统中的图形应被给予更高的优先级。
3.如权利要求1所述的方法,其特征在于,从所述功率预算分配引擎提供至所述图形子系统的所述功率预算分配信号包括限幅信号。
4.如权利要求1所述的方法,其特征在于,从所述图形子系统提供至所述功率预算分配引擎的所述功率预算分配调整请求信号包括增加请求标志。
5.如权利要求1所述的方法,其特征在于,所述图形子系统是图形和存储器控制器
6.如权利要求1所述的方法,其特征在于,所述确定至少部分地基于从所述处理器接收的预算分配调整请求信号。
7.如权利要求1所述的方法,其特征在于,所述确定由所述功率预算分配引擎的软件策略管理器执行。
8.如权利要求1所述的方法,其特征在于,所述确定基于下面至少一者而执行:(ⅰ)以周期为基础或(ⅱ)在来自组件的功率预算分配调整请求信号变化时。
9.一种用于执行适应性功率预算分配的方法,包括:
在包括图形子系统和处理器的多组件计算机系统的所述图形子系统处基于在所述图形子系统处接收到的信息量来确定所述图形子系统不需要额外的功率,所述图形子系统和处理器均耦合到功率预算分配引擎,其中所述确定进一步至少部分基于全部系统预算和当前总和发热状态;以及
基于所述确定,将功率预算分配调整请求信号发送给所述多组件系统的所述功率预算分配引擎。
10.如权利要求9所述的方法,其特征在于,所述确定与速率和渲染p状态相关联。
11.如权利要求9所述的方法,其特征在于,所述发送包括向所述功率预算分配引擎拉高增加请求标志。
12.如权利要求9所述的方法,其特征在于,所述确定进一步基于由所述图形子系统检测到的发热状态。
13.一种用于执行适应性功率预算分配的装置,包括:
用于(ⅰ)基于在多组件计算机系统的图形子系统处接收到的信息量,确定从所述图形子系统的度看对所述图形子系统的功率预算分配的调整将是不适当的,其中所述确定进一步至少部分基于全部系统预算和当前总和发热状态;以及(ⅱ)基于所述确定,发送功率预算分配调整请求信号的装置;以及
用于提供所述功率预算分配调整请求信号的装置;
用于:(ⅰ)接收来自所述图形子系统的功率预算分配调整请求信号,以及(ⅱ)基于接收到的预算分配调整请求信号和组件偏好,确定是否对提供给所述图形子系统的功率预算分配信号进行调整的装置。
14.如权利要求13所述的装置,其特征在于,还包括:用于确定从所述多组件计算机系统的处理器的角度看对所述处理器的功率预算分配的调整将是适当的;以及(ⅱ)基于所述确定,发送功率预算分配调整请求信号的装置。
15.如权利要求14所述的装置,其特征在于,所述用于:(ⅰ)接收来自所述图形子系统的功率预算分配调整请求信号,以及(ⅱ)基于接收到的预算分配调整请求信号和组件偏好,确定是否对提供给所述图形子系统的功率预算分配信号进行调整的装置包括:用于基于从所述处理器接收的预算分配调整请求信号来确定是否对提供给所述图形子系统的所述功率预算分配信号进行调整的装置。
16.如权利要求13所述的装置,其特征在于,所述用于:(ⅰ)接收来自所述图形子系统的功率预算分配调整请求信号,以及(ⅱ)基于接收到的预算分配调整请求信号和组件偏好,确定是否对提供给所述图形子系统的功率预算分配信号进行调整的装置基于下面至少一者执行所述确定:(ⅰ)以周期为基础或(ⅱ)在来自组件的功率预算分配调整请求信号变化时。
17.一种用于执行适应性功率预算分配的设备,包括:
用于在功率预算分配引擎处从图形子系统接收功率预算分配调整请求信号的装置,所述请求信号指示所述图形子系统无法使用额外的功率,其中与所述请求信号相关联的指示是基于在所述图形子系统处接收到的信息量;以及
用于基于接收的预算分配调整请求信号和组件偏好,在功率预算分配引擎处确定是否对提供给所述图形子系统的功率预算分配信号进行调整的装置,其中所述功率预算分配引擎确定是否对提供给所述图形子系统的功率预算分配信号进行调整进一步基于全部系统预算和当前总和发热状态。
18.如权利要求17所述的设备,其特征在于,所述用于确定的装置是基于下面至少一者执行确定:(ⅰ)以周期为基础或(ⅱ)在来自组件的功率预算分配调整请求信号变化时。

说明书全文

计算机系统的多个组件之间的适应性功率预算分配

[0001] 背景
[0002] 在例如中央处理单元组件和图形子系统组件的计算系统中的组件在工作时会消耗功率并产生热量。另外,该计算系统一般具有与对操作中应当产生多少功率和/或热量关联的限制。例如,计算系统可能具有可在系统中各个组件之间分配的总功率和/或发热“预算”。注意超过该预算会导致系统中组件的性能下降和/或损坏。
[0003] 在一些情形中,全系统功率或发热管理设备将监视和评估关于每个组件的信息(例如与各个组件消耗多少功率关联的统计)。该全系统功率管理设备随后可适当地分配总功率预算。然而,这种方法可能具有某些缺陷。例如,图形子系统在某些时候可能无法利用额外的功率资源(例如当图形子系统由于在等待例如中央处理单元的另一组件提供信息而无法处理图形信息时)。同样,图形子系统可使用额外的功率但不提供有价值的结果。在任何一种情形中,使全系统功率管理设备确定分配总发热预算的最有利的方法都是无法实现的。
[0004] 附图简述
[0005] 图1是根据一些实施例的多组件计算系统的方框图
[0006] 图2是根据一些实施例的与功率预算分配引擎关联的方法的流程图
[0007] 图3是根据一些实施例的与组件关联的方法的流程图。
[0008] 图4是根据一些实施例的多组件计算系统的例子。
[0009] 图5是根据一些实施例的方法的流程图。
[0010] 详细说明
[0011] 例如中央处理单元组件和图形子系统组件的计算系统中的组件在工作中可消耗功率并产生热量。例如,图1是根据一些实施例的包括第一组件110和第二组件120的系统100的方框图。尽管图1中示出两个组件110、120,然而要注意本文描述的实施例可关联于更多个组件。第一组件110例如可关联于图形子系统,而第二组件120关联于中央处理单元(CPU)。然而要注意,本文中使用的术语“组件”可指计算环境中的任何其它类型的设备,包括存储器系统、网络通信系统和/或输入输出(“I/O”)I/O系统。
[0012] 计算系统100一般具有关联于在工作中应当产生多少功率和/或热量的限制。例如,计算系统100可具有能够在第一和第二组件110、120之间分配的总功率和/或发热“预算”。注意,随着由组件消耗的功率量增加,该组件产生的热量一般也增加。结果,本文中描述为关联于“功率预算”或“功率管理系统”的实施例也涵盖“发热/热量预算”或“发热/热量管理系统”的含义。
[0013] 系统100根据一些实施例还包括功率预算分配引擎150。该功率预算分配引擎150例如有利于适当地在第一和第二组件110、120之间分配总功率预算。
[0014] 举例来说,第一组件110可为第一组件110确定从第一组件的度看合适的功率预算分配的调整量。例如,第一组件110可确定当前消耗小于局部功率限制并仍然能够有效地利用额外的功率。在这种情形中,第一组件110可将功率预算分配调整请求信号发送给功率预算分配引擎150。在其它情形中,第一组件110确定即使可用也无法有效地利用额外的功率(例如由于它不是足够快地从另一组件接收到信息),并因此决定不发送功率预算增加分配的请求。同样,第二组件120可(或不可)确定能够利用额外的功率并将功率预算分配调整请求信号发送给功率预算分配引擎150。
[0015] 根据一些实施例,功率预算分配引擎150可从第一组件110接收功率预算分配调整请求信号。另外,基于接收到的预算分配调整请求信号,功率预算分配引擎150可判断是否调整提供给第一组件110的功率预算分配信号(例如通过决定增加施加于第一组件110上的功率限制)。根据一些实施例,功率预算分配引擎150可进一步基于预先确定的偏好(例如指示在系统100中应当给予图形或计算性能更高的优先级)和/或基于从第二组件120接收到的预算分配调整请求信号确定是否调整提供给第一组件110的功率预算分配信号。
[0016] 注意根据一些实施例,功率预算分配引擎150可进一步基于系统总预算、当前总和发热状态(例如与系统100所产生的总热量关联的)和/或当前总功率状态(例如与系统100所使用的总电流量关联的)判断是否对提供给第一组件110的功率预算分配信号进行调整。另外,功率预算分配引擎150可在周期基础上(例如一秒一次)和/或一旦来自第一或第二组件110、120的功率预算分配调整请求信号改变时执行判断。
[0017] 图2是根据一些实施例的关联于功率预算分配引擎的方法的流程图。本文描述的流程图不一定意味着固定的行动顺序,并且一些实施例能够以任何可行的顺序执行。图2的方法可关联于例如结合图1描述的系统100。注意,本文描述的任何方法可通过硬件软件(包括例如微代码的低级代码)或硬件和软件的组合来执行。例如,存储介质可在其上存储指令,当指令由机器执行时导致根据本文所述任意实施例的动作。
[0018] 在202,多组件计算机系统的功率预算分配引擎可从第一组件接收功率预算分配请求信号。例如,功率预算分配调整请求信号可以是由第一组件拉高(或降低)的“增加请求标志”。注意,仅作为示例,第一组件可关联于例如CPU的处理器,或者关联于例如为图形和存储器控制器集线器(“GMCH”)的图形子系统。
[0019] 基于接收的预算分配调整请求,功率预算分配引擎可在204判断是否对提供给第一组件的功率预算分配信号进行调整。从功率预算分配引擎提供至第一组件的功率预算分配信号可以是例如限幅信号或“功率钳位(power clap)”(例如施加在组件上、能适当地缓和或升高的各功率限幅)。注意204的判断可以是动态的(例如在计算系统中的状态变化时可自动执行)。
[0020] 根据一些实施例,在204的判断进一步至少部分地基于与计算系统关联的预定义“偏好”。例如,计算系统可配置成使图形子系统相比CPU而言典型地接收优先的功率分配。在其它例子中,计算系统可配置成使CPU相比图形子系统而言接收优先的功率分配。可在例如系统设计时或基于系统用户的选择(例如通过图形界面)确定这种偏好。
[0021] 因此,该功率预算分配引擎可与各系统组件一起工作以利于功率的有效分配。例如,图3是根据一些实施例的可由这些组件其中一者执行的方法的流程图。图3的方法可关联于例如结合图1描述的系统100。
[0022] 在302,多组件计算机系统的第一组件可从第一组件的“角度”判断第一组件的功率预算分配的调整是否恰当。注意第一组件可以知道是否能够有用地消费额外的功率分配。例如,当第一组件关联于图形子系统时,则确定该第一组件以相对慢的速率接收来自另一组件的更新,结果是无法以比其当前更快的速度处理和更新信息。
[0023] 基于该判断,在304第一组件可将功率预算分配调整请求信号发送给功率预算分配调整引擎。考虑到例如第一组件关联于图形子系统的情形。在这种情形下,图形子系统可在请求其功率分配增加之前评价当前速率、渲染P状态、渲染频率和/或由图形子系统执行的应用(例如图形加强的3D游戏)。又如,如果第一组件关联于CPU,则可在请求其功率分配增加之前评价指令执行速率和/或正由CPU执行的应用。
[0024] 发送至功率预算分配引擎的功率预算分配调整请求信号可关联于例如能由第一组件拉高(或降低)的增加请求标志。根据一些实施例,第一组件可进一步判断是否基于由第一组件检测到的热状态和/或由第一组件检测到的功耗状态拉高该标志。例如,第一组件可因其当前产生太多热量而决定不拉高请求更多功率的标志(即使能够以增加的功率预算更快地处理来自另一组件的图形信息)。
[0025] 因此,一些实施例可提供在多个组件之间分配共享的功率和/或发热预算的控制技术以获得较佳的结果。例如,如果处理和图形组件共享功率和/或发热预算,则理想的结果可提高由图形子系统获得的帧速率(例如采用有关图形性能的偏好)。另一方面,给定有关处理性能的偏好,则每秒退出的(而不是因为高速缓存填充而停止)的指令数增加代表一更为理想的结果。
[0026] 注意,图形应用一般要求既需要由处理器又需要由图形子系统执行的任务。例如,可将这种关系配置成“消费者-生产者”关系,其中图形子系统依赖于通过处理器的工作完成以进一步完成总任务。如此,在两组件之间存在共享的功率和/或发热预算(且通过设计者或使用者建立有关图形的偏好)的场合中,由于CPU组件的性能因其缺乏预算而受到限制(这会使图形子系统减速),向图形子系统分配增加量的功率和/或发热预算不会导致改善的结果(例如更高的帧速率)。
[0027] 例如参见图4,图4提供根据一些实施例的多组件计算系统400的示例。该系统400包括图形子系统410和CPU 420(然而要注意,系统400可进一步包括其它组件,例如存储器系统、网络通信系统和/或IO系统)。
[0028] 计算系统400可存在与操作中会产生多少功率和/或热量关联的限制。例如,计算系统400可具有能在图形子系统410和CPU 420之间分配的总功率和/或发热预算。为了实现这个任务,根据一些实施例,系统400可进一步包括带软件策略管理器460的功率预算分配引擎450。
[0029] 根据一些实施例,软件策略管理器460管理与多个组件(和组件软件接口)关联的功率和/或发热预算以有利于在给出系统偏好时的改进结果。注意,组件的软件接口可包括功率限幅输入(例如表示可由特定组件使用的功率上限的“钳位值”)以及表示是否该组件要求额外预算的输出标志。这种划分可作出关联于该组件内的功率预算管理的某些决定(并帮助将软件策略管理器460与组件专用信息隔离开)。
[0030] 在图形子系统410已实现基于请求的渲染频率(例如渲染p状态)选择的情形中,拉高“增加请求”输出标志(表示图形子系统410要求更多的预算)的决定可联系于最高可用渲染p状态的内部选择(这可例如通过检测利用率而选择)。最高可用渲染p状态可例如通过由软件策略管理器460施加在图形子系统410上的功率限幅信号的映射确定。注意具体指标值(例如每秒帧数)的提高可基本上完全由图形子系统410管理。例如,按照利用率和工作负载(例如游戏应用程序)保证,渲染p状态可增加至功率限幅所允许的最高平,且图形子系统410可随后拉高输出标志以表示能够使用额外的预算。同样,如果检测到视频应用程序,则来自图形子系统410的输出标志可表示因已获得(与该视频对应的)最大帧速率而没有额外的预算可用。
[0031] 根据一些实施例,软件策略管理器460执行策略管理器控制循环,在给定有关图形性能的偏好464的情形下,该循环可连续地增加图形子系统410的预算(例如提供给图形子系统410的功率限幅信号)、等待(例如相对小的预定时间周期),并随后检查输出增加请求标志以确定图形子系统410是否能够使用更多的预算。如果是这样,可通过软件策略管理器460提供额外的预算并且该循环可重复。如果图形子系统410表示无法使用附加的预算(例如增加请求标志不被拉高),则该软件策略管理器可改为将额外预算提供给CPU420。软件策略管理器460随后等待并从图形子系统410再次读出输出标志以检测现在是否使用额外的预算(例如可能因为之前循环中提供的CPU 420预算的增加)。注意CPU 420可指示以相同方式使用预算的能(例如系统400的偏好可与处理性能而非图形性能有关)。
[0032] 注意,某一组件即使在能够本地地使用额外功率时也决定不拉高增加请求标志。例如,图形子系统410可从防止其拉高增加请求标志的本地热传感器412和/或电流传感器414检测状态。同样,CPU 420可从防止其拉高增加请求标志的本地热传感器422和/或电流传感器424检测状态。
[0033] 还要注意,根据一些实施例,软件策略管理器460可判断是否基于各种分配参数462调整提供给图形子系统410和/或CPU 420的限幅信号。例如,该分配参数462可关联于全部系统预算、当前总和发热状态(例如关联于由系统400产生的总热量)和/或当前总和功率状态(例如关联于由系统400正在使用总电流量)。
[0034] 根据一些实施例,软件决策管理器460自动和/或动态地作出预算调整。例如,软件策略管理器460可在关联于系统400的状态改变时(例如当组件拉高或降低增加请求标志时)作出预算调整。根据一些实施例,软件策略管理器460周期地评价系统400以确定是否有任何功率预算调整是适当的。
[0035] 例如,图5是根据一些实施例的方法的流程图。在该例中,假设一系统包括图形子系统和CPU,其中已建立了针对图形性能的偏好(超过CPU处理性能)。在502,当前正由各组件消耗的功率量被读出并求和以确定整个系统或封装件的总功率水平。如果在504该功率水平已超过封装件的总限值,则在506降低一个或多个组件专用的限值。注意,在506,组件专用限值的降低可以任何数量的方式实现(例如均等地或基于比例地降低所有组件的限值和/或将系统偏好考虑在内)。
[0036] 如果在504总功率水平当前没有超过封装件总限值,则在508判断是否当前对图形子系统标志作出置位(例如表示从图形子系统的角度看能够将更多的功率有效地分配给图形子系统)。
[0037] 如果在508对图形子系统标志作出了置位,则在510增加图形子系统预算(例如通过将提供给图形子系统的限值信号增加一预定量)。如果在508未对该图形子系统标志作出置位,则在514增加CPU预算(例如通过将提供给CPU的限值信号增加一预定量)。注意由于系统的偏好被建立为与图形性能有关,该增加分配首先被提供给图形子系统而不是CPU(假设该图形子系统能够利用该增加量)。在图形或CPU功率预算增加后,系统可在重复该循环之前在512等待一预定时间周期。
[0038] 因此,本文描述的实施例可提供用于有效地将功率预算量分配给多个组件的系统和方法。另外,功率预算分配引擎可有利于该进程而无需评价组件专用参数。
[0039] 下文示出各种附加实施例。这些实施例不构成对所有可能实施例的界定,本领域内技术人员可以理解许多其它的实施例是可行的。此外,尽管下列实施例为清楚起见是简单描述的,然而本领域内技术人员应当理解在必要时如何对上面的内容作出改变以适应这些和其它的实施例和应用。
[0040] 例如,尽管已结合特定组件对一些实施例进行了说明,然而可对其它类型的组件作出评估和/或分配功率。另外,可替代本文描述内容或另外提供其它类型的分配算法
[0041] 此外,一些实施例被描述为使用来自组件的“增加请求标志”。然而,要注意任何实施例可代替地使用来自组件的“减少请求标志”(例如指示该组件当前被分配了其能有效使用的更多功率)。同样,尽管一些实施例被描述为实现“组件偏好”,然而在其它情形下可采用“最不偏好组件”的称谓(例如在具有三个组件的系统中,可将一个组件指定为最不重要)。另外,根据又一些实施例,功率预算分配请求信号可逐组件地传输和/或单个设备可充当第一组件和功率预算分配引擎两者。
[0042] 本文描述的若干实施例单纯为了说明。本领域内技术人员可从该说明中理解其它实施例可通过仅由权利要求书限制的修正和变化来投入实践。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈