CN1608240A - 多模式功率节制机制 - Google Patents
多模式功率节制机制 Download PDFInfo
- Publication number
- CN1608240A CN1608240A CNA028262670A CN02826267A CN1608240A CN 1608240 A CN1608240 A CN 1608240A CN A028262670 A CNA028262670 A CN A028262670A CN 02826267 A CN02826267 A CN 02826267A CN 1608240 A CN1608240 A CN 1608240A
- Authority
- CN
- China
- Prior art keywords
- power
- power control
- mode
- unit
- response
- 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.)
- Granted
Links
- 230000007246 mechanism Effects 0.000 title claims abstract description 55
- 230000000694 effects Effects 0.000 claims abstract description 51
- 230000004044 response Effects 0.000 claims description 21
- 238000000034 method Methods 0.000 claims description 19
- 238000012544 monitoring process Methods 0.000 claims description 19
- 230000000452 restraining effect Effects 0.000 claims description 9
- 230000009849 deactivation Effects 0.000 claims description 6
- 230000004913 activation Effects 0.000 claims description 5
- 230000001960 triggered effect Effects 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 16
- 230000014509 gene expression Effects 0.000 description 12
- 230000008859 change Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 230000009467 reduction Effects 0.000 description 5
- 229920006395 saturated elastomer Polymers 0.000 description 5
- 230000033228 biological regulation Effects 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 230000003442 weekly effect Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000003213 activating effect Effects 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000007667 floating Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 101001088744 Homo sapiens Probable inactive ribonuclease-like protein 13 Proteins 0.000 description 1
- 102100033989 Probable inactive ribonuclease-like protein 13 Human genes 0.000 description 1
- 101100247281 Schizosaccharomyces pombe (strain 972 / ATCC 24843) ral2 gene Proteins 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
-
- 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
-
- 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
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/3017—Runtime instruction translation, e.g. macros
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3838—Dependency mechanisms, e.g. register scoreboarding
- G06F9/384—Register renaming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3854—Instruction completion, e.g. retiring, committing or graduating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3854—Instruction completion, e.g. retiring, committing or graduating
- G06F9/3858—Result writeback, i.e. updating the architectural state or memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3867—Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
- G06F9/3869—Implementation aspects, e.g. pipeline latches; pipeline synchronisation and clocking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3867—Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
- G06F9/3873—Variable length pipelines, e.g. elastic pipeline
-
- 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)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Power Sources (AREA)
Abstract
处理器(110)包括数字节制装置(130),用于监视处理器的指令执行流水线(120)的各种单元(124)的活动性,并根据所监视的活动性确定处理器(110)的功率状态。响应于处理器(110)的功率状态达到一个阈值,使用两种或者更多种功率控制机制中的一种。
Description
相关申请
本发明申请与同时递交并转让给同一受让人的美国专利申请No.________,“Digital Throttle for Multiple Operating Points”相关。
技术领域
本发明涉及微处理器,具体地说,本发明涉及微处理器中用于控制功耗的机制。
背景技术
现代的处理器包括大量的执行资源以支持多个指令的同时处理。处理器常常包括一个或者多个整数、浮点、分支以及存储器执行单元,以分别完成整数、浮点、分支和加载/存储指令。还提供了寄存器文件和片上高速缓存,以给执行资源提供操作数。当这些资源被执行中的程序完全占用时,它们可能产生明显的功率耗散问题。
如下这样的指令代码序列是相对稀少的,即包括足够的恰当类型的指令的指令代码序列,这些指令在有效时间中完全占用处理器的执行资源。智能编译器和乱序执行从大多数代码中仅仅可以提取这种程度的指令级并行(ILP)。为了节省功率,处理器可以利用时钟门控机制,以切断被输送给没有被执行中的代码序列使用的执行资源或者它们的部件的时钟信号。当执行具有更一般的ILP水平的代码序列时,这样的处理器可以按照需要占用大量的资源,例如来支持具有高ILP的代码序列,而不用耗散大量的功率。
对于具有高ILP的代码序列,即使有的话也是很少的资源可以被门控关断,与其运行具有更一般的ILP的代码相比,处理器可能耗散明显更大的功率。为了适用高功耗代码,通过例如限制其工作频率,可以在低于其最高性能水平的水平上运行处理器。以这样的方式抑制处理器为那些导致处理器耗散大量功率的代码序列留下了热裕度。
被称为功率节制的另一种策略允许处理器缺省时在其最高性能水平下工作,并且如果处理器的功耗变得太大的话,则减小(节制)性能水平。功率节制可以通过许多机制来实现。这些机制包括改变每周期被处理的指令的数量(指令吞吐量)或者改变处理器工作的电压和/或频率(工作点)。这些以及其他的功率控制机制具有它们特定的优点和缺点。
功率耗散与处理器电压的二次方成比例,使得电压电平的调整成为控制处理器功率的有效手段。功率耗散与处理器的时钟频率成线性比例关系。然而,频率和电压常常被一起调整,因为最大频率受限于在晶体管栅极处可用的电压驱动。此外,用于工作点调整的等待时间明显大于处理器的功耗可能改变的时间标度,使得其成为用于管理这些变化的相对粗糙的机制。功率耗散与指令吞吐量成线性比例关系。与工作点改变相比,可以用更低的等待时间来实施对指令吞吐量的调整,但是它们可能不足以抵消功耗的变化。
本发明针对与监视和控制处理器和其他可编程设备的功耗相关联的这些和其他的问题。
附图说明
参考附图可以理解本发明,其中类似的标号指示类似的元件。这些图形被提供来举例说明本发明的所选的实施例,并且不意于限定本发明的范围。
图1是在其上可以实现本发明的计算机系统的一个实施例的框图。
图2是根据本发明实现了数字功率节制装置的处理器的一个实施例的框图。
图3是由图2的处理器所实现的数字功率节制装置的一个实施例的框图。
图4A是图3的数字功率节制装置的监视电路的一个实施例的框图。
图4B是图4A的监视电路的另一个实施例的框图。
图5是图3中示出的数字节制装置的模式单元的一个实施例的框图。
图6是表示根据本发明的使用不同功率控制机制的方法的一个实施例的流程图。
图7是用于在图3中示出的数字节制装置的监视电路的另一个实施例的框图。
图8是表示根据本发明的使用不同功率控制机制的方法的另一个实施例的流程图。
具体实施方式
在下面的讨论阐述了很多具体细节,以提供对本发明的充分理解。但是,在受益于本公开之后,本领域的普通技术人员将理解,不用这些具体细节也可以实施本发明。此外,没有对各种公知的方法、过程、部件和电路进行详细的描述,以便使注意力集中在本发明的特征上。
本发明提供了利用多种功率控制模式控制处理器功率耗散的机制。计算机系统包括具有数字节制装置的处理器。数字节制装置监视处理器的活动,以估计处理器的功率状态。如果通过估计出的功率状态被准许,则数字节制装置触发多种功率控制模式中的一种。对于本发明的一个实施例,如果所估计的功率状态达到第一阈值,则触发第一功率模式。取决于处理器对第一功率控制模式的响应,可以触发第二功率控制模式。
根据其控制功率耗散所用等待时间,可以使用各种功率控制模式。例如,诸如空操作注入和单指令发射之类的指令吞吐量控制机制有效地调整了每时钟周期被处理的指令数量。这些机制可以被实现在检测功率状态问题的若干时钟周期之中。它们可以被用于对功率状态进行小的调整,并且其相对短的等待时间允许其处理与快速电流变化相关联的问题,例如与大的di/dt相关的电压下降。
频率控制机制,例如如果功率耗散超过一个阈值则降低时钟频率,可以对功率耗散产生更大的影响。因为驱动时钟的锁相环需要被重新调整,所以与吞吐量控制相比,频率控制的实施花费更多的时间。相结合的电压和频率机制对功率耗散有更大的影响,但是具有最长的实施等待时间。本发明依据处理器的功率状态,允许使用一个或者多个功率控制机制。
图1是在其中可以实现本发明的计算机系统100的一个实施例的框图。计算机系统100包括一个或者多个处理器110、主存储器140、非易失性存储器150、各种外围设备160和系统逻辑170。系统逻辑170控制(一个或者多个)处理器110、主存储器140、非易失性存储器150和外围设备160之间的数据传输。还示出了功率输送单元180。计算机系统100被提供来举例说明本发明的各种特征。所示出的特定结构对于实现本发明不是必需的。
处理器110包括多个单元124,所述多个单元124形成指令执行流水线120。指令从主存储器140和非易失性存储器150被提供给处理器110。数字节制装置130监视响应于被处理的指令的各种单元124中的功耗,并且相应地调整处理器110的运行。
当指令沿着流水线120进行时,其引导各种单元124运行一个或者多个操作,所述一个或者多个操作合起来实现了所述指令。例如,浮点乘法累加指令(FMAC)可以导致在指定的资源中发生下面的操作:浮点寄存器文件读出三个操作数;FMAC执行单元将操作数中的两个相乘,并将乘积与第三操作数相加;异常单元检查乘积以及总和的错误;以及如果没有检测到错误,则退休单元将结果写入浮点寄存器文件。取决于具体的处理器实施方式,这些资源或者它们的部件可以被分组成一个或者多个单元,当指令被沿着流水线进行时,所述单元被打开和关毕。每一个单元当被指令激活时,消耗一定量的电流。
对于本发明的一个实施例,单元124所消耗的电流或者功率通过相关联的权重或者多个权重来表示。当单元被指令激活时,数字节制装置130检测到其活动状态,并且将第一权重包括在表示给定时钟周期中处理器的活动性(例如电流或者功耗)的总和中。如果该单元没有被激活,则数字节制装置130可以将第二权重加到总和上。第二权重可以是零,或者是表示处于非活动状态中的单元的电流或功耗的值。对于一个实施例,所得到的加权的总和被换算,以反映处理器当前的工作点。对于另一个实施例,单个的权重自身可以被换算。数字节制装置130在选定的间隔内实施这些操作,生成表示处理器的估计的功率状态的值,并且如果该值超过了规定的阈值水平,则调整处理器的运行。
图2更具体地表示了处理器110的一个实施例。对于处理器110的所公开实施例,流水线120被分别表示为取指(FET)阶段、展开(EXP)阶段、寄存器(REG)阶段、执行(EXE)阶段、检测(DET)阶段和退休(RET)阶段,并且指定了对应于每一个阶段的执行资源。本发明不要求将处理器110分成特定的一组流水线阶段。例如,所公开的阶段可以被再分成两个或者更多的阶段,以处理时序问题或者促进更高的处理器时钟速度。或者,两个或者更多的阶段可以被合并成一个阶段。其他的实施例可以包括用于乱序处理指令的硬件。所公开的流水线仅仅提供了在实现本发明的处理器中如何分解操作的一个示例。
流水线120的前端包括取指单元210和发射单元220,其将指令提供给流水线120后端中的执行单元用于执行。取指单元210通过本地高速缓存(没有示出)或者直接地从存储器140获取指令,并将取到的指令提供给发射单元220。发射单元220对指令进行译码,并将它们发射到流水线120后端中的执行资源。
在整个讨论中,术语“指令”被用于泛指指令、宏指令、指令束或者用于编码处理器操作的许多其他机制的任何一种。例如,译码操作可以将宏指令转换成一个或者多个微操作(μop),将指令束分解成一个或者多个指令节,或者获取与指令相关联的微代码序列。
流水线120的后端包括寄存器单元230、执行单元250、异常单元260和退休单元270。寄存器单元230包括寄存器重命名单元和各种寄存器文件(没有示出),分别用于识别指令中所指定的寄存器和从所识别的寄存器中存取数据。执行单元250包括一个或者多个分支执行单元(BRU)252、整数执行单元(IEU)254、加载/存储单元(LSU)256和浮点执行单元(FPU)258,以分别处理分支、整数、加载/存储和浮点指令。异常单元260检查由执行单元250生成的结果,并且如果遇到异常条件的话,调整控制流。如果没有检测到异常条件,退休单元270利用结果来更新处理器110的体系结构状态。
被不同指令激活的单元对应于被指定给流水线120的执行资源的各种组合和子集。例如,一个单元可以包括浮点寄存器(在寄存器单元230中),而FPU 258可以具有位于两个或者更多单元中的多个部件。总之,一个单元包括一同被激活或者去激活的各种执行资源(寄存器文件、执行单元、跟踪逻辑)。本发明不依赖于图2中示出的单元和执行资源之间的具体的对应关系。
图3是表示数字节制装置130和其与流水线120的单元124之间相互作用的一个实施例的框图。数字节制装置130的所公开的实施例包括门控单元310(1)~310(n) (总称门控单元130)、监视电路320、节制单元360和模式单元390。每一个门控单元310与流水线120中的单元124相关联,并能够指明其相关联的单元的活动性状态。例如,门控单元310可以是这样的时钟门控电路,即,根据单元124的服务对于完成当前在流水阶段中的指令是否是必需的,该门控电路将时钟信号向单元124耦合或者去耦合,其中所述单元在该流水线中运行。
对于数字节制装置130的所公开的实施例,每个门控单元310向监视电路320提供信号,以指明其相关联的单元的活动性状态。如果信号被断言,则监视电路320将第一权重加到表示处理器110每个时钟活动性的估计值上。第一权重表示单元124在被激活时所吸取的电流或者功率。如果该信号没有被断言,则监视电路320将第二权重加到估计值中。第二权重表示单元124在被去激活时所吸取的电流或者功率。第二权重可以是零或者表示被去激活的单元124中的漏电流的值。一般的处理器可以包括10~20个门控单元310,以控制到10~20个单元124的功率输送。
监视电路320收集来自门控单元130的信号,从所收集的信号评价当前功率状态,并且基于所评价的功率状态确定是否调用一种功率控制机制。如果功率控制被准许,则监视电路320向节制单元360发信号,以实施若干功率控制机制中的一种。模式单元390监视所实施的功率控制机制的效果,并且确定是否调用另外的功率控制机制。模式单元390可以通过监视电路320、节制单元360或者某些其他资源,接收当前功率控制机制的功效的指示。
对于数字节制装置130的所公开的实施例,监视电路320包括活动性监视器(AM)330和阈值单元(TU)350。AM 330基于被监视单元124的活动性状态,跟踪处理器的活动性,并且向TU 350提供活动性的指示,用于与阈值相比较。TU 350确定所指示的活动性是否已经达到了阈值,并且如果达到了阈值的话,则向节制单元360发信号以触发功率控制模式。
对于数字节制装置130的一个实施例,阈值指示高功耗状态,而节制单元360触发处理器,以启动第一功率控制模式。第一功率模式例如可以通过降低指令吞吐量或者降低处理器的工作频率来提供功率减小的线性控制。模式单元3监视第一功率控制模式的效果,并且如果被准许的话,激活第二功率模式。
图4A是监视电路320的一个实施例的框图。AM 330的所公开的实施例包括权重单元432(1)~432(n)(总称权重单元432)、加法器434、存储单元(SU)444和累加器446。每一个权重单元432通过相应的门控单元310与单元124中一个相关联。如果来自其门控单元310的活动性状态信号被断言,则权重单元432将第一权重提供给加法器434,并且如果活动性状态信号没有被断言,则提供第二权重。SU 444中的值例如可以表示额定的功率或者电流水平。阈值被求反,并被提供至加法器434的另一个输入端。
加法器434确定阈值与权重单元134所指示的权重的和之间的差。该差表示相对于例如额定功率水平的活动性水平(相对活动性水平或者RAL)。其被加到累加器446中的值上,所述累加器446保存相对活动性水平的流水帐。对于AM 330的一个实施例,在每个时钟周期向累加器446提供相对活动性水平,累加器446有效地累计了相对于阈值的每周期的活动性。例如,可以换算所述权重以表示单元124每周期的功耗的估计,而第一阈值可以是指定的平均功率。在这种情况下,累加器446中的值表示相对于与平均功率状态相关联的温度的热超出和热不足。
AM 330的其他实施例可以包括用于以规定的取样频率将累加器446中的值转发到阈值单元350的电路。取样周期允许数字节制装置130缓和功耗尖峰的影响。
对于监视电路320的所公开的实施例,由累加器446所跟踪的值(例如,累加的功率或者电流消耗)被提供给TU 350,用于以与阈值相比较。TU 350的所公开的实施例包括储存装置454和比较器458。如上面所提到的,累加器446中的值可以在每个时钟周期被提供,或者在规定的取样周期后被提供。储存装置454存储表示阈值水平的值,其中,累加器446中的值与该值进行比较。对于上面所描述的示例,阈值可以表示上限温度阈值和下限温度阈值,其中,如果达到了上限和下限阈值的话,其将分别触发功率减小和功率增大机制。
如果累加的电流消耗达到由储存装置454表示的阈值,则TU 350向节制单元360提供信号,该信号触发功率控制机制。如上面所提到的,这可以通过下列策略来实现:每时钟周期发射更少(更多)的指令、减小(增大)处理器运行的时钟频率、减小(增大)处理器运行的电压或者这些策略的某种组合或其他功率减小(增大)策略。
处理器单元所消耗的功率取决于处理器的工作点。例如,在较低的频率和/或电压下,给定的单元在其激活状态中消耗较少的功率。因此,AM330的一个实施例包括换算单元,用于调整其活动性估计,以反映运行状态的变化。对于数字节制装置130的其他实施例,AM 330还可以包括换算单元,用于调整其计算,以反映处理器运行状态的变化。如果功率控制模式调整处理器110的工作点以处理超范围的功率状态,则换算单元允许AM 330调整其对处理器活动性的估计,以反映新的工作点。
图4B示出了监视电路320的另一个实施例,其被改进以基于处理器110的被监视的活动性解决工作点的变化。AM 330的所公开的实施例包括位于加法器434的输出端的第一换算单元436。转换单元(CU)340包括第二加法器442、SU 444和位于SU 444的输出端的可选的第二换算单元448。
加法器434对权重单元134所指示的权重进行求和,并且换算单元436调整所述和,以反映处理器的当前的工作点。信号OP1将当前的工作点指示给换算单元426。例如,换算单元436可以存储适合于不同工作点的换算因子,并且响应于OP1应用适合于当前工作点的换算因子。
然后,换算出的活动性水平通过加法器442与来自SU 444的水平值结合。如果存在的话,换算单元(SU)448响应于由OP2所指示的处理器工作点的变化,允许对储存单元444中的值进行类似的换算。如上面所提到的,可以通过下列的策略来实现功率控制:每时钟周期发射更少(更多)的指令、减小(增大)处理器运行的时钟频率、减小(增大)处理器运行的电压或者这些策略的某种组合或其他功率减小(增大)策略。在到达这样的程度的情况下,即任何这些改变影响了适合于被监视单元124的加权或者TSU 444中的阈值,则可以选择(一个或者多个)新的换算因子以供数字节制装置130使用。
图5是适于在不同功率控制机制之间进行切换的模式单元380的一个实施例的框图。模式单元380的所公开的实施例包括饱和单元510和模式选择器550。饱和单元(SU)510监视当前有效的功率控制模式的效果,模式选择器550基于来自TU 250和SU 510的输入,选择哪一种(如果有的话)功率控制模式是有效的。
SU 510的所公开的实施例包括加法器514、重设单元518、累加器520、比较器530(a)、530(b)和阈值储存装置534(a)、534(b)。加法器514和重设单元518监视TU 530的输出,以确定是否使用第一功率控制模式。累加器520根据是否使用第一功率控制模式,递增或者递减被存储的值。所存储的值指明使用第一功率控制机制的频度。如果该值达到第一阈值,例如储存装置534(a)中的值,则第一控制模式被过分频繁地激活,并且第二控制模式被准许。如果该值达到第二阈值,例如储存装置534(b)中的值,则第二控制模式不再是必需的。第一和第二比较器530(a)和530(b)向模式选择器550断言它们的信号,该模式选择器550相应地调整控制模式。
对于数字节制装置的一个实施例,第一控制模式调整指令吞吐量(ITP),而第二控制模式调整处理器的工作点(OP)。用于调整指令吞吐量的一种机制是将空操作(NOP)注入处理器的执行流水线。美国专利申请No.________(题目未知)描述了用于注入NOP的机制。
对于利用指令吞吐量速率和工作点来控制功耗的多模式数字节制装置,模式选择器550可以实现表1中所总结的动作。这里,AL是指由AM330所跟踪的(经换算的)活动性水平,TC是指由模式单元380所跟踪的节制计数。
表1
功率阈值 | 上限饱和阈值 | 下限饱和阈值 | 当前模式状态 | 动作 |
AL≤PT | TC≤UST | TC≥LST | 额定OP额定ITP | 无 |
AL≥PT | TC≤UST | TC≥LST | 额定OP额定ITP | 减小ITP(激活第一模式) |
AL≤PT | TC≤UST | TC≥LST | 额定OP减小的ITP | 提高ITP(去激活第一模式) |
X | TC≥UST | TC≥LST | 额定OP | 减小ITP(激活第二模式) |
X | TC≥UST | TC≤LST | 减小的OP | 提高ITP(去激活第二模式) |
图6是表示根据本发明用于控制处理器中的功耗的方法600的一个实施例的流程图。方法600基于处理器的部件单元的活动/非活动状态,监视610处理器的活动性。可以根据处理器的当前的工作点对所估计的活动性进行换算,以提供处理器的功率状态的指示。活动性水平被与活动性水平的允许范围相比较620。如果该比较620表明处理器运行在该范围之外,则指令吞吐量被节制630,并且节制计数被调整640。
检查650节制计数,以确定指令节制是否是有效的。例如,如果指令节制被反复地调用,并且活动性水平保持在规定范围之外,则其没有有效控制处理器的功率状态,并且降低660处理器的工作点。如果支持权重换算,则被用于换算所监视的活动性水平的权重也被调整670,并且继续监视610。
如果处理器的活动性水平在规定范围之内620,则检查670处理器的工作点。如果工作点先前已经被降低了,则检查680计时器。计时器强制限制工作点切换之间的基本间隔,以避免过于频繁地切换工作点。如果间隔已经过去了680,则提高690工作点,并调整670被用于确定活动性水平的权重,并且继续监视。如果所述间隔还没有过去680,则在这一次中不进行工作点的调整。
方法600已经被示出用于这种情况,即其中第一控制机制是指令节制,而第二控制机制调整处理器的工作点,例如其电压和/或频率。处理器设计领域的技术人员在受益于本公开之后,将认识到还可以使用其他的功率控制机制。此外,不同的机制可以分别具有不同的操作水平。例如,依赖于处理器的功率状态,处理器的工作点可以对于许多不同的频率/电压组合是可调的。类似地,依赖于相对活动性水平停留在阈值之上的时间长度,可以在更长或者较短的期间中对指令进行节制。例如,可以每隔n个有效指令向指令流中引入一个空操作(NOP),n取一定范围的值。
图7是数字节制装置130的另一个实施例的框图。数字节制装置的所公开的实施例包含多个CU 340(1)...340(n)(总称CU 340)和相关联的TU 350(1)...350(n)(总称TU 350)。每一对CU/TU可以被用于监视不同功率/时序状态的处理器功率状态。例如,第二对CU/TU 340(1)/350(1)可以将不同的相对活动性水平(RAL)与阈值相比较,其中所述阈值指示基于频率(或者电压/频率)的功率控制机制被准许(OP1阈值)。
模式控制单元380也被示出,用于监视功率控制机制,并基于(一个或者多个)活动功率控制模式的行为,例如饱和,在功率控制模式之间进行切换。例如,如果ITP功率控制模式被反复地使用(饱和),则模式控制单元380可以使用基于频率的功率控制模式。在使用频率控制模式的情况下,模式控制单元380响应于ITP的连续的、反复的使用,可以使用基于电压或者电压/频率的控制模式。
图8是表示用于激活不同功率控制机制的方法800的另一个实施例的流程图。方法800测试与其各自的阈值相对照的相对活动性水平(RAL1、RAL2)820,并且使用所指示的例如ITP或者基于频率的功率控制机制。在两个模式中,都检查834、846 ITP的饱和征兆。在ITP模式中,如果检测到834饱和,则可以使用频率调整。如果使用频率模式,则若检测到饱和,可以使用电压或者电压/频率模式。对于处理器的工作点(频率和/或电压)的调整可以通过对用于监视处理器的活动性水平的权重的相应调整来实现。若没有RAL阈值被越过820,如果处理器的工作点先前已经通过840、860被降低的话,则方法800可以提高856处理器的工作点。
在不同的控制控制模式之中的功率控制模式和水平的所得到的组合允许以减小功率节制对处理器的性能的影响的方式,对处理器的功率状态进行精细调整。
如此提供了一种数字节制装置,其监视处理器的活动性,并根据处理功率状态问题的需要,选择两种或者更多种功率控制机制中的一种。所公开的实施例已经被提供来举例说明本发明的各种特征。处理器设计领域的技术人员在受益于本公开之后,将会认识到所公开实施例的变化和修改,它们依然落入所附权利要求的精神或范围之中。
Claims (19)
1.一种系统,包括:
执行流水线;
数字节制装置,所述数字节制装置响应于所述执行流水线的活动性,估计功率状态,并且响应于所述估计的功率状态达到第一阈值,触发多个功率控制机制中的一个。
2.如权利要求1所述的系统,其中,所述功率控制机制包括调整执行流水线的指令吞吐量以及调整所述执行流水线的工作点。
3.如权利要求1所述的系统,其中,所述数字节制装置包括:活动性监视器,用于响应于所述执行流水线的单元的活动性状态提供活动性水平;转换单元,用于根据所述活动性水平估计所述功率状态;和阈值单元,用于响应于所述功率状态达到所述第一阈值,触发第一功率控制机制。
4.如权利要求3所述的系统,其中,所述数字节制装置响应于第二功率控制机制被准许的指示,触发所述第二功率控制机制。
5.如权利要求3所述的系统,其中,所述数字节制装置包括模式单元,用于监视所述阈值单元的输出,以及响应于所述输出达到第二阈值,触发第二功率控制机制。
6.如权利要求5所述的系统,其中,所述第一功率控制机制调整所述执行流水线的指令吞吐量,以及所述第二功率控制机制调整所述执行流水线的工作点。
7.如权利要求1所述的系统,还包括模式单元,用于响应于第一功率控制模式达到饱和条件,从所述第一功率控制模式切换到第二功率控制模式。
8.一种方法,包括:
监视处理器的活动性水平,以确定功率状态;
如果所述功率状态满足第一阈值,则激活第一功率控制机制;
监视与所述第一功率控制机制相关联的状态;以及
响应于所述被监视的状态,激活第二功率控制机制。
9.如权利要求8所述的方法,其中,所述状态是指示由所述第一功率控制机制所提供的功率控制水平的计数,并且所述激活包括响应于所述计数达到阈值而激活所述第二功率控制机制。
10.如权利要求9所述的方法,其中,所述计数跟踪所述第一功率控制机制被激活的次数或者所述第一功率控制机制被激活的持续时间。
11.如权利要求8所述的方法,其中,所述激活所述第一功率控制机制包括响应于所述功率状态达到所述第一阈值,调整所述处理器的指令吞吐量。
12.如权利要求11所述的方法,其中,所述激活所述第二功率控制机制包括响应于所述被监视的状态,调整所述处理器的工作点。
13.一种装置,包括:
执行流水线,包括用于执行指令的一个或者多个单元;
活动性监视器,用于响应于所述一个或者多个单元的活动性状态,估计所述处理器的活动性水平;
节制电路,用于响应于根据所述估计的活动性水平达到第一阈值而确定的功率状态,触发第一功率模式;和
模式电路,用于跟踪与所述第一功率模式相关联的状态,以及响应于所述状态达到第二阈值,触发第二功率模式。
14.如权利要求13所述的装置,其中,所述状态是计数值,所述计数值跟踪所述第一功率模式的使用,以及如果所述使用达到所述第二阈值,则所述模式电路触发所述第二功率模式。
15.如权利要求14所述的装置,其中,所述计数跟踪所述第一功率模式被触发的次数或者所述第一功率模式处于活动的时间间隔。
16.如权利要求13所述的装置,其中,所述第一功率模式调整执行流水线的指令吞吐量,以及所述第二功率模式调整所述执行流水线的工作点。
17.如权利要求16所述的装置,其中,所述第二功率模式指定所述执行流水线可能运行于其下的电压和频率的多个组合中的一个。
18.如权利要求17所述的装置,其中,所述模式单元在所述多个组合的第一个处启动所述第二功率模式,并且响应于运行在所述第一组合下的所述执行流水线的估计的功率状态,选择新的组合。
19.如权利要求17所述的装置,其中,所述模式单元响应于运行在当前组合下的所述执行流水线的所述功率状态达到第四阈值,去激活所述第二功率模式。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/041,013 | 2001-12-28 | ||
US10/041,013 US6931559B2 (en) | 2001-12-28 | 2001-12-28 | Multiple mode power throttle mechanism |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1608240A true CN1608240A (zh) | 2005-04-20 |
CN1303497C CN1303497C (zh) | 2007-03-07 |
Family
ID=21914240
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB028262670A Expired - Fee Related CN1303497C (zh) | 2001-12-28 | 2002-12-12 | 多模式功率节制机制 |
Country Status (6)
Country | Link |
---|---|
US (1) | US6931559B2 (zh) |
CN (1) | CN1303497C (zh) |
AU (1) | AU2002364004A1 (zh) |
HK (1) | HK1075108A1 (zh) |
TW (1) | TW200305074A (zh) |
WO (1) | WO2003058418A2 (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101965547A (zh) * | 2008-03-03 | 2011-02-02 | 惠普开发有限公司 | 基于软件的功率封顶 |
CN101464721B (zh) * | 2007-12-19 | 2012-02-01 | 国际商业机器公司 | 控制流水线型处理器中的功率消耗的方法和系统 |
CN101821697B (zh) * | 2007-10-11 | 2013-09-18 | 高通股份有限公司 | 图形处理单元中基于需求的功率控制 |
CN104317557B (zh) * | 2014-10-27 | 2017-01-18 | 杭州中天微系统有限公司 | 基于流水线轮动的低峰值功耗嵌入式处理器 |
CN106687930A (zh) * | 2014-09-16 | 2017-05-17 | 混合型服务器技术知识产权股份有限公司 | 用于决定任务分发路径的方法、设备和系统 |
WO2021114155A1 (zh) * | 2019-12-11 | 2021-06-17 | 华为技术有限公司 | 一种处理器及降低功耗的方法 |
Families Citing this family (83)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040006721A1 (en) * | 2002-02-22 | 2004-01-08 | Getz Robin Laurie | Method and apparatus for responding to a thermal throttling signal |
JP3742364B2 (ja) * | 2002-06-28 | 2006-02-01 | 株式会社東芝 | クロック周波数の制御方法および電子機器 |
US6908227B2 (en) * | 2002-08-23 | 2005-06-21 | Intel Corporation | Apparatus for thermal management of multiple core microprocessors |
US7275012B2 (en) * | 2002-12-30 | 2007-09-25 | Intel Corporation | Automated method and apparatus for processor thermal validation |
JP3924544B2 (ja) * | 2003-02-26 | 2007-06-06 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 情報処理装置、制御方法、プログラム、及び記録媒体 |
US20050046400A1 (en) * | 2003-05-21 | 2005-03-03 | Efraim Rotem | Controlling operation of a voltage supply according to the activity of a multi-core integrated circuit component or of multiple IC components |
US7167989B2 (en) * | 2003-10-14 | 2007-01-23 | Intel Corporation | Processor and methods to reduce power consumption of processor components |
US7167992B2 (en) * | 2003-12-18 | 2007-01-23 | Lenovo Singapore Pte, Ltd. | Method for controlling the switching of operating modes of an information processor according to the time of switching of the operating modes |
US7295949B2 (en) * | 2004-06-28 | 2007-11-13 | Broadcom Corporation | Energy efficient achievement of integrated circuit performance goals |
US8190863B2 (en) * | 2004-07-02 | 2012-05-29 | Intel Corporation | Apparatus and method for heterogeneous chip multiprocessors via resource allocation and restriction |
US7299372B2 (en) * | 2004-08-05 | 2007-11-20 | International Business Machines Corporation | Hierarchical management for multiprocessor system with real-time attributes |
US8074057B2 (en) * | 2005-03-08 | 2011-12-06 | Hewlett-Packard Development Company, L.P. | Systems and methods for controlling instruction throughput |
US7353414B2 (en) * | 2005-03-30 | 2008-04-01 | Intel Corporation | Credit-based activity regulation within a microprocessor based on an allowable activity level |
US7664976B2 (en) * | 2005-03-31 | 2010-02-16 | Feature Integration Technology Inc. | Controlling circuit for controlling operating clock and/or driving voltage of logic circuit, and method thereof |
US7594132B2 (en) * | 2005-05-18 | 2009-09-22 | Lg Electronics Inc. | Computer system with power-saving capability and method for implementing power-saving mode in computer system |
US7444526B2 (en) * | 2005-06-16 | 2008-10-28 | International Business Machines Corporation | Performance conserving method for reducing power consumption in a server system |
US7924708B2 (en) * | 2005-12-13 | 2011-04-12 | Intel Corporation | Method and apparatus for flow control initialization |
US8108863B2 (en) | 2005-12-30 | 2012-01-31 | Intel Corporation | Load balancing for multi-threaded applications via asymmetric power throttling |
JP2007251553A (ja) * | 2006-03-15 | 2007-09-27 | Matsushita Electric Ind Co Ltd | リアルタイム処理装置及びその方法 |
US8214660B2 (en) * | 2006-07-26 | 2012-07-03 | International Business Machines Corporation | Structure for an apparatus for monitoring and controlling heat generation in a multi-core processor |
US7617403B2 (en) | 2006-07-26 | 2009-11-10 | International Business Machines Corporation | Method and apparatus for controlling heat generation in a multi-core processor |
US7584369B2 (en) * | 2006-07-26 | 2009-09-01 | International Business Machines Corporation | Method and apparatus for monitoring and controlling heat generation in a multi-core processor |
US8117478B2 (en) * | 2006-12-29 | 2012-02-14 | Intel Corporation | Optimizing power usage by processor cores based on architectural events |
US7793125B2 (en) * | 2007-01-10 | 2010-09-07 | International Business Machines Corporation | Method and apparatus for power throttling a processor in an information handling system |
US7779276B2 (en) * | 2007-03-05 | 2010-08-17 | International Business Machines Corporation | Power management in a power-constrained processing system |
US7627742B2 (en) | 2007-04-10 | 2009-12-01 | International Business Machines Corporation | Method and apparatus for conserving power by throttling instruction fetching when a processor encounters low confidence branches in an information handling system |
US7856562B2 (en) * | 2007-05-02 | 2010-12-21 | Advanced Micro Devices, Inc. | Selective deactivation of processor cores in multiple processor core systems |
US20090085552A1 (en) * | 2007-09-29 | 2009-04-02 | Olivier Franza | Power management using dynamic embedded power gate domains |
US8006070B2 (en) * | 2007-12-05 | 2011-08-23 | International Business Machines Corporation | Method and apparatus for inhibiting fetch throttling when a processor encounters a low confidence branch instruction in an information handling system |
US7925853B2 (en) | 2008-01-04 | 2011-04-12 | International Business Machines Corporation | Method and apparatus for controlling memory array gating when a processor executes a low confidence branch instruction in an information handling system |
US20090182986A1 (en) * | 2008-01-16 | 2009-07-16 | Stephen Joseph Schwinn | Processing Unit Incorporating Issue Rate-Based Predictive Thermal Management |
US8255669B2 (en) | 2008-01-30 | 2012-08-28 | International Business Machines Corporation | Method and apparatus for thread priority control in a multi-threaded processor based upon branch issue information including branch confidence information |
US20090193240A1 (en) * | 2008-01-30 | 2009-07-30 | Ibm Corporation | Method and apparatus for increasing thread priority in response to flush information in a multi-threaded processor of an information handling system |
US8341444B2 (en) * | 2008-02-11 | 2012-12-25 | International Business Machines Corporation | Minimization of power consumption in server environment |
US8028181B2 (en) * | 2008-09-19 | 2011-09-27 | Intel Corporation | Processor power consumption control and voltage drop via micro-architectural bandwidth throttling |
US8386807B2 (en) * | 2008-09-30 | 2013-02-26 | Intel Corporation | Power management for processing unit |
US8527795B2 (en) * | 2008-09-30 | 2013-09-03 | International Business Machines Corporation | Changing processor performance from a throttled state during a power supply failure |
US8688926B2 (en) | 2010-10-10 | 2014-04-01 | Liqid Inc. | Systems and methods for optimizing data storage among a plurality of solid state memory subsystems |
US9261949B2 (en) * | 2010-10-29 | 2016-02-16 | Advanced Micro Devices, Inc. | Method for adaptive performance optimization of the soc |
US8756442B2 (en) | 2010-12-16 | 2014-06-17 | Advanced Micro Devices, Inc. | System for processor power limit management |
US9141421B2 (en) | 2012-12-04 | 2015-09-22 | International Business Machines Corporation | Reducing power grid noise in a processor while minimizing performance loss |
US9360918B2 (en) | 2012-12-21 | 2016-06-07 | Advanced Micro Devices, Inc. | Power control for multi-core data processor |
US9223383B2 (en) | 2012-12-21 | 2015-12-29 | Advanced Micro Devices, Inc. | Guardband reduction for multi-core data processor |
US9292295B2 (en) * | 2013-06-10 | 2016-03-22 | Nvidia Corporation | Voltage droop reduction by delayed back-propagation of pipeline ready signal |
US9195291B2 (en) * | 2013-06-21 | 2015-11-24 | Apple Inc. | Digital power estimator to control processor power consumption |
US9304573B2 (en) | 2013-06-21 | 2016-04-05 | Apple Inc. | Dynamic voltage and frequency management based on active processors |
US20150033045A1 (en) * | 2013-07-23 | 2015-01-29 | Apple Inc. | Power Supply Droop Reduction Using Feed Forward Current Control |
US9606605B2 (en) | 2014-03-07 | 2017-03-28 | Apple Inc. | Dynamic voltage margin recovery |
US10467166B2 (en) | 2014-04-25 | 2019-11-05 | Liqid Inc. | Stacked-device peripheral storage card |
US10114784B2 (en) | 2014-04-25 | 2018-10-30 | Liqid Inc. | Statistical power handling in a scalable storage system |
US10180889B2 (en) | 2014-06-23 | 2019-01-15 | Liqid Inc. | Network failover handling in modular switched fabric based data storage systems |
US9653124B2 (en) | 2014-09-04 | 2017-05-16 | Liqid Inc. | Dual-sided rackmount storage assembly |
US10362107B2 (en) | 2014-09-04 | 2019-07-23 | Liqid Inc. | Synchronization of storage transactions in clustered storage systems |
US10198183B2 (en) | 2015-02-06 | 2019-02-05 | Liqid Inc. | Tunneling of storage operations between storage nodes |
US9658634B2 (en) * | 2015-03-30 | 2017-05-23 | Apple Inc. | Under voltage detection and performance throttling |
US10191691B2 (en) | 2015-04-28 | 2019-01-29 | Liqid Inc. | Front-end quality of service differentiation in storage system operations |
US10108422B2 (en) | 2015-04-28 | 2018-10-23 | Liqid Inc. | Multi-thread network stack buffering of data frames |
US10019388B2 (en) | 2015-04-28 | 2018-07-10 | Liqid Inc. | Enhanced initialization for data storage assemblies |
US20150378407A1 (en) * | 2015-09-04 | 2015-12-31 | Mediatek Inc. | Loading-Based Dynamic Voltage And Frequency Scaling |
US9996138B2 (en) | 2015-09-04 | 2018-06-12 | Mediatek Inc. | Electronic system and related clock managing method |
US10255215B2 (en) | 2016-01-29 | 2019-04-09 | Liqid Inc. | Enhanced PCIe storage device form factors |
US10073511B2 (en) | 2016-03-31 | 2018-09-11 | Qualcomm Incorporated | Apparatus and methods for embedded current measurements for performance throttling |
EP3469486B1 (en) | 2016-06-10 | 2021-07-21 | Liqid Inc. | Multi-port interposer architectures in data storage systems |
US10083736B1 (en) | 2016-06-23 | 2018-09-25 | Apple Inc. | Adaptive calibration scheduling for a memory subsystem based on calibrations of delay applied to data strobe and calibration of reference voltage |
US11880326B2 (en) | 2016-08-12 | 2024-01-23 | Liqid Inc. | Emulated telemetry interfaces for computing units |
US11294839B2 (en) | 2016-08-12 | 2022-04-05 | Liqid Inc. | Emulated telemetry interfaces for fabric-coupled computing units |
CN109844722B (zh) | 2016-08-12 | 2022-09-27 | 利奇得公司 | 分解式结构交换计算平台 |
WO2018200761A1 (en) | 2017-04-27 | 2018-11-01 | Liqid Inc. | Pcie fabric connectivity expansion card |
US10795842B2 (en) | 2017-05-08 | 2020-10-06 | Liqid Inc. | Fabric switched graphics modules within storage enclosures |
US11533272B1 (en) * | 2018-02-06 | 2022-12-20 | Amesite Inc. | Computer based education methods and apparatus |
US10660228B2 (en) | 2018-08-03 | 2020-05-19 | Liqid Inc. | Peripheral storage card with offset slot alignment |
US10860051B2 (en) * | 2018-09-10 | 2020-12-08 | Qualcomm Incorporated | Proactive clock gating system to mitigate supply voltage droops |
US10585827B1 (en) | 2019-02-05 | 2020-03-10 | Liqid Inc. | PCIe fabric enabled peer-to-peer communications |
US10955906B2 (en) * | 2019-02-07 | 2021-03-23 | International Business Machines Corporation | Multi-layered processor throttle controller |
US11226752B2 (en) | 2019-03-05 | 2022-01-18 | Apple Inc. | Filtering memory calibration |
US10921872B2 (en) * | 2019-03-29 | 2021-02-16 | Intel Corporation | Performing soft throttling and hard throttling in a processor |
EP3959604B1 (en) | 2019-04-25 | 2024-08-28 | Liqid Inc. | Machine templates for predetermined compute units |
WO2020219807A1 (en) | 2019-04-25 | 2020-10-29 | Liqid Inc. | Composed computing systems with converged and disaggregated component pool |
US10948957B1 (en) | 2019-09-26 | 2021-03-16 | Apple Inc. | Adaptive on-chip digital power estimator |
WO2022015283A1 (en) * | 2020-07-13 | 2022-01-20 | Intel Corporation | Voltage protection |
US11442776B2 (en) | 2020-12-11 | 2022-09-13 | Liqid Inc. | Execution job compute unit composition in computing clusters |
WO2021056031A2 (en) * | 2021-01-20 | 2021-03-25 | Zeku, Inc. | Apparatus and method of configurable power management using a power controller |
US20230367738A1 (en) * | 2022-05-11 | 2023-11-16 | Bae Systems Information And Electronic Systems Integration Inc. | Asic power control |
Family Cites Families (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2257118B1 (zh) * | 1974-01-04 | 1976-11-26 | Commissariat Energie Atomique | |
JPS58206939A (ja) * | 1982-05-27 | 1983-12-02 | Seiko Instr & Electronics Ltd | 電子式体温計 |
JPS6145354A (ja) * | 1984-08-10 | 1986-03-05 | Nec Corp | マイクロプロセツサ |
GB2233457A (en) * | 1989-06-21 | 1991-01-09 | Schlumberger Technologies Ltd | Temperature reference junction for a multichannel temperature sensing system. |
US5153535A (en) * | 1989-06-30 | 1992-10-06 | Poget Computer Corporation | Power supply and oscillator for a computer system providing automatic selection of supply voltage and frequency |
US5021679A (en) * | 1989-06-30 | 1991-06-04 | Poqet Computer Corporation | Power supply and oscillator for a computer system providing automatic selection of supply voltage and frequency |
EP0549165A2 (en) | 1991-12-23 | 1993-06-30 | National Semiconductor Corporation | Power conserving integrated circuit |
JP2954773B2 (ja) * | 1992-01-17 | 1999-09-27 | 株式会社日立製作所 | システムクロックの位相制御方式 |
US6078356A (en) * | 1992-06-08 | 2000-06-20 | Raytheon Company | Frequency multiplexed data from detector array |
US5287292A (en) * | 1992-10-16 | 1994-02-15 | Picopower Technology, Inc. | Heat regulator for integrated circuits |
US5392437A (en) * | 1992-11-06 | 1995-02-21 | Intel Corporation | Method and apparatus for independently stopping and restarting functional units |
US7216064B1 (en) * | 1993-09-21 | 2007-05-08 | Intel Corporation | Method and apparatus for programmable thermal sensor for an integrated circuit |
EP0651314A1 (en) * | 1993-10-27 | 1995-05-03 | International Business Machines Corporation | An apparatus and method for thermally protecting a processing device |
US5487668A (en) * | 1993-11-09 | 1996-01-30 | Mill Hill Factory, Inc. | Set of blocks for making designs |
US5752011A (en) | 1994-06-20 | 1998-05-12 | Thomas; C. Douglas | Method and system for controlling a processor's clock frequency in accordance with the processor's temperature |
JP3602166B2 (ja) * | 1994-09-13 | 2004-12-15 | 三菱電機株式会社 | センサ装置 |
US5734585A (en) * | 1994-11-07 | 1998-03-31 | Norand Corporation | Method and apparatus for sequencing power delivery in mixed supply computer systems |
US6192479B1 (en) * | 1995-01-19 | 2001-02-20 | Texas Instruments Incorporated | Data processing with progressive, adaptive, CPU-driven power management |
US5719800A (en) * | 1995-06-30 | 1998-02-17 | Intel Corporation | Performance throttling to reduce IC power consumption |
FR2739782B1 (fr) * | 1995-10-13 | 1997-12-19 | Ela Medical Sa | Dispositif medical implantable actif, notamment stimulateur cardiaque, a fonctionnement asservi et consommation reduite |
US5692202A (en) * | 1995-12-29 | 1997-11-25 | Intel Corporation | System, apparatus, and method for managing power in a computer system |
US5815724A (en) * | 1996-03-29 | 1998-09-29 | Intel Corporation | Method and apparatus for controlling power consumption in a microprocessor |
US5781783A (en) * | 1996-06-28 | 1998-07-14 | Intel Corporation | Method and apparatus for dynamically adjusting the power consumption of a circuit block within an integrated circuit |
JPH1089052A (ja) * | 1996-09-18 | 1998-04-07 | Toyota Motor Corp | 電気加熱式触媒装置の電源制御装置 |
JP2928178B2 (ja) * | 1996-11-29 | 1999-08-03 | 日本電気ホームエレクトロニクス株式会社 | 無線携帯情報端末装置 |
US5832284A (en) * | 1996-12-23 | 1998-11-03 | International Business Machines Corporation | Self regulating temperature/performance/voltage scheme for micros (X86) |
US6029006A (en) * | 1996-12-23 | 2000-02-22 | Motorola, Inc. | Data processor with circuit for regulating instruction throughput while powered and method of operation |
US5835885A (en) * | 1997-06-05 | 1998-11-10 | Giga-Byte Technology Co., Ltd. | Over temperature protection method and device for a central processing unit |
US5902044A (en) * | 1997-06-27 | 1999-05-11 | International Business Machines Corporation | Integrated hot spot detector for design, analysis, and control |
CN1126013C (zh) * | 1997-09-29 | 2003-10-29 | 英特尔公司 | 控制集成电路功耗的方法和器件 |
US5964881A (en) * | 1997-11-11 | 1999-10-12 | Advanced Micro Devices | System and method to control microprocessor startup to reduce power supply bulk capacitance needs |
US6219796B1 (en) * | 1997-12-23 | 2001-04-17 | Texas Instruments Incorporated | Power reduction for processors by software control of functional units |
US6559631B1 (en) * | 1998-04-10 | 2003-05-06 | General Electric Company | Temperature compensation for an electronic electricity meter |
US6091255A (en) * | 1998-05-08 | 2000-07-18 | Advanced Micro Devices, Inc. | System and method for tasking processing modules based upon temperature |
US6172611B1 (en) * | 1998-10-19 | 2001-01-09 | Telcom Semiconductor, Inc. | Independent hardware thermal sensing and monitoring |
US6069798A (en) * | 1999-01-14 | 2000-05-30 | Lucent Technologies Inc. | Asymmetrical power converter and method of operation thereof |
US6789037B2 (en) * | 1999-03-30 | 2004-09-07 | Intel Corporation | Methods and apparatus for thermal management of an integrated circuit die |
US6393374B1 (en) * | 1999-03-30 | 2002-05-21 | Intel Corporation | Programmable thermal management of an integrated circuit die |
US6211740B1 (en) * | 1999-09-29 | 2001-04-03 | Intel Corporation | Switching a clocked device from an initial frequency to a target frequency |
US6407595B1 (en) * | 2000-04-04 | 2002-06-18 | Silicon Integrated Systems Corp. | Digital clock throttling means |
US6701272B2 (en) * | 2001-03-30 | 2004-03-02 | Intel Corporation | Method and apparatus for optimizing thermal solutions |
-
2001
- 2001-12-28 US US10/041,013 patent/US6931559B2/en not_active Expired - Fee Related
-
2002
- 2002-12-11 TW TW091135847A patent/TW200305074A/zh unknown
- 2002-12-12 CN CNB028262670A patent/CN1303497C/zh not_active Expired - Fee Related
- 2002-12-12 AU AU2002364004A patent/AU2002364004A1/en not_active Abandoned
- 2002-12-12 WO PCT/US2002/040167 patent/WO2003058418A2/en not_active Application Discontinuation
-
2005
- 2005-08-24 HK HK05107416A patent/HK1075108A1/xx not_active IP Right Cessation
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101821697B (zh) * | 2007-10-11 | 2013-09-18 | 高通股份有限公司 | 图形处理单元中基于需求的功率控制 |
CN101464721B (zh) * | 2007-12-19 | 2012-02-01 | 国际商业机器公司 | 控制流水线型处理器中的功率消耗的方法和系统 |
CN101965547A (zh) * | 2008-03-03 | 2011-02-02 | 惠普开发有限公司 | 基于软件的功率封顶 |
US8464086B2 (en) | 2008-03-03 | 2013-06-11 | Hewlett-Packard Development Company, L.P. | Software-based power capping |
CN106687930A (zh) * | 2014-09-16 | 2017-05-17 | 混合型服务器技术知识产权股份有限公司 | 用于决定任务分发路径的方法、设备和系统 |
CN104317557B (zh) * | 2014-10-27 | 2017-01-18 | 杭州中天微系统有限公司 | 基于流水线轮动的低峰值功耗嵌入式处理器 |
WO2021114155A1 (zh) * | 2019-12-11 | 2021-06-17 | 华为技术有限公司 | 一种处理器及降低功耗的方法 |
Also Published As
Publication number | Publication date |
---|---|
HK1075108A1 (en) | 2005-12-02 |
WO2003058418A2 (en) | 2003-07-17 |
TW200305074A (en) | 2003-10-16 |
WO2003058418A3 (en) | 2004-01-29 |
US6931559B2 (en) | 2005-08-16 |
US20030126478A1 (en) | 2003-07-03 |
AU2002364004A1 (en) | 2003-07-24 |
CN1303497C (zh) | 2007-03-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1303497C (zh) | 多模式功率节制机制 | |
US7281140B2 (en) | Digital throttle for multiple operating points | |
US7861068B2 (en) | Method and apparatus for using dynamic workload characteristics to control CPU frequency and voltage scaling | |
Choi et al. | Learning-based SMT processor resource distribution via hill-climbing | |
EP1307806B1 (en) | MECHANISM TO CONTROL di/dt FOR A MICROPROCESSOR | |
Hsu et al. | Compiler-directed dynamic frequency and voltage scheduling | |
Iyer et al. | Power aware microarchitecture resource scaling | |
Hughes et al. | Saving energy with architectural and frequency adaptations for multimedia applications | |
Rajamani et al. | Application-aware power management | |
US7770034B2 (en) | Performance monitoring based dynamic voltage and frequency scaling | |
Buyuktosunoglu et al. | Energy efficient co-adaptive instruction fetch and issue | |
CN106598691B (zh) | 用于低功率程序调整的功率性能监视器的装置和方法 | |
US7334143B2 (en) | Computer power conservation apparatus and method that enables less speculative execution during light processor load based on a branch confidence threshold value | |
Chantem et al. | Online work maximization under a peak temperature constraint | |
WO2006037119A2 (en) | Method and apparatus for varying energy per instruction according to the amount of available parallelism | |
US20080133886A1 (en) | Adaptive fetch gating in multithreaded processors, fetch control and method of controlling fetches | |
CN1434934A (zh) | 具有数字能量调节的微处理器 | |
Bautista et al. | A simple power-aware scheduling for multicore systems when running real-time applications | |
Powell et al. | Pipeline damping: A microarchitectural technique to reduce inductive noise in supply voltage | |
Aragon et al. | Control speculation for energy-efficient next-generation superscalar processors | |
Iyer et al. | Microarchitecture-level power management | |
Stanley-Marbell et al. | A hardware architecture for dynamic performance and energy adaptation | |
Xie et al. | Efficient behavior-driven runtime dynamic voltage scaling policies | |
Iyer et al. | Run–time scaling of microarchitecture resources in a processor for energy savings | |
Zhang et al. | Adaptive front-end throttling for superscalar processors |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 1075108 Country of ref document: HK |
|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20070307 Termination date: 20171212 |
|
CF01 | Termination of patent right due to non-payment of annual fee |