CN101520725A - 具有数字功率调节的微处理器 - Google Patents

具有数字功率调节的微处理器 Download PDF

Info

Publication number
CN101520725A
CN101520725A CNA2009101331566A CN200910133156A CN101520725A CN 101520725 A CN101520725 A CN 101520725A CN A2009101331566 A CNA2009101331566 A CN A2009101331566A CN 200910133156 A CN200910133156 A CN 200910133156A CN 101520725 A CN101520725 A CN 101520725A
Authority
CN
China
Prior art keywords
processor
power
instruction
power consumption
functional unit
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
CNA2009101331566A
Other languages
English (en)
Other versions
CN101520725B (zh
Inventor
E·T·格罗乔夫斯基
V·沙马
G·S·马休斯
V·乔希
R·M·克林
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 CN101520725A publication Critical patent/CN101520725A/zh
Application granted granted Critical
Publication of CN101520725B publication Critical patent/CN101520725B/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, 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/329Power saving characterised by the action undertaken by task scheduling
    • 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, look ahead
    • G06F9/3867Concurrent instruction execution, e.g. pipeline, look ahead using instruction pipelines
    • G06F9/3869Implementation aspects, e.g. pipeline latches; pipeline synchronisation and clocking
    • 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

Abstract

本发明提供了一个基于数字的机制,用于调整在一个处理器中的功率损耗。该处理器包含一个或者多个功能单元和一个数字调节,该数字调节监控该处理器功能单元的活动状态,以估计处理器的功率损耗。该数字调节的一个实施例包含一个或者多个选通单元、一个监控电路(320)、以及一个调节电路(330)。每一个选通单元控制传送到该处理器的一个功能单元的功率传送,并且提供一个信号指示它的相关功能单元的活动状态。该监控单元从该信号中确定估计的功率损耗水平,并将估计的功率损耗和一个阈值功率电平相比较。如果估计的功率损耗超过一个阈值功率电平,则该调节电路调整在一个处理器中的指令流。

Description

具有数字功率调节的微处理器
本申请是申请日为2000年11月21日,申请号为00818992.7,发明名称为“具有数字功率调节的微处理器”的中国专利申请的分案申请。
技术领域
本发明涉及微处理器,而且尤其涉及用于控制在微处理器中的功率消耗的机制。
背景技术
现代的处理器包含广大的执行资源以支持多条指令的并行处理。一个处理器一般包含一个或多个整数、浮点、转移、和存储器执行单元以分别实现整数、浮点、转移,和加载/存储指令。此外,整数和浮点单元一般包含寄存器堆以相对接近于该处理器核心保持数据。向一个处理器提供广大的执行资源的一个缺点是要求有大数量的功率来运行它们。取决于执行单元的大小和它们实现的功能,不同的执行单元可以耗费或多或少的功率,但是把这么多逻辑封装到一个相对小的处理芯片上的效果是将产生重要功率耗散问题的可能性。
几乎没有程序需要一个处理器执行资源的全部范围持续很长的时间间隔。运行一个程序耗散的功率取决于它的组件指令的属性和它们被并行执行的可能性。程序一般包含各种指令类型,但是很少有足够多的正确类型指令可以用来使得处理器的全部执行资源忙碌相当长的时间周期。为此,大多数处理器使用一个时钟选通机制,以当执行资源不被使用时切断传送到该执行资源的时钟,由此减小功率。此外,当指令进入和退出由该组件服务的流水线阶段时,一个执行资源的不同组件能够被打开和关闭。因此,普通的程序可以耗散相对可管理的功率电平。
某些程序确实激活处理器的许多执行资源持续相对长的间隔,因此耗散比普通程序多很多的功率。除非提供了一个机制来限制处理器的功率消耗,该处理器通常被设计成处理耗费最高功率的程序。这可能需要以低于它的最高性能水平为所有程序运行该处理器,而与运行普通程序所要求的功率无关。
功率调节是一个已经提出用来处理由高性能处理器产生的功率消耗问题的策略。当一个处理器的功率消耗过高时,功率调节降低一个处理器的性能。这可以通过临时减小该处理器执行指令的速率直到功率消耗降低到一个安全水平为止来进行。功率调节允许处理器被设计成用于普通程序运行的功率电平。当运行一个资源消耗较多的程序时,处理器减小它的指令执行速率以保持它的功率消耗在一个已确定的范围内。
提出的功率调节机制取决于模拟参数来监控由一个处理器耗散的功率。例如,一个热量调节机制监控该处理器芯片的温度,并且当温度超过一个阈值时减小处理器的执行速度。其它已经提出的调节方案监控由一个处理器耗损的电流、或者监控在一个开关调节器中的一个脉冲宽度调制器的占空比。
这些功率调节机制具有许多缺点。它们引入附加的模拟电路到一个主要数字环境,即处理器中。它们易于随在处理器环境(温度、电压、组成)中的变化而改变。它们可以在处理器的功率电平中产生低频率的变化。它们不直接限制由该处理器耗损的功率,而且它们不是决定性的。这就是说,它们的行为不能在一个时钟接一个时钟的基础上进行预计。
本发明解决了可用功率调节机制的这些及其它不足。
发明内容
本发明提供了一种数字调节器来控制一个微处理器的功率消耗。
根据本发明,一种处理器包含一个或多个功能单元和数字调节器。该数字调节器监控处理器功能单元的动作状态以估计该处理器的功率消耗。
根据本发明的第一方面,提供一种处理器,包含:
形成指令执行流水线的功能单元;
选通电路,控制到该功能单元的功率传送,并且提供一个指示传送给该功能单元的功率电平的信号;
一个监控电路,把指示的功率电平与一个阈值功率电平进行比较;以及
一个调节电路,如果指示的功率电平超过阈值功率电平,则调整所述处理器中的指令流。
根据本发明的第二方面,提供了一种控制在一个处理器中的功率消耗的方法,包含:
收集来自于在该处理器中的选通电路的功率信号,该功率信号指示当前传送到与选通电路相关联的多个功能单元的功率电平;
根据收集的功率信号调整估计的功率消耗水平;
将该估计的功率消耗水平与一个阈值功率消耗水平相比较;以及
当该估计的功率消耗水平超过阈值功率消耗水平时,调整处理器的一个指令执行速率。
根据本发明的第三方面,提供了一种处理器,包含:
形成指令执行流水线的一个或多个功能单元;以及
一个数字调节器,监控该一个或多个功能单元的动作状态以估计用于该处理器的一个功率消耗水平,其中该数字调节器包含:
一个或多个选通单元,其中每一个选通单元控制到一个相关功能单元的功率传送,并且指示用于该相关功能单元的一个动作状态;一个监控电路,从指示的一个或多个功能单元的动作状态中确定处理器功率消耗水平的估计,其中所述估计将与预定的阈值进行比较;以及
一个调节电路,在所述估计超过所述预定阈值时,调整所述处理器中的指令流。
对于本发明的一个实施例,该数字调节器包含一个或多个选通单元、一个监控电路、和一个调节电路。每一个选通单元控制传送到该处理器一个功能单元的功率传送,并且提供一个信号来指示它的相关功能单元的动作状态。该监控电路从信号中确定该处理器的一个估计的功率消耗水平,并且将估计的功率消耗与一个阈值功率电平相比较。如果该估计的功率消耗水平超过该阈值功率电平,则调节电路调整在处理器中的指令流。
附图说明
参考以下附图可以理解本发明,其中类似的单元用类似的数字指示。提供这些附图以说明本发明中的选定实施例并且不用于限制本发明的范围。
图1是一个可以在其上实现本发明的一个计算机系统的一个实施例的框图。
图2是根据本发明,实现了一个数字功率调节的一个处理器的一个实施例的框图。
图3是由图2中的处理器实现的数字功率调节的一个实施例的框图。
图4是一个表示图3中的调节电路的一个实施例的示意图。
图5是一个流程图,表示了一种根据本发明、用于调整一个处理器的功率消耗的方法。
图6A和6B是根据本发明,表示实现数字调节器的多个执行核心处理器的实施例的框图。
具体实施方式
在下面的讨论中,阐述了许多具体的细节以便提供对本发明的一个彻底了解。然而,本领域普通技术人员利用这个公开的优点,将会理解:可以实践发明而不需要这些细节。此外,各种众所周知的方法、过程、组件和电路没有被详细描述以便把注意力集中在本发明的特征上。
本发明提供了一种机制,用于通过监控一个处理器的功能单元响应于一个指令序列的动作来控制该处理器的功率损耗。例如哪个功能单元由当前在进行中的指令激活的动作,可以由指示相应功能单元是否被打开或者关闭的二进制信号表示。由处理器耗损的功率的一个估计是通过求和与当前“打开”的每一个功能单元相关联的功率加权来提供。用于一个功能单元的功率加权表示当该功能单元被激活时它耗损的功率数量。如果估计的功率超过一个阈值电平,则一个调节机制调整通过该处理器的指令流以减少该功能单元的动作。
用于每一个功能单元的功率加权可以通过一个校准处理过程进行确定。例如,作为设计过程的一部分该数字调节器可以被校准一次,或者它可以被自我校准。在后面的情况中,该数字调节器可以使用当前的监控电路和一个校准算法定期地调整用于每一功能单元的功率加权。
对于该发明的一个实施例,一个选通单元与每一功能单元相关联,以响应于当前在进行中的指令,控制到该功能单元的功率传送。一个流水线控制电路向每一个选通单元指示它的相关功能单元的打开/关闭状态。来自每一个选通单元的一个信号向一个监控电路指示它的相关功能单元的打开/关闭状态。监控电路依据指示状态,在该处理器当前功率消耗的一个估计中包含或者忽略相应的功率加权。做为选择,当功能单元是“打开”时,每一个选通单元信号可以把它的相关功能单元的功率加权传送到该监控电路。本发明的其它实施例可以使用其它机制用于指示在该估计的功率中要被考虑的功率加权。
该监控电路计算用于活动功能单元的功率加权的总和,并且把它们和一个阈值进行比较,以逐时钟提供该处理器的功率消耗的估计。对于该数字调节器的一个实施例来说,经由多个时钟周期积累这些估计以提供一个积累的功率值,其平滑了在该处理器功率消耗中逐时钟的变化。依据积累的功率值,一个调节电路调整指令被处理的速率。例如,该调节电路可以注入“气泡”到该处理器的指令执行流水线中以降低性能,或者它可以减少该处理器时钟操作的频率。
所公开的机制因此依赖于在该处理器逻辑中的数字事件(动作状态)来估计功率消耗,并且直接通过指令被处理的速率来调整这些事件的速率。这提供了一个快速、直接、和确定性的机制,用于控制一个处理器的功率消耗,而且它这样做时不会把模拟电路引入到处理器中。
图1是一在其中可以实现本发明的一个计算机系统100的一个实施例的一个框图。计算机系统100包含一个或多个处理器110、一个主存储器140、一个非易失性存储器150、各种外围设备160、和系统逻辑170。系统逻辑170控制在处理器(多个)110、主存储器140、非易失性存储器150、和外围设备160当中的数据传输。提供了计算机系统100来说明本发明的各种特征。显示的特定配置不是实现本发明所必需的。
处理器110包含多个功能单元124,其形成一个指令执行流水线120。指令从主存储器140和非易失性存储器150提供到处理器110。一个数字调节器130响应于处理的指令监控在各种功能单元124中的功率消耗,并且因此调整通过流水线120的指令流动。
当一个指令沿着流水线120向下进行时,它引导各种功能单元124执行一个或多个操作,这些操作合起来实现该指令。例如,一个浮点乘法累加指令(FMAC)可以导致在指示的资源中发生下列操作:一个浮点寄存器堆读出三个操作数;一个FMAC执行单元将两个操作数相乘,并且添加乘积到第三个操作;一个例外单元检查该乘积并且为错误进行求和;以及如果没有检测到错误的话,则一个收回单元把该结果写到浮点寄存器堆中。取决于特定的处理器实现,这些资源或者它们的组件可以被组合到一个或多个功能单元中,当该指令沿着流水线向下进行时打开或者关闭这些功能单元。当每一个功能单元由指令激活时,它损耗一定量的功率。
对于本发明的一个实施例,由一个功能单元124损耗的功率由一个相关的功率加权表示。当一个功能单元由一条指令激活时,数字调节器130检测它的活动状态,并且添加它的相关功率加权到该处理器总功率消耗的一个估计中。数字调节器130在一个选定的间隔上实现这些操作,产生由当前执行指令序列损耗的功率的一个估计,并且如果估计的功率消耗超过一个指定的阈值电平的话,则调整通过流水线120的指令流。
图2更详细地表示了处理器110的一个实施例。对于处理器110的公开实施例来说,流水线120被分别表示为取出(FET)、扩展(EXP)、登记(REG)、执行(EXE)、检测(DET)、以及收回(RET)阶段,而且指示对应于每一个阶段的执行资源。本发明不需要把处理器110划分到一个特定流水线阶段集合中。例如,一个公开的阶段可以被再分成两个或更多阶段,以解决定时发布或者便于高处理器时钟频率。做为选择,两个或更多阶段可以组合到单个阶段中。其它实施例可以包含用于无序处理指令的硬件。公开的流水线仅仅提供了在实现本发明的一个处理器中可以如何划分操作的一个示例。
流水线120的前端包含取出单元210和发布单元220,其提供指令到在流水线120的后端中的执行单元用于执行。取出单元210直接从存储器140中或者通过一个局部高速缓存(没有显示)获取指令,并且提供取出的指令到发布单元220。发布单元220解码该指令,并且发布它们到在流水线120后端中的执行资源。
在这个讨论中,使用的术语“指令”通常涉及指令、宏指令、指令束或者任何许多用于编码处理器操作的其它机制。例如,该解码操作可以转换一个宏指令到一个或多个微操作(μops)中、把一个指令束分解到一个或多个指令节中、或者获取一个与一个指令相关联的微码序列。
流水线120的后端包含寄存器单元230、执行单元250、例外单元260和收回单元270。寄存器单元230包含一个寄存器重命名单元和各种寄存器堆(没有显示),以分别标识在该指令中指定的寄存器以及从标识的寄存器中访问该数据。执行单元250包含一个或多个转移执行单元(BRU)252、整数执行单元(IEU)254、加载/存储单元(LSU)256、以及浮点执行单元(FPU)258,以处理转移、整数、加载/存储、和浮点指令。例外单元260检查由执行单元250产生的结果,并且如果遇到一个异常条件的话则调整该控制流。如果没有检测到异常条件的话,则收回单元270用该结果更新处理器110的体系结构状态。由不同的指令激活的功能单元对应于被指示用于流水线120的执行资源的不同组合和子集。数字调节器130监控这些功能单元的动作状态,并且因此调整指令通过流水线120处理的速率。例如,一个功能单元可以包含一个浮点寄存器(在寄存器单元230中),而且FPU 258可以具有在两个或更多功能单元中的组件。通常,一个功能单元包含被一起激活和去激活的各种执行资源(寄存器堆、执行单元、跟踪逻辑)。本发明不取决于在图2中显示的功能单元和执行资源之间的详细映射。
图3是一个表示数字调节器130的一个实施例以及它与流水线120的功能单元124相互作用的框图。数字调节器130的公开实施例包含选通单元310(1)-310(n)(一般称为选通单元130)、一个监控电路320、和一个调节电路330。每一个选通单元310与在流水线120中的一个功能单元124相关联,以控制到该功能单元的功率传送。例如,依据功能单元124的服务是否为实现当前在该功能单元在其中进行操作的流水线阶段中的一条指令所必需,选通单元310可以是一个耦合或者去耦合一个时钟信号到功能单元124的时钟选通电路。还在图3中显示了一个流水线控制电路350,其向选通单元310指示对于当前执行的指令哪个功能单元是活动的。
对于数字调节器130的公开实施例,每一个选通单元130提供一个信号到监控电路320,以指示功率是否正被传送给功能单元124。例如,信号可以是功能单元124的一个动作状态,当功能单元124被“打开”时,认定该信号。当该信号被认定时,即当选通单元130提供功率到功能单元124时,用于该功能单元的功率加权被添加到用于处理器110的估计的功率消耗中。当该信号没有被认定时,即当选通单元130切断到功能单元124的功率时,相关的功率加权没有被加到估计的功率消耗中。一个典型的处理器可以包含10-20个选通单元310以控制到10-20个功能单元124的功率传送。
监控电路320从选通单元130收集信号,并且从收集的信号中确定用于处理器110的一个当前估计的功率消耗水平。对于数字调节器130的公开实施例,监控电路320包含加权单元314(1)-314(n)(一般称为加权单元314)、一个加法器324、一个饱和电路326、以及一个累加器328。对于本发明的一个实施例,每一个加权单元314通过一个相应的选通单元310与功能单元124中的一个相关联。当来自它的选通单元310的动作状态信号被认定了时,加权单元314提供一个功率电平到加法器324。当该动作状态信号没有被认定时,加权单元314输出零。
加法器324计算由加权单元134指示的功率加权总和,并且从该总和中减去阈值电平。加法器324的输出通过饱和电路326转发到累加器328。包含饱和电路326以在由加法器324转发的值溢出时防止绕回。累加器328提供该转发的值到调节电路330,提供一份副本回到加法器324以依据处理器的后续活动状态进行更新。
在选定间隔处,累加器328的内容(“积累的功率”)被提供到调节电路330。如果积累的功率是正,例如在指定间隔上估计的积累功率消耗超过阈值功率电平的话,调节电路330的一个实施例减少通过流水线120的指令流动。调节电路330发信号通知取出单元210,以注入“气泡”到被提供给流水线120后端的指令流中。实际上,当为指定间隔估计的功率消耗水平超过阈值电平时,调节电路330调整处理器时钟的占空比。
表1:说明了用于其中指定间隔是128个时钟周期的情况的一组占空比调整。
 
积累的功率 占空比
X<0 128/128
0<=X<1 127/128
1<=X<2 126/128
2<=X<3 125/128
3<=X<4 124/128
... ...
125<=X<126 2/128
126<=X<127 1/128
127<=X 0/128
对于由表1说明的实施例,功率加权可以是8-16位的、与当该功能单元被激活时由它耗损的功率成比例的定点数。X的上8位可以用来调整该处理器时钟的占空比。这些位变化更慢一些,以衰减由调节电路330指示的指令流变化。对于上述示例,其中采样间隔是128个时钟周期,数字调节器130提供了128个级别的调节。这些级别提供了精细调整的调节控制,其与该估计的功率消耗超过阈值功率消耗的数量成比例。更可取地是,调节电路350分布由在采样间隔上估计的功率消耗指示的打开/关闭阶段。该分布可以是均匀的、可以是随机的、或者它可以取决于某些其它模式。在下面将更详细地讨论一种这样的分布。
图4是调节电路330的一个实施例的示意表示。调节电路330的公开实施例包含一个存储器设备410、一个控制单元420、和一个计数器430。还显示了在其中存储积累的功率的累加器338的一个寄存器440。存储器设备410可以是,例如,一个只读存储器(ROM),响应于来自计数器420的一个计时指示和来自累加器328的一个积累的功率电平,通过控制单元420访问该存储设备的入口。
对于调节电路330的公开实施例,计数器430是一个对128求模的计数器。计数器430的输出在连续的时钟周期上从0-127递增在控制单元420中的一列索引,并且当到达127时回到0。类似地,累加器328的输出依据积累功率的当前值调整在控制单元420中的一行索引。对于该公开的实施例,当分别X<=0,72,和124时,行索引是0,71,和123。控制单元420使用这些索引从存储器设备410中读出一个相应入口。入口的值指示气泡是否应当被注入到处理器110的指令执行流水线中。例如,当输出是0时,气泡被注入,而当输出是1时,没有气泡被注入。
对于存储器设备410的一个实施例,每一行都用不同数量的1和0进行填充,0的数目与映射到该行的X值成比例。例如,0行可以包含所有的1,以便当积累的功率电平(X)不超过零时,即当运行的功率估计不超过阈值电平时,没有气泡被注入到该指令执行流水线中。在该功率谱的另一端,行127可以不包含1,以便只要积累的功率电平超过一个规定量就在每一个时钟周期上注入气泡到该指令执行流水线中。对于公开的示例,这个数量由饱和电路328确定为127,即X=>127。在行0和行127之间的行可以用与X值成比例的0填充。例如,行67包含68个0分布在它的不同的列中,行111包含112个0横穿它的列分布,而且行17包含18个0横穿它的列分布。对于本发明的一个实施例,0以一种随机方式横穿它们指定行的列分布。
数字调节器130的公开实施例包含一个反馈回路。调节量取决于功能单元的动作状态,其反过来受调节量的影响。累加器328执行一个在时间上的积分,其引入一个90度的滞后相移到这个反馈回路中。为了稳定性目的,在该反馈回路内最小化其它延迟,即相移是重要的。用于该数字反馈回路的稳定性标准将很可能取决于在一个间隔期间要多么显著地调整该处理器的功率消耗,该间隔对应于穿越该指令执行流水线需要的时钟周期数目(流水线间隔)。例如,功率加权应当被选择以确保在一个流水线间隔期间在功率消耗中相对小的变化。数字调节器130的响应时间由它的反馈回路控制。因为数字调节器响应于在该逻辑中的离散信号进行操作,而不是由处理器组件的集体行为确定的宏观现象(温度、电流)进行操作,所以它的响应时间是一个微秒量级。基于热量的调节机制的响应时间数量级为秒。数字调节器130不能控制在持续时间比这个响应时间还要短的功率消耗中的峰值。为了最小化由例如注入气泡表示的性能损失,数字调节器130和由该功率传送系统允许的响应一样慢。这意味着该功率传送系统应当能在比响应时间还要短的间隔,处理在该处理器的功率消耗中、高于该阈值电平的峰值。对于这些峰值,能量可以从该处理器的电源电容器提供。
数字调节器130具有的、在该处理器的功率消耗上的控制程度越大,它将会越有效。在处理器130实现了覆盖该处理器功能单元大部分的地方,数字调节器130是最有效的。大范围的选通控制意味着:当超过该阈值电平时,数字调节器130能够快速和显著地调整功率消耗的水平。类似地,在功能单元上提供更精细的控制增加了数字调节器130的效率。例如,把处理器的执行资源划分到更大数量的功能单元124中。并且提供附加的选通单元来控制这些功能单元,向调节130提供了对处理器功率消耗更大的控制。
图5是一个流程图,表示一种根据本发明、用于调节一个处理器中的功率的方法。方法500首先在510确定在该处理器中哪个功能单元是活动的。例如,可以由来自一个时钟选通电路的信号来指示一个功能单元的状态(活动/不活动),其中该时钟选通电路提供功率到功能单元。例如,如果该选通电路提供功率到该功能单元(活动状态),则它可以认定该信号,而且如果它当前没有提供功率到该功能单元(不活动状态),则它可以解认定该信号。
一旦在510已经确定了活动功能单元,就在520估计用于该处理器的一个功率电平。这可以通过将一个功率加权与由每一选通单元提供的信号相关、并且向该估计的功率电平递增与每一个认定的信号相关联的功率加权,来完成。与解认定信号相关联的加权功率不对当前估计的功率电平有所贡献。
在530把当前估计的功率电平与一个阈值功率电平相比较。阈值功率电平表示,例如,在其上面处理器将不应被操作一段延长时间的一个功率电平。对于一个实施例,从当前估计功率电平中减去该阈值,并且把结果添加到一个正在运行的处理器相对功率电平估计,即积累的功率中。如果积累的功率是正的(EPL>阈值),则在540调整该指令吞吐量。如果积累的功率是负的(EPL<阈值),则不调整该指令吞吐量。
可以通过许多机制减小处理器的指令吞吐量。对于方法500的一个实施例,可以把气泡注入到指令执行流水线中,以减少处理器的功能单元是活动的时钟周期部分。例如,可以通过触发该发布单元以仅仅在选定的处理器时钟周期上发布指令,来引入气泡。对于本发明的另一个实施例,可以减小处理器时钟操作的频率。
本发明的一个优点是依据在该流水线功能单元中的动作水平调整处理器流水线的执行资源。不同于基于热量或者电流估计功率消耗的技术,由该数字调节器监控的功能单元动作是在该处理器内各个流水线的一个特征。在分配动作和功率消耗到特定单元中的结果专一性在在单个处理器芯片上实现了多个执行核心的处理器中尤其有用。这里,“执行核心”涉及与一个完整处理器相关联的执行资源,以便多个执行核心处理器有效地在单个芯片上实现多处理器。只要功率消耗总数不超过一个阈值电平,本发明中的数字调节器允许正处理一个能耗大的代码段的一个执行核心有效地从另一个执行核心(一个或多个)借用功率。做为选择,它允许每一个执行核心依据在它指令执行流水线中的动作被调节。
图6A是一个在其中实现了本发明的多执行核心处理器610的一个实施例的块级框图。处理器610包含执行核心620(a)-620(n)(一般称为执行核心(多个)630)。每一执行核心620都包含形成一个执行流水线640的功能单元630。一个共享的数字调节器650监控和调整在所有流水线640中的功能单元630中的动作。只要没有超过总功率阈值,处理器110的这个实施例允许每一个执行核心620从剩余的执行核心借用功率。
图6B是一个在其中实现了本发明的多执行核心处理器660的另一个实施例的块级框图。处理器660包含执行核心620(a)-620(n)(一般称为执行核心(多个)630),其中每一个都包含形成一个执行流水线640的功能单元630。每一个执行核心630还包含一个数字调节器650,以监控和调整在它的功能单元630中的动作。处理器110的这个实施例允许每一个执行核心620由它的相关数字调节器630独立地进行调节。
因此这里提供了一个依据处理器功能单元的动作状态控制在一个处理器中的功率消耗的数字调节器。在指令执行期间监控动作状态,并且依据从动作状态中估计的一个功率消耗水平调整该执行速率。可以通过响应于估计的功率消耗注入“气泡”或者NOP到该指令执行流中,来控制功率消耗。
对于本发明的一个实施例,把一个功率加权分配给每一个功能单元,并且通过求和每一个正活动的功能单元的功率加权,来估计处理器的功率消耗。当估计的功率消耗超过一个阈值时,数字调节器减小处理器执行指令的速率。可以通过在处理器设计或者测试阶段期间的一个校准过程来确定各种功能单元的功率加权。数字调节器还可以包含电路来实现一个自校准过程。
已经提供了公开的实施例来说明本发明的各种特征。在处理器设计技术领域的专业人员,利用这个公开的优点,将会意识到:对公开实施例的变化和修改依然属于附加权利要求的精神和范围之内。

Claims (4)

1.一种处理器,包含:
至少一个执行单元;
至少一个时钟选通电路,用于对第一数目的指令由所述执行单元执行进行响应而去耦合来自所述至少一个执行单元的至少一个时钟信号;
数字调节电路,用于对第二数目的指令被所述至少一个执行单元执行进行响应而降低指令被从高速缓存取出和提供给所述至少一个执行单元的速率。
2.如权利要求1所述的处理器,其特征在于:所述第一数目的指令和所述第二数目的指令是相同的。
3.如权利要求1所述的处理器,还包括指令取出电路,用于从所述高速缓存取出指令和将所述指令提供给发布单元,以将所述指令派发给所述至少一个执行单元。
4.如权利要求1所述的处理器,还包括至少一个寄存器,用于存储使所述数字调节电路降低指令被提供给所述至少一个执行单元的速率的信息。
CN2009101331566A 1999-12-23 2000-11-21 具有数字功率调节的微处理器 Expired - Fee Related CN101520725B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/471,795 US6564328B1 (en) 1999-12-23 1999-12-23 Microprocessor with digital power throttle
US09/471795 1999-12-23

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CNB008189927A Division CN100492252C (zh) 1999-12-23 2000-11-21 具有数字功率调节的微处理器

Publications (2)

Publication Number Publication Date
CN101520725A true CN101520725A (zh) 2009-09-02
CN101520725B CN101520725B (zh) 2012-02-15

Family

ID=23873030

Family Applications (2)

Application Number Title Priority Date Filing Date
CN2009101331566A Expired - Fee Related CN101520725B (zh) 1999-12-23 2000-11-21 具有数字功率调节的微处理器
CNB008189927A Expired - Fee Related CN100492252C (zh) 1999-12-23 2000-11-21 具有数字功率调节的微处理器

Family Applications After (1)

Application Number Title Priority Date Filing Date
CNB008189927A Expired - Fee Related CN100492252C (zh) 1999-12-23 2000-11-21 具有数字功率调节的微处理器

Country Status (12)

Country Link
US (1) US6564328B1 (zh)
EP (1) EP1259870B1 (zh)
JP (3) JP5073903B2 (zh)
KR (1) KR100511110B1 (zh)
CN (2) CN101520725B (zh)
AT (1) ATE460698T1 (zh)
AU (1) AU1626601A (zh)
DE (1) DE60043996D1 (zh)
GB (1) GB2373896C (zh)
HK (1) HK1046561B (zh)
TW (1) TW512261B (zh)
WO (1) WO2001048584A1 (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102411492A (zh) * 2011-11-25 2012-04-11 北京创毅视讯科技有限公司 一种数据处理的方法和装置
CN103492976A (zh) * 2011-03-21 2014-01-01 英特尔公司 管理多核处理器中的功耗
CN104246651A (zh) * 2012-03-29 2014-12-24 英特尔公司 平台中的动态功率限值共享
CN107407942A (zh) * 2015-03-30 2017-11-28 苹果公司 欠电压检测和性能调节
CN107646106A (zh) * 2015-06-26 2018-01-30 英特尔公司 具有每个活动加权和多个节流下降阈值的功率管理电路
CN114616720A (zh) * 2019-10-18 2022-06-10 思睿逻辑国际半导体有限公司 音频放大器和/或触觉驱动器群组之间的动态功率/电流分配

Families Citing this family (186)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100361340B1 (ko) * 2000-05-15 2002-12-05 엘지전자 주식회사 씨피유 클럭 제어 방법
US6968469B1 (en) 2000-06-16 2005-11-22 Transmeta Corporation System and method for preserving internal processor context when the processor is powered down and restoring the internal processor context when processor is restored
KR100613201B1 (ko) * 2000-08-28 2006-08-18 마이크로코넥트 엘엘씨 씨피유 사용량 측정 방법
KR100487543B1 (ko) * 2000-09-01 2005-05-03 엘지전자 주식회사 시피유 스케쥴링 방법
US6625737B1 (en) * 2000-09-20 2003-09-23 Mips Technologies Inc. System for prediction and control of power consumption in digital system
US7620832B2 (en) * 2000-09-20 2009-11-17 Mips Technologies, Inc. Method and apparatus for masking a microprocessor execution signature
US6704876B1 (en) * 2000-09-26 2004-03-09 Sun Microsystems, Inc. Microprocessor speed control mechanism using power dissipation estimation based on the instruction data path
US7174194B2 (en) * 2000-10-24 2007-02-06 Texas Instruments Incorporated Temperature field controlled scheduling for processing systems
US6895520B1 (en) * 2001-03-02 2005-05-17 Advanced Micro Devices, Inc. Performance and power optimization via block oriented performance measurement and control
US6526491B2 (en) * 2001-03-22 2003-02-25 Sony Corporation Entertainment Inc. Memory protection system and method for computer architecture for broadband networks
US7231500B2 (en) * 2001-03-22 2007-06-12 Sony Computer Entertainment Inc. External data interface in a computer architecture for broadband networks
US7516334B2 (en) * 2001-03-22 2009-04-07 Sony Computer Entertainment Inc. Power management for processing modules
US7233998B2 (en) * 2001-03-22 2007-06-19 Sony Computer Entertainment Inc. Computer architecture and software cells for broadband networks
JP2002366351A (ja) * 2001-06-06 2002-12-20 Nec Corp スーパースカラ・プロセッサ
US7000138B1 (en) * 2001-06-07 2006-02-14 Cirrus Logic, Inc Circuits and methods for power management in a processor-based system and systems using the same
US6907534B2 (en) * 2001-06-29 2005-06-14 Hewlett-Packard Development Company, L.P. Minimizing power consumption in pipelined circuit by shutting down pipelined circuit in response to predetermined period of time having expired
KR100390645B1 (ko) * 2001-07-27 2003-07-07 삼성전자주식회사 이동통신단말기 시스템에서 소모전류를 줄이기 위한 방법
US7111178B2 (en) * 2001-09-28 2006-09-19 Intel Corporation Method and apparatus for adjusting the voltage and frequency to minimize power dissipation in a multiprocessor system
US6859886B1 (en) 2001-10-02 2005-02-22 Lsi Logic Corporation IO based embedded processor clock speed control
US6834353B2 (en) * 2001-10-22 2004-12-21 International Business Machines Corporation Method and apparatus for reducing power consumption of a processing integrated circuit
US6892312B1 (en) * 2001-10-30 2005-05-10 Lsi Logic Corporation Power monitoring and reduction for embedded IO processors
GB2366891B (en) 2001-12-06 2002-11-20 Appsense Ltd Improvements in and relating to computer apparatus terminal server apparatus & performance management methods therefor
GB2412972B (en) * 2001-12-28 2006-01-04 Intel Corp Mechanism for estimating and controlling di/dt-induced power supply voltage variations
US7035785B2 (en) 2001-12-28 2006-04-25 Intel Corporation Mechanism for estimating and controlling di/dt-induced power supply voltage variations
US7096145B2 (en) * 2002-01-02 2006-08-22 Intel Corporation Deterministic power-estimation for thermal control
US7137013B2 (en) 2002-01-07 2006-11-14 International Business Machines Corporation Method and apparatus for dynamic power management in an execution unit using pipeline wave flow control
US7191350B2 (en) * 2002-01-30 2007-03-13 Matsushita Electric Industrial Co., Ltd. Instruction conversion apparatus and instruction conversion method providing power control information, program and circuit for implementing the instruction conversion, and microprocessor for executing the converted instruction
TW567408B (en) * 2002-03-29 2003-12-21 Uniwill Comp Corp Apparatus and method for controlling power and clock speed of electronic system
DE10221529A1 (de) * 2002-05-14 2003-12-04 Systemonic Ag Verfahren zum gesteuerten Abschalten von Datenverarbeitungseinheiten
US6908227B2 (en) * 2002-08-23 2005-06-21 Intel Corporation Apparatus for thermal management of multiple core microprocessors
US7062394B2 (en) * 2002-09-20 2006-06-13 Intel Corporation Performance characterization using effective processor frequency
US20040064745A1 (en) * 2002-09-26 2004-04-01 Sudarshan Kadambi Method and apparatus for controlling the rate at which instructions are executed by a microprocessor system
US7152169B2 (en) * 2002-11-29 2006-12-19 Intel Corporation Method for providing power management on multi-threaded processor by using SMM mode to place a physical processor into lower power state
US7219241B2 (en) * 2002-11-30 2007-05-15 Intel Corporation Method for managing virtual and actual performance states of logical processors in a multithreaded processor using system management mode
US7120804B2 (en) 2002-12-23 2006-10-10 Intel Corporation Method and apparatus for reducing power consumption through dynamic control of supply voltage and body bias including maintaining a substantially constant operating frequency
US7278040B2 (en) * 2003-03-21 2007-10-02 Via Technologies, Inc. Mechanism for providing measured power management transitions in a microprocessor
EP1631892A1 (en) * 2003-05-27 2006-03-08 Koninklijke Philips Electronics N.V. Monitoring and controlling power consumption
US7251737B2 (en) * 2003-10-31 2007-07-31 Sandbridge Technologies, Inc. Convergence device with dynamic program throttling that replaces noncritical programs with alternate capacity programs based on power indicator
US7034556B1 (en) * 2003-11-05 2006-04-25 Lockheed Martin Corporation Pulsed thermal monitor
US7287173B2 (en) * 2003-12-19 2007-10-23 Intel Corporation Method for computing power consumption levels of instruction and recompiling the program to reduce the excess power consumption
TWI276950B (en) * 2004-02-12 2007-03-21 Intervideo Digital Technology Computer power management architecture and method thereof
US20050228967A1 (en) * 2004-03-16 2005-10-13 Sony Computer Entertainment Inc. Methods and apparatus for reducing power dissipation in a multi-processor system
JP3830491B2 (ja) * 2004-03-29 2006-10-04 株式会社ソニー・コンピュータエンタテインメント プロセッサ、マルチプロセッサシステム、プロセッサシステム、情報処理装置および温度制御方法
US8224639B2 (en) 2004-03-29 2012-07-17 Sony Computer Entertainment Inc. Methods and apparatus for achieving thermal management using processing task scheduling
US7360102B2 (en) * 2004-03-29 2008-04-15 Sony Computer Entertainment Inc. Methods and apparatus for achieving thermal management using processor manipulation
US7890734B2 (en) 2004-06-30 2011-02-15 Open Computing Trust I & II Mechanism for selecting instructions for execution in a multithreaded processor
US7353364B1 (en) 2004-06-30 2008-04-01 Sun Microsystems, Inc. Apparatus and method for sharing a functional unit execution resource among a plurality of functional units
US7747771B1 (en) 2004-06-30 2010-06-29 Oracle America, Inc. Register access protocol in a multihreaded multi-core processor
US8225034B1 (en) 2004-06-30 2012-07-17 Oracle America, Inc. Hybrid instruction buffer
US7373489B1 (en) 2004-06-30 2008-05-13 Sun Microsystems, Inc. Apparatus and method for floating-point exception prediction and recovery
US7185178B1 (en) 2004-06-30 2007-02-27 Sun Microsystems, Inc. Fetch speculation in a multithreaded processor
US7216216B1 (en) 2004-06-30 2007-05-08 Sun Microsystems, Inc. Register window management using first pipeline to change current window and second pipeline to read operand from old window and write operand to new window
US7533248B1 (en) 2004-06-30 2009-05-12 Sun Microsystems, Inc. Multithreaded processor including a functional unit shared between multiple requestors and arbitration therefor
US7774393B1 (en) 2004-06-30 2010-08-10 Oracle America, Inc. Apparatus and method for integer to floating-point format conversion
US7383403B1 (en) 2004-06-30 2008-06-03 Sun Microsystems, Inc. Concurrent bypass to instruction buffers in a fine grain multithreaded processor
US7434000B1 (en) 2004-06-30 2008-10-07 Sun Microsystems, Inc. Handling duplicate cache misses in a multithreaded/multi-core processor
US7178005B1 (en) 2004-06-30 2007-02-13 Sun Microsystems, Inc. Efficient implementation of timers in a multithreaded processor
US7941642B1 (en) 2004-06-30 2011-05-10 Oracle America, Inc. Method for selecting between divide instructions associated with respective threads in a multi-threaded processor
US7330988B2 (en) * 2004-06-30 2008-02-12 Sun Microsystems, Inc. Method and apparatus for power throttling in a multi-thread processor
US7478225B1 (en) 2004-06-30 2009-01-13 Sun Microsystems, Inc. Apparatus and method to support pipelining of differing-latency instructions in a multithreaded processor
US7401206B2 (en) * 2004-06-30 2008-07-15 Sun Microsystems, Inc. Apparatus and method for fine-grained multithreading in a multipipelined processor core
US7861063B1 (en) 2004-06-30 2010-12-28 Oracle America, Inc. Delay slot handling in a processor
US7702887B1 (en) 2004-06-30 2010-04-20 Sun Microsystems, Inc. Performance instrumentation in a fine grain multithreaded multicore processor
US8095778B1 (en) 2004-06-30 2012-01-10 Open Computing Trust I & II Method and system for sharing functional units of a multithreaded processor
US7676655B2 (en) * 2004-06-30 2010-03-09 Sun Microsystems, Inc. Single bit control of threads in a multithreaded multicore processor
US7437538B1 (en) 2004-06-30 2008-10-14 Sun Microsystems, Inc. Apparatus and method for reducing execution latency of floating point operations having special case operands
US7370243B1 (en) 2004-06-30 2008-05-06 Sun Microsystems, Inc. Precise error handling in a fine grain multithreaded multicore processor
US7523330B2 (en) * 2004-06-30 2009-04-21 Sun Microsystems, Inc. Thread-based clock enabling in a multi-threaded processor
US7343474B1 (en) 2004-06-30 2008-03-11 Sun Microsystems, Inc. Minimal address state in a fine grain multithreaded processor
US7426630B1 (en) 2004-06-30 2008-09-16 Sun Microsystems, Inc. Arbitration of window swap operations
US8190863B2 (en) * 2004-07-02 2012-05-29 Intel Corporation Apparatus and method for heterogeneous chip multiprocessors via resource allocation and restriction
US7966511B2 (en) * 2004-07-27 2011-06-21 Intel Corporation Power management coordination in multi-core processors
JP2006059068A (ja) * 2004-08-19 2006-03-02 Matsushita Electric Ind Co Ltd プロセッサ装置
US7437581B2 (en) * 2004-09-28 2008-10-14 Intel Corporation Method and apparatus for varying energy per instruction according to the amount of available parallelism
US7430672B2 (en) * 2004-10-27 2008-09-30 Intel Corporation Method and apparatus to monitor power consumption of processor
US8037250B1 (en) 2004-12-09 2011-10-11 Oracle America, Inc. Arbitrating cache misses in a multithreaded/multi-core processor
US7466316B1 (en) 2004-12-14 2008-12-16 Nvidia Corporation Apparatus, system, and method for distributing work to integrated heterogeneous processors
US7898545B1 (en) * 2004-12-14 2011-03-01 Nvidia Corporation Apparatus, system, and method for integrated heterogeneous processors
US8074057B2 (en) 2005-03-08 2011-12-06 Hewlett-Packard Development Company, L.P. Systems and methods for controlling instruction throughput
US7600135B2 (en) * 2005-04-14 2009-10-06 Mips Technologies, Inc. Apparatus and method for software specified power management performance using low power virtual threads
US20060248355A1 (en) * 2005-04-27 2006-11-02 Thayer Larry J Power throttling system and method for a memory controller
US7421599B2 (en) * 2005-06-09 2008-09-02 International Business Machines Corporation Power management server and method for managing power consumption
US7509506B2 (en) 2005-06-09 2009-03-24 International Business Machines Corporation Hierarchical system and method for managing power usage among server data processing systems
US7664968B2 (en) * 2005-06-09 2010-02-16 International Business Machines Corporation System and method for managing power usage of a data processing system subsystem
US7467311B2 (en) * 2005-06-09 2008-12-16 International Business Machines Corporation Distributed system and method for managing power usage among server data processing systems
US7386743B2 (en) 2005-06-09 2008-06-10 International Business Machines Corporation Power-managed server and method for managing power consumption
US7444526B2 (en) * 2005-06-16 2008-10-28 International Business Machines Corporation Performance conserving method for reducing power consumption in a server system
US20070005152A1 (en) * 2005-06-30 2007-01-04 Ben Karr Method and apparatus for monitoring power in integrated circuits
US7159082B1 (en) 2005-10-03 2007-01-02 Hewlett-Packard Development Company, L.P. System and method for throttling memory accesses
US7472292B2 (en) * 2005-10-03 2008-12-30 Hewlett-Packard Development Company, L.P. System and method for throttling memory power consumption based on status of cover switch of a computer system
US20070085583A1 (en) * 2005-10-18 2007-04-19 Envision Technology, Inc. System for and method of automatically reducing power to a semiconductor device
US7721128B2 (en) * 2005-11-29 2010-05-18 International Business Machines Corporation Implementation of thermal throttling logic
US7848901B2 (en) * 2005-11-29 2010-12-07 International Business Machines Corporation Tracing thermal data via performance monitoring
US7395174B2 (en) * 2005-11-29 2008-07-01 International Business Machines Corporation Generation of software thermal profiles executed on a set of processors using thermal sampling
US7681053B2 (en) 2005-11-29 2010-03-16 International Business Machines Corporation Thermal throttle control with minimal impact to interrupt latency
US7386414B2 (en) * 2005-11-29 2008-06-10 International Business Machines Corporation Generation of hardware thermal profiles for a set of processors
US7480586B2 (en) * 2005-11-29 2009-01-20 International Business Machines Corporation Thermal interrupt generation
US7490017B2 (en) * 2005-11-29 2009-02-10 International Business Machines Corporation Analytical generation of software thermal profiles
US7512513B2 (en) * 2005-11-29 2009-03-31 International Business Machines Corporation Thermal throttling control for testing of real-time software
US7603576B2 (en) * 2005-11-29 2009-10-13 International Business Machines Corporation Hysteresis in thermal throttling
US20070124618A1 (en) * 2005-11-29 2007-05-31 Aguilar Maximino Jr Optimizing power and performance using software and hardware thermal profiles
US7512530B2 (en) * 2005-11-29 2009-03-31 International Business Machines Corporation Generation of software thermal profiles for applications in a simulated environment
US7460932B2 (en) 2005-11-29 2008-12-02 International Business Machines Corporation Support of deep power savings mode and partial good in a thermal management system
US7376532B2 (en) * 2005-11-29 2008-05-20 International Business Machines Corporation Maximal temperature logging
US7698089B2 (en) * 2005-11-29 2010-04-13 International Business Machines Corporation Generation of software thermal profiles executed on a set of processors using processor activity
US7650517B2 (en) * 2005-12-19 2010-01-19 International Business Machines Corporation Throttle management for blade system
US8108863B2 (en) * 2005-12-30 2012-01-31 Intel Corporation Load balancing for multi-threaded applications via asymmetric power throttling
US7349828B1 (en) * 2006-02-15 2008-03-25 Hewlett-Packard Development Company, L.P. Estimating an electronic device condition
US7596430B2 (en) * 2006-05-03 2009-09-29 International Business Machines Corporation Selection of processor cores for optimal thermal performance
US7552346B2 (en) * 2006-05-03 2009-06-23 International Business Machines Corporation Dynamically adapting software for reducing a thermal state of a processor core based on its thermal index
US8037893B2 (en) * 2006-05-03 2011-10-18 International Business Machines Corporation Optimizing thermal performance using thermal flow analysis
US7669071B2 (en) 2006-05-05 2010-02-23 Dell Products L.P. Power allocation management in an information handling system
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
US7617403B2 (en) * 2006-07-26 2009-11-10 International Business Machines Corporation Method and apparatus for controlling heat generation in a multi-core processor
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
KR100770703B1 (ko) * 2006-08-30 2007-10-29 삼성전자주식회사 메모리 시스템의 전력 쓰로틀링 방법 및 메모리 시스템
US8060765B1 (en) * 2006-11-02 2011-11-15 Nvidia Corporation Power estimation based on block activity
US7757103B2 (en) * 2006-12-20 2010-07-13 Intel Corporation Method and apparatus to estimate energy consumed by central processing unit core
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
NZ553984A (en) * 2007-03-19 2009-07-31 Lanzatech New Zealand Ltd Alcohol production process
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
US8069354B2 (en) 2007-08-14 2011-11-29 Mips Technologies, Inc. Power management for system having one or more integrated circuits
US8027798B2 (en) * 2007-11-08 2011-09-27 International Business Machines Corporation Digital thermal sensor test implementation without using main core voltage supply
US7551508B2 (en) * 2007-11-16 2009-06-23 International Business Machines Corporation Energy efficient storage device using per-element selectable power supply voltages
JP2009130036A (ja) * 2007-11-21 2009-06-11 Toshiba Corp 半導体装置
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
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
CN102067064B (zh) * 2008-02-25 2014-02-19 意法爱立信有限公司 具有可调节的性能水平的数据处理装置及其操作方法
US8010824B2 (en) * 2008-04-11 2011-08-30 Advanced Micro Devices , Inc. Sampling chip activity for real time power estimation
GB2461292B (en) * 2008-06-26 2012-02-08 Tantallon Systems Ltd Systems and methods for energy management
US7884499B2 (en) 2008-06-30 2011-02-08 Intel Corporation Intervention of independent self-regulation of power consumption devices
US8024719B2 (en) 2008-11-03 2011-09-20 Advanced Micro Devices, Inc. Bounded hash table sorting in a dynamic program profiling system
US20100115494A1 (en) * 2008-11-03 2010-05-06 Gorton Jr Richard C System for dynamic program profiling
US8478948B2 (en) * 2008-12-04 2013-07-02 Oracle America, Inc. Method and system for efficient tracing and profiling of memory accesses during program execution
US8219831B2 (en) * 2009-01-28 2012-07-10 Oracle America, Inc. Reducing temperature and power by instruction throttling at decode stage of processor pipeline in time constant duration steps
JP5283762B2 (ja) * 2009-12-14 2013-09-04 富士通株式会社 演算処理装置、情報処理装置及びその制御方法
US8856564B2 (en) * 2009-12-18 2014-10-07 Intel Corporation Method and apparatus for power profile shaping using time-interleaved voltage modulation
US8805590B2 (en) * 2009-12-24 2014-08-12 International Business Machines Corporation Fan speed control of rack devices where sum of device airflows is greater than maximum airflow of rack
US8356194B2 (en) 2010-01-28 2013-01-15 Cavium, Inc. Method and apparatus for estimating overshoot power after estimating power of executing events
US8429441B2 (en) 2010-04-19 2013-04-23 International Business Machines Corporation Operating processor below maximum turbo mode frequency by sending higher than actual current amount signal to monitor
US8442786B2 (en) 2010-06-02 2013-05-14 Advanced Micro Devices, Inc. Flexible power reporting in a computing system
US8484593B2 (en) 2010-07-19 2013-07-09 Advanced Micro Devices Method of determining event based energy weights for digital power estimation
US9092219B2 (en) 2010-11-02 2015-07-28 Advanced Micro Devices, Inc. Method and system of sampling to automatically scale digital power estimates with frequency
US8756442B2 (en) 2010-12-16 2014-06-17 Advanced Micro Devices, Inc. System for processor power limit management
US9047067B2 (en) * 2011-04-22 2015-06-02 Qualcomm Incorporated Sensorless detection and management of thermal loading in a multi-processor wireless device
CN102347767B (zh) * 2011-06-09 2014-01-08 东南大学 数模混合模式时钟占空比校准电路
US9009451B2 (en) 2011-10-31 2015-04-14 Apple Inc. Instruction type issue throttling upon reaching threshold by adjusting counter increment amount for issued cycle and decrement amount for not issued cycle
US8862924B2 (en) * 2011-11-15 2014-10-14 Advanced Micro Devices, Inc. Processor with power control via instruction issuance
US9134788B2 (en) * 2011-12-29 2015-09-15 Intel Corporation Method, apparatus, and system for energy efficiency and energy conservation including detecting and controlling current ramps in processing circuit
US9547027B2 (en) * 2012-03-30 2017-01-17 Intel Corporation Dynamically measuring power consumption in a processor
US8984307B2 (en) * 2012-05-21 2015-03-17 Qualcomm Incorporated System and method for dynamic battery current load management in a portable computing device
US9229524B2 (en) * 2012-06-27 2016-01-05 Intel Corporation Performing local power gating in a processor
US9846463B2 (en) * 2012-09-28 2017-12-19 Intel Corporation Computing system and processor with fast power surge detection and instruction throttle down to provide for low cost power supply unit
US9304573B2 (en) * 2013-06-21 2016-04-05 Apple Inc. Dynamic voltage and frequency management based on active processors
US9195291B2 (en) * 2013-06-21 2015-11-24 Apple Inc. Digital power estimator to control processor power consumption
EP2849024A1 (en) 2013-09-16 2015-03-18 ST-Ericsson SA Power consumption management system and method
JP6197873B2 (ja) * 2013-09-20 2017-09-20 富士通株式会社 情報処理システム、管理装置、情報処理方法及びプログラム
US9671844B2 (en) 2013-09-26 2017-06-06 Cavium, Inc. Method and apparatus for managing global chip power on a multicore system on chip
US9696999B2 (en) 2013-12-17 2017-07-04 Intel Corporation Local closed loop efficiency control using IP metrics
US9606605B2 (en) 2014-03-07 2017-03-28 Apple Inc. Dynamic voltage margin recovery
US10108454B2 (en) * 2014-03-21 2018-10-23 Intel Corporation Managing dynamic capacitance using code scheduling
US9507405B2 (en) * 2014-06-18 2016-11-29 Oracle International Corporation System and method for managing power in a chip multiprocessor using a proportional feedback mechanism
GB2530782A (en) * 2014-10-02 2016-04-06 Ibm Voltage droop reduction in a processor
CN104317557B (zh) * 2014-10-27 2017-01-18 杭州中天微系统有限公司 基于流水线轮动的低峰值功耗嵌入式处理器
US9779058B2 (en) * 2015-07-13 2017-10-03 Google Inc. Modulating processsor core operations
US10255231B1 (en) * 2015-07-31 2019-04-09 Marvell International Ltd. Apparatus and methods for managing aggregate integrated circuit (IC) current demand
GB2544721B (en) 2015-10-15 2019-03-06 Arm Ip Ltd Detecting undesired energy consumption in electronic devices
US9874917B2 (en) 2016-01-04 2018-01-23 International Business Machines Corporation Adaptive power capping in a chip
US9971390B1 (en) 2016-01-05 2018-05-15 Apple Inc. Processor energy consumption rate limiting system
US10706101B2 (en) 2016-04-14 2020-07-07 Advanced Micro Devices, Inc. Bucketized hash tables with remap entries
US10255462B2 (en) 2016-06-17 2019-04-09 Arm Limited Apparatus and method for obfuscating power consumption of a processor
US10496409B2 (en) 2016-11-22 2019-12-03 The Arizona Board Of Regents Method and system for managing control of instruction and process execution in a programmable computing system
US10969858B2 (en) * 2019-01-03 2021-04-06 Apple Inc. Operation processing controlled according to difference in current consumption
US10955906B2 (en) * 2019-02-07 2021-03-23 International Business Machines Corporation Multi-layered processor throttle controller
US11054882B2 (en) 2019-02-21 2021-07-06 Apple Inc. Externally-triggered throttling
US10948957B1 (en) 2019-09-26 2021-03-16 Apple Inc. Adaptive on-chip digital power estimator
US11586272B2 (en) * 2019-09-27 2023-02-21 Qualcomm Incorporated Power control based on performance modification through pulse modulation
WO2021114155A1 (zh) * 2019-12-11 2021-06-17 华为技术有限公司 一种处理器及降低功耗的方法
US11181967B2 (en) * 2020-02-07 2021-11-23 Marvell Asia Pte Ltd Power management and transitioning cores within a multicore system from idle mode to operational mode over a period of time
US11556342B1 (en) * 2020-09-24 2023-01-17 Amazon Technologies, Inc. Configurable delay insertion in compiled instructions
US11836031B2 (en) 2020-11-10 2023-12-05 Advanced Micro Devices, Inc. Application override of power estimation mechanism
GB2604981B (en) * 2020-12-18 2023-03-22 Advanced Risc Mach Ltd Balancing high energy events
US11698671B2 (en) * 2021-09-22 2023-07-11 Apple Inc. Peak power management for processing units
US20230176645A1 (en) * 2021-12-06 2023-06-08 Mediatek Inc. Maximum current suppression for power management in a multi-core system

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6145354A (ja) * 1984-08-10 1986-03-05 Nec Corp マイクロプロセツサ
JPH02270011A (ja) * 1987-03-16 1990-11-05 Donald S Stern 選択パワーゲーティング装置
JPH02171812A (ja) * 1988-12-23 1990-07-03 Komatsu Ltd ウエイトステイト機能を持たないプロセッサの高速化回路
JPH0387909A (ja) * 1989-05-10 1991-04-12 Seiko Epson Corp 情報処理装置およびマイクロプロセッサ
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
EP0651314A1 (en) 1993-10-27 1995-05-03 International Business Machines Corporation An apparatus and method for thermally protecting a processing device
JP3302828B2 (ja) * 1994-05-31 2002-07-15 株式会社東芝 1チップコントローラを備えた電子機器
US5798667A (en) * 1994-05-16 1998-08-25 At&T Global Information Solutions Company Method and apparatus for regulation of power dissipation
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
US5996083A (en) * 1995-08-11 1999-11-30 Hewlett-Packard Company Microprocessor having software controllable power consumption
US5815724A (en) * 1996-03-29 1998-09-29 Intel Corporation Method and apparatus for controlling power consumption in a microprocessor
US5983356A (en) * 1996-06-18 1999-11-09 National Semiconductor Corporation Power conservation method and apparatus activated by detecting shadowed interrupt signals indicative of system inactivity and excluding prefetched signals
JPH1020959A (ja) * 1996-07-01 1998-01-23 Matsushita Electric Ind Co Ltd 低消費電力マイクロプロセッサ
US6000036A (en) * 1996-07-17 1999-12-07 International Business Machines Corp. Logical steering to avoid hot spots on integrated circuits
US6029006A (en) * 1996-12-23 2000-02-22 Motorola, Inc. Data processor with circuit for regulating instruction throughput while powered and method of operation
JPH10326129A (ja) * 1997-05-23 1998-12-08 Mitsubishi Electric Corp 半導体装置
JP3004968B2 (ja) * 1997-09-03 2000-01-31 松下電器産業株式会社 プロセッサ
US6219796B1 (en) * 1997-12-23 2001-04-17 Texas Instruments Incorporated Power reduction for processors by software control of functional units
JP2000047872A (ja) * 1998-08-03 2000-02-18 Hitachi Ltd 低消費電力動作機能を備えたマイクロプロセッサ
US6367023B2 (en) * 1998-12-23 2002-04-02 Intel Corporation Method and apparatus of measuring current, voltage, or duty cycle of a power supply to manage power consumption in a computer system
JP5557551B2 (ja) * 2010-02-19 2014-07-23 東邦レオ株式会社 緑化用パネル

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103492976A (zh) * 2011-03-21 2014-01-01 英特尔公司 管理多核处理器中的功耗
CN103492976B (zh) * 2011-03-21 2017-11-07 英特尔公司 管理多核处理器中的功耗
CN102411492A (zh) * 2011-11-25 2012-04-11 北京创毅视讯科技有限公司 一种数据处理的方法和装置
CN102411492B (zh) * 2011-11-25 2014-04-23 北京创毅视讯科技有限公司 一种数据处理的方法和装置
CN104246651A (zh) * 2012-03-29 2014-12-24 英特尔公司 平台中的动态功率限值共享
CN104246651B (zh) * 2012-03-29 2018-04-27 英特尔公司 平台中的动态功率限值共享
CN107407942A (zh) * 2015-03-30 2017-11-28 苹果公司 欠电压检测和性能调节
CN107407942B (zh) * 2015-03-30 2019-03-29 苹果公司 欠电压检测和性能调节
CN107646106A (zh) * 2015-06-26 2018-01-30 英特尔公司 具有每个活动加权和多个节流下降阈值的功率管理电路
CN114616720A (zh) * 2019-10-18 2022-06-10 思睿逻辑国际半导体有限公司 音频放大器和/或触觉驱动器群组之间的动态功率/电流分配

Also Published As

Publication number Publication date
JP6042830B2 (ja) 2016-12-14
GB2373896B (en) 2004-11-03
DE60043996D1 (de) 2010-04-22
ATE460698T1 (de) 2010-03-15
GB2373896A (en) 2002-10-02
GB2373896C (en) 2013-02-13
US6564328B1 (en) 2003-05-13
JP5650689B2 (ja) 2015-01-07
CN1434934A (zh) 2003-08-06
GB0214785D0 (en) 2002-08-07
EP1259870A1 (en) 2002-11-27
KR100511110B1 (ko) 2005-08-31
TW512261B (en) 2002-12-01
CN101520725B (zh) 2012-02-15
JP2012198922A (ja) 2012-10-18
AU1626601A (en) 2001-07-09
EP1259870B1 (en) 2010-03-10
HK1046561B (zh) 2005-06-03
CN100492252C (zh) 2009-05-27
JP5073903B2 (ja) 2012-11-14
KR20020062986A (ko) 2002-07-31
HK1046561A1 (en) 2003-01-17
WO2001048584A1 (en) 2001-07-05
JP2003523563A (ja) 2003-08-05
JP2014112399A (ja) 2014-06-19

Similar Documents

Publication Publication Date Title
CN100492252C (zh) 具有数字功率调节的微处理器
US9703351B2 (en) Method and apparatus for power control
US7281140B2 (en) Digital throttle for multiple operating points
US6931559B2 (en) Multiple mode power throttle mechanism
Scott et al. Designing the low-power mcore tm architecture
CN101243372B (zh) 用于控制微处理器中的功率参数的设备和方法
US8745419B2 (en) Logical power throttling of instruction decode rate for successive time periods
KR19980063493A (ko) 프로세서 및 그의 성능을 최적화하는 방법
US5887129A (en) Asynchronous data processing apparatus
Burd et al. Energy efficient microprocessor design
CN102298344A (zh) 一种基于fpga动态部分可重构技术的局部热点缓和系统
CN100399262C (zh) 用于降低功率的按需驱动时钟调节的处理器
Dai et al. Q-learning based dvfs for multi-core real-time systems
JP4194953B2 (ja) 多重命令発行プロセッサ
Majzoub Voltage island design in multi-core SIMD processors
Zeng et al. Power optimization for embedded system idle time in the presence of periodic interrupt services
Olivieri Achieving power efficiency through minimum cycle time in digital signal processor design
Scott et al. Designing the Low-Power M • CORE TM Architecture

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
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: 20120215

Termination date: 20171121

CF01 Termination of patent right due to non-payment of annual fee