CN117980862A - 全局集成电路功率控制 - Google Patents
全局集成电路功率控制 Download PDFInfo
- Publication number
- CN117980862A CN117980862A CN202280064168.1A CN202280064168A CN117980862A CN 117980862 A CN117980862 A CN 117980862A CN 202280064168 A CN202280064168 A CN 202280064168A CN 117980862 A CN117980862 A CN 117980862A
- Authority
- CN
- China
- Prior art keywords
- power
- circuit
- control circuit
- request
- component
- 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.)
- Pending
Links
- 230000005540 biological transmission Effects 0.000 claims description 34
- 230000002093 peripheral effect Effects 0.000 claims description 34
- 230000007246 mechanism Effects 0.000 claims description 30
- 238000000034 method Methods 0.000 claims description 30
- 230000009467 reduction Effects 0.000 claims description 27
- 238000012545 processing Methods 0.000 claims description 14
- 230000008859 change Effects 0.000 claims description 13
- 230000015654 memory Effects 0.000 description 52
- 238000007726 management method Methods 0.000 description 25
- 238000003860 storage Methods 0.000 description 24
- 238000010586 diagram Methods 0.000 description 18
- 230000008901 benefit Effects 0.000 description 16
- 238000004891 communication Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 13
- 230000000694 effects Effects 0.000 description 9
- 238000013461 design Methods 0.000 description 8
- 239000004065 semiconductor Substances 0.000 description 8
- 238000009825 accumulation Methods 0.000 description 7
- 230000001419 dependent effect Effects 0.000 description 6
- 239000004744 fabric Substances 0.000 description 6
- 230000036541 health Effects 0.000 description 6
- 238000012986 modification Methods 0.000 description 6
- 230000004048 modification Effects 0.000 description 6
- 239000000758 substrate Substances 0.000 description 5
- 238000009826 distribution Methods 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000015572 biosynthetic process Effects 0.000 description 3
- 238000012806 monitoring device Methods 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 238000003786 synthesis reaction Methods 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 238000001816 cooling Methods 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 101100498818 Arabidopsis thaliana DDR4 gene Proteins 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000003542 behavioural effect Effects 0.000 description 1
- 239000003990 capacitor Substances 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 238000010438 heat treatment Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000029305 taxis Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
Landscapes
- Power Sources (AREA)
Abstract
在一个实施方案中,一种系统可包括多个部件电路。该多个部件电路可包括速率控制电路,这些速率控制电路基于分配给这些部件电路的功率的指示来控制这些部件电路中的功率消耗。在一个实施方案中,这些速率控制电路可传输针对这些部件电路的功率请求和表示可确保可靠操作的最小功率量的话权请求。
Description
技术领域
本文所述的实施方案涉及数字系统中的功率控制,并且更具体地涉及用于全局功率控制的基于硬件的机制。
背景技术
随着数字系统的复杂性和性能持续增加,将功率稳定且可靠地递送到系统的部件电路的复杂性也增加。在现代系统中,在单个半导体基板或芯片上包含处理器和其他部件电路的集成电路可在~1到2伏范围内的供电电压下汲取数百安培的电流。此类集成电路(例如,片上系统或SOC)也常常在集成电路内具有多个独立电压域,这些电压域可同时具有不同供电电压并且可呈现不同负载(例如,在给定负载下汲取的电流)。
附图说明
以下详细描述参考附图,现在对这些附图进行简要描述。
图1是系统的一个实施方案的框图,该系统包括功率分流器电路和用于系统中的各个部件电路的速率控制电路。
图2是示出具有本地功率控制电路和速率控制电路以及功率分流器电路的部件电路的一个实施方案以及其间的接口的一个实施方案的框图。
图3是示出具有本地功率控制电路和速率控制电路以及功率分流器电路的部件电路的另一个实施方案以及其间的接口的另一个实施方案的框图。
图4是级联速率控制电路的一个实施方案的框图。
图5是功率分流器电路的一个实施方案的更详细框图。
图6是速率控制电路的一个实施方案的更详细框图。
图7是示出功率分流器电路的一个实施方案的操作的流程图。
图8是示出速率控制电路的一个实施方案的操作的流程图。
图9是SOC的一个实施方案的框图。
图10是包括多个SOC的系统的一个实施方案的框图。
图11是示出方法的一个实施方案的流程图。
图12是示出方法的另一个实施方案的流程图。
图13是可采用SOC的系统的各种实施方案的框图。
图14是计算机可访问介质。
尽管本公开中所述的实施方案可受各种修改形式和另选形式的影响,但其具体实施方案在附图中以举例的方式示出并将在本文中详细描述。然而,应当理解,附图和对其的具体实施方式不旨在将实施方案限制为所公开的特定形式,而相反,本发明旨在涵盖落入所附权利要求书的实质和范围内的所有修改、等同物和另选方案。本文所使用的标题仅用于组织目的,并不旨在用于限制说明书的范围。
具体实施方式
在一些情况下,提供多级功率递送网络。第一级别的电压调节器可将第一负载电流量供应到第二级别的电压调节器。第二级别的电压调节器可将功率递送到SOC中的各种独立功率网络。各种消费者(例如,形成SOC的中央处理单元(CPU)的处理器、图形处理单元(GPU)、各种外围部件电路(“外围设备”)等)可位于独立功率域中。功率域内的局部功率估计和功率控制可用于避免使给定第二级别电压调节器过载。然而,提供可在第二级别调节器同时处于其峰值负载时供应第二级别调节器的第一级别调节器将不是成本有效的,因为此类负载将可能是稀少的。因此,可实现另一功率管理机制以产生第一级别电压调节器。
在一个实施方案中,一种系统包括功率分流器电路,该功率分流器电路被配置为在多个部件电路之间对针对系统的功率预算进行分流。功率分流器电路可用功率分流策略来编程,并且可基于该策略来划分功率预算。功率分流器电路可被配置为向部件电路传输分配的功率的相应指示。部件电路可包括速率控制电路,该速率控制电路基于分配的功率的指示来管理功率消耗。各种部件电路可被包括在不同的独立功率域中,但总功率消耗可经由功率分流器电路来控制。例如,可基于将功率供应到电压控制器(电压控制器将功率供应到独立功率域)的最高级别电压控制器的能力来确定功率预算,并且该功率预算可辅助保护最高级别电压控制器免于过载。
在一个实施方案中,部件电路可包括功率估计器电路(例如,数字功率估计器(DPE)电路)。DPE电路可被配置为估计相应部件电路中消耗的功率,并且可被配置为将功率估计提供给对应速率控制电路。速率控制电路可被配置为基于功率估计来向功率分流器电路传达相应功率请求。另外,在一个实施方案中,速率控制电路可被配置为传达相应话权请求(floor request)。话权请求可表示将确保部件电路的正确操作的最小功率。例如,即使给定部件电路中的所有功率消耗控制都是活动的(或“被启用”),最小功率也可足以供应给定部件电路可消耗的最大功率量。在一个具体实施中,话权请求可考虑给定部件电路中的泄漏电流以及即使已经激活减少的功率消耗也可在该给定部件电路中发生的操作(例如,在存在减少的功率消耗控制的情况下该给定部件电路可作出的最小正向进展)。在一个实施方案中,给定部件电路中的速率控制电路可具有多个级别的功率减少请求以控制给定部件电路中消耗的功率,并且话权请求可基于最大请求减少。以另一方式来看,给定部件电路可实现一个或多个功率减少机制,并且话权可基于当功率减少机制中的每一者同时被启用时可消耗的功率。在一些实施方案中,部件电路将消耗少于话权请求(例如,如果正由部件电路执行的任务需要比最小正向进度提供的活动少的活动)是可能的。功率分流器电路可确保每个部件电路接收至少等于其话权请求和其功率请求的最小值的功率分配,并且可基于功率请求和功率策略在部件电路之间划分剩余功率。
部件电路可包括可被包括在系统中的任何硬件部件。给定部件电路可包括功率控制电路,该功率控制电路在部件电路内作为整体来实现一个或多个功率管理机制。即,部件电路可以是由功率控制电路作为单元进行功率管理的实体。例如,中央处理单元(CPU)处理器集群可以是部件电路。CPU处理器集群可包括一个或多个处理器以及与系统的其余部分交接的接口电路系统(例如,经由系统通信结构)。CPU处理器集群还可包括由处理器共享的高速缓存分级结构中的一个或多个高速缓存(除了用处理器实现的高速缓存之外)。另选地,各个CPU处理器可以是部件电路。部件电路的其他示例可包括图形处理单元(GPU)或存储器控制器。外围部件电路(或更简单地说,外围设备)诸如显示控制器、图像信号处理器、音频处理器、视频或音频编码器/解码器电路、到各种类型的外部互连件的桥接件、输入/输出设备等也可以是部件电路的示例。
图1是系统的一个实施方案的框图。在图1的实施方案中,系统包括耦接到功率分流器电路10的多个部件电路12A-12F。多个部件电路12A-12F包括相应速率控制电路20A-20F。另外,在例示的实施方案中,多个部件电路包括耦接到相应速率控制电路20A-20F的相应数字功率估计器(DPE)/功率控制(PC)电路14A-14F。功率分流器电路10包括多个功率策略寄存器18A-18N。该系统还可包括耦接到功率分流器电路10的管芯到管芯(D2D)接口电路24。
多个部件电路12A-12F中的给定部件电路被包括在由图1所示的虚线16划分的多个独立功率域中的一者中。给定部件电路12A-12F可在一个功率域中,并且多于一个部件电路12A-12F可在给定功率域中。在例示的实施方案中,仅作为示例,部件电路12A-12B在功率域中,部件电路12C在另一功率域中,并且部件电路12D-12F在相应功率域中。功率分流器电路10也在功率域中,该功率域可与一个或多个部件电路12A-12F共享或者可以是分开的。
如果功率域与其他功率域分开控制,则该功率域可以是独立的。例如,独立功率域可具有到系统的专用电压输入,该专用电压输入可例如由分开的电压控制器控制。因此,功率域内的功率管理可足以保护将功率供应到该域的电压控制器的稳定性。然而,全系统功率管理可用于管理跨功率域的功率,并且因此可保护系统中的较高级别电压控制器。
如先前所提及的,功率分流器电路10可被配置为从针对系统的功率预算来向多个部件电路12A-12F分配功率。功率预算可基于将功率供应到作为整体的系统的电压控制器的能力(例如,供应电压控制器的最高级别电压控制器,该电压控制器继而供应各种功率域)。例如,可用功率(例如,最高级别电压控制器可以可靠地供应的最大电流乘以最高级别电压控制器标称地提供的电压)可被表示为多个额度(credit),其中给定额度表示指定的功率量。功率分流器电路10可被配置为向多个部件电路12A-12F中的每一者提供相应数量的额度以指示分配给该部件电路的功率量。通过测量功率(例如,瓦特)方面的额度,功率分流器电路10可以跨不同功率域转换的共同格式提供分配的量的指示,该不同功率域可在给定时间点以不同电压操作。功率分流器电路10可被配置为将分配的功率的相应指示传送到相应速率控制电路20A-20F。相应速率控制电路20A-20F可被配置为基于提供给相应速率控制电路20A-20F的分配的功率的相应指示来管理对应部件电路中的功率消耗。
更具体地,部件电路12A-12F可包括相应功率控制电路(例如,图1所示的PC,附图标记14A-14F的一部分)。一般来讲,功率控制电路可实现一个或多个功率管理机制,该一个或多个功率管理机制中的每一者被设计成与该机制未被启用时相比在该机制被启用时减少部件电路12A-12F中的功率消耗。例如,如果部件电路12A-12F包括多个管线,则功率管理机制可减少活跃使用的管线的数量,使得由部件电路12A-12F执行的操作在减少数量的管线中执行,并且通过管线中的一者或多者的不活动来节省功率。另一种功率管理机制可包括降低到管线中的操作的发出速率,在发生不活动的管线中引入“气泡”。又一种功率管理机制可包括周期性地停止一个或多个管线或暂时减小供应到管线的时钟的时钟频率。此外,可使用时钟操纵技术,诸如时钟抖动、时钟分频器和时钟节流。
在一个实施方案中,给定部件电路诸如部件电路12A可具有子部件电路(例如,图1中的子部件电路22A-22M,更简单地称为“子部件”)。子部件22A-22M可相对独立,使得功率控制电路14A可禁用子部件中的一者或多者而不防止剩余部件的操作。例如,CPU处理器集群可具有多个CPU处理器,并且该CPU处理器中的一者或多者可被禁用(例如,停止、对其进行时钟门控或甚至对其进行功率门控)而不防止其他CPU处理器继续执行指令。在GPU中,可存在多个对称单元,诸如着色器、光栅化器等,并且对称单元可以是子部件。部件电路中的管线可以是子部件。在此类部件电路中,功率控制电路14A-14F可被配置为禁用或降低子部件的子集的性能,同时允许其他子部件不受阻碍地操作。
在一个实施方案中,功率分流器电路10可用寄存器18A-18N中的功率分流策略来编程。在该实施方案中,可存在在部件电路12A-12F的群组之间划分功率预算的最高级别策略(寄存器18A)。部件电路12A-12F可以任何期望的方式分组。例如,部件电路12A-12F可按类型分组,并且最高级别策略可按类型分配功率(例如,对各种类型分配各种百分比的功率预算)。最高级别策略可不时地改变,诸如当系统中的工作负载的性质发生改变时改变。类型的示例可包括CPU集群、GPU和外围设备。外围设备的各种子集可以是各种类型的部件,诸如音频外围设备、视频外围设备、联网外围设备、存储外围设备等。在另一个实施方案中,部件电路12A-12F可按功率域分组。可使用部件电路12A-12F的任何分组。
在每个分组内,可在寄存器18B-18N中指定第二级别的功率分流。例如,对于寄存器18B-18N中的每个群组可存在策略。因此,相同类型的部件可基于最高级别功率分配和来自寄存器18B-18N中的一者的对应策略而被分配功率。
在一个实施方案中,图1中表示的系统可在单个半导体基板或“芯片”上实现。在一个实施方案中,该系统可以是包括类似于图1所示芯片的附加芯片的较大系统的一部分。D2D接口电路24可被配置为在芯片之间进行通信。在一个实施方案中,一个或多个此类芯片可以与图1的系统共享最高级别电压控制器。功率分流器电路10可与其他芯片上的其他功率分流器电路共享未被部件电路12A-12F使用的功率额度,以及/或者可从其他功率分流器电路接收功率额度以供在部件电路12A-12F中消耗。
需注意,虽然图1的示例包括一定数量的部件电路12A-12F,但是其他实施方案可根据需要实现任何数量的部件电路12A-12F。
现在转到图2,示出了具有DPE/PC电路12A和耦接到功率分流器电路10的速率控制电路20A的部件电路12A的一个实施方案的框图,以及其间的接口的一个实施方案。其他部件电路12B-12F可能是类似的。
DPE/PC电路14A可被配置为基于到电路14A的PC部分的一个或多个输入来启用功率管理机制以限制部件电路12A内的功率消耗。例如,图2中的速率控制电路20A可提供reduce0和reduce1输入。每个输入可请求不同量的减少的功率消耗(例如,一个量的减少的功率消耗可大于另一个)。在一个实施方案中,DPE/PC电路14A的DPE部分可基于估计的功率消耗和基于针对功率域的功率预算的一个或多个局部限制来向PC部分提供输入,例如以管理部件电路12A中的功率消耗。在另一个实施方案中,DPE部分可提供功率估计,并且PC部分可仅从速率控制电路20A接收输入。速率控制电路20A可使用一个或多个输入中的第一输入(例如,reduce0)来请求第一级别的减少的功率消耗并且使用一个或多个输入中的第二输入(例如,reduce1)来请求第二级别的减少的功率消耗,其中第二级别指定比第一级别更多的减少。
DPE/PC电路14A可被配置为向速率控制电路20A报告DPE功率估计。速率控制电路20A可接收DPE功率估计(例如,当前功率消耗估计)以及来自功率电路10的分配的功率的指示(图2中的“分配”),并且速率控制电路20A可被配置为基于DPE功率估计和分配的功率来管理部件电路12A中的功率。DPE估计和分配的功率指示可根据额度来测量。按照估计、分配的功率和来自先前分配的尚未消耗的任何剩余分配的功率,速率控制电路20A可生成到功率控制电路的reduce0和reduce1输入。例如,可将分配的功率额度添加到剩余额度中,并且可从这些额度中减去DPE估计以生成分配的功率的剩余量。如果分配的功率的剩余量下降到第一阈值(其可在速率控制电路20A中编程)以下,则速率控制电路20A可断言reduce0输入并且功率控制电路14A可启用一个或多个功率管理机制。启用的机制可减少功率消耗,并且可能降低性能。然而,性能损失可小于当附加功率管理机制被启用时或当启用的功率管理机制被更有力地应用时的性能损失。如果分配的功率的剩余量下降到低于第一阈值的第二阈值以下,则速率控制电路20A可断言reduce1输入,并且功率控制电路14A可启用一个或多个附加功率管理机制和/或更有力地应用已启用的机制,从而进一步减少功率消耗并且更严重地降低性能。虽然在例示的实施方案中示出了两个输入并且实现了两个级别的减少的功率消耗,但是在其他实施方案中可使用多于两个级别。可增加功率减少控制信号的数量,并且/或者可使用信号的编码来指定不同级别的减少的功率消耗。当请求最高级别的减少的功率消耗时(例如,在该实施方案中经由断言或reduce1),功率控制电路14A可启用其实现的功率管理机制中的每一者以及由该机制支持的最大级别的减少。
除了请求减少的功率消耗之外,速率控制电路20A还可被配置为报告启用功率消耗减少(例如,经由到功率分流器电路10的“减少的”输出)。在一个实施方案中,功率分流器电路10可被配置为记录来自各种部件电路12A-12F的减少的输出的断言,以便由软件进行潜在的分析来确定是否应当修改功率分流策略(例如,因为给定部件电路比期望的更频繁地在减少的功率消耗下操作)。在另一个实施方案中,功率分流器电路10可被配置为在硬件中基于减少的信号断言的频率来自动调整功率分流策略。
在一个实施方案中,速率控制电路20A可被配置为生成功率请求(图2中的“请求”)和话权请求(图2中的“话权”)并将其传输到功率分流器10。例如,功率请求可基于来自DPE/PC电路14A的DPE功率估计以及先前分配和消耗的功率。DPE/PC电路14A也可提供话权,表示确保对应部件电路12A的正确操作的最小功率量。速率控制电路20A可将由DPE/PC电路14A提供的话权请求作为话权请求传输到功率分流器电路10。功率分流器电路10可被配置为确保多个部件电路12A-12F接收至少等于相应话权请求和相应功率请求的最小值的功率分配,并且被配置为基于功率分流策略和相应功率请求来分配剩余功率预算。
话权请求可取决于多种因素,诸如到部件电路12A的供电电压和温度。例如,温度可影响部件电路12A中的泄漏电流。在一个实施方案中,话权请求可基于DPE/PC电路14A能够引起的最大减少的功率消耗量。在图2的实施方案中,例如,话权请求可基于在reduce1输入被断言的情况下消耗的功率。以另一种方式来看,话权请求可基于当由DPE/PC电路14A/部件电路12A实现的功率管理机制中的每一者被完全启用时消耗的功率。部件电路12A中的活动量可能低于当功率管理机制中的每一者被完全启用时可能发生的全部潜在活动量,在这种情况下,话权请求可能高于严格必需的。然而,提供话权请求可确保在执行全部活动量的情况下提供足够的功率。在一个实施方案中,话权请求还可基于由部件电路12A消耗的泄漏功率(例如,在部件电路12A中使用期间由不活动晶体管经历的泄漏电流乘以到部件电路12A的供电电压)。
在一个实施方案中,在部件电路12A中实际发生的活动量小于当reduce1输入被断言时可能的全部活动量的情况下,功率请求可小于话权请求。在一个实施方案中,如果功率请求小于话权请求,则功率分流器电路10可被配置为分配功率请求而不是话权请求。在另一个实施方案中,即使当话权请求高于功率请求时仍然可分配话权请求,作为防止功率请求过低的保护(例如,如果来自电路14A的DPE部分的功率估计不准确)。
在一个实施方案中,话权请求可相对不频繁地改变。例如,话权请求可随温度变化而变化,这与请求和分配功率的频率相比可能相对缓慢地发生。当对部件电路12A进行功率状态改变时,可改变话权请求,这可增加或减少部件电路12A的供电电压和时钟频率。因为话权请求不频繁地改变,所以相应速率控制电路20A-20N与功率分流器电路10之间的物理互连件(例如,布线)可通过共享用于传输功率请求和话权请求的相同物理互连件来减少。即,物理互连件可包括共享总线以传输功率请求和话权请求。在这种情况下,相应速率控制电路20A-20F可被配置为选择相应功率请求和相应话权请求中的一者以在给定时间点在共享总线上传输。
图3是示出用以传输针对速率控制电路20A/部件电路12A的功率请求和话权请求的共享物理互连件的示例的框图。其他速率控制电路20B-20F/部件电路12B-12F可以是类似的。在例示的实施方案中,DPE/PC电路14A可提供DPE功率估计和话权请求,并且可从速率控制电路20A接收reduce0和reduce1输入,类似于上文关于图2的讨论。速率控制电路20A可接收分配的功率的指示,并且经由减少的输出报告功率减少,类似于上文关于图2的讨论。部件电路12A可包括多路复用器(mux)电路30以在来自速率控制电路20A的功率请求与话权请求之间进行选择,并且可在共享的请求/话权总线上将选择的请求传输到功率分流器电路10。速率控制电路20A可生成用于mux 30的mux选择控制,其可作为请求/话权总线上(或在请求/话权总线旁边)的额外位/信号来提供以识别已经传输功率请求还是话权请求。
速率控制电路20A可采用任何机制来在功率请求与话权请求之间进行选择以传输到功率分流器电路10。例如,速率控制电路20A可被配置为基于话权请求的近期最后(mostrecent)传输之后话权请求的变化来选择话权请求。速率控制电路20A可被配置为基于功率请求的近期最后传输之后功率请求的变化来选择功率请求。速率控制电路20A可被配置为基于在功率请求的近期最后传输之后功率请求没有变化并且在话权请求的近期最后传输之后话权请求没有变化来选择话权请求和功率请求中的近期最先(least recently)传输的一者。功率分流器电路10可被配置为使用先前接收到的请求作为针对功率请求和话权请求中未被选择的一者的当前请求(例如,基于由速率控制电路20A提供的选择指示,该选择指示指示选择了话权请求和功率请求中的哪一个)。
在一个实施方案中,系统可支持两个或更多个部件电路12A-12F的级联,共享相同的功率和话权请求。图4是示出其中将部件电路12A和12B级联的实施方案的示例。具有用于请求和话权的共享总线的类似于图3的实施方案可以类似的方式支持级联。部件电路12A可以是初级电路,并且因此可具有到功率分流器电路10的接口(例如,话权请求和功率请求以及分配的功率指示)。速率控制电路20A也可被配置为控制到DPE/PC电路14A的reduce0和reduce1输出,该reduce0和reduce1输出也可被提供给部件电路12B中的DPE/PC电路14B。DPE/PC电路14B可向速率控制电路20B提供DPE功率估计,该速率控制电路可将DPE功率估计转发到速率控制电路20A。另选地,DPE/PC电路14B可直接向速率控制电路20A提供DPE功率估计。速率控制电路20A可基于来自DPE/PC电路14A和DPE/PC电路14B两者的DPE功率估计来生成功率请求。在一个实施方案中,部件电路12A至12B可以是相同基础设计的实例,使得由速率控制电路20A生成的话权请求可以是来自DPE/PC 14A的话权请求的两倍。另选地,DPE/PC电路14B可通过速率控制电路20B向速率控制电路20A提供话权请求,或者可直接向速率控制电路20A提供话权请求。级联部件电路12A-12B可减少用于功率分流器电路10的接口的数量,并且减少将物理接口布线到实现该系统的半导体管芯上的潜在不同位置的复杂性。
图5是更详细地示出的功率分流器电路10的一个实施方案的框图。在例示的实施方案中,功率分流器电路10可包括预算生成电路40、最高分流控制电路42、第二级别分流控制电路44、分发剩余部分电路46、传输电路48、遥测累积电路50继而D2D共享控制电路52。预算生成电路40耦接到D2D共享控制电路52和最高分流控制电路42,并且耦接到一个或多个功率状态输入。最高分流控制电路耦接到寄存器18A并且耦接到第二级别分流控制电路44,该第二级别分流控制电路耦接到来自部件电路12A-12F的功率请求和话权请求(并且更具体地耦接到速率控制电路20A-20F)、寄存器18B-18N和分发剩余部分电路46。分发剩余部分电路46耦接到传输电路48,该传输电路耦接到部件12A-12F(并且更具体地速率控制电路20A-20F)以提供分配的功率指示。D2D共享控制电路52耦接到D2D接口电路24,并且遥测累积电路50耦接到来自部件12A-12F(并且更具体地速率控制电路20A-20F)的减少的信号。
功率状态输入可提供指示来自系统中各种电源的可用功率量的信息。例如,功率管理器电路可以是部件电路12A-12F中的一者,并且可基于由功率管理器管理的各种功率状态以及来自电压调节器和/或控制电压调节器的外部功率管理单元的其他部分的输入来指示可用功率量。如果由于电压调节器的过载等而检测到任何欠压事件,则输入可提供关于调节器的负载的信息。基于这些输入和可编程配置数据,预算生成电路可被配置为生成可用功率量的指示,该可用功率量被表示为例如功率额度的数量,其中每个功率额度表示特定功率量(例如,瓦特数量)。预算生成电路40可将可用预算提供给最高分流控制电路42。
最高分流控制电路42可被配置为例如根据部件电路类型在部件电路的各个群组之间对功率预算进行分流。来自寄存器18A的最高分流策略可控制分流,从而指定将分配给例如CPU处理器、GPU处理器、某些特定外围设备和系统的剩余部分的可用功率的百分比。虽然在指定最高分流策略时可获得相当大的灵活性,但是至少针对每个部件电路12A-12F的最低功率量应当经由策略可获得以确保正确操作。在一个实施方案中,功率分流器电路10可被配置为推翻该策略以提供最低功率量。即,如果根据该策略给部件电路的给定群组分配的功率太少而不能向该群组的成员提供最低功率量,则功率分流器电路10可确保部件电路接收最低功率量(或者如果低于最低功率量,则接收请求量)。
第二级别控制电路44可从最高分流控制电路42接收最高级别功率分配,并且可基于寄存器18B-18N中的部件策略以及来自每个部件电路的功率请求和话权请求在相应群组中的部件电路之间分配每个最高级别分配。
因为第二级别功率分流至少部分地基于各种部件电路的功率请求来确定,所以可能存在来自一个或多个最高级别群组的未分配的功率的剩余部分。可由分发剩余部分电路46分发未分配的功率。在一个实施方案中,如果一个群组具有剩余功率额度并且另一个群组由于缺少额度而不能满足所有的功率请求,则剩余功率额度可作为额外的额度被分发给缺少功率额度的群组中的部件电路。另选地,剩余额度可被划分并且作为额外的额度未经请求地传输到各种部件电路。在另一个实施方案中,剩余额度可被分发到D2D共享控制电路52以用于与另一个管芯共享。也可实现上述分发策略的组合(例如,经由D2D共享控制电路52向另一个管芯分发作为未经请求的额度的剩余部分以及作为共享额度的剩余部分的另一部分)。
分配的功率额度可被提供给传输电路48,该传输电路可被配置为将分配的功率额度传输到部件电路12A-12F。在一个实施方案中,传输电路48可实现延迟匹配,使得物理上更靠近功率分流器电路10的部件电路与物理上更远离功率分流器电路10的部件电路12A-12F几乎同时地接收它们的功率分配。例如,每个功率分配可被延迟到对应部件电路12A-12F的实际传输延迟与到部件电路12A-12F中最远的一者的传输延迟之间的差(例如,以时钟周期的粒度)。
遥测累积电路50可被配置为累积来自每个部件电路12A-12F的减少的指示,用于比较和其他分析以潜在地修改例如寄存器18A-18N中的分流策略。遥测累积电路50可包括计数器以对减少信号断言进行计数,并且计数器可以是软件可读的。
D2D共享控制电路52可耦接到D2D接口24。如果功率分流器电路10确定存在可与另一管芯共享的未使用的额度,则D2D共享控制电路52可被配置为将该额度传输到D2D接口电路24。另外,如果另一管芯与当前管芯共享额度,则D2D共享控制电路52可被配置为从D2D接口电路24接收共享的额度,并且可将其提供给预算生成电路40以添加到功率预算。
图6是速率控制电路20A的一个实施方案的更详细框图。其他速率控制电路20B-20F可能是类似的。在例示的实施方案中,速率控制电路20A包括DPE处理电路60、减少控制电路62和比例/积分(PI)控制电路64。DPE处理电路60耦接到减少控制电路62和PI控制电路64。
DPE处理电路60可被配置为从DPE/PC电路20A接收DPE功率估计,并且任选地可从级联配置(图6中的虚线)中的另一DPE/PC电路接收DPE功率估计。DPE/PC电路20A可被配置为将接收到的DPE功率估计相加(并且如果不使用来自另一个部件电路的DPE功率估计则为零)(加法器电路66),从而产生要由速率控制电路20A服务的DPE功率估计。DPE功率估计可被输出以可能供另一个速率控制电路使用,例如,在部件电路12A被级联到另一个部件电路12B-12F的情况下,其中另一部件电路12B-12F是初级电路。DPE处理电路60也可从功率分流器电路10接收分配的功率指示,并且可被配置为从分配的功率中减去由加法器64输出的DPE功率估计(加法器电路68)。该差值可以是剩余功率额度的度量,连同来自加法器66的DPE功率一起可被提供给PI控制电路64以及提供给减少控制电路62。在一个实施方案中,可将剩余功率额度添加到来自先前分配的累积的一组功率额度中,并且结果可以是可供对应部件电路使用的功率额度的总数。当对应部件电路的工作负载出现突然增加时,累积的额度可防止用完功率额度,而从速率控制电路到功率分流器以及返回的往返延迟招致潜在地分配更多额度以支持增加的工作负载。如果没有足够的额度可用于分配给增加的工作负载,则减少的功率消耗可随后由减少控制电路62实施。在累积额度的实施方案中,累积额度可被提供给PI控制电路64来代替剩余功率额度。
减少控制电路62可将剩余功率额度提供给比较器电路70和72,该比较器电路可分别将剩余功率额度与阈值1和0进行比较。如果剩余功率额度下降到阈值0以下(比较器72),则减少控制电路可被配置为断言reduce0。如果剩余功率额度下降到阈值1以下(比较器70),则减少控制电路可被配置为断言reduce1。在一个实施方案中,减少控制电路62可被配置为向比较器结果施加滞后,使得减少信号不被快速连续地断言/取消断言(例如,以平滑减少结果)。如果reduce0和reduce1信号中的一者或两者被断言,则减少控制电路62还可向功率分流器电路10断言减少的输出。根据该实施方案,话权请求也可由速率控制电路20A接收并传递到mux 30或功率分流器电路10。
PI控制电路64可被配置为对来自加法器电路66的DPE功率和/或来自加法器68的差(或如上所述的累积的额度)进行操作,以生成来自速率控制电路20A的功率请求。在该示例中,可使用比例/积分控制功能。比例控制可应用于DPE功率估计,并且积分控制可应用于从DPE处理电路60提供的差,或者反之亦然。控制操作的结果可以是功率请求。虽然在该实施方案中提供了PI控制,但是其他实施方案可实现其他控制操作数,包括比例、积分和/或导数控制以及其他控制选项中的一者或多者以及它们的组合。
需注意,在一个实施方案中,DPE处理电路60和减少控制电路62可在部件电路12A的时钟域中操作,并且PI控制电路64可在功率分流器电路10的时钟域中操作。例如,在一个实施方案中,功率分流器电路10可在通常比部件电路12A-12F慢的时钟上操作(例如,对于功率分流器电路10在几十兆赫(MHz)的量级上,而对于部件电路12A-12F在高达千兆赫(GHz)的量级上)。因此,在速率控制电路20A内(例如,在PI控制电路64与DPE处理电路60/减少控制电路62之间的边界处)可存在时钟域交叉。由功率分流器电路10进行的功率分配因此可以是针对功率分流器时钟的一个时钟周期分配的功率,并且功率请求和话权请求可以针对下一个时钟周期。
图7是示出功率分流器电路10的一个实施方案的操作的简化视图的流程图。然而,为了便于理解,框以特定顺序示出,也可使用其他顺序。框可由功率分流器电路10内的组合式逻辑并行执行。框、框的组合和/或流程图作为一个整体可在多个时钟周期内为流水线式的。功率分流器电路10可被配置为实现图7所示的操作。
功率分流器电路10可被配置为确定要分配的功率预算(框80)。例如,功率预算可基于各种功率态功率状态输入,如上文所讨论的。功率预算可基于各种可编程值(例如,初始预算),该可编程值可基于功率状态输入来修改。例如,功率状态输入可指示功率减少是由外部(集成电路的外部)硬件诸如功率管理单元请求的,即使系统上硬件尚未检测到问题。在此类情况下,功率分流器电路10可减少预算。在一个实施方案中,第一级别电压调节器可在少于最大数量的相有效(例如,单相模式)的情况下操作,并且功率分流器电路10可基于减少的相数量可支持的负载电流来减少预算(例如,可提供减少的预算以对应于减少的相数量,并且功率分流器电路可基于指示减少的相模式有效的输入来切换到减少的预算。在一个实施方案中,初始预算可通过在使用期间控制软件而被编程为不同值(例如,在已经被测试并且已知是安全的预定义范围内,并且该预定义范围可由功率分流器电路10硬件实施)。控制软件可修改预算以减少或消除导致预算减少的功率状态输入的发生,这可提高总效率。
功率分流器电路10可分配额度以满足话权请求(框82)。如先前所提及的,在一些实施方案中,话权请求可由较低功率请求覆盖,并且替代地,较低功率请求额度可以是分配。在话权分配之后剩余的功率预算额度可基于最高级别分流优先级来分配(框84),并且然后可基于第二级别策略和功率请求来分配给各种部件电路(框86)。
需注意,上述额度的分配在某种程度上被简化,并且可如所描述的那样或以不同的方式来实现。例如,可根据最高分流来分配额度,并且然后将该额度分配给第二级别下的话权和功率请求。如果在第二级别下没有足够的额度分配用于所有话权请求,则可添加附加额度(例如,从储备池,或者从将来的额度借入高达预先确定的最大量)以满足话权请求。可使用任何机制。
如果没有来自由框80、82、84和86表示的分配的剩余额度(决策框88,“否”分支),则可针对该迭代结束分配。如果存在剩余额度(决策框88,“是”分支),则功率分流器电路10可被配置为尝试分发剩余额度。如果启用了D2D共享(例如,系统是多管芯系统,并且在一些情况下,可经由可编程配置来选择性地启用D2D共享)(决策框90,“是”分支),则功率分流器电路10可将额度推送到另一管芯(框92)。在一些情况下,可共享少于所有的剩余额度。例如,可存在对可共享的额度数量的可编程限制,或者可共享剩余额度的百分比。可使用用于确定要共享的额度数量的任何机制。
剩余额度(如果有的话)可与从另一管芯共享的任何额度一起累积以在后续分配中使用(框94)。可累积的剩余额度的数量可以是有限的(例如,可编程限制)。超过该限制的任何额度将被“溢出”(例如,因为没有额度的分配并且没有累积而丢失)。如果要溢出额度(决策框96,“是”分支),则功率分流器电路10可将额度未经请求地推送到速率控制电路20A-20F,因为它们可能是潜在有用的(框98)。如果速率控制电路20A-20F不能够分配额度,则它们可能被溢出。
图8是示出给定速率控制电路20A-20F的一个实施方案的操作的简化视图的流程图。然而,为了便于理解,框以特定顺序示出,也可使用其他顺序。框可由给定速率控制电路20A-20F内的组合式逻辑并行执行。框、框的组合和/或流程图作为一个整体可在多个时钟周期内为流水线式的。给定速率控制电路20A-20F可被配置为实现图8所示的操作。在一个实施方案中,每个速率控制电路20A-20F可基于来自功率分流器电路10的相应分配的功率额度并行实现图8所示的操作。因此,图8的描述将简单地参考“速率控制电路”。
速率控制电路可被配置为从接收自功率分流器电路10的分配的功率指示减去DPE功率估计(如果适用的话,包括任何级联的部件电路)(框100)。速率控制电路可被配置为将结果与阈值进行比较,并且可被配置为生成reduce0、reduce1和减少的信号(框102)。速率控制电路可被配置为将PI控制应用于DPE功率估计和剩余部分以生成功率请求(框104)。如果从将话权请求发送到功率分流器电路的近期最后时间起话权请求已改变(决策框106,“是”分支),则速率控制电路可被配置为选择话权请求并且将话权请求发送到功率分流器电路10(框108)。如果从传输话权请求的近期最后时间起话权请求没有改变(决策框106,“否”分支)并且从传输功率请求的近期最后时间起功率请求已改变(决策框110,“是”分支),则速率控制电路可被配置为选择功率请求并将功率请求发送到功率分流器电路10(框112)。如果两者都没有改变(决策框106和110,“否”分支),则速率控制电路可选择话权请求和功率请求中近期最先发送的一者,并且可将选择的请求发送到功率分流器电路10(框114)。由框106、108、110、112和114示出的操作可针对共享的功率请求/话权请求接口来实现。具有用于功率请求和话权请求的单独总线的实施方案可消除框106、108、110、112和114的操作。
图9是包括耦接到存储器122和功率管理单元(PMU)124的片上系统(SOC)120的系统的一个实施方案的框图。PMU 124可被配置为向SOC 120和可包括在系统中其他部件诸如存储器122供电。例如,PMU 124可被配置为生成一个或多个供电电压,以向SOC 120供电,并且可进一步被配置为生成用于系统的其他部件(图9中未示出)的供电电压。更具体地,PMU124可包括一个或多个第一级别电压控制器,该一个或多个第一级别电压控制器供应第二级别电压控制器,该第二级别电压控制器供应SOC 120的各个独立电压域。
顾名思义,SOC 120的部件可集成到单个半导体基板上作为集成电路“芯片”。在例示的实施方案中,SOC 120的部件包括至少一个处理器集群148、多个图形处理单元(GPU)136、一个或多个外围部件(诸如外围部件138(更简要地说,“外围设备”))、存储器控制器142、功率管理电路(PMGR)144和通信结构147。部件148、136、138、142和144可全部耦接到通信结构147。存储器控制器142在使用期间可耦接到存储器122。在一些实施方案中,可存在耦接到对应存储器的多于一个存储器控制器。在此类实施方案中,存储器地址空间可以任何期望的方式跨存储器控制器进行映射。在例示的实施方案中,处理器集群148可包括多个处理器(P)150。处理器150可形成SOC 120的中央处理单元(CPU)。处理器集群148还可包括一个或多个协处理器(例如,图9中的协处理器152),该一个或多个协处理器可针对处理器指令集的子集而优化,并且可由处理器150使用以执行子集中的指令。例如,协处理器152可以是经优化以执行向量和矩阵运算的矩阵引擎。
在该实施方案中,存储器控制器142、通信结构147、外围设备138、GPU 136和处理器集群148都可以是部件电路12A-12F的实例。因此,如图所示,存储器控制器142、通信结构147、外围设备138、GPU 136和处理器集群148各自包括DPE/PC电路14和速率控制电路20的实例。存储器控制器142、通信结构147、外围设备138、GPU 136和处理器集群148的任何子集在其他实施方案中可以是部件电路。PMGR 144可包括功率分流器电路10,并且D2D接口电路24可以是通信结构147的一部分。
图9中的各种部件电路可以是不同类型的部件电路,并且因此实现的功率管理机制可变化。例如,处理器集群148中的DPE/PC 14可采用机制,诸如,去激活处理器150中的一者或多者和/或去激活处理器150中的一个或多个管线。可降低指令发布速率,在管线中插入气泡,使得对应电路系统不主动评估每个周期。可使用一个或多个功率管理机制的任何集合。类似地,GPU 136可减少活动管线的数量、限制指令发布速率和/或实现任何其他功率管理机制,诸如时钟操纵(时钟抖动、时钟划分等)。
PMGR 144可被配置为控制从外部PMU 124请求的供电电压量值。对于各个独立功率域,可存在由PMU 124针对SOC 120生成的多个供电电压。PMGR 144可处于直接软件控制下(例如,软件可直接请求部件的上电和/或下电)和/或可被配置为监测SOC 120并确定何时将各个部件上电或下电。可经由PMGR 144来控制部件内的各种功率状态(例如,处理器150的功率状态)以及功率状态的变化排序、不同的请求电压和频率等。
如上所述,处理器集群148可包括可用作SOC 120的CPU的一个或多个处理器150。系统的CPU包括执行系统的主要控制软件(诸如操作系统)的一个或多个处理器。通常,由CPU在使用期间执行的软件可控制系统的其他部件,以实现系统的期望的功能。处理器还可执行其他软件诸如应用程序。应用程序可提供用户功能,并且可依靠操作系统进行下层设备控制、调度、存储器管理等。因此,处理器也可被称为应用处理器。
通常,处理器可包括被配置为执行在由处理器实施的指令集架构中定义的指令的任何电路系统和/或微码。处理器可涵盖在具有作为片上系统(SOC 120)或其他集成水平的其他部件的集成电路上实现的处理器核心。处理器还可包括离散的微处理器、处理器内核和/或集成到多芯片模块具体实施中的微处理器、被实施为多个集成电路的处理器等等。
存储器控制器142通常可包括用于从SOC 120的其他部件接收存储器操作并用于访问存储器122以完成存储器操作的电路系统。存储器控制器142可被配置为访问任何类型的存储器122。例如,存储器122可以是静态随机存取存储器(SRAM)、诸如包括双倍数据速率(DDR、DDR2、DDR3、DDR4等)DRAM的同步DRAM(SDRAM)的动态RAM(DRAM)。可支持DDR DRAM的低功率/移动版本(例如,LPDDR、mDDR等)。存储器控制器142可包括存储器操作队列,以用于对这些操作进行排序(并且潜在地重排序)并且将这些操作呈现给存储器122。存储器控制器142还可包括用于存储等待写入存储器的写数据和等待返回至存储器操作来源的读取数据的数据缓冲器。在一些实施方案中,存储器控制器142可包括用于存储近期访问的存储器数据的存储器高速缓存。例如,在SOC具体实施中,存储器高速缓存可通过在预期很快要被再次访问的情况下避免从存储器122重新访问数据来降低SOC中的功率消耗。在一些情况下,存储器高速缓存也可被称为系统高速缓存,其与私有高速缓存诸如L2高速缓存或处理器中的高速缓存不同,该私有高速缓存只服务于某些部件。另外,在一些实施方案中,系统高速缓存不需要位于存储器控制器142内。
外围设备138可以是包括在SOC 120中的附加硬件功能的任何集合。例如,外围设备138可包括视频外围设备,诸如被配置为处理来自相机或其他图像传感器的图像捕获数据的图像信号处理器、视频编码器/解码器、扩展器、旋转器、混合器、显示控制器等。外围设备可包括音频外围设备,诸如麦克风、扬声器、到麦克风和扬声器的接口、音频处理器、数字信号处理器、混合器等。外围设备可包括用于SOC 120外部的各种接口的接口控制器,包括诸如通用串行总线(USB)、包括PCI Express(PCIe)的外围部件互连(PCI)、串行和并行端口等接口。到外部设备的互连由图9中延伸到SOC 120外部的虚线箭头示出。外围设备可包括联网外围设备诸如介质访问控制器(MAC)。可包括任何一组硬件。
通信结构147可以是用于在SOC 120的部件之间进行通信的任何通信互连件和协议。通信结构147可以是基于总线的,包括共享总线配置、交叉开关配置和具有桥的分层总线。通信结构147也可以是基于分组的,并且可以是具有桥的分层、交叉开关、点到点或其他互连件。
需注意,SOC 120的部件的数量(以及图9所示的那些部件的子部件(诸如每个处理器集群148中的处理器150)的数量)可因实施方案而异。另外,当包括多个处理器集群时,一个处理器集群148中的处理器150的数量可不同于另一处理器集群148中的处理器150的数量。每个部件/子部件的数量可多于或少于图9所示的数量。
根据上述内容,集成电路的一个实施方案可包括功率管理器电路,该功率管理器电路包括功率分流器电路;多个部件电路;和一个或多个处理器集群。给定处理器集群可包括:多个处理器;数字功率估计(DPE)电路,该DPE电路耦接到该多个处理器并且被配置为估计在该多个处理器中消耗的功率;和速率控制电路,该速率控制电路耦接到该多个处理器。功率分流器电路可被配置为从针对集成电路的功率预算来向多个部件电路和一个或多个处理器集群分配功率。功率分流器电路可被配置为将分配给给定处理器集群的功率的指示传送到速率控制电路。速率控制电路可被配置为基于分配的功率的指示以及基于来自DPE电路的估计的功率消耗来管理对应部件电路中的功率消耗。给定处理器集群还可包括功率控制电路,该功率控制电路被配置为基于请求减少的功率消耗的一个或多个输入来限制多个处理器的功率消耗。速率控制电路可被配置为使用一个或多个输入来管理功率消耗。
图10是包括示出的多个SOC 120A-120D的系统的一个实施方案的框图。每个SOC120A-120D包括功率分流器电路10和D2D接口电路24。SOC 120A-120B由第一级别电压调节器(VR)160(通过第二级别电压调节器,图10中未示出)供电,并且SOC 120C-120D由第一级别电压调节器162(通过第二级别电压调节器,图10中未示出)供电。因为SOC 120A-120B共享相同的第一级别电压调节器160,所以功率分流器电路10可共享额度并且仍然保护第一基本电压调节器160的容量。类似地,SOC 120C-120D共享相同的第一级别电压调节器162,功率分流器电路10可共享额度并且仍然保护第一基本电压调节器162的容量。在图10中经由虚线164和166示出了可能的共享,尽管如上所述,通信实际上可在D2D接口电路24上进行。在一个实施方案中,SOC 120A-120B也可通过D2D接口与SOC 120C-120D通信,但是可不共享功率额度。需注意,虽然两个SOC(120A-120B或120C-120D)被示出为共享额度,但是在其他实施方案中,多于两个SOC可共享额度。例如,如果多于两个SOC共享相同的第一级别电压调节器,则那些SOC可共享额度。
因此,在一个实施方案中,系统可包括在相应半导体基板上实现的多个集成电路(例如,SOC)。多个集成电路可经由芯片间互连件来耦接。多个集成电路中的相应集成电路包括多个部件电路,其中多个部件电路中的相应部件电路包括相应速率控制电路。相应集成电路还可包括耦接到多个部件电路的功率分流器电路。功率分流器电路可被配置为基于针对相应集成电路的功率预算来向多个部件电路分配功率。相应速率控制电路可被配置为生成相应功率请求和相应话权请求,其中相应话权请求指示对应部件电路将消耗的最小功率量。功率分流器电路可被配置为确保多个部件电路接收至少等于相应话权请求的功率分配,并且被配置为基于功率分流策略和相应功率请求来分配剩余功率预算。功率分流器电路可被配置为通过芯片间互连件将剩余功率预算的未分配的部分的指示传输到多个集成电路中的另一个集成电路中的功率分流器电路。在一个实施方案中,相应集成电路中的功率分流器电路被配置为从多个集成电路中的另一个集成电路中的功率分流器电路接收剩余功率预算的未分配的部分的第二指示,并且其中功率分流器电路可被配置为在后续功率分配中包括未分配的部分。在一个实施方案中,系统可包括多个电压调节器,其中多个电压调节器中的给定电压调节器被配置为将功率供应到多个集成电路的子集。该子集中的相应集成电路中的功率分流器电路可被配置为在该子集之中传输未分配的部分的指示。
现在转向图11,示出了示出方法的一个实施方案的流程图。在一个实施方案中,该方法可包括由功率分流器电路将功率分配给多个部件电路(框170)。多个部件电路中的给定部件电路被包括在多个独立功率域中的一者中,并且多个部件电路包括各相应速率控制电路。该方法还可包括将分配的功率的相应指示从功率分流器电路传送到相应速率控制电路(框172)。该方法还可包括基于提供给相应速率控制电路的分配的功率的相应指示,由相应速率控制电路管理多个部件电路中的功率消耗(框174)。在一个实施方案中,给定部件电路可包括功率控制电路,该功率控制电路被配置为基于请求减少的功率消耗的一个或多个输入来限制给定部件电路内的一个或多个电路的功率消耗。管理多个部件电路中的功率消耗可包括由相应速率控制电路使用一个或多个输入。在一个实施方案中,使用一个或多个输入可包括使用一个或多个输入中的第一输入请求第一级别的减少的功率消耗;以及使用一个或多个输入中的第二输入请求第二级别的减少的功率消耗,其中该第二级别比该第一级别减少得更多。在一个实施方案中,请求第一级别的减少的功率消耗可基于分配的功率的剩余量下降到第一阈值以下。在一个实施方案中,请求第二级别的减少的功率消耗可基于分配的功率的剩余量下降到第二阈值以下。
图12是示出方法的另一个实施方案的流程图。在一个实施方案中,该方法可包括由系统中的多个部件电路中的相应部件电路中的相应速率控制电路来生成针对系统中的功率分流器电路的相应功率请求和相应话权请求(框180)。相应话权请求可指示能够由对应部件电路消耗的最小功率量。该方法还可包括由功率分流器电路将功率分配给多个部件电路(框182)。该分配可包括确保多个部件电路接收至少等于相应话权请求和相应功率请求中的最小值的功率的分配;以及基于功率分流策略和相应功率请求来分配剩余功率预算。在一个实施方案中,多个部件电路中的给定部件电路可包括功率控制电路,该功率控制电路被配置为引起给定部件电路中的减少的功率消耗,并且针对给定部件电路的相应话权请求可基于功率控制电路能够引起的最大减少的功率消耗量。在一个实施方案中,给定部件电路可在使用期间经历不活动晶体管中的泄漏电流,并且针对给定部件电路的相应话权请求还可基于通过泄漏电流消耗的泄漏功率。在一个实施方案中,多个部件电路中的给定部件电路中的功率分流器电路与相应速率控制电路之间的物理互连件可包括共享总线以传输相应功率请求和相应话权请求,并且该方法还可包括选择相应功率请求和相应话权请求中的一者以在共享总线上传输。在一个实施方案中,选择相应功率请求和相应话权请求中的一者以在共享总线上传输可包括:基于在相应话权请求的近期最后传输之后相应话权请求中的变化来选择相应的话权请求。基于在相应功率请求的近期最后传输之后相应功率请求中的变化来选择相应功率请求;以及基于在相应功率请求的近期最后传输之后相应功率请求没有变化并且在相应话权请求的近期最后传输之后相应话权请求没有变化来选择相应话权请求和相应功率请求中的近期最先传输的一者。
计算机系统
接下来转向图13,示出了系统700的一个实施方案的框图。在例示的实施方案中,系统700包括耦接到一个或多个外围设备704和外部存储器702的片上系统(SOC)706的至少一个实例。提供了电源(PMU)708,其向SOC 706供应供电电压以及向存储器702和/或外围设备704供应一个或多个供电电压。在一些实施方案中,可包括SOC的多于一个实例(并且也可包括多于一个存储器702)。在一个实施方案中,存储器702可包括图9所示的存储器122。在一个实施方案中,SOC 706可以是图9所示的SOC 120的实例。在一个实施方案中,PMU 708可包括图9所示的PMU 124,并且在一个实施方案中可包括图10所示的电压调节器160和162。
根据系统700的类型,外围设备704可包括任何期望的电路系统。例如,在一个实施方案中,系统704可以是移动设备(例如,个人数字助理(PDA)、智能电话等),并且外围设备704可包括用于各种类型的无线通信的设备,诸如Wi-Fi、蓝牙、蜂窝、全球定位系统等。外围设备704还可包括额外存储装置,该额外存储装置包括RAM存储装置、固态存储装置或磁盘存储装置。外围设备704可包括用户接口设备,诸如显示屏,其包括触摸显示屏或多触摸显示屏、键盘或其他输入设备、麦克风、扬声器等。在其他实施方案中,系统700可为任何类型的计算系统(例如,台式个人计算机、膝上型电脑、工作站、网络机顶盒等)。
外部存储器702可包括任何类型的存储器。例如,外部存储器702可以为SRAM、动态RAM(DRAM)(诸如同步DRAM(SDRAM))、双倍数据速率(DDR、DDR2、DDR3等)SDRAM、RAMBUSDRAM、低功率版本的DDR DRAM(例如,LPDDR、mDDR等)等等。外部存储器702可以包括存储器设备可被安装到的一个或多个存储器模块,诸如单列直插存储器模块(SIMM)、双列直插存储器模块(DIMM)等。另选地,外部存储器702可以包括以芯片上芯片或封装上封装具体实施被安装在SOC 706上的一个或多个存储器设备。
如图所示,系统700被展示为具有在广泛领域中的应用。例如,系统700可用作台式计算机710、膝上型计算机720、平板电脑730、蜂窝或移动电话740或电视750(或耦接到电视的机顶盒)的芯片、电路系统、部件等的一部分。还示出了智能手表和健康监视设备760。在一些实施方案中,智能手表可包括各种通用计算相关功能。例如,智能手表可提供对电子邮件、手机服务、用户日历等的访问。在各种实施方案中,健康监视设备可以是专用医疗设备或以其他方式包括专用的健康相关功能。例如,健康监视设备可监视用户的生命体征、跟踪用户与其他用户的接近度以用于流行病学社交距离的目的、联系人跟踪、在发生健康危机的情况下向紧急服务部门提供通信等。在各种实施方案中,上述智能手表可包括或可不包括一些或任何健康监视相关功能。还设想了其他可穿戴设备,诸如围绕颈部佩戴的设备、可植入人体中的设备、被设计成提供增强和/或虚拟现实体验的眼镜,等等。
系统700还可用作基于云的服务770的一部分。例如,先前提及的设备和/或其他设备可访问云端中的计算资源(即,远程定位的硬件和/或软件资源)。更进一步地,系统700可用于家庭的除先前提到的那些设备之外的一个或多个设备中。例如,家用电器可监视和检测值得注意的情况。例如,家中的各种设备(例如,冰箱、冷却系统等)可监视设备的状态,并且在检测到特定事件的情况下向房主(或例如维修机构)提供警报。另选地,恒温器可监视家中的温度,并且可基于由房主对各种情况的反应历史来自动化调整加热/冷却系统。图13中还例示了系统700对各种交通运输方式的应用。例如,系统700可用于飞机、火车、公共汽车、出租用汽车、私人汽车、从私人船只到游轮的水运船、(用于出租或私有的)小型摩托车等的控制和/或娱乐系统。在各种情况下,系统700可用于提供自动化引导(例如,自驾驶车辆)、一般系统控制等。这些任何许多其他实施方案都是可能的并且被设想到的。需注意,图13所示的设备和应用仅为例示性的,并非旨在进行限制。其他设备是可能的并且被设想到的。
计算机可读存储介质
现在转向图14,示出了计算机可读存储介质800的一个实施方案的框图。一般来讲,计算机可访问存储介质可包括在使用期间能够被计算机访问以向计算机提供指令和/或数据的任何存储介质。例如,计算机可访问存储介质可包括诸如磁性或光学介质的存储介质,例如,盘(固定或可拆卸)、带、CD-ROM、DVD-ROM、CD-R、CD-RW、DVD-R、DVD-RW或蓝光。存储介质还可包括易失性或非易失性存储器介质,诸如RAM(例如,同步动态RAM(SDRAM)、Rambus DRAM(RDRAM)、静态RAM(SRAM)等)、ROM或闪存存储器。存储介质可被物理地包括在存储介质将指令/数据提供至其的计算机内。另选地,存储介质可连接至计算机。例如,存储介质可通过网络或无线链路诸如网络附接存储装置而被连接至计算机。存储介质可通过外围接口诸如通用串行总线(USB)而被连接。通常,计算机可访问存储介质800可以非暂态方式存储数据,其中非暂态在该上下文中可指不通过信号传输指令/数据。例如,非暂态存储装置可为易失性的(并且响应于断电而可能会丢失所存储的指令/数据)或为非易失性的。
图14中的计算机可访问存储介质800可存储表示SOC 120的数据库804。一般来讲,数据库804可以是可由程序读取并且直接或间接用于制造包括SOC 120的硬件的数据库。例如,数据库可以是诸如Verilog或VHDL的高级设计语言(HDL)中硬件功能的行为级别描述或寄存器传送级别(RTL)描述。可通过合成工具读取该描述,合成工具可合成该描述以产生包括来自合成库的门电路列表的网表。网表包括一组门电路,其还表示包括SOC 120的硬件的功能。然后可放置并路由网表,以产生用于描述要应用到掩模的几何形状的数据集。然后可在各种半导体制造步骤中使用掩膜以产生对应于SOC 120的一个或多个半导体电路。另选地,根据需要,计算机可访问存储介质800上的数据库804可以是网表(具有或不具有合成库)或数据集。
虽然计算机可访问存储介质800存储SOC 10的表示,但其他实施方案可根据需要承载SOC 120的任何部分的表示,包括图9所示的部件的任何子集。数据库804可表示上述任何部分。
***
本公开包括对“实施方案”或“实施方案”的组(例如,“一些实施方案”或“各种实施方案”)的引用。实施方案是所公开概念的不同具体实施或实例。对“实施方案”、“一个实施方案”、“特定实施方案”等的引用并不一定是指相同的实施方案。设想了大量可能的实施方案,包括具体公开的那些,以及落入本公开的实质或范围内的修改或替代。
本公开可讨论可由所公开的实施方案产生的潜在优点。并非所有这些实施方案的具体实施都将必然表现出任何或所有潜在优点。特定具体实施是否实现了优点取决于许多因素,其中一些因素在本公开的范围之外。事实上,存在许多原因导致落入权利要求范围内的具体实施可能不表现出任何所公开的优点中的一些或全部。例如,特定具体实施可包括在本公开的范围之外的其他电路系统,结合所公开的实施方案中的一个实施方案,该其他电路否定或减弱一个或多个所公开的优点。此外,特定具体实施(例如,具体实施技术或工具)的次优设计执行也可能否定或减弱所公开的优点。即使假设有技术的具体实施,优点的实现仍可取决于其他因素,诸如部署具体实施的环境情况。例如,提供给特定具体实施的输入可防止本公开中解决的一个或多个问题在特定场合发生,结果可能无法实现其解决方案的益处。考虑到本公开外部的可能因素的存在,本文所述的任何潜在优点都不应理解为是为了证明侵权行为而必须满足的权利要求限制。相反,此类潜在优点的识别旨在示出受益于本公开的设计者可用的一种或多种改进类型。永久性地描述此类优点(例如,陈述特定优点“可能出现”)并非旨在传达关于此类优点实际上是否可被实现的疑问,而是认识到此类优点的实现通常取决于附加因素的技术现实。
除非另行指出,否则实施方案是非限制性的。也就是说,所公开的实施方案并非旨在限制基于本公开起草的权利要求的范围,即使仅针对特定特征描述单个示例的情况下也是如此。本发明所公开的实施方案旨在为示例性的而非限制性的,而无需在本公开中进行任何相反的陈述。因此本申请意在允许涵盖所公开实施方案的权利要求、以及此类替代形式、修改形式和等价形式,这对知晓本公开有效效果的本领域技术人员将是显而易见的。
例如,本申请中的特征可以任何合适的方式组合。因此,在本专利申请(或要求享有其优先权的专利申请)进行期间可针对特征的任何此类组合作出新的权利要求。具体地讲,参照所附权利要求,从属权利要求的特征在适当的情况下可与其他从属权利要求的特征组合,包括从属于其他独立权利要求的权利要求。类似地,在适当的情况下,可组合来自相应独立权利要求的特征。
因此,虽然所附从属权利要求可撰写成使得每个从属权利要求从属于单个其他权利要求,但也可设想附加从属关系。可设想符合本公开的从属特征的任何组合,并且这些组合可在本专利申请或另一专利申请中受权利要求书保护。简而言之,组合不限于所附权利要求中具体列举的那些。
在适当的情况下,还设想以一种格式或法定类型(例如,装置)起草的权利要求旨在支持另一种格式或法定类型(例如,方法)的对应权利要求。
***
因为本公开是法律文件,所以各种术语和短语可受到管理和司法解释的约束。特此给出公告,以下段落以及贯穿本公开提供的定义将用于确定如何解释基于本公开起草的权利要求。
除非上下文另有明确规定,否则对单数形式的项目的引用(即,前面有“一个”、“一种”或“该”的名词或名词短语)旨在表示“一个或多个”。因此,在不伴随上下文的情况下,对权利要求中的“项目”的引用并不排除该项目的附加实例。“多个”项目是指两个或更多个项目的集合。
词语“可”在本文中在允许的意义上(即,具有潜在可能的,能够的)进行使用,而不是在强制意义上(即,必须)进行使用。
术语“包含”和“包括”及其形式是开放式的,并且意指“包括但不限于”。
当在本公开中相对于选项列表使用术语“或”时,除非上下文另有提供,否则一般将理解为以包含性意义使用。因此,表述“x或y”等同于“x或y,或两者”,因此涵盖1)x但不是y,2)y但不是x,以及3)x和y两者。另一方面,短语诸如“x或y中的任一者,但不是两者都”使得清楚“或”以排他性意义使用。
表述“w、x、y或z,或它们的任何组合”或“...w、x、y和z中的至少一者”旨在涵盖涉及最多至该集合中元件总数的单个元件的所有可能性。例如,给定集合[w,x,y,z],这些短语涵盖集合中的任何单个元素(例如,w但不是x、y或z)、任何两个元素(例如,w和x,但不是y或z)、任何三个元素(例如,w、x和y,但不是z)以及所有四个元素。短语“...w、x、y和z中的至少一者”因此是指集合[w,x,y,z]中的至少一个元素,从而涵盖该元素列表中的所有可能的组合。该短语不应被解释为要求存在w的至少一个实例、x的至少一个实例、y的至少一个实例和z的至少一个实例。
在本公开中,各种“标签”可先于名词或名词短语。除非上下文另有提供,否则用于特征(例如,“第一电路”、“第二电路”、“特定电路”、“给定电路”等)的不同标签是指特征的不同实例。除此之外,除非另有说明,否则标签“第一”、“第二”和“第三”在应用于特征时并不暗示任何类型的排序(例如,空间、时间、逻辑等)。
短语“基于”或用于描述影响确定的一个或多个因素。此术语不排除可能有附加因素可影响确定。也就是说,确定可仅基于指定的因素或基于所指定的因素及其他未指定的因素。考虑短语“基于B确定A”。此短语指定B是用于确定A的因素或者B影响A的确定。此短语并不排除A的确定也可基于某个其他因素诸如C。此短语也旨在覆盖A仅基于B来确定的实施方案。如本文所用,短语“基于”与短语“至少部分地基于”是同义的。
短语“响应于”和“响应”描述了触发效应的一个或多个因素。该短语不排除附加因素可影响或以其他方式触发效应的可能性,这些因素与指定因素联合使用或独立于指定因素。也就是说,效果可以仅仅响应于这些因素,或者可以响应于指定的因素以及其他未指定的因素。考虑短语“响应于B执行A”。该短语指定B是触发A的执行或触发A的特定结果的因素。该短语不排除执行A也可能响应于某些其他因素,诸如C。该短语也不排除执行A可响应于B和C而联合执行。此短语也旨在覆盖A仅响应于B而执行的实施方案。如本文所用,短语“响应”与短语“至少部分地响应于”是同义的。类似地,短语“响应于”与短语“至少部分地响应于”是同义的。
***
在本公开内,不同实体(其可被不同地称为“单元”、“电路”、其他部件电路等)可被描述或声称成“被配置为”执行一个或多个任务或操作。此表达方式—被配置为[执行一个或多个任务]的[实体]—在本文中用于指代结构(即,物理的事物)。更具体地,此表达方式用于指示此结构被布置成在操作期间执行一个或多个任务。结构可被说成“被配置为”执行某个任务,即使该结构当前并非正被操作。因此,被描述或表述为“被配置为”执行某个任务的实体指代用于实施该任务的物理的事物,诸如设备、电路、具有处理器单元的系统和存储有可执行程序指令的存储器等。此短语在本文中不被用于指代无形的事物。
在一些情况下,各种单元/电路/部件电路在本文中可被描述为执行一组任务或操作。应当理解,这些实体“被配置为”执行那些任务/操作,即使没有具体指出。
术语“被配置为”并不旨在意指“可配置为”。例如,未编程的FPGA不会被认为是“被配置为”执行特定功能。然而,该未编程的FPGA可以“可配置为”执行该功能。在适当编程之后,FPGA然后可认为“被配置为”执行特定功能。
出于基于本公开的美国专利申请的目的,在权利要求中陈述结构“被配置为”执行一个或多个任务明确地旨在对该权利要求要素不援引35U.S.C.§112(f)。如果申请人在基于本公开的美国专利申请的申请过程中想要援引112(f)部分,则其将使用“用于[执行功能]的装置”结构来表述权利要求的要素。
在本公开中可描述不同的“电路”。这些电路或“电路系统”构成硬件,该硬件包括各种类型的电路元件,诸如组合逻辑、时钟存储设备(例如,触发器、寄存器、锁存器等)、有限状态机、存储器(例如,随机存取存储器、嵌入式动态随机存取存储器)、可编程逻辑阵列等。电路系统可以是定制设计的,或取自标准库。在各种具体实施中,电路系统可视情况包括数字部件电路、模拟部件电路或两者的组合。某些类型的电路可通常被称为“单元”(例如,解码单元、算术逻辑单元(ALU)、功能单元、存储器管理单元(MMU)等)。此类单元也指电路或电路系统。
因此,在附图中示出并在本文中描述的所公开的电路/单元/部件电路和其他元件包括硬件元件,诸如前面段落中描述的那些硬件元件。在许多情况下,硬件元件在特定电路中的内部布置可通过描述该电路的功能来指定。例如,特定的“解码单元”可被描述为执行“处理指令的操作码并将该指令路由到多个功能单元中的一个或多个”的功能,这意味着解码单元“被配置为”执行该功能。对于计算机领域的技术人员而言,该功能规范足以暗示用于电路的一组可能的结构。
在各种实施方案中,如前述段落中所讨论的,电路、单元和由其被配置为实施的功能或操作定义的其他元件。相对于彼此的此类电路/单元/部件电路的布置以及它们进行交互的方式形成硬件的微架构定义,该硬件最终在集成电路中制造或被编程到FPGA中以形成微架构定义的物理具体实施。因此,微架构定义被本领域的技术人员认为是可导出许多物理具体实施的结构,所有这些物理具体实施均落入由微架构定义所描述的更广泛的结构中。即,具有根据本公开提供的微架构定义的技术人员可在没有过度实验的情况下并且利用普通技术人员的应用,通过以硬件描述语言(HDL)诸如Verilog或VHDL编码电路/单元/部件电路的描述来实现该结构。HDL描述常常以可显现为功能性的方式来表达。但是对于本领域的技术人员而言,该HDL描述是用于将电路、单元或部件电路的结构转换为下一级具体实施细节的方式。此类HDL描述可采用以下形式:行为代码(其通常为不可合成的)、寄存器传输语言(RTL)代码(其与行为代码相比通常为可合成的)、或结构代码(例如,指定逻辑门及其连接性的网表)。可针对为给定集成电路制造技术设计的单元库来顺序地合成HDL描述,并可出于定时、功率和其他原因而被修改,以获得被传输到工厂以生成掩模并最终产生集成电路的最终的设计数据库。一些硬件电路或其部分也可在示意图编辑器中被定制设计并且与合成电路系统一起被捕获到集成电路设计中。该集成电路可包括晶体管和其他电路元件(例如,无源元件,诸如电容器、电阻器、电感器等),以及晶体管和电路元件之间的互连件。一些实施方案可实现耦接在一起的多个集成电路,以实现硬件电路,和/或可在一些实施方案中使用离散元件。另选地,HDL设计可被合成为可编程逻辑阵列诸如现场可编程门阵列(FPGA),并且可在FPGA中实现。一组电路的设计与这些电路的后续低级具体实施之间的这种解耦通常导致这样的情形:其中电路或逻辑设计者从来不指定超出对电路被配置为做什么的描述的用于低级具体实施的一组特定结构,因为该过程是在电路实施过程的不同阶段执行的。
可使用电路元件的许多不同低级组合来实现电路的相同规格的事实导致该电路的大量等效结构。如所指出的那样,这些低级电路具体实施可根据制造技术、被选择用于制造集成电路的铸造厂、为特定项目提供的单元库等的变化而变化。在许多情况下,通过不同设计工具或方法进行的产生这些不同具体实施的选择可以是任意的。
此外,对于给定实施方案,电路的特定功能规范的单个具体实施通常包括大量设备(例如,数百万个晶体管)。因此,该信息的剪切体积使得提供用于实现单个实施方案的低级结构的完整叙述是不切实际的,更不用说大量等同的可能具体实施。为此,本公开描述了使用工业中常用的功能简写的电路的结构。
基于以下编号的实施例中的一者或多者来设想附加实施方案:
1.一种系统,包括:
多个部件电路,其中所述多个部件电路中的相应部件电路包括相应速率控制电路;和
功率分流器电路,所述功率分流器电路耦接到所述多个部件
电路,其中:
所述功率分流器电路被配置为基于针对所述系统的功率预算来向所述多个部件电路分配功率;
所述相应速率控制电路被配置为生成针对所述功率分流器电路的相应功率请求和相应话权请求,其中所述相应话权请求指示能够由对应部件电路消耗的最小功率量;并且
所述功率分流器电路被配置为确保所述多个部件电路接收至少等于所述相应话权请求和所述相应功率请求中的最小值的功率的分配;并且
所述功率分流器电路被配置为基于功率分流策略和所述相应功率请求来分配剩余功率预算。
2.根据实施例1所述的系统,其中所述多个部件电路中的给定部件电路包括功率控制电路,所述功率控制电路被配置为引起所述给定部件电路中的减少的功率消耗,并且其中针对所述给定部件电路的所述相应话权请求基于所述功率控制电路能够引起的最大减少的功率消耗量。
3.根据实施例2所述的系统,其中所述给定部件电路在使用期间经历不活动晶体管中的泄漏电流,并且其中针对所述给定部件电路的所述相应话权请求还基于通过所述泄漏电流消耗的泄漏功率。
4.根据实施例1所述的系统,其中所述给定部件电路还包括数字功率估计(DPE)电路,所述DPE电路被配置为估计所述给定部件电路中的功率消耗,并且其中所述相应功率请求基于来自所述DPE电路的估计的功率消耗。
5.根据实施例4所述的系统,其中所述DPE电路被进一步配置为估计泄漏功率,并且配置为基于所述泄漏功率和所述最大减少的功率消耗量来提供所述相应话权请求。
6.根据实施例1至5中任一项所述的系统,其中所述多个部件电路中的给定部件电路中的所述功率分流器电路与所述相应速率控制电路之间的物理互连件包括共享总线以传输所述相应功率请求和所述相应话权请求,并且其中所述相应速率控制电路被配置为选择所述相应功率请求和所述相应话权请求中的一者以在所述共享总线上传输。
7.根据实施例6所述的系统,其中所述相应速率控制电路被配置为基于在所述相应话权请求的近期最后传输之后所述相应话权请求中的变化来选择所述相应话权请求。
8.根据实施例6或7所述的系统,其中所述相应速率控制电路被配置为基于所述相应功率请求的近期最后传输之后所述相应功率请求中的变化来选择所述相应功率请求。
9.根据实施例6至8中任一项所述的系统,其中所述相应速率控制电路被配置为基于在所述相应功率请求的所述近期最后传输之后所述相应功率请求没有变化并且在所述相应话权请求的所述近期最后传输之后所述相应话权请求没有变化来选择所述相应话权请求和所述相应功率请求中的近期最先传输的一者。
10.根据实施例6至9中任一项所述的系统,其中所述功率分流器电路被配置为使用先前接收到的请求作为针对所述相应功率请求和所述相应话权请求中的未选择的一者的当前请求。
11.根据实施例1至10中任一项所述的系统,其中所述功率分流策略包括第一级别策略,所述第一级别策略指定在相应类型的部件电路之间的所述剩余功率预算的分流。
12.根据实施例11所述的系统,其中所述功率分流策略包括第二级别策略,所述第二级别策略针对分配给给定类型的部件电路的量指定在所述给定类型的部件电路之间的所述量的分流。
13.一种系统,包括:
多个集成电路,所述多个集成电路在相应半导体基板上实现,其中所述多个集成电路经由芯片间互连件耦接,其中所述多个集
成电路中的相应集成电路包括:
多个部件电路,其中所述多个部件电路中的相应部件电路包括相应速率控制电路;和
功率分流器电路,所述功率分流器电路耦接到所述多个部件电路,其中:
所述功率分流器电路被配置为基于针对所述相应集成电路的功率预算来向所述多个部件电路分配功率;
所述相应速率控制电路被配置为生成相应功率请求和相应话权请求,其中所述相应话权请求指示能够由对应部件电路消耗的最小功率量;
所述功率分流器电路被配置为确保所述多个部件电路接收至少等于所述相应话权请求和所述相应功率请求中的最小值的功率的分配;
所述功率分流器电路被配置为基于功率分流策略和所述相应功率请求来分配剩余功率预算;并且所述功率分流器电路被配置为通过所述芯片间互连件将所述剩余功率预算的未分配的部分的指示传输到所述多个集成电路中的另一个集成电路中的所述功率分流器电路。
14.根据实施例13所述的系统,其中所述相应集成电路中的所述功率分流器电路被配置为从所述多个集成电路中的另一个集成电路中的所述功率分流器电路接收所述剩余功率预算的未分配的部分的第二指示,并且其中所述功率分流器电路被配置为在后续功率分配中包括所述未分配的部分。
15.根据实施例13或14所述的系统,还包括多个电压调节器,其中所述多个电压调节器中的给定电压调节器被配置为将功率供应到所述多个集成电路中的子集,并且其中所述子集中的所述相应集成电路中的所述功率分流器电路被配置为在所述子集之间传输所述未分配的部分的所述指示。
16.一种方法,包括:
由系统中的多个部件电路中的相应部件电路中的相应速率控制电路生成针对所述系统中的功率分流器电路的相应功率请求和相应话权请求,其中所述相应话权请求指示能够由对应部件电路消耗的最小功率量;以及
由所述功率分流器电路向所述多个部件电路分配功率,其中
所述分配包括:
确保所述多个部件电路接收至少等于所述相应话权请求和所述相应功率请求中的最小值的功率的分配;以及
基于功率分流策略和所述相应功率请求来分配剩余功率预算。
17.根据实施例16所述的方法,其中所述多个部件电路中的给定部件电路包括功率控制电路,所述功率控制电路被配置为引起所述给定部件电路中的减少的功率消耗,并且其中针对所述给定部件电路的所述相应话权请求基于所述功率控制电路能够引起的最大减少的功率消耗量。
18.根据实施例16或17所述的方法,其中所述给定部件电路在使用期间经历不活动晶体管中的泄漏电流,并且其中针对所述给定部件电路的所述相应话权请求还基于通过所述泄漏电流消耗的泄漏功率。
19.根据实施例16至18中任一项所述的方法,其中所述多个部件电路中的给定部件电路中的所述功率分流器电路与所述相应速率控制电路之间的物理互连件包括共享总线以传输所述相应功率请求和所述相应话权请求,并且所述方法还包括选择所述相应功率请求和所述相应话权请求中的一者以在所述共享总线上传输。
20.根据实施例19所述的方法,其中选择所述相应功率请求和所述相应话权请求中的一者以在所述共享总线上传输包括:
基于在所述相应话权请求的近期最后传输之后所述相应话权请求中的变化来选择所述相应话权请求;
基于在所述相应功率请求的近期最后传输之后所述相应功率请求中的变化来选择所述相应功率请求;以及
基于在所述相应功率请求的所述近期最后传输之后所述相应功率请求没有变化并且在所述相应话权请求的所述近期最后传输之后所述相应话权请求没有变化来选择所述相应话权请求和所述相应功率请求中的近期最先传输的一者。
一旦充分了解了上面的公开,许多变型和修改对于本领域的技术人员而言将变得显而易见。本公开旨在使以下权利要求书被阐释为包含所有此类变型和修改。
Claims (28)
1.一种系统,包括:
多个部件电路,其中所述多个部件电路中的给定部件电路被包括在多个独立功率域中的一者中,并且其中所述多个部件电路包括相应速率控制电路;和
功率分流器电路,所述功率分流器电路耦接到所述多个部件电路,其中:
所述功率分流器电路被配置为从针对所述系统的功率预算来向所述多个部件电路分配功率;
所述功率分流器电路被配置为将分配的功率的相应指示传送到所述相应速率控制电路;并且
所述相应速率控制电路被配置为基于提供给所述相应速率控制电路的所述分配的功率的相应指示来管理对应部件电路中的功率消耗。
2.根据权利要求1所述的系统,其中根据多个额度来表示所述分配的功率,其中给定额度表示指定的功率量,并且其中所述分配的功率的所述相应指示包括所述多个额度的数量。
3.根据权利要求1或2所述的系统,其中所述给定部件电路包括功率控制电路,所述功率控制电路被配置为基于请求减少的功率消耗的一个或多个输入来限制所述给定部件电路内的功率消耗,并且其中所述相应速率控制电路被配置为使用所述一个或多个输入来管理功率消耗。
4.根据权利要求3所述的系统,其中所述相应速率控制电路被配置为使用所述一个或多个输入中的第一输入来请求第一级别的减少的功率消耗,并且使用所述一个或多个输入中的第二输入来请求第二级别的减少的功率消耗,其中所述第二级别比所述第一级别减少得更多。
5.根据权利要求4所述的系统,其中所述相应速率控制电路被配置为基于所述分配的功率的剩余量下降到低于第一阈值来请求所述第一级别的减少的功率消耗。
6.根据权利要求5所述的系统,其中所述相应速率控制电路被配置为基于所述分配的功率的所述剩余量下降到低于第二阈值来请求所述第二级别的减少的功率消耗。
7.根据权利要求4至6中任一项所述的系统,其中所述第二级别启用由所述对应部件电路实现的一个或多个功率减少机制中的每一者。
8.根据权利要求3至7中任一项所述的系统,其中所述相应速率控制电路被配置为指示经由所述功率控制电路的减少的功率消耗已经被启用。
9.根据权利要求3至8中任一项所述的系统,其中所述给定部件电路包括数字功率估计(DPE)电路,所述DPE电路被配置为估计所述给定部件电路中的功率消耗并且将估计的功率消耗报告给所述相应速率控制电路,其中所述相应速率控制电路被配置为进一步基于所述估计的功率消耗来管理所述给定部件电路中的功率消耗。
10.根据权利要求9所述的系统,其中所述DPE电路被耦接到所述功率控制电路并且被配置为使得所述功率控制电路减少所述给定部件电路中的功率消耗。
11.根据权利要求1至10中任一项所述的系统,其中所述多个部件电路中的至少一者是包括多个处理器的处理器集群。
12.根据权利要求1至11中任一项所述的系统,其中所述多个部件电路中的至少一者是图形处理单元(GPU)。
13.根据权利要求1至12中任一项所述的系统,其中所述多个部件电路中的至少一者是外围部件电路。
14.根据权利要求1至13中任一项所述的系统,其中:
所述相应速率控制电路被配置为生成针对所述功率分流器电路的相应功率请求和相应话权请求,其中所述相应话权请求指示能够由所述对应部件电路消耗的最小功率量;并且
所述功率分流器电路被配置为确保所述多个部件电路接收至少等于所述相应话权请求和所述相应功率请求中的最小值的功率的分配;并且
所述功率分流器电路被配置为基于功率分流策略和所述相应功率请求来分配剩余功率预算。
15.根据权利要求14所述的系统,其中所述多个部件电路中的给定部件电路包括功率控制电路,所述功率控制电路被配置为引起所述给定部件电路中的减少的功率消耗,并且其中针对所述给定部件电路的所述相应话权请求基于所述功率控制电路能够引起的最大减少的功率消耗量。
16.根据权利要求15所述的系统,其中所述给定部件电路在使用期间经历不活动晶体管中的泄漏电流,并且其中针对所述给定部件电路的所述相应话权请求还基于通过所述泄漏电流消耗的泄漏功率。
17.根据权利要求14至16中任一项所述的系统,其中所述多个部件电路中的给定部件电路中的所述功率分流器电路与所述相应速率控制电路之间的物理互连件包括共享总线以传输所述相应功率请求和所述相应话权请求,并且其中所述相应速率控制电路被配置为选择所述相应功率请求和所述相应话权请求中的一者以在所述共享总线上传输。
18.根据权利要求17所述的系统,其中所述相应速率控制电路被配置为基于在所述相应话权请求的近期最后(most recent)传输之后所述相应话权请求中的变化来选择所述相应话权请求。
19.根据权利要求17或18所述的系统,其中所述相应速率控制电路被配置为基于所述相应功率请求的近期最后传输之后所述相应功率请求中的变化来选择所述相应功率请求。
20.根据权利要求17至19中任一项所述的系统,其中所述相应速率控制电路被配置为基于在所述相应功率请求的所述近期最后传输之后所述相应功率请求没有变化并且在所述相应话权请求的所述近期最后传输之后所述相应话权请求没有变化来选择所述相应话权请求和所述相应功率请求中的近期最先传输的(least recently transmitted)一者。
21.根据权利要求17至20中任一项所述的系统,其中所述功率分流器电路被配置为使用先前接收到的请求作为针对所述相应功率请求和所述相应话权请求中的未选择的一者的当前请求。
22.一种方法,包括:
由功率分流器电路向多个部件电路分配功率,其中所述多个部件电路中的给定部件电路被包括在多个独立功率域中的一者中,并且其中所述多个部件电路包括相应速率控制电路;
将分配的功率的相应指示从所述功率分流器电路传送到所述相应速率控制电路;以及
基于提供给所述相应速率控制电路的所述分配的功率的所述相应指示,由所述相应速率控制电路管理所述多个部件电路中的功率消耗。
23.根据权利要求22所述的方法,其中所述给定部件电路包括功率控制电路,所述功率控制电路被配置为基于请求减少的功率消耗的一个或多个输入来限制所述给定部件电路内的一个或多个电路的功率消耗,并且其中管理所述多个部件电路中的功率消耗包括由所述相应速率控制电路使用所述一个或多个输入。
24.根据权利要求23所述的方法,其中使用所述一个或多个输入包括:
使用所述一个或多个输入中的第一输入请求第一级别的减少的功率消耗;以及
使用所述一个或多个输入中的第二输入请求第二级别的减少的功率消耗,其中所述第二级别比所述第一级别减少得更多。
25.根据权利要求24所述的方法,其中请求所述第一级别的减少的功率消耗基于所述分配的功率的剩余量下降到低于第一阈值。
26.根据权利要求24或25所述的方法,其中请求所述第二级别的减少的功率消耗基于所述分配的功率的所述剩余量下降到低于第二阈值。
27.一种集成电路,包括:
功率管理器电路,所述功率管理器电路包括功率分流器电路;
多个部件电路;和
一个或多个处理器集群,其中给定处理器集群包括:
多个处理器,
数字功率估计(DPE)电路,所述DPE电路耦接到所述多个处理器并且被配置为估计在所述多个处理器中消耗的功率,和
速率控制电路,所述速率控制电路耦接到所述多个处理器;
其中:
所述功率分流器电路被配置为从针对所述集成电路的功率预算来向所述多个部件电路和所述一个或多个处理器集群分配功率,
所述功率分流器电路被配置为将分配给所述给定处理器集群的功率的指示传送到所述速率控制电路,并且
所述速率控制电路被配置为基于分配的功率的指示以及基于来自所述DPE电路的估计的功率消耗来管理对应部件电路中的功率消耗。
28.根据权利要求27所述的集成电路,其中所述给定处理器集群还包括功率控制电路,所述功率控制电路被配置为基于请求减少的功率消耗的一个或多个输入来限制所述多个处理器的功率消耗,并且其中所述速率控制电路被配置为使用所述一个或多个输入来管理功率消耗。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US63/247,854 | 2021-09-24 | ||
US17/573,274 | 2022-01-11 | ||
US17/573,274 US20230109984A1 (en) | 2021-09-24 | 2022-01-11 | Request and Floor Interface for Current Control with Correctness in an SOC |
US17/573,268 | 2022-01-11 | ||
PCT/US2022/042532 WO2023048930A1 (en) | 2021-09-24 | 2022-09-02 | Global integrated circuit power control |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117980862A true CN117980862A (zh) | 2024-05-03 |
Family
ID=90856767
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280064168.1A Pending CN117980862A (zh) | 2021-09-24 | 2022-09-02 | 全局集成电路功率控制 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117980862A (zh) |
-
2022
- 2022-09-02 CN CN202280064168.1A patent/CN117980862A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8924758B2 (en) | Method for SOC performance and power optimization | |
US9223383B2 (en) | Guardband reduction for multi-core data processor | |
US10452117B1 (en) | Processor energy management system | |
US11054882B2 (en) | Externally-triggered throttling | |
US10649922B2 (en) | Systems and methods for scheduling different types of memory requests with varying data sizes | |
US20240061617A1 (en) | Memory Bank Hotspotting | |
US11893413B2 (en) | Virtual channel support using write table | |
CN117980862A (zh) | 全局集成电路功率控制 | |
US20230109984A1 (en) | Request and Floor Interface for Current Control with Correctness in an SOC | |
US20230101217A1 (en) | Global Integrated Circuit Power Control | |
US11755331B2 (en) | Writeback hazard elimination using a plurality of temporary result-storage elements | |
CN117940908A (zh) | 动态分配高速缓存存储器作为ram | |
KR20230170049A (ko) | 다이-대-다이 동적 클록 및 전력 게이팅 | |
WO2023048930A1 (en) | Global integrated circuit power control | |
US11513848B2 (en) | Critical agent identification to modify bandwidth allocation in a virtual channel | |
US11960341B2 (en) | Power delivery reduction scheme for SoC | |
US11822411B2 (en) | Telemetry push aggregation | |
US11893241B1 (en) | Variable hit latency cache | |
US11741009B1 (en) | Request ordering in a cache | |
US11900146B2 (en) | Memory controller with separate transaction table for real time transactions | |
US11740993B2 (en) | Debug trace of cache memory requests | |
US11467988B1 (en) | Memory fetch granule | |
US20230239252A1 (en) | Segment to Segment Network Interface | |
US20230064369A1 (en) | Configurable Interface Circuit | |
CN117897672A (zh) | 带有具有减少数量的相的功率源模式的片上系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication |