使用优先级排序对组件进行节流

文档序号:602783 发布日期:2021-05-04 浏览:6次 >En<

阅读说明:本技术 使用优先级排序对组件进行节流 (Throttling components using prioritization ) 是由 阿维纳什·阿南塔克里希南 杰里米·什拉尔 于 2019-06-25 设计创作,主要内容包括:提供了一种装置,其中该装置包括多个组件,其中各个组件具有多个节流优先级中的相应节流优先级。该装置还包括逻辑,该逻辑用于选择性地对多个组件中的一个或多个组件进行节流。在示例中,多个组件中的一个或多个组件将被节流的顺序可以基于多个节流优先级。(An apparatus is provided, wherein the apparatus comprises a plurality of components, wherein each component has a respective throttling priority of a plurality of throttling priorities. The apparatus also includes logic to selectively throttle one or more of the plurality of components. In an example, the order in which one or more of the plurality of components are to be throttled may be based on a plurality of throttling priorities.)

具体实施方式

现代微处理器的趋势是将越来越多的平台组件和知识产权(IP)块集成到片上系统(SoC)中。例如,各个IP块(例如,本文稍后在本公开中讨论的)可以被容纳在相应的电压和/或频率域中。另外,现代的客户端和设备形状因素正在一代又一代地缩小。因此,SoC的可用功率和热预算也在减少。为了保持在平台的功率传输和热能力之内,各种IP块可以支持动态电压和频率缩放(DVFS)。例如,可以动态地缩放IP块的电压和/或频率。

作为动态电压和频率缩放过程的一部分,组件可以被节流(例如,这涉及降低组件的电压和/或频率),例如以满足功率预算、热预算等。现代SoC支持节流计算域(例如,与计算过程相关的域,诸如处理核心、集成图形处理器核心、硬件加速器等,如本文稍后进一步详细讨论的),以保持在平台功率和热预算之内。然而,常规SoC不支持将该节流机制扩展到集成到SoC中的各种IP块,诸如非计算IP块(其示例稍后在本文讨论)。此外,常规SoC未提供一种机制来对非计算IP将被节流的顺序进行优先级排序,例如,以保持在平台功率和热限制之内。

计算设备包括多个电压和/或频率域。可以控制到各个域的输入电压和/或频率。例如,对域进行节流可以涉及减少到该域的输入电压和/或频率。可以应用节流,使得设备可以坚持预算(例如,功率预算、热预算、电流预算等)。

在一些实施例中,域(或域内的组件)被分配相应的节流优先级。例如,第一域的组件被分配第一优先级,第二域的组件被分配第二优先级,等等。域被节流的顺序可以基于优先级。例如,当域将被节流时,具有最高优先级的域可以被首先节流,然后具有第二高优先级的域可以被节流,依此类推。

因此,基于节流优先级,以降序对域进行排序-以降序对域进行节流。以相反的顺序进行解除节流,例如以优先级的升序进行解除节流。

在一些实施例中,为了确定何时对域进行节流,可以确定约束余量参数,其中该参数表示各个域可用的约束余量。约束余量可以是域可用的组合功率预算与域消耗的功率总和之间的差(或者域可用的组合电流预算与域消耗的电流总和之间的差,等等)。可以响应于参数变得低于阈值而对域进行节流,并且可以响应于参数变得高于阈值而对域解除节流。基于节流优先级来选择要进行节流或解除节流的域。

因此,基于节流优先级对域进行节流和/或解除节流确保了域将被节流和/或解除节流的系统顺序。例如,这使得在对更关键的域进行节流之前,先对不太关键或不太重要的域进行节流。根据各个实施例和附图,其他技术效果将是显而易见的。

参考所附附图描述了一个或多个实施例。尽管详细地描述和讨论了具体的配置和布置,但是应当理解,这样做仅出于说明的目的。相关领域的技术人员将认识到,在不脱离描述的精神和范围的情况下,其他配置和布置也是可能的。对于相关领域的技术人员将显而易见的是,本文描述的技术和/或布置可以用于除本文详细描述的系统和应用之外的各种其他系统和应用中。

在下面的详细描述中参考了附图,这些附图形成了详细描述的一部分并且示出了示例性实施例。此外,应当理解,在不脱离所要求保护的主题的范围的情况下,可以利用其他实施例并且可以进行结构和/或逻辑改变。还应注意,方向和参考,例如,上、下、顶、底等,可以仅用于促进描述附图中的特征。因此,以下详细描述不应被视为限制性的,并且所要求保护的主题的范围仅由所附权利要求及其等同物来限定。

在下面的描述中,阐述了许多细节。然而,对于本领域的技术人员将显而易见的是,可以在没有这些具体细节的情况下实践本发明。在一些实例中,公知的方法和设备以框图形式示出而不是被详细地示出,以避免模糊本发明。在整个说明书中对“实施例”或“一个实施例”或“一些实施例”的参考是指结合该实施例描述的特定特征、结构、功能或特性被包括在本发明的至少一个实施例中。因此,在整个说明书中各处出现的短语“在实施例中”或“在一个实施例中”或“在一些实施例中”不一定是指本发明的相同实施例。此外,在一个或多个实施例中,特定特征、结构、功能或特性可以以任何合适的方式组合。例如,在与第一实施例和第二实施例这两个实施例相关联的特定特征、结构、功能或特性不互斥的任何地方,第一实施例可以与第二实施例相组合。

如说明书和所附权利要求书中所使用的,单数形式“一”、“一个”和“该”旨在也包括复数形式,除非上下文另外明确指出。还将理解的是,本文所用的术语“和/或”是指相关联的所列项目中的一个或多个的任意组合和所有可能组合,并且涵盖相关联的所列项目中的一个或多个的任意组合和所有可能组合。

术语“耦合”和“连接”以及它们的派生词可以在本文中用于描述组件之间的功能或结构关系。应该理解的是,这些术语并不旨在彼此同义。而是,在特定实施例中,“连接”可以用于指示两个或更多个元件彼此直接物理、光学或电接触。“耦合”可以用于指示两个或更多个元件彼此直接或间接(其之间具有其他中间元件)物理或电接触,和/或两个或更多个元件彼此协作或交互(例如,如处于因果关系一样)。

术语“基本上”、“接近”、“近似”、“邻近”和“大约”通常是指在目标值的+/-10%以内。例如,除非在其使用的明确上下文中另外指明,否则术语“基本上相等”、“大约相等”和“近似相等”意指在所描述的事物之间仅存在偶然的变化。在本领域中,此变化通常不大于预定目标值的+/-10%。

术语“缩放”通常是指将设计(示意图和布局)从一种工艺技术转换为另一种工艺技术,然后在布局区域中被缩小。术语“缩放”通常还指缩小同一技术节点内的布局和器件。术语“缩放”还可以指相对于另一参数(例如,电源电平)调整(例如,减慢或加快-即分别缩小或放大)信号频率。

如在整个说明书中以及在权利要求书中所使用的,由术语“至少一个”或“一个或多个”连接的项目列表可以表示所列项目的任意组合。例如,短语“A、B或C中的至少一个”可以表示A;B;C;A和B;A和C;B和C;或A、B和C。

说明书和权利要求书中的术语“左”、“右”、“前”、“后”、“顶”、“底”、“在...上方”、“在...下方”等(如果有的话)用于描述性目的,而不一定用于描述永久相对位置。例如,本文所用的术语“在...上方”、“在...下方”、“前侧”、“后侧”、“顶”、“底”、“位于…上方”、“位于…下方”、和“在...上”是指一个组件、结构或材料相对于设备内的其他参考组件、结构或材料的相对位置,其中这种物理关系是值得注意的。这些术语在本文中仅用于描述性目的,并且主要在设备z轴的上下文中使用,因此可以涉及设备的定向。因此,如果设备相对于所提供的附图的上下文被上下颠倒地定向,则在本文提供的附图的上下文中的第二材料“上方”的第一材料也可以在第二材料“下方”。在材料的上下文中,置于另一种材料上方或下方的一种材料可以直接接触或可以具有一种或多种中间材料。而且,置于两种材料之间的一种材料可以直接与两层接触,或者可以具有一个或多个中间层。相比之下,在第二材料“上”的第一材料与该第二材料直接接触。在组件组装的上下文中将进行类似的区分。

术语“在...之间”可以用在设备的z轴、x轴或y轴的上下文中。在两种其他材料之间的材料可以与这些材料中的一种或两种接触,或者可以通过一种或多种中间材料与这两种其他材料都分开。因此在两种其他材料之间的材料可以与这两种其他材料中的任一种接触,或者可以通过中间材料被耦合到这两种其他材料。在两个其他设备之间的设备可以直接连接到这些设备中的一个或两个,或者可以通过一个或多个中间设备与这两个其他设备都分开。

要指出的是,附图中与任何其他附图中的元件具有相同附图标记(或名称)的那些元件可以按与所描述的方式类似的任何方式来操作或起作用,但不限于此。

图1示意性地示出了根据一些实施例的基于与组件相关联的节流优先级来实现组件的节流的计算设备100(也称为设备100)。设备100包括分别被分配了节流优先级(也称为优先级)Pa、......、Pn的组件104a、......、104N。例如,组件104a可以被分配优先级Pa,组件104b可以被分配优先级Pb,依此类推。

本文中用跟随有特定的数字或字母的共同参考标记来指代的元素可以单独由该参考标记来统一指代。例如,组件104a、......、104N可以统称为多个组件104和单个组件104。类似地,优先级Pa、......、Pn可以统称为多个优先级P和单个优先级P。

组件104可以是设备100的任何合适组件。组件104可以包括计算组件和/或非计算组件。计算组件的示例包括涉及计算、处理等的组件,诸如一个或多个处理核心、中央处理单元(CPU)、图形处理单元(GPU)、图像处理单元的处理器子系统(例如,也称为IPU_PS)、硬件加速器等。非计算组件的示例包括存储器、显示器、图像处理单元的输入/输出子系统(也称为IPU_IS)、I/O子系统、互连结构等。组件104可以包括知识产权(IP)块,例如,由第三方制造商开发和/或制造的块。在一个示例中,组件104可以包括非计算组件,并且可以不包括任何计算组件。本公开的范围不受组件104的类型或性质限制。

在示例中,组件104可以与相应的电压和/或频率域相关联。因此,组件104a可以包括被包括在相应的第一电压和/或频率域中的电路;组件104b可以包括被包括在相应的第二电压和/或频率域中的电路;等等。

例如,第一域的组件104a可以从第一电压调节器(VR)接收电压Va并从第一时钟源接收时钟信号Ca;第二域的组件104b可以从第二VR接收电压Vb并从第二时钟源接收时钟信号Cb;等等。时钟Ca的频率为Fa,时钟Cb的频率为Fb,依此类推。

在一些实施例中,组件104可以被独立地和分开地节流。例如,如本文中进一步详细讨论的,基于优先级Pa、......、PN,可以例如通过减小由组件接收的相应电压和/或通过减小由组件接收的相应时钟信号的频率,来对组件104中的各个组件进行节流。

在一些实施例中,设备100包括优先级分配逻辑110(也称为逻辑110)。为了本公开的目的,逻辑可以指硬件元件、软件元件、固件元件、电路和/或其任意组合。逻辑110可以分配优先级Pa、......、PN。

图2示出了根据一些实施例的寄存器200,该寄存器200包括分别与图1的设备100的组件104a、......、104N相关联的节流优先级Pa、......、PN。尽管寄存器200可以包括任何其他信息,但是在图2中仅示出了优先级Pa、......、PN。

图3示出了根据一些实施例的图2的寄存器200的优先级Pa、......、PN的示例值。仅作为示例,在图3中,假设优先级Pa、......、PN中的各个优先级具有3比特。在图3中分配给优先级Pa、......、PN的值仅是示例。在图3的示例中,优先级Pa、Pb、Pc、Pd、Pe、......、PN分别被分配了值1、3、2、0、1、......、0。

下面的表1示出了针对设备100的一些示例组件104,图2的寄存器200的优先级Pa、......、PN的示例值。尽管图3讨论了组件104是通用术语,但表1提供了组件104的实际示例。下面的表1中的组件104仅是示例,并且不限制本公开的教导。

表1

比特 字段
[0:3] 组件“IPU_PS”的优先级 1
[4:7] 组件“IPU_IS”的优先级 3
[8:11] 组件“存储器”的优先级 2
[12:15] 组件“显示器”的优先级 0
[16:19] 组件“IP块A”的优先级 0
…… …… ……
[28:21] 组件“IP块N”的优先级 0

因此,表1提供了不同组件的示例优先级,这些不同组例如是组件IPU_PS、IPU_IS(例如,关于图1所讨论的)、存储器、显示器以及各种IP块A、......、N。

在示例中,可以向各个组件104分配相应的标识(ID)。表2示出了被分配了相应ID的表1的各个组件104。

表2

组件 组件ID
组件“存储器”的优先级 0×1
组件“显示器”的优先级 0×2
组件“IPU_PS”的优先级 0×3
组件“IPU_IS”的优先级 0×4
组件“IP块A”的优先级 0×5
…… ……
组件“IP块N”的优先级 0×N

现在,将表1和表2相组合提供了以下表3:

表3

比特 组件ID 字段
[0:3] 0×3 组件“IPU_PS”的优先级 1
[4:7] 0×4 组件“IPU_IS”的优先级 3
[8:11] 0×1 组件“存储器”的优先级 2
[12:15] 0×2 组件“显示器”的优先级 0
[16:19] 0×5 组件“IP块A”的优先级 0
…… …… …… ……
[28:21] 0×N 组件“IP块N”的优先级 0

因此,表3提供了不同组件的示例优先级,这些不同组件例如是组件IPU_PS、IPU_IS(例如,关于图1讨论的)、存储器、显示器以及各种IP块A、......、N,以及相关联的组件ID。稍后在本文中关于图6进一步详细讨论组件ID。

再次参考图1,在一些实施例中,设备100包括节流逻辑114(也称为逻辑114)。逻辑114可以选择性地对一个或多个组件104进行节流。

在一些实施例中,组件104的节流(例如,通过逻辑114)可以基于优先级Pa、......、PN。例如,组件104的优先级P越高,则组件104将被节流的可能性越大。例如,假设由于功率、电流、可靠性和/或热预算,必须对组件进行节流。如图3的示例中所示,组件104b的优先级Pb最高。因此,组件104b首先被节流(例如,电压Vb和/或时钟Cb的频率被降低)。如果组件104b的节流足以满足预算约束,则可以不进一步对其他组件进行节流。然而,如果组件104b的节流不足以满足预算约束,则可以对组件104c(例如,优先级Pc的值为2)进行节流,随后对组件104a和/或104e(例如,如果需要的话)进行节流。

在一些实施例中,如果组件104的优先级为0,则该组件可能根本不会被节流,或者可以在绝对需要的情况下(例如,当具有非零优先级的其他组件已经被节流并且预算约束仍尚未被满足时)被节流。

在一些实施例中,如果两个或更多个组件104具有相同的优先级(例如,具有相同的优先级1的组件104a和104e),则可以对两个或更多个组件中的任何一个或多个进行节流。从两个或更多个组件中选择组件可以基于任何合适的标准(例如,除了优先级之外),诸如工作负荷、组件的类型等。

然而,在另一示例中,不止一个组件可能不具有相同的非零优先级。例如,对于具有非零优先级的组件,每个组件可以具有相应的唯一优先级。

图4A示出了根据一些实施例的节流优先级Pa、......、PN的动态生成。例如,逻辑110至少部分地基于以下项来生成优先级Pa、......、PN:从操作系统(OS)接收的输入402,经由一个或多个用户界面(UI)(例如,从设备100的用户)接收的输入404,一个或多个因素408,从BIOS(基本输入/输出系统)接收的输入412,从各种设备驱动器、功率管理(PM)驱动器、PM软件等接收的输入416。

例如,OS可以基于OS的操作、组件104的操作、组件104的工作负荷、在组件104上运行的过程和/或线程等,来分配和/或动态改变优先级Pa、......、PN。在示例中,设备100的用户还可以例如通过输入404来配置优先级Pa、......、PN。

仅作为示例,假设设备100具有相对高分辨率(例如,4K分辨率(例如,4000像素的水平屏幕显示分辨率))的显示屏。显示分辨率的一些暂时下降可能对用户而言并不明显,或者可能不会导致用户不满意。因此,输入402和/或404可以为与显示器上的渲染图像相关联的一个或多个组件指定高节流优先级(例如,使得这一个或多个组件首先被节流)。例如,当这一个或多个组件被节流时,设备100可以以降低的分辨率2K、1080p等来操作显示屏。

在示例中,当设备100用于例如文字处理应用、浏览因特网等时,可以为这一个或多个组件(例如,与高分辨率显示器上的渲染图像相关联的组件)分配这样的高节流优先级。

然而,当设备100用于游戏或观看电影时,可能不希望降低显示分辨率。因此,在示例中,在这种情况下,可以为这一个或多个组件(例如,与高分辨率显示器上的渲染图像相关联的组件)分配较低的优先级(例如,使得在对其他高节流优先级组件进行节流之后,这一个或多个组件才被节流)。

因此,在以上示例中,可以动态改变与用于在显示屏上进行显示的组件相关联的节流优先级。节流优先级的动态改变可以通过OS(例如,经由输入402)、由用户使用UI(例如,经由输入404)、和/或基于一个或多个因素408来执行。因此,节流优先级的动态改变涉及实时地(例如当有新信息可用时)改变节流优先级。上面的示例讨论了动态改变与用于在显示屏上进行显示的组件相关联的节流优先级。

被OS考虑来确定输入402的因素和/或因素408可以包括例如组件104的关键性、组件的工作负荷、组件的P状态或C状态(例如,根据高级配置和电源接口(ACPI)标准)、组件的带宽、组件消耗的功率、组件的使用和/或可用于确定组件的节流优先级的任何其他适当的(一个或多个)因素。

在一些实施例中,逻辑110还可以从BIOS接收输入412。例如,BIOS可以基于预先配置的设置,来分配和/或动态改变优先级Pa、…、PN。在一些实施例中,逻辑110还可以从一个或多个设备驱动器、功率管理驱动器、功率管理软件等接收输入416。

虽然图4A示出了逻辑110从OS、BIOS、设备驱动器,经由UI等接收输入,但是逻辑110可以从设备100的任何合适硬件和/或软件部分(例如,功率管理控制器、存储器控制器、显示控制器、处理核心等)接收输入(例如,用于分配优先级Pa、......、PN)。

图4B示出了根据一些实施例的包括功率管理单元(PMU)455的示例系统440,该功率管理单元455实现优先级分配逻辑110和节流逻辑114。系统440包括SoC 450。在图4B的示例中,SoC 450包括处理器452(例如,中央处理单元(CPU)),该处理器452包括多个处理核心453a、453b、......、453N。

系统440包括PMU 455。在示例中,PMU 455可以包括专用的功率管理处理器458,然而在另一示例中,处理器452的一部分(例如,一个或多个核心453)可以用于功率管理处理器458。在一些实施例中,功率管理处理器458可以用于实现优先级分配逻辑110和节流逻辑114。

各种应用程序460、OS 464、一个或多个功率管理应用程序466等在处理器452和/或功率管理处理器458上执行。例如,应用程序460和OS 464可以在处理器452上执行,并且一个或多个功率管理应用程序466可以在功率管理处理器458上执行。

如关于图1所讨论的,出于本公开的目的,逻辑可以指硬件元件、软件元件、固件元件、电路和/或其任意组合。因此,例如,可以使用功率管理处理器458、功率管理应用程序466和/或任意合适的硬件元件、软件元件、固件元件、电路和/或其任意组合来实现优先级分配逻辑110和/或节流逻辑114。在一些实施例中,功率管理处理器458还可以包括功率管理控制器505(例如,关于图5进一步详细地讨论)。

系统440包括软件接口,OS 464通过该软件接口与PMU 455通信(例如,OS 464通过该软件接口与PMU 455的优先级分配逻辑110通信)。例如,如关于图4A所讨论的,OS 464通过这样的软件接口将输入402传送到优先级分配逻辑110。在示例中,OS 464的OS驱动器(图4B中未示出)可以是OS 464和PMU 455之间的软件接口的一部分。OS驱动器可以例如直接地或经由寄存器482将输入402从OS 464发送到PMU 455。

仅作为示例,OS 464通过其与PMU 455通信的接口可以包括一个或多个寄存器482。例如,OS 464可以将数据写入寄存器482中(例如,将输入402写入寄存器482中),并且PMU 455可以从寄存器482中获取写入的数据。在另一个示例中,OS 464直接(例如,通过绕过寄存器482)与PMU 455通信,其被示为处理器452和PMU 455之间的直接线路。

在一些实施例中,SOC 450包括图2的寄存器200。优先级分配逻辑110可以将节流优先级Pa、......、PN写入寄存器200,该寄存器200可以由节流逻辑114访问。

在一些实施例中,SOC 450包括IPU 470。如关于图1所讨论的,IPU 470包括IPU_PS471,例如其可以是图像处理单元(IPU)470的处理器子系统。IPU 470还包括IPU_IS 472,例如其可以是IPU 470的输入/输出子系统。

在一些实施例中,SOC 450包括图形处理单元(GPU)468、集成图形电路491、硬件加速器480(例如,其可能比在更通用的处理器452上运行的软件更有效地执行功能)、存储器接口478(例如,用于与存储器490接口连接)、显示引擎492(例如,用于在显示器484上渲染图像)、BIOS 496等。BIOS 496可以将数据写入寄存器482中(例如,将输入412写入寄存器482中),并且PMU 455可以从寄存器482中获取写入的数据。在另一个示例中,BIOS 496直接(例如,通过绕过寄存器482)与PMU 455通信,其被示为BIOS 496和PMU 455之间的直接线路。

SOC 450还包括I/O子系统475,例如,用于与一个或多个输入/输出设备(诸如显示器484、一个或多个I/O外围设备486、一个或多个存储设备488等)接口连接。

图1的组件104a、104b、......、104N(在其上应用了基于优先级的节流)可以包括系统440的任意合适的(一个或多个)组件。例如,系统440包括计算组件和/或非计算组件。计算组件的示例包括涉及计算、处理等的组件,诸如一个或多个处理核心453、处理器452、GPU 468、图像处理单元IPU 470的处理器子系统IPU_PS 471、硬件加速器480等。非计算组件的示例包括存储器490、显示器484、图像处理单元IPU 470的输入/输出子系统IPU_IS472、I/O子系统475、互连结构494等。在一个示例中,组件104(例如,每个组件具有相应的节流优先级,并且在其上应用了基于优先级的节流)可以包括非计算组件,并且可以不包括任何计算组件。在一个示例中,组件104可以包括非计算组件和/或计算组件。

图5进一步详细地示意性示出了根据一些实施例的图1的计算设备100,其中设备100包括功率管理控制器505,该功率管理控制器505动态地确定功率余量参数Rt,例如以促进对各个组件104进行节流。

在一些实施例中,功率管理控制器505(也称为控制器505)确定组件104的功率余量。例如,假设功率和/或热约束要求组件104的功率消耗总和小于或等于Power_limit(功率_限制)。因此,Power_limit可以是组件104可以消耗的最大允许功率或最大预算功率。Power_limit可以例如基于设备100可用的功率、设备100的剩余电池电量、向设备100供电的电源适配器的类型、设备100的温度等而动态地改变。

另外,假设所有组件104的实际功率消耗总和由Consumed_power(消耗_功率)给出。因此,Consumed_power随着组件104的实际功率消耗而变化。可以通过控制提供给组件104的电压和/或提供给组件104的时钟信号的频率来控制Consumed_power。例如,对组件104a的电压Va和/或时钟Ca的频率Fa进行节流可以减少组件104a消耗的功率,从而减小Consumed_power。

在示例中,功率余量是指Power_limit和Consumed_power之间的差。因此,功率余量表示在达到Power_Limit之前可以增加的组件的功率消耗。功率余量必须为正或为零,以确保Consumed_power不超过Power_limit。

在一些实施例中,例如基于Consumed_power和Power_limit,以周期性或非周期性的间隔来更新功率余量。例如,使用指数加权移动平均窗口(EWMA窗口),迭代t处的Power_headroom(功率_余量)Et可以通过以下等式给出:

Et=Et-1*α+(1-α)*(Power_Limit-Consumed_Power)*delta_T, 等式1

其中Et是在时间t的功率余量,Et-1是在时间(t-1)的功率余量(例如,根据先前时间间隔的功率余量),Delta_T是更新周期的时间间隔,并且α是指数衰减。因此,在等式1中,计算(i)多个组件可用的预算(例如,Power_Limit)与(ii)多个组件消耗的总和(例如,Consumed_Power)之间的差,其中预算是功率预算。等式1的因子α可以从EWMA时间窗口得出,如下所示:

α=1-delta_T/Tau, 等式2

其中Tau是EWMA时间窗口。在示例中,控制器505确定Consumed_power和Power_limit,并周期性地更新功率余量Et

在一些实施例中,控制器505确定功率余量参数Rt(也称为约束余量参数Rt)。可以基于功率余量Et来确定功率余量参数Rt。在一些实施例中,功率余量参数Rt可以通过以下等式给出:

在等式3中,Rt基于Et的比例项和Et的积分项。在等式3中,Kp是Et的比例项的加权因子,并且Ki是Et的积分项的加权因子。此外,等式1已经实现了Et的导数项。因此,等式1和3的组合实现了功率余量Et的比例、积分和微分(PID)分量。尽管等式1和3的组合提供了PID控制以确定功率余量参数Rt,但是也可以使用任何其他合适类型的控制(例如,PI、P或PD控制,或者其他适当类型的控制)。

因此,约束余量参数Rt(也称为参数Rt)是关于在时刻“t”可用于组件104的约束余量(例如,功率余量、热余量、电流余量等)的指示。在一些实施例中,参数Rt可以由控制器505动态地更新(例如,以周期性或非周期性的间隔等连续地更新),并且被发送到逻辑114。

因此,逻辑114从逻辑110接收优先级Pa、......、PN,并且从控制器505接收参数Rt。基于优先级Pa、......、PN和参数Rt,逻辑114选择性地对组件104中的一个或多个进行节流(例如,通过控制组件的电压和/或操作频率)。

尽管等式1、2和3是针对功率预算(例如,针对多个组件可用的预算与多个组件的消耗总和之间的差,其中预算是功率预算)的,但是可以使用任何其他合适的预算,诸如电流预算、热预算、可靠性预算等。

图6示出了根据一些实施例的描绘用于设备100的组件104a、......、104N的节流优先级和节流标量的表600。例如,在表600中,列出了具有非零优先级的组件(例如,因为具有零优先级的组件可能通常不被节流)。表600中的每个组件由组件ID(标识)识别。表600包括以优先级的降序排列的组件104g、104b、104c、104a、104e。

在一些实施例中,表600还包括用于各个组件的节流因子缩放系数T(例如,用于组件104g的节流缩放系数Tg、用于组件104b的节流缩放系数Tb,等等),其将参数Rt转换成相应组件将被节流的频率的量。例如,如果组件104g将被节流,则组件104g的频率Fg可以减小Rt*Tg。

在一些实施例中,逻辑114监视参数Rt。如果参数Rt降到第一阈值以下,则逻辑114对表600中的第一条目(例如,具有最高节流优先级的条目)进行节流。因此,对于示例表600,如果参数Rt降到第一阈值以下,则逻辑114对组件104g进行节流(例如,降低电压Vg和/或频率Fg,其中频率Fg可以减小等于Rt*Tg的量)。

如果参数Rt进一步下降并且低于第二阈值,则逻辑114对表600中的第二条目(例如,具有第二最高节流优先级的条目)进行节流。因此,对于示例表600,如果参数Rt进一步减小到第二阈值以下,则逻辑114对组件104b进行节流(例如,降低电压Vb和/或频率Fb,其中频率Fb可以减小等于Rt*Tb的量)。

该过程反复进行,直到参数Rt稳定为止。如果Rt开始增加,则按相反的顺序对组件解除节流。例如,具有较低优先级的组件在具有较高优先级的组件之前被解除节流。例如,如果参数Rt增加到超过第二阈值,则组件104b被解除节流;并且如果参数Rt增加到超过第一阈值,则组件104g被解除节流。

图7示出了根据一些实施例的基于优先级来选择性地对设备100的组件104进行节流的算法700(例如,以伪代码的形式)。算法700包括部分704,在部分704中,设备100的各个组件104(例如,诸如QCLK、CDCLC、IPU_PSCLC等的组件,它们仅仅是组件的名称的示例)被分配相应的组件ID。仅作为示例,组件QCLK被分配的组件ID为1,组件CDCLC被分配的组件ID为2,组件IPU_PSCLC被分配的组件ID为3,依此类推。

在算法700的部分708中,各个组件被分配相应的节流优先级。例如,组件ID为1的组件QCLK被分配的优先级为3,组件ID为2的组件CDCLK被分配的优先级为1,组件ID为2的组件IPU_PSCLK的组件被分配的优先级为4,依此类推。

在算法700的部分712中,各个组件被分配相应的节流缩放系数(在图7中称为Throttle_Scalars)。例如,组件ID为1的组件QCLK被分配的节流缩放系数为T1,组件ID为2的组件CDCLK被分配的节流缩放系数为T2,组件ID为3的组件IPU_PSCLK被分配的节流缩放系数为T3,依此类推。

在算法700的部分716中,选择用于进行节流的组件。例如,在部分716中,确定参数Rt是否小于阈值。如果是,则选择具有最高优先级值的组件ID用于进行节流。仅作为示例,如关于部分708所讨论的,组件ID3(例如,对应于IPU_PSCLK)具有最高优先级,该最高优先级为4。因此,可以选择组件ID 3(例如,对应于IPU_PSCLK)用于进行节流。

在算法700的部分720中,确定由于针对组件ID 3进行节流而导致的频率降低,其可以是Rt*T3,其中T3是与组件ID 3相对应的节流缩放系数。因此,该组件IPU_PSCLK被节流的频率为Rt*T3。

图8A示出了根据一些实施例的描绘了方法800的流程图,该方法800用于基于相应的节流优先级的顺序来选择用于对计算设备(例如,设备100)的各个组件(例如,组件104)进行节流的顺序或次序。尽管参考图8A的流程图中的框以特定顺序被示出,但是可以修改动作的顺序。因此,可以按不同的顺序执行所示的实施例,并且可以并行地执行一些动作/框。图8A中列出的一些框和/或操作可以根据某些实施例是可选的。给出的框的编号是为了清楚,而不旨在规定各种框必须按其发生的操作顺序。方法800的各种操作可以由软件组件、硬件组件、固件组件、逻辑块等执行。

在方法800的804处,优先级分配逻辑110接收输入402、404、408、412、和/或416,并且将节流优先级(例如,优先级Pa、......、PN)分配给多个组件(例如,组件104a、......、104N),例如,如关于图3至图4A所讨论的。基于节流优先级对组件进行排序,例如,如关于图6所讨论的。

在方法800的808处,跟踪约束余量参数Rt,例如,如关于图6和等式1-3所讨论的。可以以连续的基础、周期性的间隔、非周期性的间隔等来执行对参数Rt的跟踪。

在方法800的812处,基于跟踪参数Rt,来确定对组件(例如,通过节流逻辑114)进行节流(或解除节流),例如,如关于图6-7所讨论的。例如,将参数Rt与各种阈值进行比较。如果Rt小于阈值,则组件将被节流。如果Rt高于阈值,则组件将被解除节流。

同样在812,基于关于框804讨论的组件的排序,选择一个或多个组件用于进行节流(或解除节流)。例如,如上所讨论的,按优先级的降序对组件进行节流,并按优先级的升序对组件解除节流(然而在另一个示例中,可以按优先级的升序对组件进行节流,并且按优先级的降序对组件解除节流)。

例如,当方法800从812循环回到808时,迭代且连续地执行框808和812处的操作。尽管在图8A中未示出,但是在示例中,节流优先级可以被重新分配或更新(例如,如关于图4A所讨论的),并且在这种情况下,方法800可以同样地重复框804的操作。

图8B示出了根据一些实施例的描绘用于跟踪约束余量参数Rt的方法840的流程图。尽管参考图8B的流程图中的框以特定顺序被示出,但是可以修改动作的顺序。因此,可以按不同的顺序执行所示出的实施例,并且可以并行地执行一些动作/框。图8B中列出的一些框和/或操作可以根据某些实施例是可选的。给出的框的编号是为了清楚,而不旨在规定各种框必须按其进行的操作顺序。方法840的各种操作可以由软件组件、硬件组件、固件组件、逻辑块等执行。

在图8A中,框808与跟踪约束余量参数Rt相关联。图8B的方法840提供与跟踪约束余量参数Rt相关联的示例操作。

参考图8B的方法840,在844处,例如由PMU 455(诸如由图4B和图5的功率管理控制器505)接收功率预算和关于消耗功率的指示。关于等式1进一步详细讨论了功率预算(例如,Power_Limit)和关于消耗功率的指示(例如,Consumed_power)。在示例中,功率预算和关于消耗功率的指示用于SoC 450、用于系统440、用于设备100等。

在848处,功率余量参数Et例如由PMU 455(诸如由图4B和图5的功率管理控制器505)确定。关于等式1进一步详细讨论了功率余量参数Et的确定。

在852处,约束余量参数Rt例如由PMU 455(诸如由图4B和图5的功率管理控制器505)确定。关于等式2和3进一步详细讨论了约束余量参数Rt的确定。

在一些实施例中,框844、848和852的操作可以循环执行。因此,该方法从852循环回到844。因此,约束余量参数Rt被周期性地确定,并且PMU 455(诸如通过图4B和图5的功率管理控制器505)将约束余量参数Rt发送到节流逻辑114,例如,如关于图5所讨论的。

图8C示出了根据一些实施例的描绘方法860的流程图,该方法860用于基于节流优先级来对组件104进行节流和/或解除节流。尽管参考图8C的流程图中的框以特定顺序被示出,但是可以修改动作的顺序。因此,可以按不同的顺序执行所示出的实施例,并且可以并行地执行一些动作/框。图8C中列出的一些框和/或操作可以根据某些实施例是可选的。给出的框的编号是为了清楚,而不旨在规定各种框必须按其进行的操作顺序。方法860的各种操作可以由软件组件、硬件组件、固件组件、逻辑块等执行。

在图8A中,根据一些实施例,框812与基于跟踪参数Rt来确定对组件进行节流(或解除节流)相关联。图8C的方法880详细讨论了组件104的节流(或解除节流)。

参考图8C的方法860,在864处,基于节流优先级对组件104a、……、104N进行排序,例如,如关于方法800的框804所讨论的。另外,在864处,将计数器m设置为1(例如,m==1)。

如关于图6所讨论的,逻辑114访问多个阈值,例如,threshold_1(阈值_1)、threshold_2(阈值_2)等等。仅作为示例,阈值的数量至少与具有非零节流优先级的组件104的数量一样大(例如,相等)。假设有M个阈值。假设threshold_1、threshold_2、......、threshold_M(阈值_M)是降序(例如,threshold_1>threshold_2>…...>threshold_M)。计数器m保持跟踪阈值。

在868处,跟踪约束余量参数Rt,例如,如关于图8B的方法840所讨论的。

在872处,确定约束余量参数Rt是否小于threshold_m(阈值_m)。在方法860的第一迭代期间,m为1。因此,在872处,确定约束余量参数Rt是否小于threshold_1。如果是,则意味着功率余量相对较低,并且至少一个组件必须被节流。

如果在872处为“是”,则方法860进行至876,在876处,基于对组件的排序,选择组件104用于进行节流。例如,在方法860的第一迭代期间,选择具有最高节流优先级的组件104用于进行节流。

同样在876处,例如通过将组件的频率降低Rt和该组件的节流标量的乘积,来对所选择的组件进行节流,例如,如关于图6和图7的部分720所讨论的。在880处,计数器m递增,并且方法860循环回到868,在868处跟踪约束余量参数Rt。

此外,如果在872处为“否”(例如,约束余量参数Rt大于threshold_m),则这意味着存在足够的可用功率余量。方法860然后进行到882,在882处检查当前是否有任何组件被节流。

如果当前无任何组件被节流(例如,882为“否”),则方法860循环回到868,在868处跟踪约束余量参数Rt。然而,如果在882处为“是”,则意味着存在足够的可用余量,并且一个或多个组件当前被节流,这一个或多个组件现在可以被解除节流。

然后,方法860(例如,在882处为“是”之后)进行至884,在884处基于对组件的排序来选择组件用于解除节流。例如,在当前被节流的组件中,选择具有最高节流优先级的组件用于解除节流。同样在884处,例如通过增大组件的频率来对所选择的组件解除节流。

在886处,计数器m被递减(例如,m==m-1),并且方法860循环回到868,在868处跟踪约束余量参数Rt。

因此,图8C示出了基于将约束余量参数Rt与各种阈值进行比较来选择性地对组件104进行节流和/或解除节流。对组件104进行节流和/或解除节流的顺序是基于与组件相关联的节流优先级的。

图9示出了根据一些实施例的计算机系统、计算设备或SoC(片上系统)2100,其中可以基于相应的节流优先级的顺序来选择用于对计算设备(例如,设备100)的各种组件(例如,组件104)进行节流的顺序或次序。要指出的是,图9的与任何其他附图的元件具有相同的附图标记(或名称)的那些元件可以按与所描述的方式类似的任何方式来操作或起作用,但不限于此。

在一些实施例中,计算设备2100表示合适的计算设备,诸如计算平板、移动电话或智能电话、膝上型计算机、台式计算机、IOT设备、服务器、机顶盒、支持无线的电子阅读器等。将理解,总体上示出了某些组件,但并未在计算设备2100中示出这类设备的所有组件。

在一些实施例中,计算设备2100包括第一处理器2110。本公开的各个实施例还可以在2170内包括网络接口(诸如无线接口),使得系统实施例可以被合并到无线设备(例如蜂窝电话或个人数字助理)中。

在一个实施例中,处理器2110可以包括一个或多个物理设备,例如微处理器、应用处理器、微控制器、可编程逻辑设备或其他处理装置。由处理器2110执行的处理操作包括在其上执行应用和/或设备功能的操作平台或操作系统的执行。处理操作包括与人类用户或与其他设备的I/O有关的操作、与功率管理有关的操作、和/或与将计算设备2100连接到另一设备有关的操作。处理操作还可以包括与音频I/O和/或显示I/O有关的操作。

在一个实施例中,计算设备2100包括音频子系统2120,其表示与向计算设备提供音频功能相关联的硬件(例如,音频硬件和音频电路)和软件(例如,驱动器、编解码器)组件。音频功能可以包括扬声器和/或耳机输出、以及麦克风输入。针对这类功能的设备可以被集成到计算设备2100中,或连接到计算设备2100。在一个实施例中,用户通过提供由处理器2110接收和处理的音频命令来与计算设备2100交互。

显示子系统2130表示为用户提供视觉和/或触觉显示以与计算设备2100交互的硬件(例如,显示设备)和软件(例如,驱动器)组件。显示子系统2130包括显示接口2132,其包括用于向用户提供显示的特定屏幕或硬件设备。在一个实施例中,显示接口2132包括与处理器2110分离的逻辑,以执行与显示有关的至少一些处理。在一个实施例中,显示子系统2130包括向用户既提供输出也提供输入的触摸屏(或触摸板)设备。

I/O控制器2140表示与同用户的交互有关的硬件设备和软件组件。I/O控制器2140可操作来管理作为音频子系统2120和/或显示子系统2130的一部分的硬件。另外,I/O控制器2140示出了用于连接到计算设备2100的附加设备的连接点,用户可以通过附加设备与系统交互。例如,可以附连到计算设备2100的设备可以包括麦克风设备、扬声器或立体声系统、视频系统或其他显示设备、键盘或小键盘设备、或其他I/O设备,用于与诸如读卡器或其他设备之类的特定应用一起使用。

如上所述,I/O控制器2140可以与音频子系统2120和/或显示子系统2130交互。例如,通过麦克风或其他音频设备的输入可以为计算设备2100的一个或多个应用或功能提供输入或命令。另外,代替显示输出或除显示输出之外,可以提供音频输出。在另一示例中,如果显示子系统2130包括触摸屏,则显示设备还充当输入设备,其可以至少部分地由I/O控制器2140管理。在计算设备2100上还可以存在其他按钮或开关,以提供由I/O控制器2140管理的I/O功能。

在一个实施例中,I/O控制器2140管理诸如加速度计、相机、光传感器或其他环境传感器之类的设备,或者可以被包括在计算设备2100中的其他硬件。输入可以是直接用户交互的一部分,也可以向系统提供环境输入以影响其操作(诸如,过滤噪声、调整显示器以进行亮度检测、为相机应用闪光灯或其他功能)。

在一个实施例中,计算设备2100包括功率管理2150,该功率管理2150管理电池电力使用、电池的充电以及与功率节省操作有关的特征。存储器子系统2160包括用于在计算设备2100中存储信息的存储器设备。存储器可以包括非易失性(如果到存储器设备的电力被中断,状态不会更改)和/或易失性(如果到存储器设备的电力被中断,状态是不确定的)存储器设备。存储器子系统2160可以存储应用数据、用户数据、音乐、照片、文档或其他数据、以及与计算设备2100的应用和功能的执行有关的系统数据(无论是长期的还是临时的)。在一个实施例中,计算设备2100包括时钟生成子系统2152来生成时钟信号。

实施例的元件还被提供作为用于存储计算机可执行指令(例如,用于实现本文讨论的任何其他过程的指令)的机器可读介质(例如,存储器2160)。机器可读介质(例如,存储器2160)可以包括但不限于闪存、光盘、CD-ROM、DVD ROM、RAM、EPROM、EEPROM、磁卡或光卡、相变存储器(PCM)或其他类型的适合存储电子或计算机可执行指令的机器可读介质。例如,本公开的实施例可以作为计算机程序(例如,BIOS)下载,该计算机程序可以经由通信链路(例如,调制解调器或网络连接)通过数据信号从远程计算机(例如,服务器)传输到做出请求的计算机(例如,客户端)。

连接2170包括硬件设备(例如,无线和/或有线连接器和通信硬件)和软件组件(例如,驱动器、协议栈),以使得计算设备2100能够与外部设备通信。计算设备2100可以是单独的设备,诸如其他计算设备、无线接入点或基站,以及外围设备,诸如耳机、打印机或其他设备。

连接2170可以包括多种不同类型的连接。概括地说,计算设备2100被示为具有蜂窝连接2172和无线连接2174。蜂窝连接2172通常是指由无线运营商提供的蜂窝网络连接,诸如经由GSM(全球移动通信系统)或变体或派生、CDMA(码分多址)或变体或派生、TDM(时分复用)或变体或派生、或其他蜂窝服务标准提供。无线连接(或无线接口)2174是指非蜂窝式的无线连接,并且可以包括个人区域网(诸如蓝牙、近场等)、局域网(诸如Wi-Fi)和/或广域网(诸如WiMax)或其他无线通信。

外围连接2180包括硬件接口和连接器,以及软件组件(例如,驱动器、协议栈),以用于进行外围连接。将理解的是,计算设备2100既可以是到其他计算设备的外围设备(“到”2182),也可以具有连接到其的外围设备(“从”2184)。计算设备2100通常具有“对接”连接器以连接到其他计算设备,以用于诸如管理(例如,下载和/或上传、改变、同步)计算设备2100上的内容之类的目的。另外,对接连接器可以允许计算设备2100连接到某些外围设备,这些外围设备允许计算设备2100控制内容输出到例如视听系统或其他系统。

除了专有对接连接器或其他专有连接硬件之外,计算设备2100还可以经由常见的或基于标准的连接器进行外围连接2180。常见的类型可以包括通用串行总线(USB)连接器(其可以包括许多不同的硬件接口中的任何一个)、包括迷你显示端口(MDP)的显示端口、高清晰度多媒体接口(HDMI)、火线或其他类型。

在一些实施例中,计算设备2100可以包括图1-图8的组件104a、......、104N。例如,组件104a、......、104N中的各个组件可以包括处理器2110的一个或多个处理核心、存储子系统2160的存储器、通信接口或计算设备2100的任意合适组件。计算设备2100可以包括PMU 455,该PMU 455包括如关于图1-图8C所讨论的逻辑110、114和控制器505。

说明书中对“实施例”、“一个实施例”、“一些实施例”或“其他实施例”的参考是指结合这些实施例描述的特定特征、结构或特性被包括在至少一些实施例中,但不一定被包括在所有实施例中。“实施例”、“一个实施例”或“一些实施例”的各种出现不一定都指相同的实施例。如果说明书陈述组件、特征、结构或特性“可以”、“可”或“可能”被包括,则不需要包括该特定组件、特征、结构或特性。如果说明书或权利要求书提及“一”或“一个”元素,则并不意味着仅存在一个元素。如果说明书或权利要求书提及“其他”元素,则不排除存在一个以上其他元素。

此外,特定特征、结构、功能或特性可以按任何合适的方式被组合在一个或多个实施例中。例如,在与第一实施例和第二实施例这两个实施例相关联的特定特征、结构、功能或特性不互斥的任何地方,第一实施例可以与第二实施例相组合。

尽管已经结合本公开的具体实施例描述了本公开,但是根据前述描述,这类实施例的许多替代、修改和变化对于本领域普通技术人员将是显而易见的。本公开的实施例旨在涵盖落入所附权利要求的广泛范围内的所有这类替代、修改和变化。

另外,为了图示和讨论的简洁,并且为了不模糊本公开,在所呈现的附图中可以示出或可以不示出到集成电路(IC)芯片和其他组件的众所周知的电力/接地连接。此外,可以以框图形式示出布置,以避免模糊本公开,并且还考虑到以下事实:关于此类框图布置的实现的细节高度依赖于要在其内实现本公开的平台(即,这类细节应该完全在本领域技术人员的能力范围内)。在阐述具体细节(例如,电路)以便描述本公开的示例实施例的情况下,对于本领域技术人员应显而易见的是,可以在没有这些具体细节的情况下或利用这些具体细节的变体来实践本公开。因此,该描述应被认为是说明性的而不是限制性的。

以下示例条款涉及进一步的实施例。示例条款中的细节可以在一个或多个实施例中的任何地方使用。本文所述的装置的所有可选特征也可以相对于方法或过程来实现。

示例1.一种装置,包括:多个组件,其中各个组件具有多个节流优先级中的相应节流优先级;以及逻辑,所述逻辑用于接收指示所述多个节流优先级的一个或多个参数,并且用于选择性地对所述多个组件中的一个或多个组件进行节流,其中所述多个组件中的所述一个或多个组件将被节流的顺序是基于所述多个节流优先级的。

示例2.根据示例1或任意其他示例所述的装置,其中:所述多个组件中的第一组件具有第一节流优先级;所述多个组件中的第二组件具有第二节流优先级,所述第二节流优先级低于所述第一节流优先级;并且所述逻辑用于响应于所述第二节流优先级低于所述第一节流优先级,在对所述第二组件进行节流之前对所述第一组件进行节流。

示例3.根据示例1或任意其他示例所述的装置,其中:所述逻辑用于基于相应的多个节流优先级的顺序,以第一顺序来对所述多个组件进行排序;并且所述多个组件中的所述一个或多个组件将以所述第一顺序被节流。

示例4.根据示例3或任意其他示例所述的装置,其中:所述第一顺序对应于所述多个节流优先级的降序。

示例5.根据示例3或任意其他示例所述的装置,其中:所述逻辑用于以与所述第一顺序相反的第二顺序来对所述多个组件中的所述一个或多个组件解除节流。

示例6.根据示例1或任意其他示例所述的装置,其中,所述逻辑是第一逻辑,并且其中,所述装置包括:第二逻辑,所述第二逻辑用于基于从以下项中的一者或两者接收到的输入,将所述多个节流优先级分别分配给相应的多个组件:操作系统(OS)、基本输入/输出系统(BIOS)或用户界面。

示例7.根据示例6或任意其他示例所述的装置,其中:所述OS用于将所述输入存储到一个或多个寄存器;并且所述第二逻辑用于从所述一个或多个寄存器接收所述输入,并且用于基于经由所述一个或多个寄存器从所述OS接收到的所述输入,将所述多个节流优先级分别分配给相应的多个组件。

示例8.根据示例1或任意其他示例所述的装置,还包括:用于更新余量参数的电路,所述余量参数表示所述多个组件可用的约束余量,其中所述逻辑用于响应于所述余量参数低于阈值而对组件进行节流。

示例9.根据示例8或任意其他示例所述的装置,其中,所述约束余量是基于所述多个组件可用的功率预算和所述多个组件消耗的功率总和的。

示例10.根据示例8或任意其他示例所述的装置,其中:所述多个组件中的第一组件具有相应的第一节流缩放系数;并且响应于所述第一组件被节流,所述第一组件用于将所述第一组件的操作频率减小以下二者的乘积:所述第一节流缩放系数以及所述余量参数。

示例11.根据示例1或任意其他示例所述的装置,其中:所述多个组件中的第一组件包括在第一电压/频率域内的第一多个电路;并且所述多个组件中的第二组件包括在第二电压/频率域内的第二多个电路。

示例12.根据示例1或任意其他示例所述的装置,还包括:一个或多个寄存器,所述一个或多个寄存器用于存储所述多个节流优先级。

示例13.一种系统,包括:存储器,所述存储器用于存储指令;处理器,所述处理器耦合到所述存储器,所述处理器用于执行所述指令;无线接口,所述无线接口用于促进所述处理器与另一系统之间的通信,其中所述系统的多个组件中的至少一个组件具有多个节流优先级中的相应节流优先级,并且其中所述多个组件包括以下项中的一者或多者:所述存储器、所述处理器或所述无线接口;以及逻辑,所述逻辑用于基于所述多个节流优先级来对所述多个组件中的第一组件进行节流。

示例14.根据示例13或任意其他示例所述的系统,其中,所述逻辑用于:确定所述第一组件具有尚未被节流的组件的节流优先级中的最高节流优先级;并且基于所述第一组件具有所述最高节流优先级,选择所述第一组件用于进行节流。

示例15.根据示例13或任意其他示例所述的系统,其中,所述逻辑用于:接收指示以下二者之间的差的参数:所述多个组件可用的预算,以及所述多个组件的消耗总和,其中所述预算是以下项中的一者:功率预算、电流预算或可靠性预算。

示例16.根据示例15或任意其他示例所述的系统,其中,所述逻辑用于:响应于所述参数小于阈值,对所述第一组件进行节流。

示例17.根据示例15或任意其他示例所述的系统,其中,所述逻辑用于:接收与所述第一组件相对应的节流缩放系数;并且对所述第一组件进行节流,以将所述第一组件的操作频率减小以下二者的乘积:所述节流缩放系数以及所述参数。

示例18.根据示例15或任意其他示例所述的系统,其中,所述逻辑用于:对所述第一组件进行节流以减小到所述第一组件的输入电压。

示例19.一种非暂时性计算机可读存储介质,用于存储指令,所述指令在由处理器运行时使所述处理器:接收多个组件的相应多个节流优先级;以及基于所述多个节流优先级,确定所述组件将被节流的顺序。

示例20.根据权利要求19或任意其他示例所述的非暂时性计算机可读存储介质,其中,所述组件将被节流的所述顺序是基于所述多个节流优先级的相应降序的。

示例21.根据权利要求19或任意其他示例所述的非暂时性计算机可读存储介质,其中:所述多个组件中的第一组件被分配第一节流优先级;所述多个组件中的第二组件被分配第二节流优先级,所述第二节流优先级低于所述第一节流优先级;并且响应于所述第二节流优先级低于所述第一节流优先级,所述第一组件先于所述第二组件被节流。

提供了摘要,该摘要将允许读者确定本技术公开的性质和要旨。摘要是伴随以下理解而提交的:该摘要将不用于限制权利要求的范围或含义。因此,所附权利要求书被并入详细描述中,其中每个权利要求本身作为单独的实施例。

33页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:移动设备的输入方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!