CN1434934A - 具有数字能量调节的微处理器 - Google Patents

具有数字能量调节的微处理器 Download PDF

Info

Publication number
CN1434934A
CN1434934A CN00818992A CN00818992A CN1434934A CN 1434934 A CN1434934 A CN 1434934A CN 00818992 A CN00818992 A CN 00818992A CN 00818992 A CN00818992 A CN 00818992A CN 1434934 A CN1434934 A CN 1434934A
Authority
CN
China
Prior art keywords
processor
energy
level
instruction
power consumption
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
CN00818992A
Other languages
English (en)
Other versions
CN100492252C (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 CN1434934A publication Critical patent/CN1434934A/zh
Application granted granted Critical
Publication of CN100492252C publication Critical patent/CN100492252C/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

具有数字能量调节的微处理器
本发明的背景技术
技术领域
本发明涉及微处理器,而且尤其涉及用于控制在微处理器中的能量消耗的机制。
背景技术
现代的处理器包含广大的执行资源以支持多条指令的并行处理。一个处理器一般包含一个或多个整数、浮点、转移、和存储器执行单元以分别实现整数、浮点、转移,和加载/存储指令。此外,整数和浮点单元一般包含寄存器堆以相对接近于该处理器核心保持数据。向一个处理器提供广大的执行资源的一个缺点是要求有大数量的能量来运行它们。取决于执行单元的大小和它们实现的功能,不同的执行单元可以耗费或多或少的能量,但是把这么多逻辑封装到一个相对小的处理芯片上的效果是将产生重要能量耗散问题的可能性。
几乎没有程序需要一个处理器执行资源的全部范围持续很长的时间间隔。运行一个程序耗散的能量取决于它的组件指令的属性和它们被并行执行的可能性。程序一般包含各种指令类型,但是很少有足够多的正确类型指令可以用来使得处理器的全部执行资源忙碌相当长的时间周期。为此,大多数处理器使用一个时钟选通机制,以当执行资源不被使用时切断传送到该执行资源的时钟,由此减小能量。此外,当指令进入和退出由该组件服务的流水线阶段时,一个执行资源的不同组件能够被打开和关闭。因此,普通的程序可以耗散相对可管理的能量水平。
某些程序确实激活一个处理器的许多执行资源持续相对长的间隔,因此耗散比普通程序多很多的能量。除非提供了一个机制来限制处理器的能量消耗,该处理器通常被设计成处理耗费最高能量的程序。这可能需要以低于它的最高性能水平为所有程序运行该处理器,而与运行普通程序所要求的能量无关。
能量调节是一个已经提出用来处理由高性能处理器产生的能量消耗问题的策略。当一个处理器的能量消耗过高时,能量调节降低一个处理器的性能。这可以通过临时减小该处理器执行指令的速率直到能量消耗降低到一个安全水平为止来进行。能量调节允许处理器被设计成用于普通程序运行的能量水平。当运行一个资源消耗较多的程序时,处理器减小它的指令执行速率以保持它的能量消耗在一个已确定的范围内。
提出的能量调节机制取决于模拟参数来监控由一个处理器耗散的能量。例如,一个热量调节机制监控该处理器芯片的温度,并且当温度超过一个阈值时减小处理器的执行速度。其它已经提出的调节方案监控由一个处理器耗损的电流、或者监控在一个开关调节器中的一个脉冲宽度调制器的占空比。
这些能量调节机制具有许多缺点。它们引入附加的模拟电路到一个主要数字环境,即处理器中。它们易于随在处理器环境(温度、电压、组成)中的变化而改变。它们可以在处理器的能量水平中产生低频率的变化。它们不直接限制由该处理器耗损的能量,而且它们不是决定性的。这就是说,它们的行为不能在一个时钟接一个时钟的基础上进行预计。
本发明解决了可用能量调节机制的这些及其它不足。
发明概述
本发明提供了一个数字调节来控制一个微处理器的能量消耗。
根据本发明,一个处理器包含一个或多个功能单元和数字调节。该数字调节监控处理器功能单元的动作状态以预计该处理器的能量消耗。
对于本发明的一个实施例,该数字调节包含一个或多个选通单元、一个监控电路、和一个调节电路。每一个选通单元控制传送到该处理器一个功能单元的能量传送,并且提供一个信号来指示它的相关功能单元的动作状态。该监控电路从信号中确定用于该处理器的一个估计的能量消耗水平,并且将估计的能量消耗与一个阈值能量水平相比较。如果该估计的能量消耗水平超过该阈值能量水平,则调节电路调整在处理器中的指令流。
附图简要说明
参考以下附图可以理解本发明,其中类似的单元用类似的数字指示。提供这些附图以说明本发明中的选定实施例并且不用于限制本发明的范围。
图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后端中的执行资源。
在这个讨论中,使用的术语“指令“通常涉及指令、宏指令、指令束或者任何许多用于编码处理器操作的其它机制。例如,该解码操作可以转换一个宏指令到一个或多个微操作(pops)中、把一个指令束分解到一个或多个指令节中、或者获取一个与一个指令相关联的微码序列。
流水线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 (20)

1.一个处理器,包含:
一个功能单元;
一个选通电路,控制传送到该功能单元的能量,并且提供一个指示传送给该功能单元的能量水平的信号;
一个监控电路,把指示的能量水平与一个阈值能量水平进行比较;以及
一个调节电路,如果指示的能量水平超过阈值能量水平,则调整在该处理器中的指令流。
2.如权利要求1所述的处理器,其特征在于:功能单元包含多个功能单元,其形成用于该处理器的一个指令执行流水线。
3.如权利要求2所述的处理器,其特征在于:选通电路包含多个选通电路,每一个选通电路控制传送到多个功能单元中相应一个的能量。
4.如权利要求3所述的处理器,其特征在于:  该调节电路注入气泡到该处理器流水线中,以调整在该处理器中的指令流。
5.如权利要求1所述的处理器,其特征在于:由该信号指示的能量水平表示当功能单元被操作时它的一个能量消耗水平。
6.如权利要求1所述的处理器,其特征在于:调节电路减小由该选通电路提供的一个时钟占空比,以调整通过处理器的指令流。
7.一种用于控制在一个处理器中的能量消耗的方法,包含:
收集来自于在该处理器中的选通电路的能量信号;
依据收集的能量信号调整一个估计的能量消耗;
将估计的能量消耗水平与一个阈值能量消耗水平相比较;以及
当估计的能量消耗水平超过阈值能量消耗水平时,调整处理器的一个指令执行速率。
8.如权利要求7所述的方法,进一步包含:在调整该指令执行速率之前积累估计的能量消耗水平持续一段选定的时期。
9.如权利要求7所述的方法,其特征在于:收集能量信号,这些信号包含一个指示当前传送到与该选通电路相关联的一个功能单元的能量水平的信号。
10.如权利要求7所述的方法,其特征在于:每一个选通电路控制提供到它的相关功能单元的一个时钟信号。
11.如权利要求10所述的方法,其特征在于:调整指令执行速率包含调整一个是由选通电路提供的表征时钟信号特征的占空比。
12.如权利要求8所述的方法,其特征在于:积累估计的能量消耗水平包含积累估计的能量消耗水平持续一个选定数目的处理器时钟周期。
13.一个计算机系统,包含:
一个存储系统,存储用于执行的指令;
一个指令执行流水线,包含多个功能单元来执行该指令;
一个指令传送系统,以一个指定速率从存储系统提供指令到指令执行流水线;
多个控制电路,其中每一个控制电路都控制传送给多个功能单元中的一个的能量,并且提供一个指示它正在传送的能量的信号;以及
一个调节电路,从由控制电路提供的信号中估计一个能量消耗水平,并且依据估计的能量消耗水平调整指令传送系统的指定速率。
14.如权利要求13所述的计算机系统,其特征在于:由多个控制电路中每一个提供的信号被校准,以指示用于与该控制电路相关联的功能单元的能量消耗水平。
15.如权利要求14所述的计算机系统,其特征在于:指令传送电路包含一个发布单元,其以由一个处理器时钟控制的速度发布用于由指令执行流水线处理的指令。
16.一个处理器,包含:
一个或多个功能单元;以及
一个数字调节,监控该一个或多个功能单元的动作状态以估计用于该处理器的一个能量消耗水平。
17.如权利要求16所述的处理器,其特征在于:该数字调节包含:
一个或多个选通单元,其中每一个选通单元控制传送到一个相关功能单元的能量,并且指示用于该相关功能单元的一个动作状态;以及
一个监控电路,从指示的一个或多个功能单元的动作状态中确定处理器能量消耗水平的估计。
18.如权利要求17所述的处理器,其特征在于:该监控电路将估计的能量消耗水平和一个阈值进行比较并且提供该比较的一个指示。
19.如权利要求16所述的处理器,其特征在于:功能单元形成一条指令执行流水线,而且该处理器进一步包含一个流水线控制模块,以依据在该指令执行流水线中的指令类型指示用于一个或多个功能单元的动作状态。
20.如权利要求19所述的处理器,其特征在于:数字调节进一步包含一个监控电路,以使用一个或多个功能单元的动作状态估计处理器的能量消耗水平。
CNB008189927A 1999-12-23 2000-11-21 具有数字功率调节的微处理器 Expired - Fee Related CN100492252C (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/471,795 1999-12-23

Related Child Applications (1)

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

Publications (2)

Publication Number Publication Date
CN1434934A true CN1434934A (zh) 2003-08-06
CN100492252C CN100492252C (zh) 2009-05-27

Family

ID=23873030

Family Applications (2)

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

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN2009101331566A Expired - Fee Related CN101520725B (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) CN100492252C (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
CN100410844C (zh) * 2004-03-22 2008-08-13 威盛电子股份有限公司 提供计算装置的量测功率转变的装置及方法
CN100447709C (zh) * 2003-10-31 2008-12-31 桑德布里奇技术公司 根据能量指示符进行动态程序节流的会聚设备
CN102067064B (zh) * 2008-02-25 2014-02-19 意法爱立信有限公司 具有可调节的性能水平的数据处理装置及其操作方法
CN104516475A (zh) * 2013-09-26 2015-04-15 凯为公司 用于管理多核片上系统上的全局芯片功率的方法和装置
CN104317557B (zh) * 2014-10-27 2017-01-18 杭州中天微系统有限公司 基于流水线轮动的低峰值功耗嵌入式处理器
WO2021114155A1 (zh) * 2019-12-11 2021-06-17 华为技术有限公司 一种处理器及降低功耗的方法

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
US7231500B2 (en) * 2001-03-22 2007-06-12 Sony Computer Entertainment Inc. External data interface in a computer architecture for broadband networks
US6526491B2 (en) * 2001-03-22 2003-02-25 Sony Corporation Entertainment Inc. Memory protection system and method for computer architecture for broadband networks
US7233998B2 (en) * 2001-03-22 2007-06-19 Sony Computer Entertainment Inc. Computer architecture and software cells for broadband networks
US7516334B2 (en) * 2001-03-22 2009-04-07 Sony Computer Entertainment Inc. Power management for processing modules
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
CN1795428B (zh) * 2003-05-27 2010-09-01 Nxp股份有限公司 监测和控制功耗
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 株式会社ソニー・コンピュータエンタテインメント プロセッサ、マルチプロセッサシステム、プロセッサシステム、情報処理装置および温度制御方法
US7360102B2 (en) * 2004-03-29 2008-04-15 Sony Computer Entertainment Inc. Methods and apparatus for achieving thermal management using processor manipulation
US8224639B2 (en) * 2004-03-29 2012-07-17 Sony Computer Entertainment Inc. Methods and apparatus for achieving thermal management using processing task scheduling
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
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
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
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
US7861063B1 (en) 2004-06-30 2010-12-28 Oracle America, Inc. Delay slot handling in a processor
US7370243B1 (en) 2004-06-30 2008-05-06 Sun Microsystems, Inc. Precise error handling in a fine grain multithreaded multicore processor
US7383403B1 (en) 2004-06-30 2008-06-03 Sun Microsystems, Inc. Concurrent bypass to instruction buffers in a fine grain multithreaded processor
US7890734B2 (en) 2004-06-30 2011-02-15 Open Computing Trust I & II Mechanism for selecting instructions for execution in a multithreaded processor
US7523330B2 (en) * 2004-06-30 2009-04-21 Sun Microsystems, Inc. Thread-based clock enabling in a multi-threaded processor
US7434000B1 (en) 2004-06-30 2008-10-07 Sun Microsystems, Inc. Handling duplicate cache misses in a multithreaded/multi-core 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
US7401206B2 (en) * 2004-06-30 2008-07-15 Sun Microsystems, Inc. Apparatus and method for fine-grained multithreading in a multipipelined processor core
US7676655B2 (en) * 2004-06-30 2010-03-09 Sun Microsystems, Inc. Single bit control of threads in a multithreaded multicore processor
US7533248B1 (en) 2004-06-30 2009-05-12 Sun Microsystems, Inc. Multithreaded processor including a functional unit shared between multiple requestors and arbitration therefor
US7343474B1 (en) 2004-06-30 2008-03-11 Sun Microsystems, Inc. Minimal address state in a fine grain multithreaded processor
US7774393B1 (en) 2004-06-30 2010-08-10 Oracle America, Inc. Apparatus and method for integer to floating-point format conversion
US7185178B1 (en) 2004-06-30 2007-02-27 Sun Microsystems, Inc. Fetch speculation in a multithreaded 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
US7178005B1 (en) 2004-06-30 2007-02-13 Sun Microsystems, Inc. Efficient implementation of timers in a multithreaded processor
US7426630B1 (en) 2004-06-30 2008-09-16 Sun Microsystems, Inc. Arbitration of window swap operations
US7373489B1 (en) 2004-06-30 2008-05-13 Sun Microsystems, Inc. Apparatus and method for floating-point exception prediction and recovery
US8095778B1 (en) 2004-06-30 2012-01-10 Open Computing Trust I & II Method and system for sharing functional units of a multithreaded processor
US7702887B1 (en) 2004-06-30 2010-04-20 Sun Microsystems, Inc. Performance instrumentation in a fine grain multithreaded multicore processor
US7330988B2 (en) * 2004-06-30 2008-02-12 Sun Microsystems, Inc. Method and apparatus for power throttling in a multi-thread processor
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
US7898545B1 (en) * 2004-12-14 2011-03-01 Nvidia Corporation Apparatus, system, and method for integrated heterogeneous processors
US7466316B1 (en) 2004-12-14 2008-12-16 Nvidia Corporation Apparatus, system, and method for distributing work to 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
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
US7386743B2 (en) 2005-06-09 2008-06-10 International Business Machines Corporation Power-managed server and method for managing power consumption
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
US7421599B2 (en) * 2005-06-09 2008-09-02 International Business Machines Corporation Power management server and method for managing power consumption
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
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
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
US7159082B1 (en) 2005-10-03 2007-01-02 Hewlett-Packard Development Company, L.P. System and method for throttling memory accesses
US20070085583A1 (en) * 2005-10-18 2007-04-19 Envision Technology, Inc. System for and method of automatically reducing power to a semiconductor device
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
US7721128B2 (en) * 2005-11-29 2010-05-18 International Business Machines Corporation Implementation of thermal throttling logic
US7490017B2 (en) * 2005-11-29 2009-02-10 International Business Machines Corporation Analytical generation of software thermal profiles
US7848901B2 (en) * 2005-11-29 2010-12-07 International Business Machines Corporation Tracing thermal data via performance monitoring
US7480586B2 (en) * 2005-11-29 2009-01-20 International Business Machines Corporation Thermal interrupt generation
US7376532B2 (en) * 2005-11-29 2008-05-20 International Business Machines Corporation Maximal temperature logging
US7512513B2 (en) * 2005-11-29 2009-03-31 International Business Machines Corporation Thermal throttling control for testing of real-time software
US7512530B2 (en) * 2005-11-29 2009-03-31 International Business Machines Corporation Generation of software thermal profiles for applications in a simulated environment
US20070124618A1 (en) * 2005-11-29 2007-05-31 Aguilar Maximino Jr Optimizing power and performance using software and hardware thermal profiles
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
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
US7386414B2 (en) * 2005-11-29 2008-06-10 International Business Machines Corporation Generation of hardware thermal profiles for a set of processors
US7603576B2 (en) * 2005-11-29 2009-10-13 International Business Machines Corporation Hysteresis in thermal throttling
US7681053B2 (en) 2005-11-29 2010-03-16 International Business Machines Corporation Thermal throttle control with minimal impact to interrupt latency
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
US8037893B2 (en) * 2006-05-03 2011-10-18 International Business Machines Corporation Optimizing thermal performance using thermal flow analysis
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
US7596430B2 (en) * 2006-05-03 2009-09-29 International Business Machines Corporation Selection of processor cores for optimal thermal performance
US7669071B2 (en) 2006-05-05 2010-02-23 Dell Products L.P. Power allocation management in an information handling system
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
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
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
WO2011074059A1 (ja) * 2009-12-14 2011-06-23 富士通株式会社 演算処理装置、情報処理装置及びその制御方法
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
US9069555B2 (en) * 2011-03-21 2015-06-30 Intel Corporation Managing power consumption in a multi-core processor
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
CN102411492B (zh) * 2011-11-25 2014-04-23 北京创毅视讯科技有限公司 一种数据处理的方法和装置
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
WO2013147801A1 (en) * 2012-03-29 2013-10-03 Intel Corporation Dynamic power limit sharing in a platform
CN104204825B (zh) * 2012-03-30 2017-06-27 英特尔公司 动态测量处理器中的功耗
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
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
EP2849024A1 (en) 2013-09-16 2015-03-18 ST-Ericsson SA Power consumption management system and method
WO2015040654A1 (ja) * 2013-09-20 2015-03-26 富士通株式会社 情報処理システム、管理装置、情報処理方法及びプログラム
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
US9658634B2 (en) * 2015-03-30 2017-05-23 Apple Inc. Under voltage detection and performance throttling
US10073659B2 (en) * 2015-06-26 2018-09-11 Intel Corporation Power management circuit with per activity weighting and multiple throttle down thresholds
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
US11057727B2 (en) * 2019-10-18 2021-07-06 Cirrus Logic, Inc. Dynamic power/current allocation among groups of audio amplifiers and/or haptic drivers
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 マイクロプロセツサ
AU1314388A (en) * 1987-03-16 1988-09-15 Stern, D.S. Selective power gating
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 (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100447709C (zh) * 2003-10-31 2008-12-31 桑德布里奇技术公司 根据能量指示符进行动态程序节流的会聚设备
CN100410844C (zh) * 2004-03-22 2008-08-13 威盛电子股份有限公司 提供计算装置的量测功率转变的装置及方法
US9207738B2 (en) 2008-02-25 2015-12-08 St-Ericsson Sa Data processing device with adjustable performance level and method of operating such device
CN102067064B (zh) * 2008-02-25 2014-02-19 意法爱立信有限公司 具有可调节的性能水平的数据处理装置及其操作方法
CN104516475B (zh) * 2013-09-26 2017-07-21 凯为公司 用于管理多核片上系统上的全局芯片功率的方法和装置
CN104516475A (zh) * 2013-09-26 2015-04-15 凯为公司 用于管理多核片上系统上的全局芯片功率的方法和装置
CN107272876A (zh) * 2013-09-26 2017-10-20 凯为公司 用于管理多核片上系统上的全局芯片功率的方法和装置
US10732684B2 (en) 2013-09-26 2020-08-04 Marvell Asia Pte, Ltd. Method and apparatus for managing global chip power on a multicore system on chip
CN107272876B (zh) * 2013-09-26 2020-09-22 马维尔亚洲私人有限公司 用于管理多核片上系统上的全局芯片功率的方法和装置
US10983576B2 (en) 2013-09-26 2021-04-20 Marvell Asia Pte, Ltd. Method and apparatus for managing global chip power on a multicore system on chip
US11709534B2 (en) 2013-09-26 2023-07-25 Marvell Asia Pte, Ltd. Method and apparatus for managing global chip power on a multicore system on chip
CN104317557B (zh) * 2014-10-27 2017-01-18 杭州中天微系统有限公司 基于流水线轮动的低峰值功耗嵌入式处理器
WO2021114155A1 (zh) * 2019-12-11 2021-06-17 华为技术有限公司 一种处理器及降低功耗的方法

Also Published As

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

Similar Documents

Publication Publication Date Title
CN1434934A (zh) 具有数字能量调节的微处理器
CN1303497C (zh) 多模式功率节制机制
Burd et al. A dynamic voltage scaled microprocessor system
Calder et al. Selective value prediction
US8219831B2 (en) Reducing temperature and power by instruction throttling at decode stage of processor pipeline in time constant duration steps
US7281140B2 (en) Digital throttle for multiple operating points
Kalla et al. IBM Power5 chip: A dual-core multithreaded processor
US8479029B2 (en) Methods and apparatuses for reducing step loads of processors
US8069354B2 (en) Power management for system having one or more integrated circuits
CN101243372A (zh) 互斥地激活微处理器资源以控制最大功率的系统和方法
KR100309308B1 (ko) 공유실행유닛을갖는단일칩멀티프로세서
Wang et al. Utilization-based resource partitioning for power-performance efficiency in SMT processors
US20110099402A1 (en) Method and apparatus for activiating system components
CN109948200B (zh) 一种细粒度控制电源供应的低功耗处理器
CN100399262C (zh) 用于降低功率的按需驱动时钟调节的处理器
Majzoub Voltage island design in multi-core SIMD processors
Bai et al. A low-power in-order/out-of-order issue queue
Tian et al. A novel PSO based task scheduling algorithm for multi-core systems
Bai et al. A dynamically reconfigurable mixed in-order/out-of-order issue queue for power-aware microprocessors
Doring et al. On networking multithreaded processor design: hardware thread prioritization
Vivekanandarajah et al. Energy-delay efficient filter cache hierarchy using pattern prediction scheme
Olivieri Achieving power efficiency through minimum cycle time in digital signal processor design
Kogge et al. Morph: Adding an Energy Gear to a High Performance Microarchitecture for Embedded Applications
Robelly et al. Energy efficiency vs. programmability trade-off: architectures and design principles
OSMANLIOǦLU et al. Modifying the data-holding components of the microprocessors for energy efficiency

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: 20090527

Termination date: 20171121

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