CN1608240A - 多模式功率节制机制 - Google Patents

多模式功率节制机制 Download PDF

Info

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
Application number
CNA028262670A
Other languages
English (en)
Other versions
CN1303497C (zh
Inventor
詹姆斯·伯恩斯
戴维·艾尔斯
玛莎·恩格
爱德华·格罗霍夫斯基
斯特凡·鲁苏
维韦克·蒂瓦里
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of CN1608240A publication Critical patent/CN1608240A/zh
Application granted granted Critical
Publication of CN1303497C publication Critical patent/CN1303497C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3243Power saving in microcontroller unit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/3017Runtime instruction translation, e.g. macros
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • G06F9/3838Dependency mechanisms, e.g. register scoreboarding
    • G06F9/384Register renaming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3854Instruction completion, e.g. retiring, committing or graduating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3854Instruction completion, e.g. retiring, committing or graduating
    • G06F9/3858Result writeback, i.e. updating the architectural state or memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3867Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
    • G06F9/3869Implementation aspects, e.g. pipeline latches; pipeline synchronisation and clocking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3867Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
    • G06F9/3873Variable length pipelines, e.g. elastic pipeline
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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所述的装置,其中,所述模式单元响应于运行在当前组合下的所述执行流水线的所述功率状态达到第四阈值,去激活所述第二功率模式。
CNB028262670A 2001-12-28 2002-12-12 多模式功率节制机制 Expired - Fee Related CN1303497C (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Cited By (7)

* Cited by examiner, † Cited by third party
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