CN117136344A - 自适应动态时钟和电压缩放 - Google Patents
自适应动态时钟和电压缩放 Download PDFInfo
- Publication number
- CN117136344A CN117136344A CN202280021541.5A CN202280021541A CN117136344A CN 117136344 A CN117136344 A CN 117136344A CN 202280021541 A CN202280021541 A CN 202280021541A CN 117136344 A CN117136344 A CN 117136344A
- Authority
- CN
- China
- Prior art keywords
- idle
- threshold
- subsystem
- frequency
- processing
- 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
- 230000003044 adaptive effect Effects 0.000 title claims description 27
- 238000012545 processing Methods 0.000 claims abstract description 304
- 238000000034 method Methods 0.000 claims description 46
- 238000005259 measurement Methods 0.000 claims description 21
- 238000005070 sampling Methods 0.000 claims description 13
- 230000001537 neural effect Effects 0.000 claims description 9
- 238000004891 communication Methods 0.000 description 11
- 230000015654 memory Effects 0.000 description 10
- 238000013528 artificial neural network Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 230000002411 adverse Effects 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000001143 conditioned effect Effects 0.000 description 1
- 230000003750 conditioning effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 229920001690 polydopamine Polymers 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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/3234—Power saving characterised by the action undertaken
- G06F1/3287—Power saving characterised by the action undertaken by switching off individual functional units in the computer system
-
- 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/3243—Power saving in microcontroller unit
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R21/00—Arrangements for measuring electric power or power factor
- G01R21/133—Arrangements for measuring electric power or power factor by using digital technique
-
- 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/3228—Monitoring task completion, e.g. by use of idle timers, stop commands or wait commands
-
- 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/324—Power saving characterised by the action undertaken by lowering clock frequency
-
- 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
-
- 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 Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Power Engineering (AREA)
- Power Sources (AREA)
- Microcomputers (AREA)
Abstract
在两个或更多个流水线子系统中,处理核芯空闲的相对时间量可以被确定。如果空闲比率低于阈值,则时钟频率和电压可以基于功率限制,使用动态时钟和电压缩放(DCVS)来调整。但是,如果空闲比率超过阈值,则时钟频率和电压可以在不考虑功率限制的情况下被降低。
Description
背景技术
移动或便携式计算设备(“PCD”)通常包括移动电话、笔记本电脑、掌上电脑和平板电脑、便携式数字助理(“PDA”)、便携式游戏机和其它便携式电子设备。PCD通常包含集成电路或片上系统(“SoC”),集成电路或片上系统包括被设计用于一起工作来向用户提供功能的许多组件或子系统。例如,SoC可以包含任意数量的处理引擎,诸如中央处理器(“CPU”)、图形处理单元(“GPU”)、数字信号处理器(“DSP”)、神经处理单元(“NPU”)、无线收发器单元(也被称为调制解调器)等。
由于PCD由电池供电,功率管理是重要的考虑因素。“功率管理”是指被用于平衡PCD中的功耗和性能以及管理热能(即,热量)生成的技术。动态时钟和电压缩放(“DCVS”)是动态调整(即,响应于操作条件的变化,实时调整)处理器进行操作的频率和电压,以在功耗和性能水平之间提供期望的平衡或权衡的技术。当低功耗比高性能具有更高的优先级时,时钟频率和电压可以被降低,并且当高性能比低功耗具有更高的优先级时,时钟频率和电压可以增加。
系统可以包括流水线子系统,其中一个子系统的输出充当另一子系统的输入。如果一个子系统处理数据的速度比另一子系统快得多,则可能发生流水线子系统的潜在问题(通常被称为瓶颈)。将DCVS施加于流水线子系统可能会带来各种挑战。
发明内容
公开了用于自适应功率控制的系统、方法、计算机可读介质和其它示例。自适应功率控制的各方面可以包括流水线子系统中的自适应DCVS。
用于自适应功率控制的示例性方法可以包括确定处理子系统的空闲频率,处理子系统可以具有一个或多个处理核芯。示例性方法还可以包括将空闲频率与阈值进行比较。示例性方法还可以包括如果空闲频率不小于阈值,则降低向第一处理子系统供应的时钟频率和电压中的至少一者。
用于自适应功率控制的示例性系统可以包括空闲监视器系统、限制管理控制器和DCVS管理控制器,其均与处理子系统相关联,处理子系统可以具有一个或多个处理核芯。限制管理控制器可以被配置为使用由空闲监视器系统提供的信息来确定处理子系统的空闲频率。限制管理控制器还可以被配置为将空闲频率与阈值进行比较。第一DCVS管理控制器可以被配置为如果空闲频率不小于阈值,则降低向处理子系统供应的时钟频率和电压中的至少一者。
用于自适应功率控制的另一示例性系统可以包括用于确定处理子系统的空闲频率的装置,处理子系统可以具有一个或多个处理核芯。示例性系统还可以包括用于将空闲频率与阈值进行比较的装置。示例性系统还可以包括如果空闲频率不小于阈值,则降低向处理子系统供应的时钟频率和电压中的至少一者的装置。
用于多管芯封装件中的自适应功率控制的示例性系统可以包括第一空闲监控系统、第一限制管理控制器和第一DCVS管理控制器,其均被包括在与第一处理子系统相关联的第一管芯中。示例性系统还可以包括第二空闲监视器系统、第二限制管理控制器和第二DCVS管理控制器,其均被包括在与第二处理系统相关联的第二管芯中。第一处理系统和第二处理系统可以以流水线布置来耦合。第一处理系统和第二处理系统各自可以包括一个或多个处理核芯。第一限制管理控制器可以被配置为使用由第一空闲监视器系统提供的信息来确定第一处理子系统的第一空闲频率。第一限制管理控制器还可以被配置为将第一空闲频率与阈值进行比较。第一DCVS管理控制器可以被配置为如果第一空闲频率不小于阈值,则降低向第一处理子系统供应的时钟频率和电压中的至少一者。类似地,第二限制管理控制器可以被配置为使用由第二空闲监视器系统提供的信息来确定第二处理子系统的第二空闲频率。第二限制管理控制器还可以被配置为将第二空闲频率与阈值进行比较。第二DCVS管理控制器可以被配置为如果第二空闲频率不小于阈值,则降低向第二处理子系统供应的时钟频率和电压中的至少一者。
附图说明
在附图中,除非另有说明,否则贯穿各种视图,相同的附图标记指代相同的部分。对于具有字母字符名称(诸如,“102A”或“102B”)的附图标记,字母字符名称可以区分同一图中存在的两个相似的部分或元素。当附图标记旨在涵盖所有附图中具有相同附图标记的所有部件时,可以省略附图标记的字母字符名称。
图1是图示了根据示例性实施例的具有被配置用于自适应DCVS的流水线子系统的系统的框图。
图2是图示了根据示例性实施例的被配置用于自适应DCVS的处理子系统的框图。
图3是图示了根据示例性实施例的自适应DCVS方法的流程图。
图4是图示了DCVS方法的流程图。
图5是图示了根据示例性实施例的用于自适应DCVS的另一方法的流程图。
图6是根据示例性实施例的PCD的框图。
具体实施方式
本文中使用的词语“示例性”表示“用作示例、实例或例示”。词语“例示性”在本文中可以与“示例性”同义使用。本文中被描述为“示例性”的任何方面不一定被解释为比其他方面优选或有利。
如图1所示,被配置用于自适应功率控制的系统100可以包括第一处理子系统102和第二处理子系统104。第一处理子系统102和第二处理子系统104可以以流水线布置被耦合。即,数据路径106将第一处理子系统102的输出耦合到第二处理子系统104的输入。第一处理子系统102可以经由输入数据路径108接收输入数据并处理该输入数据。由第一处理子系统102处理所产生的数据经由数据路径106提供给第二处理子系统104,第二处理子系统对该数据进行处理。由第二处理子系统104处理所产生的数据经由数据路径110提供并形成系统100的输出。
第一处理子系统102和第二处理子系统104可以是任何类型,诸如例如神经网络处理器。第一处理子系统102可以是神经网络的第一级或分区,并且第二处理子系统104可以是神经网络的第二级或分区。系统100可以是例如机器学习加速器设备,诸如多管芯封装件。第一处理子系统102和第二处理子系统104可以分别是多管芯封装件的第一管芯和第二管芯(即,半导体芯片)。在该示例性实施例中,数据路径106因此是管芯间连接或链路。
系统功率控制器112可以向第一处理子系统102提供功率输入(例如,电压轨)114和时钟信号输入116。类似地,系统功率控制器112可以向第二处理子系统104提供功率输入118和时钟信号输入120。尽管在该示例性实施例中,系统功率控制器112被包括在系统100中,但在其它实施例(未示出)中,这样的系统功率控制器可以在这样的系统的外部。例如,系统100可以是与系统功率控制器芯片耦合的片上系统(“SoC”)。同样,在其它实施例中,各种功率输入和时钟信号输入可以由单独的控制器而不是由相同的“系统”功率控制器来提供。
系统功率控制器112和第一处理子系统102可以被配置为经由双向第一通信路径122彼此通信。类似地,系统功率控制器112和第二处理子系统104可以被配置为经由双向第二通信路径124彼此通信。如下所述,系统功率控制器112与第一处理子系统102和第二处理子系统104之间的通信可以涉及调整系统功率控制器112经由相应的功率输入114和118提供给第一处理子系统102和第二处理子系统104的电压,以及调整系统功率控制器112经由相应的时钟信号输入116和120提供给第一处理子系统102和第二处理子系统104的时钟信号的频率。例如,第一处理系统102可以经由第一通信路径122向系统功率控制器112发送请求,以调整分别经由功率输入114和时钟信号输入116提供给第一处理子系统102的时钟频率和电压。类似地,第二处理系统104可以经由第二通信路径124向系统功率控制器112发送请求,以调整分别经由功率输入118和时钟信号输入120提供给第二处理子系统104的时钟频率和电压。
当第一处理子系统102和第二处理子系统104在各种特性方面(诸如处理速度(即,从输入到输出的单位时间内的信息)、功耗等)保持平衡时,与第一处理子系统102和第二处理子系统104在这些方面不平衡时相比,系统100可以产生更好的结果。除了由于第一处理子系统102和第二处理子系统104的处理配置引起的不平衡之外,还可能存在固有的不平衡,诸如半导体工艺变化(例如,最小电压、泄漏电流等)。如果第一处理子系统102和第二处理子系统104中的一个以比另一个慢得多的速率执行其处理,消耗比另一个显著更多的功率等,则整个系统100的性能可能会受到不利影响。在本文中描述的示例性实施例中,第一处理子系统102和第二处理子系统104包括可以减轻该潜在问题的特征。
常规流水线子系统中的上述不平衡在施加动态时钟和电压缩放(“DCVS”)方面提出了挑战。例如,如果常规的DCVS被独立地施加于两个常规流水线子系统中的每一个,使得每个子系统具有自己的功率预算(即,功率阈值),则能够最快地处理其工作负载的子系统将倾向于请求增加时钟频率和电压,直到该子系统的功耗达到该子系统的功率预算。较快的子系统的该行为,即,在达到功率阈值之前将自身驱动到越来越高的性能,可能会对整个系统的性能产生不利影响,因为处理该工作负载的子系统实际上成为瓶颈。以下描述的示例性实施例包括可以节制第一子系统102和第二子系统104中的任一个的性能水平明显快于另一子系统的性能水平,并且基于第一子系统102和第二子系统104之间分配的总功率预算来施加DCVS。
在图2中,子系统200图示了可以是上述第一子系统102和第二子系统104(图1)中的一个或两个的示例。示例性子系统200可以包括两个或更多个处理核芯202,诸如处理核芯202A、202B,至202N。子系统200还可以包括限制管理控制器204和DCVS管理控制器206。限制管理控制器204和DCVS管理控制器206各自可以包括任何类型的电路,诸如例如有限状态机、可通过软件或固件配置的基于处理器的电路等。子系统200还可以包括一个或多个存储器208。子系统200可以是管芯的形式。
子系统200可以包括一个或多个管芯间通信链路210。虽然在图2中未示出,但是一个或多个管芯间通信链路210可以被耦合到另一子系统中类似的管芯间通信链路,从而以与上述关于图1描述的类似方式在子系统200和另一子系统之间提供一个或多个数据路径。数据通信互连(例如,一个或多个总线或类似的数据路径)212可以被配置为使得处理核芯202、限制管理控制器204、DCVS管理控制器206、存储器208和通信链路210能够彼此通信。
每个处理核芯202可以包括空闲监视器214或以其它方式与其相关联。每个空闲监视器214可以被配置为确定其相关联的处理核芯202是否处于空闲状态或不空闲状态。处理核芯202是否空闲可以通过例如确定处理核芯202是否已完成了“批处理”的处理来确定,在一个实施例中,输入数据在“批处理”中被批量提供给处理核芯202,即,具有空闲监视器214已知的(批处理)大小的离散数据量。备选地,如果处理核芯202正在等待缓冲区可用性,以将其输出写入到管线中的下一处理子系统,则它可以是空闲的。处理核芯202可以提供以下指示(未示出):处理核芯202处于等待输入数据(例如,下一批处理)的状态和/或处理核芯202刚完成对数据的处理(即,前一批处理)和/或处理核芯202正在等待缓冲区可用性。备选地,处理核芯202是否空闲可以通过例如对由处理核芯202在时间间隔内执行的处理循环数进行计数并将该数与阈值进行比较来确定。在时间间隔内执行比阈值处理循环数少的处理核芯202可以被视为空闲。
每个空闲监视器214可以被配置为向管理控制器204发送指示,以指示其相关联的处理核芯202是否处于空闲或不空闲。这些指示使得限制管理控制器204能够确定每个处理核芯202的空闲状态。如下文关于示例性实施例的进一步详细描述,限制管理控制器204可以使用每个处理核芯202的空闲状态来确定空闲频率,空闲频率表示处理核芯202在时间间隔内集体空闲的程度。换言之,空闲频率表示子系统200的空闲程度(或相反地,表示活动程度)的度量。
虽然在图2所图示的示例性实施例中,每个空闲监视器214恰好与处理核芯202中的一个相关联,在其它实施例(未示出)中,任何其他类型的空闲监视器系统可以以任何其他方式与包括一个或多个处理核芯的处理子系统相关联。例如,在其它实施例中,集中式空闲监视器系统可以确定由限制管理控制器204用于确定一个或多个处理核芯的空闲频率的信息。同样,尽管在示例性实施例中,限制管理控制器204使用从各种空闲监视器214接收的指示来确定每个处理核芯202的空闲状态,但在其它实施例中,这样的限制管理控制器可以使用从空闲监视器系统或空闲监视器接收的不同类型的信息。
DCVS管理控制器206可以被配置为将DCVS施加于处理核芯202。施加DCVS是指调整向子系统200(并因此向处理核芯202)供应的时钟频率、电源电压或者时钟频率和电源电压的组合。在示例性实施例中,DCVS管理控制器206可以被配置为通过向系统功率控制器112(图1)发送DCVS调整请求来施加DCVS。响应于该请求,系统功率控制器112可以根据一个或多个其它测量结果,诸如所汲取的功率量,调整向具有请求DCVS管理控制器206的子系统200供应的时钟频率和电压。注意,在示例性实施例中,系统功率控制器112可以独立于从子系统102和104(图1)中的另一个子系统接收的请求来响应从子系统102和104中的每一个子系统接收的请求。
尽管在示例性实施例中,施加DCVS可以包括DCVS管理控制器206和系统功率控制器112(图1)之间的合作(例如,通信交换),但在其它实施例(未示出)中,DCVS管理控制器可以直接将DCVS施加于一个或多个处理核芯。例如,DCVS管理控制器可以通过使用子系统中的时钟分频器将处理核芯202从由系统时钟信号操作切换到由从系统时钟信号导出的分频时钟信号操作来直接施加DCVS。
在图3中,使用自适应DCVS进行自适应功率控制的方法300以流程图形式图示。方法300可以由例如由软件或固件配置的上述限制管理控制器204和DCVS管理控制器206(图2)来控制。如框302所示,限制管理控制器204可以清除(即,初始化为零)空闲计数和采样计数。如框304所示,限制管理控制器204可以从其相关联的空闲监视器214接收一个或多个处理核芯202(图2)中的每一个的空闲状态的指示。如框306所示,基于来自空闲监视器214的该信息,限制管理控制器204然后可以确定所有处理核芯202是否空闲。限制管理控制器204可以在每次进行由框306指示的确定时,递增采样计数。如果所有处理核芯202同时空闲,则限制管理控制器204可以递增上述参考空闲计数。
如框308所示,限制管理控制器204可以确定采样计数是否已达到限制或阈值。如果采样计数尚未达到该采样计数阈值,则方法300可以返回到上述框304并以迭代或循环方式对框304-306重复上述动作,直到采样计数达到采样计数阈值。
当已确定(框308)采样计数已达到采样计数阈值时,如框310所示,限制管理控制器204可以确定空闲比率。在该示例性实施例中,空闲比率可以通过将空闲计数除以采样计数来确定。方法300中使用的空闲比率是子系统空闲的空闲频率或度量的示例。在其它实施例中,空闲频率可以以其它方式来确定。
限制管理控制器204可以将空闲比率与一个或多个阈值进行比较来确定是施加DCVS,还是独立于这样的DCVS来降低时钟频率和电压(即,使得子系统节流)。例如,如框312所示,限制管理控制器204可以确定空闲比率是否小于第一阈值。如果确定空闲比率不小于第一阈值,则如框314所示,限制管理控制器204可以确定空闲比率是否小于第二阈值。如果确定空闲比率不小于第一阈值或第二阈值,则如框316所示,限制管理控制器204可以向DCVS管理控制器206发送降低时钟频率和电压的请求。
超过第一阈值和第二阈值的空闲比率指示子系统200非常频繁地处于空闲。子系统200可以非常频繁地处于空闲,因为在流水线系统中的另一子系统(如上文关于图1所述)完成其处理之前,子系统200频繁地完成其处理。在流水线系统中的另一子系统完成其处理之前频繁地完成其处理时,子系统200还可能比另一子系统消耗显著更多的功率。降低向子系统200供应的时钟频率和电压,当已确定子系统200非常频繁地空闲时,可以使得子系统200节流(即,减慢),并且因此改进整个系统的性能。
然而,如果确定(框312)空闲比率小于第一阈值,则如框318所示,限制管理控制器204可以施加DCVS。DCVS可以根据框318来施加。例如,限制管理控制器204可以向DCVS管理控制器206发送施加DCVS的请求。DCVS管理控制器206可以响应于来自限制管理控制器204的请求,向系统功率控制器112(图1)发送施加DCVS的请求。
在图4中,用于施加DCVS的方法400以流程图形式图示。方法400可以是根据上述框318(图3)来施加DCVS的示例。方法400可以由例如由软件或固件配置的上述系统功率控制器112来控制。如框402所示并再次简要参考图1,系统功率控制器112可以测量总封装功率,即,由于所有处理子系统102、104等的操作而由系统100作为一个整体所汲取的功率量。总封装功率可以通过各种方式测量。例如,系统功率控制器112可以测量在为子系统102和104供电的电压轨(即,功率输入114和118)上汲取的总电流。总电流与总封装功率有关。
如框404所示,系统功率控制器112可以将所测量的总封装功率与封装功率限制或阈值进行比较。如果确定(框404)总封装功率小于封装功率阈值,则如框406所示,系统功率控制器112可以增加系统功率控制器112向请求DCVS的子系统供应的时钟频率和电压。然而,如果确定(框402)总封装功率不小于封装功率阈值,则如框408所示,系统功率控制器112可以降低系统功率控制器112向请求DCVS的子系统供应的时钟频率和电压。
方法400仅旨在作为DCVS方法或算法的简单示例,其中确定如何调整时钟频率和电压是基于所测量的功率和功率阈值之间的比较。应当理解,本文提及DCVS或施加DCVS意味着时钟频率和/或电压基于涉及所测量的功率的比较(诸如所测量的功率与一个或多个功率阈值之间的比较)而进行调整。相反,请注意,以上关于框316(图3)描述的用于降低时钟频率和电压的请求,在不考虑(即,独立于)涉及所测量的功率的任何比较的情况下提出,这通常是DCVS算法的特性。相反,以上关于框316描述的用于降低时钟频率和电压的请求仅基于处理核芯202的集体空闲程度。
可以注意到,在不以方法300(图3)的框312和314中的一个或两个中的确定为条件的情况下,如果DCVS(例如,根据方法400)在流水线子系统的请求下被调用,则DCVS可以潜在地增大向较快子系统供应的时钟频率和电压,直到较快子系统消耗的功率达到封装功率阈值。但是,在空闲比率小于第一阈值(即,子系统很少空闲)的情况下,以施加DCVS为条件可以有助于避免该潜在问题。
再次参考图3,如果确定(分别为框312和314)空闲比率不小于第一阈值但小于第二阈值,则限制管理控制器204可以避免响应于这些确定的任何动作。即,在该示例性实施例中,限制管理控制器204既不请求DCVS(即,基于所测量的功率和阈值之间的比较来调整时钟频率和电压),也不请求时钟频率和/或电压的任何其它调整。第一阈值和第二阈值之间的空闲比率指示,子系统200相对于子系统200流水线连接的其他一个或多个子系统既不是非常频繁的空闲,也不是非常不频繁的空闲,而是基本与另一子系统一样频繁地空闲(即,同样频繁、稍微更频繁或稍微不频繁)。在该示例性实施例中,当空闲比率在第一阈值和第二阈值之间时,向子系统200供应的时钟频率和电压不需要被调整,因为没有一个流水线子系统阻碍整个系统的性能。
在图5中,用于自适应功率控制的方法500以流程图形式图示。如框502所示,包括一个或多个处理核芯的处理子系统的空闲频率可以被确定。如框504所示,空闲频率可以与一个或多个阈值进行比较。如框506所示,如果确定处理子系统的空闲频率不小于阈值,则向子系统供应的时钟频率和/或电压可以被降低。使用两个阈值的上述方法300(图3)可以是方法500的一个示例。
在一些实施例中,方法500可以被应用于两个或更多个流水线子系统中的每一个。同样,在一些实施例中,与一个或多个阈值的一个或多个比较可以确定是否施加DCVS。在每个子系统中,处理核芯空闲的相对时间量可以被确定。如果空闲比率低于阈值,则时钟频率和电压可以使用DCVS,即,基于功率限制来调整。但是,如果空闲比率超过阈值,则在不考虑功率限制的情况下,时钟频率和电压可以被降低。
在图6中,图示了可以提供自适应功率控制的系统、方法、计算机可读介质和其它示例的示例性实施例的PCD 600的示例。为清楚起见,图6中未示出一些数据总线、时钟信号、电源电压等。
PCD 600可以包括SoC 602。SoC 602可以包括CPU 604、GPU 606、DSP 607、模拟信号处理器608或其它处理器。CPU 604可以包括一个或多个CPU核芯,诸如第一CPU核芯604A、第二CPU核芯604B,至第N个CPU核芯604N。PCD 600还可以包括机器学习(“ML”)加速器605,其可以是多管芯封装件。ML加速器605可以是上述关于图1描述的系统100的示例。
显示控制器610和触摸屏控制器612可以被耦合到CPU 604。SoC 602外部的触摸屏显示器614可以被耦合到显示控制器610和触摸屏控制器612。PCD 600还可以包括与CPU604耦合的视频解码器616。视频放大器618可以被耦合到视频解码器616和触摸屏显示器614。视频端口620可以被耦合到视频放大器618。通用串行总线(“USB”)控制器622也可以被耦合到CPU 604,并且USB端口624可以被耦合到USB控制器622。用户识别模块(“SIM”)卡626也可以被耦合到CPU 604。
一个或多个存储器可以被耦合到CPU 604。一个或多个存储器可以包括易失性和非易失性存储器。易失性存储器的示例包括静态随机存取存储器(“SRAM”)628和动态RAM(“DRAM”)630和631。这样的存储器可以位于SoC 602的外部,诸如DRAM 630,也可以位于SoC602的内部,诸如DRAM 631。与CPU 604耦合的DRAM控制器632可以控制向DRAM 630和631写入数据以及从DRAM 630和631读取数据。在其它实施例中,这样的DRAM控制器可以被包括在诸如CPU 604的处理器内。
立体声音频CODEC 634可以被耦合到模拟信号处理器608。此外,音频放大器636可以被耦合到立体声音频CODEC 634。第一立体声扬声器638和第二立体声扬声器640可以被分别耦合到音频放大器636。附加地,麦克风放大器642可以被耦合到立体声音频CODEC634,并且麦克风644可以被耦合到麦克风放大器642。调频(“FM”)无线电调谐器646可以被耦合到立体声音频CODEC 634。FM天线648可以被耦合到FM无线电调谐器646。此外,立体声耳机650可以被耦合到立体声音频CODEC 634。可以与CPU 604耦合的其它设备包括一个或多个数字(例如,CCD或CMOS)相机652。
调制解调器或RF收发器654可以被耦合到模拟信号处理器608和CPU 604。RF开关656可以被耦合到RF收发器654和RF天线658。附加地,键盘660、具有麦克风的单声道耳机662和振动器设备664可以被耦合到模拟信号处理器608。
SoC 602可以具有一个或多个内部或片上热传感器670A并且可以被耦合到一个或多个外部或片外热传感器670B。模数转换器(“ADC”)控制器672可以将由热传感器670A和670B产生的电压降转换为数字信号。电源674和PMIC 676可以为SoC 602供电。
PCD 600仅是可以提供自适应功率控制的系统、方法、计算机可读介质和其它示例的示例性实施例的设备或系统的一个示例。其它示例可以包括其他类型的计算设备或计算系统,诸如在数据中心中使用的计算设备或计算系统。
固件或软件可以被存储在上述任何存储器中,诸如DRAM 630或631、SRAM 628等,或者可以被存储在由执行软件或固件的处理器硬件直接访问的本地存储器中。这样的固件或软件的执行可以控制上述任何方法的各方面或者配置任何上述系统的各方面。如该术语“计算机可读介质”在专利词典中所理解的,具有以计算机可读形式存储,以供处理器硬件执行的固件或软件的任何这样的存储器或其他非暂时性存储介质可以是“计算机可读介质”的示例。
备选实施例对于本发明所属领域的普通技术人员将变得显而易见。因此,尽管已详细图示和描述了选定的方面,但可以理解,其中可以进行各种替换和更改。
实现方式示例在以下编号的条款中进行描述:
1.一种用于自适应功率控制的方法,包括:
确定包括一个或多个处理核芯的第一处理子系统的第一空闲频率;
比较第一空闲频率与第一阈值;以及
如果第一空闲频率不小于第一阈值,则降低向第一处理子系统供应的时钟频率和电压中的至少一者。
2.根据条款1所述的方法,其中确定第一空闲频率包括:
确定第一子系统的多个处理核芯中的每个处理核芯的空闲状态;以及
基于处理核芯中的每个处理核芯的空闲状态来确定第一空闲频率。
3.根据条款2所述的方法,其中确定第一空闲频率还包括:
确定第一子系统的所有处理核芯是否同时空闲;
如果第一子系统的所有处理核芯同时空闲,则递增空闲计数;以及
重复确定第一子系统的所有处理核芯是否同时空闲,并且将空闲计数递增多个采样次数;
其中确定第一空闲频率包括确定空闲计数与采样次数的比率。
4.根据条款1所述的方法,还包括在第一空闲频率小于第一阈值时,基于功率,施加动态时钟和电压缩放(DCVS)。
5.根据条款1所述的方法,还包括:
如果第一空闲频率不小于第一阈值,则对第一空闲频率与第二阈值进行比较,其中第二阈值表示比第一阈值更大的空闲频率;
其中降低向第一处理子系统供应的时钟频率和电压中的至少一者包括如果第一空闲频率不小于第一阈值且第一空闲频率不小于第二阈值,则降低向第一处理子系统供应的时钟频率和电压中的至少一者。
6.根据条款4所述的方法,其中施加DCVS包括:
确定与第一处理子系统相关联的功率测量值;以及
如果功率测量值小于功率阈值,则增大向第一处理系统供应的时钟频率和电压中的至少一者。
7.根据条款1所述的方法,还包括:
确定与第一处理子系统以流水线布置耦合的第二处理子系统的第二空闲频率;
对第二空闲频率与第一阈值进行比较;以及
如果第二空闲频率不小于第一阈值,则降低向第二处理子系统供应的时钟频率和电压中的至少一者。
8.一种用于自适应功率控制的系统,包括:
第一空闲监视器系统,其与包括一个或多个处理核芯的第一处理子系统相关联;
第一限制管理控制器,其与第一处理子系统相关联,第一限制管理控制器被配置为:
使用由第一空闲监视器系统提供的信息,确定第一处理子系统的第一空闲频率;以及
对第一空闲频率与第一阈值进行比较;以及
第一动态时钟和电压缩放(DCVS)管理控制器,其被配置为如果第一空闲频率不小于第一阈值,则降低向第一处理子系统供应的时钟频率和电压中的至少一者。
9.根据条款8所述的系统,其中:
第一空闲监视器系统,其包括多个空闲监视器,每个空闲监视器与第一子系统的多个处理核芯中的一个相关联;
第一限制管理控制器,其被配置为使用由多个空闲监视器提供的信息来确定第一子系统的多个处理核芯中的每个处理核芯的空闲状态;以及
第一限制管理控制器,其被配置为基于第一子系统的处理核芯中的每个处理核芯的空闲状态来确定第一空闲频率。
10.根据条款9所述的系统,其中第一限制管理控制器还被配置为:
确定第一子系统的所有处理核芯是否同时空闲;
如果第一子系统的所有处理核芯同时空闲,则递增空闲计数;
重复确定第一子系统的所有处理核芯是否同时空闲并且将空闲计数递增多个采样次数;以及
通过确定空闲计数与采样次数的比率来确定第一空闲频率。
11.根据条款8所述的系统,其中第一DCVS管理控制器被配置为,如果第一空闲频率小于第一阈值,则基于功率,施加DCVS。
12.根据条款8所述的系统,其中:
第一限制管理控制器还被配置用于,如果空闲频率不小于第一阈值,则对第一空闲频率与第二阈值进行比较,其中第二阈值表示比第一阈值更大的空闲频率;并且
第一DCVS管理控制器被配置为,如果第一空闲频率不小于第一阈值且第一空闲频率不小于第二阈值,则降低向第一处理子系统供应的时钟频率和电压中的至少一者。
13.根据条款11所述的系统,其中第一DCVS管理控制器被配置为通过以下配置来施加DCVS:
确定与第一处理子系统相关联的功率测量值;以及
如果功率测量值小于功率阈值,则增大向第一处理系统供应的时钟频率和电压中的至少一者。
14.根据条款8所述的系统,还包括:
第二空闲监视器系统,其与第二处理子系统相关联,第二处理系统与第一处理系统以流水线布置进行耦合;
第二限制管理控制器,其与第二处理子系统相关联,第二限制管理控制器被配置为:
使用由第二空闲监视器系统提供的信息,确定第二处理子系统的第二空闲频率;以及
对第二空闲频率与第二阈值进行比较;以及
第二DCVS管理控制器,其被配置为,如果第二空闲频率不小于第一阈值,则降低向第二处理子系统供应的时钟频率和电压中的至少一者。
15.根据条款14所述的系统,其中第一处理系统包括多管芯封装件的第一集成电路管芯,并且第二处理系统包括多管芯封装件的第二集成电路管芯。
16.根据条款15所述的系统,其中:
第一处理子系统包括多个神经处理核芯;并且
第二处理子系统包括多个神经处理核芯。
17.一种用于自适应功率控制的系统,包括:
用于确定包括一个或多个处理核芯的第一处理子系统的第一空闲频率的装置;
用于比较第一空闲频率与第一阈值的装置;以及
用于如果第一空闲频率不小于第一阈值,则降低向第一处理子系统供应的时钟频率和电压中的至少一者的装置。
18.根据条款17所述的系统,其中用于确定第一空闲频率的装置包括:
用于确定第一子系统的多个处理核芯中的每个处理核芯的空闲状态的装置;以及
用于基于处理核芯中的每个处理核芯的空闲状态来确定第一空闲频率的装置。
19.根据条款18所述的系统,其中用于确定第一空闲频率的装置还包括:
用于确定第一子系统的所有处理核芯是否同时空闲的装置;
用于如果第一子系统的所有处理核芯同时空闲,则递增空闲计数的装置;以及
用于重复确定第一子系统的所有处理核芯是否同时空闲并且将空闲计数递增多个采样次数的装置;
其中用于确定空闲频率的装置包括用于确定空闲计数与采样次数的比率的装置。
20.根据条款17所述的系统,还包括如果第一空闲频率小于第一阈值,则基于功率,施加动态时钟和电压缩放(DCVS)的装置。
21.根据条款17所述的系统,还包括:
用于如果第一空闲频率不小于第一阈值,则对第一空闲频率和第二阈值进行比较的装置,其中第二阈值表示比第一阈值更大的空闲频率;
其中用于降低向第一处理子系统供应的时钟频率和电压中的至少一者的装置包括用于如果第一空闲频率不小于第一阈值且第一空闲频率不小于第二阈值,则降低向第一处理子系统供应的时钟频率和电压中的至少一者的装置。
22.根据条款20所述的系统,其中用于施加DCVS的装置包括:
用于确定与第一处理子系统相关联的功率测量值装置;以及
用于如果功率测量值小于功率阈值,则增大向第一处理系统供应的时钟频率和电压中的至少一者的装置。
23.根据条款17所述的系统,还包括:
用于确定与第一处理子系统以管线布置耦合的第二处理子系统的第二空闲频率的装置;
用于比较第二空闲频率与第一阈值的装置;以及
用于如果第二空闲频率不小于第一阈值,则降低向第二处理子系统供应的时钟频率和电压中的至少一者的装置。
24.一种用于以多管芯封装件进行自适应功率控制的系统,包括:
第一管芯中的第一空闲监视器系统,第一空闲监视器系统与第一管芯中的第一处理子系统相关联,第一处理系统包括一个或多个处理核芯;
第一管芯中的第一限制管理控制器,第一限制管理控制器与第一处理子系统相关联,第一限制管理控制器被配置为:
使用由第一空闲监视器系统提供的信息,确定第一处理子系统的空闲频率;以及
对第一空闲频率与第一阈值进行比较;
第一管芯中的第一动态时钟和电压缩放(DCVS)管理控制器,其被配置为,如果第一空闲频率不小于第一阈值,则降低向第一处理子系统供应的时钟频率和电压中的至少一者;以及
第二管芯中的第二空闲监视器系统,第二管芯与第一管芯以流水线布置进行耦合,第二空闲监视器系统与第二管芯中的第二处理子系统相关联,第二处理系统包括一个或多个处理核芯;
第二管芯中的第二限制管理控制器,第二限制管理控制器与第二处理子系统相关联,第二限制管理控制器被配置为:
使用由第二空间监视器系统提供的信息,确定第二处理子系统的第二空闲频率;以及
对第二空闲频率和第一阈值进行比较;
第二管芯中的第二DCVS管理控制器,其被配置为,如果第二空闲频率不小于第一阈值,则降低向第二处理子系统供应的时钟频率和电压中的至少一者。
25.根据条款24所述的系统,其中:
第一空闲监视器系统包括多个第一空闲监视器,每个第一空闲监视器与第一子系统的多个处理核芯中的一个相关联;
第一限制管理控制器被配置为使用由多个第一空闲监视器提供的信息来确定第一子系统的多个处理核芯中的每个处理核芯的空闲状态;
第一限制管理控制器被配置为基于第一处理子系统的处理核芯中的每个处理核芯的空闲状态来确定第一空闲频率;
第二空闲监视器系统包括多个第二空闲监视器,每个第二空闲监视器与第二处理子系统的多个处理核芯中的一个相关联;
第二限制管理控制器被配置为使用由多个第二空闲监视器提供的信息来确定第二子系统的多个处理核芯中的每个处理核芯的空闲状态;并且
第二限制管理控制器被配置为基于第二处理子系统的处理核芯中的每个处理核芯的空闲状态来确定第二空闲频率。
26.根据条款25所述的系统,其中:
第一限制管理控制器还被配置用于确定第一子系统的所有处理核芯是否同时空闲;
如果第一子系统的所有处理核芯同时空闲,则递增第一空闲计数;
重复确定第一子系统的所有处理核芯是否同时空闲,并将第一空闲计数递增多个采样次数;以及
通过确定空闲计数与采样次数的比率来确定第一空闲频率;并且
第二限制管理控制器还被配置用于:
确定第二子系统的所有处理核芯是否同时空闲;
如果第二子系统的所有处理核芯同时空闲,则递增第二空闲计数;
重复确定第二子系统的所有处理核芯是否同时空闲,并将第二空闲计数递增多个采样次数;以及
通过确定第二空闲计数与采样次数的比率来确定第二空闲频率。
27.根据条款24所述的系统,其中:
第一DCVS管理控制器被配置为,如果第一空闲频率小于第一阈值,则基于功率,施加DCVS;并且
第二DCVS管理控制器被配置为,如果第二空闲频率小于第一阈值,则基于功率,施加DCVS。
28.根据条款24所述的系统,其中:
第一阈值管理控制器还被配置为,如果第一空闲频率不小于第一阈值,则对第一空闲频率和第二阈值进行比较,其中第二阈值表示比第一阈值更大的第一空闲频率;
第一DCVS管理控制器被配置为,如果第一空闲频率不小于第一阈值且第一空闲频率不小于第二阈值,则降低向第一处理子系统供应的时钟频率和电压中的至少一者;
第二限制管理控制器还被配置为,如果第二空闲频率不小于第一阈值,则对第二空闲频率与第二阈值进行比较;并且
第二DCVS管理控制器被配置为,如果第二空闲频率不小于第一阈值且第二空闲频率不小于第二阈值,降低向第二处理子系统供应的时钟频率和电压中的至少一者。
29.根据条款27所述的系统,其中:
第一DCVS管理控制器被配置为通过以下配置来施加DCVS:确定与第一处理子系统相关联的第一功率测量值,并且如果第一功率测量值小于功率阈值,则增大向第一处理系统供应的时钟频率和电压中的至少一者;并且
第二DCVS管理控制器被配置为通过以下配置来施加DCVS:确定与第二处理子系统相关联的第二功率测量值,并且如果第二功率测量值小于功率阈值,则增大向第二处理系统供应的时钟频率和电压中的至少一者。
30.根据条款24所述的系统,其中:
第一处理子系统包括多个神经处理核芯;并且
第二处理子系统包括多个神经处理核芯。
Claims (30)
1.一种用于自适应功率控制的方法,包括:
确定包括一个或多个处理核芯的第一处理子系统的第一空闲频率;
将所述第一空闲频率与第一阈值进行比较;以及
如果所述第一空闲频率不小于所述第一阈值,则降低向所述第一处理子系统供应的时钟频率和电压中的至少一者。
2.根据权利要求1所述的方法,其中确定所述第一空闲频率包括:
确定所述第一子系统的多个处理核芯中的每个处理核芯的空闲状态;以及
基于所述处理核芯中的每个处理核芯的所述空闲状态来确定所述第一空闲频率。
3.根据权利要求2所述的方法,其中确定所述第一空闲频率还包括:
确定所述第一子系统的所有处理核芯是否同时空闲;
如果所述第一子系统的所有处理核芯同时空闲,则递增空闲计数;以及
重复确定所述第一子系统的所有处理核芯是否同时空闲,并且将所述空闲计数递增多个采样次数;
其中确定所述第一空闲频率包括确定所述空闲计数与所述采样次数的比率。
4.根据权利要求1所述的方法,还包括:如果所述第一空闲频率小于所述第一阈值,则基于功率,施加动态时钟和电压缩放(DCVS)。
5.根据权利要求1所述的方法,还包括:
如果所述第一空闲频率不小于所述第一阈值,则将所述第一空闲频率与第二阈值进行比较,其中所述第二阈值表示比所述第一阈值更大的空闲频率;
其中降低向所述第一处理子系统供应的所述时钟频率和所述电压中的至少一者包括:如果所述第一空闲频率不小于所述第一阈值并且所述第一空闲频率不小于所述第二阈值,则降低向所述第一处理子系统供应的所述时钟频率和所述电压中的至少一者。
6.根据权利要求4所述的方法,其中施加DCVS包括:
确定与所述第一处理子系统相关联的功率测量值;以及
如果所述功率测量值小于功率阈值,则增大向所述第一处理系统供应的所述时钟频率和所述电压中的至少一者。
7.根据权利要求1所述的方法,还包括:
确定以流水线布置与所述第一处理子系统耦合的第二处理子系统的第二空闲频率;
将所述第二空闲频率与所述第一阈值进行比较;以及
如果所述第二空闲频率不小于所述第一阈值,则降低向所述第二处理子系统供应的时钟频率和电压中的至少一者。
8.一种用于自适应功率控制的系统,包括:
第一空闲监视器系统,与包括一个或多个处理核芯的第一处理子系统相关联;
第一限制管理控制器,与所述第一处理子系统相关联,所述第一限制管理控制器被配置为:
使用由所述第一空闲监视器系统提供的信息,确定所述第一处理子系统的第一空闲频率;以及
将所述第一空闲频率与所述第一阈值进行比较;以及
第一动态时钟和电压缩放(DCVS)管理控制器,被配置为:如果所述第一空闲频率不小于所述第一阈值,则降低向所述第一处理子系统供应的时钟频率和电压中的至少一者。
9.根据权利要求8所述的系统,其中:
第一空闲监视器系统,包括多个空闲监视器,每个空闲监视器与所述第一子系统的多个处理核芯中的一个处理核芯相关联;
第一限制管理控制器,被配置为使用由所述多个空闲监视器提供的信息来确定所述第一子系统的所述多个处理核芯中的每个处理核芯的空闲状态;以及
第一限制管理控制器,被配置为基于所述第一子系统的所述处理核芯中的每个处理核芯的所述空闲状态,来确定所述第一空闲频率。
10.根据权利要求9所述的系统,其中所述第一限制管理控制器还被配置为:
确定所述第一子系统的所有处理核芯是否同时空闲;
如果所述第一子系统的所有处理核芯同时空闲,则递增空闲计数;
重复确定所述第一子系统的所有处理核芯是否同时空闲并且将所述空闲计数递增多个采样次数;以及
通过确定所述空闲计数与所述采样次数的比率来确定所述第一空闲频率。
11.根据权利要求8所述的系统,其中所述第一DCVS管理控制器被配置为:如果所述第一空闲频率小于所述第一阈值,则基于功率来施加DCVS。
12.根据权利要求8所述的系统,其中:
所述第一限制管理控制器还被配置为:如果所述空闲频率不小于所述第一阈值,则将所述第一空闲频率与第二阈值进行比较,其中所述第二阈值表示比所述第一阈值更大的空闲频率;并且
所述第一DCVS管理控制器被配置为:如果所述第一空闲频率不小于所述第一阈值并且所述第一空闲频率不小于所述第二阈值,则降低向所述第一处理子系统供应的所述时钟频率和所述电压中的至少一者。
13.根据权利要求11所述的系统,其中所述第一DCVS管理控制器被配置为通过被以下配置来施加DCVS:
确定与所述第一处理子系统相关联的功率测量值;以及
如果所述功率测量值小于功率阈值,则增大向所述第一处理系统供应的所述时钟频率和所述电压中的至少一者。
14.根据权利要求8所述的系统,还包括:
第二空闲监视器系统,与第二处理子系统相关联,所述第二处理系统以流水线布置与所述第一处理系统耦合;
第二限制管理控制器,与所述第二处理子系统相关联,所述第二限制管理控制器被配置为:
使用由所述第二空闲监视器系统提供的信息,确定所述第二处理子系统的第二空闲频率;以及
将所述第二空闲频率与第二阈值进行比较;以及
第二DCVS管理控制器,被配置为:如果所述第二空闲频率不小于所述第一阈值,则降低向所述第二处理子系统供应的时钟频率和电压中的至少一者。
15.根据权利要求14所述的系统,其中所述第一处理系统包括多管芯封装件的第一集成电路管芯,并且所述第二处理系统包括所述多管芯封装件的第二集成电路管芯。
16.根据权利要求15所述的系统,其中:
所述第一处理子系统包括多个神经处理核芯;并且
所述第二处理子系统包括多个神经处理核芯。
17.一种用于自适应功率控制的系统,包括:
用于确定包括一个或多个处理核芯的第一处理子系统的第一空闲频率的装置;
用于比较所述第一空闲频率与第一阈值的装置;以及
用于如果所述第一空闲频率不小于所述第一阈值,则降低向所述第一处理子系统供应的时钟频率和电压中的至少一者的装置。
18.根据权利要求17所述的系统,其中用于确定所述第一空闲频率的装置包括:
用于确定所述第一子系统的多个处理核芯中的每个处理核芯的空闲状态的装置;以及
用于基于所述处理核芯中的每个处理核芯的所述空闲状态来确定所述第一空闲频率的装置。
19.根据权利要求18所述的系统,其中用于确定所述第一空闲频率的装置还包括:
用于确定所述第一子系统的所有处理核芯是否同时空闲的装置;
用于如果所述第一子系统的所有处理核芯同时空闲,则递增空闲计数的装置;以及
用于重复确定所述第一子系统的所有处理核芯是否同时空闲并且将所述空闲计数递增多个采样次数的装置;
其中用于确定所述空闲频率的装置包括用于确定所述空闲计数与所述采样次数的比率的装置。
20.根据权利要求17所述的系统,还包括:如果所述第一空闲频率小于所述第一阈值,则基于功率施加动态时钟和电压缩放(DCVS)的装置。
21.根据权利要求17所述的系统,还包括:
用于如果所述第一空闲频率不小于所述第一阈值,则将所述第一空闲频率和第二阈值进行比较的装置,其中所述第二阈值表示比所述第一阈值更大的空闲频率;
其中用于降低向所述第一处理子系统供应的所述时钟频率和所述电压中的至少一者的装置包括:用于如果所述第一空闲频率不小于所述第一阈值并且所述第一空闲频率不小于所述第二阈值,则降低向所述第一处理子系统供应的所述时钟频率和所述电压中的至少一者的装置。
22.根据权利要求20所述的系统,其中所述用于施加DCVS的装置包括:
用于确定与所述第一处理子系统相关联的功率测量值的装置;以及
用于如果所述功率测量值小于功率阈值,则增大向所述第一处理系统供应的所述时钟频率和所述电压中的至少一者的装置。
23.根据权利要求17所述的系统,还包括:
用于确定以流水线布置与所述第一处理子系统耦合的第二处理子系统的第二空闲频率的装置;
用于比较所述第二空闲频率与所述第一阈值的装置;以及
用于如果所述第二空闲频率不小于所述第一阈值,则降低向所述第二处理子系统供应的时钟频率和电压中的至少一者的装置。
24.一种用于在多管芯封装件中进行自适应功率控制的系统,包括:
第一管芯中的第一空闲监视器系统,所述第一空闲监视器系统与所述第一管芯中的第一处理子系统相关联,所述第一处理系统包括一个或多个处理核芯;
所述第一管芯中的第一限制管理控制器,所述第一限制管理控制器与所述第一处理子系统相关联,所述第一限制管理控制器被配置为:
使用由所述第一空闲监视器系统提供的信息,确定所述第一处理子系统的空闲频率;以及
将所述第一空闲频率与第一阈值进行比较;
所述第一管芯中的第一动态时钟和电压缩放(DCVS)管理控制器,被配置为:如果所述第一空闲频率不小于所述第一阈值,则降低向所述第一处理子系统供应的时钟频率和电压中的至少一者;以及
第二管芯中的第二空闲监视器系统,所述第二管芯以流水线布置与所述第一管芯耦合,所述第二空闲监视器系统与所述第二管芯中的第二处理子系统相关联,所述第二处理系统包括一个或多个处理核芯;
所述第二管芯中的第二限制管理控制器,所述第二限制管理控制器与所述第二处理子系统相关联,所述第二限制管理控制器被配置为:
使用由所述第二空闲监视器系统提供的信息,确定所述第二处理子系统的第二空闲频率;以及
将所述第二空闲频率和所述第一阈值进行比较;
所述第二管芯中的第二DCVS管理控制器,被配置为,如果所述第二空闲频率不小于所述第一阈值,则降低向所述第二处理子系统供应的时钟频率和电压中的至少一者。
25.根据权利要求24所述的系统,其中:
所述第一空闲监视器系统包括多个第一空闲监视器,每个第一空闲监视器与所述第一子系统的多个处理核芯中的一个处理核芯相关联;
所述第一限制管理控制器被配置为:使用由所述多个第一空闲监视器提供的信息,来确定所述第一子系统的所述多个处理核芯中的每个处理核芯的空闲状态;
所述第一限制管理控制器被配置为:基于所述第一处理子系统的所述处理核芯中的每个处理核芯的所述空闲状态,来确定所述第一空闲频率;
所述第二空闲监视器系统包括多个第二空闲监视器,每个第二空闲监视器与所述第二处理子系统的多个处理核芯中的一个核芯相关联;
所述第二限制管理控制器被配置为:使用由所述多个第二空闲监视器提供的信息,来确定所述第二子系统的所述多个处理核芯中的每个处理核芯的空闲状态;并且
所述第二限制管理控制器被配置为:基于所述第二处理子系统的所述处理核芯中的每个处理核芯的所述空闲状态,来确定所述第二空闲频率。
26.根据权利要求25所述的系统,其中:
所述第一限制管理控制器还被配置用于:
确定所述第一子系统的所有处理核芯是否同时空闲;
如果所述第一子系统的所有处理核芯同时空闲,则递增第一空闲计数;
重复确定所述第一子系统的所有处理核芯是否同时空闲,并且将所述第一空闲计数递增多个采样次数;以及
通过确定所述空闲计数与所述采样次数的比率来确定所述第一空闲频率;并且
所述第二限制管理控制器还被配置为:
确定所述第二子系统的所有处理核芯是否同时空闲;
如果所述第二子系统的所有处理核芯同时空闲,则递增第二空闲计数;
重复确定所述第二子系统的所有处理核芯是否同时空闲,并且将所述第二空闲计数递增多个采样次数;以及
通过确定所述第二空闲计数与所述采样次数的比率来确定所述第二空闲频率。
27.根据权利要求24所述的系统,其中:
所述第一DCVS管理控制器被配置为:如果所述第一空闲频率小于所述第一阈值,则基于功率来施加DCVS;并且
所述第二DCVS管理控制器被配置为:如果所述第二空闲频率小于所述第一阈值,则基于功率来施加所述DCVS。
28.根据权利要求24所述的系统,其中:
所述第一阈值管理控制器还被配置为:如果所述第一空闲频率不小于所述第一阈值,则将所述第一空闲频率和第二阈值进行比较,其中所述第二阈值表示比所述第一阈值更大的空闲频率;
所述第一DCVS管理控制器被配置为:如果所述第一空闲频率不小于所述第一阈值并且所述第一空闲频率不小于所述第二阈值,则降低向所述第一处理子系统供应的所述时钟频率和所述电压中的至少一者;
所述第二限制管理控制器还被配置为:如果所述第二空闲频率不小于所述第一阈值,则将所述第二空闲频率与所述第二阈值进行比较;并且
所述第二DCVS管理控制器被配置为:如果所述第二空闲频率不小于所述第一阈值并且所述第二空闲频率不小于所述第二阈值,则降低向所述第二处理子系统供应的所述时钟频率和所述电压中的至少一者。
29.根据权利要求27所述的系统,其中:
所述第一DCVS管理控制器被配置为:通过被配置为施加确定与所述第一处理子系统相关联的第一功率测量值来施加DCVS,并且如果所述第一功率测量值小于功率阈值,则增大向所述第一处理系统供应的所述时钟频率和所述电压中的至少一者;并且
所述第二DCVS管理控制器被配置为:通过被配置为确定与所述第二处理子系统相关联的第二功率测量值来施加DCVS,并且如果所述第二功率测量值小于所述功率阈值,则增大向所述第二处理系统供应的所述时钟频率和所述电压中的至少一者。
30.根据权利要求24所述的系统,其中:
所述第一处理子系统包括多个神经处理核芯;并且
所述第二处理子系统包括多个神经处理核芯。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/220,603 | 2021-04-01 | ||
US17/220,603 US11449125B1 (en) | 2021-04-01 | 2021-04-01 | Adaptive dynamic clock and voltage scaling |
PCT/US2022/016592 WO2022211920A1 (en) | 2021-04-01 | 2022-02-16 | Adaptive dynamic clock and voltage scaling |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117136344A true CN117136344A (zh) | 2023-11-28 |
Family
ID=80595222
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280021541.5A Pending CN117136344A (zh) | 2021-04-01 | 2022-02-16 | 自适应动态时钟和电压缩放 |
Country Status (7)
Country | Link |
---|---|
US (1) | US11449125B1 (zh) |
EP (1) | EP4314989A1 (zh) |
JP (1) | JP7470261B2 (zh) |
CN (1) | CN117136344A (zh) |
BR (1) | BR112023019234A2 (zh) |
TW (1) | TW202307619A (zh) |
WO (1) | WO2022211920A1 (zh) |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6397343B1 (en) * | 1999-03-19 | 2002-05-28 | Microsoft Corporation | Method and system for dynamic clock frequency adjustment for a graphics subsystem in a computer |
US20030210247A1 (en) * | 2002-05-09 | 2003-11-13 | Ying Cui | Power management for an integrated graphics device |
JP2010039802A (ja) * | 2008-08-06 | 2010-02-18 | Nec Corp | マルチプロセッサシステム、スケジューリング方法およびそのプログラム |
WO2011024330A1 (ja) * | 2009-08-24 | 2011-03-03 | パナソニック株式会社 | アイドル状態検出回路、半導体集積回路、信号処理装置、アイドル状態検出方法 |
US20120179416A1 (en) * | 2011-01-06 | 2012-07-12 | Jon James Anderson | Method and system for managing thermal policies of a portable computing device |
US20140089699A1 (en) * | 2012-09-27 | 2014-03-27 | Advanced Micro Devices | Power management system and method for a processor |
JP2015148890A (ja) * | 2014-02-05 | 2015-08-20 | 富士通株式会社 | 情報処理装置、情報処理システム、および情報処理システムの制御方法 |
CN104969142A (zh) * | 2013-02-05 | 2015-10-07 | 高通股份有限公司 | 用于以有保证的瞬态最后期限来控制中央处理单元功率的系统和方法 |
JP2017526996A (ja) * | 2014-06-10 | 2017-09-14 | クアルコム,インコーポレイテッド | プロセッサデバイス電力消費を管理するシステムおよび方法 |
CN107239348A (zh) * | 2017-06-23 | 2017-10-10 | 厦门美图移动科技有限公司 | 一种多核处理器调度方法、装置及移动终端 |
US20170293340A1 (en) * | 2016-04-08 | 2017-10-12 | Qualcomm Incorporated | Enhanced dynamic clock and voltage scaling (dcvs) scheme |
US20170351316A1 (en) * | 2016-06-06 | 2017-12-07 | Qualcomm Incorporated | Power and performance aware memory-controller voting mechanism |
US20200089506A1 (en) * | 2017-05-19 | 2020-03-19 | Movidius Ltd. | Methods, systems and apparatus to improve convolution efficiency |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8650423B2 (en) * | 2011-10-12 | 2014-02-11 | Qualcomm Incorporated | Dynamic voltage and clock scaling control based on running average, variant and trend |
JP2013097443A (ja) | 2011-10-28 | 2013-05-20 | Hitachi Ltd | 標準作業手順書生成装置、標準作業手順書生成方法、及びコンピュータプログラム |
US9117508B2 (en) * | 2012-01-19 | 2015-08-25 | Rambus Inc. | Integrated circuit with adaptive power state management |
US10635159B2 (en) * | 2016-05-27 | 2020-04-28 | Qualcomm Incorporated | Adaptive voltage modulation circuits for adjusting supply voltage to reduce supply voltage droops and minimize power consumption |
US11360831B2 (en) * | 2018-12-24 | 2022-06-14 | Telefonaktiebolaget Lm Ericsson (Publ) | Efficient mechanism for executing software-based switching programs on heterogenous multicore processors |
-
2021
- 2021-04-01 US US17/220,603 patent/US11449125B1/en active Active
-
2022
- 2022-02-16 JP JP2023558210A patent/JP7470261B2/ja active Active
- 2022-02-16 WO PCT/US2022/016592 patent/WO2022211920A1/en active Application Filing
- 2022-02-16 EP EP22706990.3A patent/EP4314989A1/en active Pending
- 2022-02-16 BR BR112023019234A patent/BR112023019234A2/pt unknown
- 2022-02-16 CN CN202280021541.5A patent/CN117136344A/zh active Pending
- 2022-02-21 TW TW111106170A patent/TW202307619A/zh unknown
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6397343B1 (en) * | 1999-03-19 | 2002-05-28 | Microsoft Corporation | Method and system for dynamic clock frequency adjustment for a graphics subsystem in a computer |
US20030210247A1 (en) * | 2002-05-09 | 2003-11-13 | Ying Cui | Power management for an integrated graphics device |
CN1666166A (zh) * | 2002-05-09 | 2005-09-07 | 英特尔公司 | 集成图形设备的功率管理 |
JP2010039802A (ja) * | 2008-08-06 | 2010-02-18 | Nec Corp | マルチプロセッサシステム、スケジューリング方法およびそのプログラム |
WO2011024330A1 (ja) * | 2009-08-24 | 2011-03-03 | パナソニック株式会社 | アイドル状態検出回路、半導体集積回路、信号処理装置、アイドル状態検出方法 |
US20120179416A1 (en) * | 2011-01-06 | 2012-07-12 | Jon James Anderson | Method and system for managing thermal policies of a portable computing device |
US20140089699A1 (en) * | 2012-09-27 | 2014-03-27 | Advanced Micro Devices | Power management system and method for a processor |
CN104969142A (zh) * | 2013-02-05 | 2015-10-07 | 高通股份有限公司 | 用于以有保证的瞬态最后期限来控制中央处理单元功率的系统和方法 |
JP2015148890A (ja) * | 2014-02-05 | 2015-08-20 | 富士通株式会社 | 情報処理装置、情報処理システム、および情報処理システムの制御方法 |
JP2017526996A (ja) * | 2014-06-10 | 2017-09-14 | クアルコム,インコーポレイテッド | プロセッサデバイス電力消費を管理するシステムおよび方法 |
US20170293340A1 (en) * | 2016-04-08 | 2017-10-12 | Qualcomm Incorporated | Enhanced dynamic clock and voltage scaling (dcvs) scheme |
US20170351316A1 (en) * | 2016-06-06 | 2017-12-07 | Qualcomm Incorporated | Power and performance aware memory-controller voting mechanism |
US20200089506A1 (en) * | 2017-05-19 | 2020-03-19 | Movidius Ltd. | Methods, systems and apparatus to improve convolution efficiency |
CN107239348A (zh) * | 2017-06-23 | 2017-10-10 | 厦门美图移动科技有限公司 | 一种多核处理器调度方法、装置及移动终端 |
Also Published As
Publication number | Publication date |
---|---|
JP7470261B2 (ja) | 2024-04-17 |
KR20230137489A (ko) | 2023-10-04 |
EP4314989A1 (en) | 2024-02-07 |
US11449125B1 (en) | 2022-09-20 |
US20220317758A1 (en) | 2022-10-06 |
JP2024513743A (ja) | 2024-03-27 |
BR112023019234A2 (pt) | 2023-10-17 |
WO2022211920A1 (en) | 2022-10-06 |
TW202307619A (zh) | 2023-02-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8209480B2 (en) | DRAM selective self refresh | |
KR101310044B1 (ko) | 복수의 코어 프로세서들에서의 하나 이상의 코어들의 워크로드 성능을 증가시키는 방법 | |
US9377830B2 (en) | Data processing device with power management unit and portable device having the same | |
US8694811B2 (en) | Power management for digital devices | |
US7870400B2 (en) | System having a memory voltage controller which varies an operating voltage of a memory and method therefor | |
JP2005533296A (ja) | 電力低減方法およびシステム | |
US11054882B2 (en) | Externally-triggered throttling | |
US9477586B1 (en) | Power-aware memory controller circuitry | |
KR20120082836A (ko) | 복수의 회로들에서의 성능 파라미터들 조정 | |
CN113886292A (zh) | 用于存储器子系统的低功率数据传递 | |
US20170212581A1 (en) | Systems and methods for providing power efficiency via memory latency control | |
US10649922B2 (en) | Systems and methods for scheduling different types of memory requests with varying data sizes | |
KR20130079076A (ko) | 데이터 처리 장치와 이를 포함하는 휴대용 장치 | |
US6802018B2 (en) | Method and apparatus to directly access a peripheral device when central processor operations are suspended | |
US11960338B2 (en) | Activity smoothener circuit controlling rates of change of localized processing activity in an integrated circuit (IC), and related methods | |
CN117136344A (zh) | 自适应动态时钟和电压缩放 | |
KR102666973B1 (ko) | 적응형 동적 클록 및 전압 스케일링 | |
EP2093669B1 (en) | Apparatus and method for processing data | |
US11169585B2 (en) | Dashboard with push model for receiving sensor data | |
US11520628B2 (en) | Cooperative dynamic clock and voltage scaling (DCVS) between two processor systems | |
KR20230039656A (ko) | 메모리 캘리브레이션 시스템 및 방법 | |
CN107209544A (zh) | 基于I/O操作特征的SoC空闲功率状态控制的系统和方法 | |
US10642337B2 (en) | Active power management in a computing device subsystem based on micro-idle duration | |
US11886220B2 (en) | Dynamic power-down management in a computing device | |
US10852807B2 (en) | Hybrid powering off of storage component memory cells |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |