CN104508593B - 在处理器中执行跨域热控制 - Google Patents
在处理器中执行跨域热控制 Download PDFInfo
- Publication number
- CN104508593B CN104508593B CN201380040144.3A CN201380040144A CN104508593B CN 104508593 B CN104508593 B CN 104508593B CN 201380040144 A CN201380040144 A CN 201380040144A CN 104508593 B CN104508593 B CN 104508593B
- Authority
- CN
- China
- Prior art keywords
- processor
- domain
- core
- value
- frequency
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/16—Constructional details or arrangements
- G06F1/20—Cooling means
- G06F1/206—Cooling means comprising thermal management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/324—Power saving characterised by the action undertaken by lowering clock frequency
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
在一个实施例中,处理器包括带有执行指令的至少一个核的第一域以及耦合到第一域并包括至少一个非核电路的第二域。这些域可以在独立频率下操作,耦合到域的功率控制单元可以包括响应于第二域中的热事件的发生而导致第一域的频率降低的热逻辑。描述并要求保护其他实施例。
Description
背景技术
随着半导体领域的技术进步,诸如处理器之类的设备包括越来越多的电路。随着时间的推移,处理器设计从独立集成电路(IC)的集合发展到单一集成电路,到在单一IC封装内包括多个处理器核的多核处理器。随着时间的推移,越来越多的核以及相关的电路正在被包括到处理器及其他半导体中。
多核处理器正在被扩展以通过在处理器内合并其他功能单元来包括额外的功能。通常,多核处理器具有全局功率预算和全局热预算。设置功率预算,以便至少作为平均值指定的功率级别不被超出。设置热预算,以便热节制点(处理器可以安全地操作的最高容许温度)不被超出。虽然存在这些共同的预算,但是不存在跨存在于处理器中的各种电路自适应地共享预算的机制。
附图说明
图1是根据本发明一实施例的处理器的框图。
图2是根据本发明的另一实施例的处理器的框图。
图3是根据本发明的实施例的用于执行跨域热控制的方法的流程图。
图4是根据本发明的另一实施例的用于执行跨域热控制的方法的流程图。
图5是根据本发明的实施例的处理器的框图。
图6是根据本发明另一实施例的多域处理器的框图。
图7是根据本发明一实施例的系统的框图。
图8是根据本发明的一个实施例的处理器的另一实施例的框图。
具体实施方式
在各实施例中,可以控制具有多个独立域的处理器,以防止域中的任何一个的温度超出最高结温。如此处所使用的,术语“最高结温”是半导体产品被指定为完全操作而不会损坏的最高温度。作为示例,可以在设备特征化过程中,在制造过程中以及在实验室环境中的测试过程中,确定此温度,并将其存储在设备的非易失性存储器中或熔断逻辑中。然而,可以设置成处于或低于此结温度的节制点可以例如通过软件或固件配置为低于最高结温Tj的值。如此,初始设备制造厂家(OEM)可以作为Tj的函数调低节制点(例如,使用基本输入/输出系统(BIOS))。作为示例,而是限制的目的,对于多核处理器,节制点可以被设置在大致80和110摄氏度之间。
注意,此节制点可以达到处理器的不同的性能级别。例如,根据基于操作系统(OS)的机制,即,高级配置和平台接口(ACPI)标准(例如,2006年10月10日发布的Rev.3.0b),处理器可以在各种性能状态或级别下操作,即,从P0到PN。一般而言,P1性能状态可以对应于可以由OS请求的最高保证的性能状态。除此P1状态之外,OS还可以请求更高性能状态,即,P0状态。如此,此P0状态可以是机会性状态,其中,当有功率和/或热预算可用时,处理器硬件可以配置处理器或其至少一些部分,以便以高于保证的频率操作。在许多实现中,处理器可包括多个所谓的高于保证的最大频率(也被称为P1频率)的元频率(bin frequency)。在这些性能状态中的任何一种性能状态,比较可能在P0或P1状态,可以到达节制点。
处理器可以包括节制机制以防止处理器的任何组件在其最高结温以上操作。节制机制可以导致频率降低,又导致功率消耗也降低,导致温度的降低。
此处所描述的示例与包括多个处理器核的多核处理器以及一个或多个其他处理引擎以及其他电路有关。例如,在此处所描述的特定实施例中,处理器封装可包括多个半导体管芯,包括所谓的中央处理单元(CPU)管芯以及可以包括存储器、控制器电路或其他逻辑的至少一个其他管芯。在一个实施例中,在CPU管芯上可以存在多个独立域,包括具有一个或多个核的核域,具有一个或多个图形引擎的图形域,以及包括额外的处理器电路的所谓的系统代理或非核域。如此处所使用的,术语“域”被用来表示在相同电压和频率点操作的硬件和/或逻辑的集合。关于多芯片封装(MCP),注意,每一个管芯都也可以被视为独立域,虽然每一个这样的管芯本身都可以包括多个域。虽然此处所描述的许多实现是针对其中不同的域可以存在于单一封装的不同的半导体管芯上的MCP的,但是,在其他实现中,多域处理器也可以在单一半导体管芯上形成。
在各实施例中,有跨域的热交互,以便一个域的温度影响另一域的温度。当控制每一个域的温度时,可以考虑并顾及这些跨域交互。如此处所使用的,“热事件”是给定域的温度超出为这样的域设置的阈值温度的发生。更具体而言,为减少一个域中的热事件,可以在另一域施加诸如热节制之类的校正操作。这可能允许正经历热事件的域降低其温度,如此,使处理器维持低于其最高结温。
在此处所描述的特定实施例中,非CPU域可以向CPU域提供在该域中发生的热事件的指示,如此,允许CPU域内的功率控制器或其他逻辑采取校正操作,诸如在CPU域(或另一域)内执行节制事件,如此,允许对热事件的解决。
现在参照图1,其中示出了根据本发明一实施例的处理器的框图。在图1中,处理器100可以是多核处理器,在所示的实施例中,该多核处理器是具有第一管芯120和第二管芯160的MCP。可以看出,第一管芯120可以是包括多个独立域的CPU管芯。还可以看出,第二管芯160可以是外围控制器中枢(PCH)。一般而言,PCH可以包括接口和控制电路以在处理器和各种外围设备(诸如输入/输出(IO)设备,例如,用户输入设备(例如,键盘、触摸板、鼠标或其他指向设备,等等))及存储设备(诸如大容量存储器、便携式或其他这样的存储器),以及许多其他外围设备之间提供接口。
CPU管芯120可以包括多个域,包括可以包括一个或多个处理器核的核域125、可以包括一个或多个图形处理单元(GPU)(诸如一个或多个图形核)的图形域130,以及可以包括处理器的其他电路(诸如缓存存储器、存储器控制器、其他固定功能单元、逻辑电路等等)的非核域135。
进一步可以看出,CPU管芯120还包括功率控制单元(PCU)140,在所示出的实施例中,功率控制单元140可以包括热控制逻辑145。一般而言,PCU140可以利用各种电路、逻辑等等配置,以对于处理器执行功率管理操作。
注意,图1所示出的视图是高级别,以示出与根据本发明的一个实施例的跨域热控制相关的特征,不旨在示出全部处理器电路。另外,某个电路的位置是逻辑地而并非物理地示出的,因为在某些实施例中,PCU 140可以在物理上是非核域135的一部分。
进一步可以在图1中看出,第二管芯160可以包括一个或多个热传感器162,在一个实施例中,可以通过各种电路来实现。可以看出,这些传感器可以将信息传递到比较逻辑166,比较逻辑166进一步接收一个或多个热节制阈值。注意,可以存储在诸如一组寄存器、查询表之类的阈值存储器165或其他存储器中的热阈值,可以从BIOS 195接收,例如,存储在可以提供这些热阈值的非易失性存储器中。基于来自传感器的一个或多个温度值与这些阈值中的一个或多个的比较,可以判断是否发生了热事件。当发生热事件时,如由比较逻辑166确定的,可以向内部节制状态机168发送信号,该内部节制状态机168可以在PCH 160内采取校正操作,以导致温度降低。在一个实施例中,此状态机可以执行各种热节制活动,以允许温度下降。可以通过减少PCH内的活动,例如,通过将空操作(nops)插入到指令的流中、降低频率和/或阻止通信量进入/流出,来实现节制。
另外,当在PCH 160中检测到热事件时,可以从PCH向CPU管芯120发送热事件消息,更具体地,通过边带消息链路190,向PCU 140发送,在一个实施例中,边带消息链路190可以是功率管理同步(PMSYNC)链路。在一个实施例中,热事件的此指示可以通过边带消息链路的单一通道上传递的单一比特。例如,当在PCH内没有检测到热事件时,此通道可以传递逻辑低信号。相比之下,在检测到热事件时,可以使此通道传递逻辑高信号,如此指出热事件的发生。
尽管在图1的实施例以这样高级别地表示,然而要理解本发明的范围不限于此方面。例如,尽管图1示出了其中多核处理器被配置为包括两个管芯的MCP的实现,但是,在另一个实施例中,多核处理器可以是单管芯处理器,包括在CPU管芯上存在的电路以及在PCH管芯上存在的电路。另外,还可以理解,还可以存在额外的电路。或者在其他实施例中,在多核处理器中可以存在不同类型的非CPU电路。例如,在另一个实施例中,代替PCH管芯,可以在多核处理器内提供集成的存储器管芯。
现在参考图2,所示是根据本发明的另一个实施例的处理器的框图。如图2所示,处理器100可以是系统101内的多芯片封装,可以包括CPU管芯120,该CPU管芯120可以类似于图1实现。相反,在图2的实施例中,处理器100还包括嵌入式存储器管芯170,在一个实施例中,该嵌入式存储器管芯170可以使用嵌入式动态随机存取存储器(eDRAM)来实现,并可以充当系统的主要或系统存储器,而不是作为CPU管芯的缓存(因为此管芯包括集成的缓存存储器)。可以看出,此存储器管芯可以包括被配置成向比较逻辑175提供温度信息的一个或多个温度传感器172。进一步可以看出,存储器管芯170可以包括阈值存储器174,该阈值存储器174被配置成存储诸如管芯的最高结温之类的一个或多个阈值。基于比较逻辑175中的此比较,如果来自热传感器172中的一个或多个的值超出最高结温,则如此标识热事件,并可以被传递到CPU管芯120,更具体而言,通过管芯间的通信总线178,传递到PCU 140。
仍参考图2,注意,包括此处理器100的系统101还可以包括PCH 160,该PCH 160可以与图1的内部PCH的配置相同。当然,系统可包括许多其他组件,但是,图2的例图被简化,以示出根据本发明的一个实施例在执行跨域热控制时涉及的那些组件。
可以在各种位置执行各实施例。作为一个示例,处理器的PCU的逻辑可用于根据本发明的一个实施例执行跨域热控制。现在参考图3,所示是根据本发明的一个实施例的用于执行跨域热控制的方法。在一个实施例中,图3的方法200可以由PCU的热逻辑执行,并可以迭代地执行,即,每预定的间隔(在一个实施例中,可以大致1毫秒(ms))一次。一般而言,方法可以基于处理器的多个域的温度执行。可以直接从域,例如,从与耦合到PCU(例如,通过推总线或其他链路)的每一个域相关联的热传感器,获取这样的温度信息。或者,可以在PCU内确定温度信息,例如,基于从这些热传感器中获取的热传感器数据。
如图3所示,方法200可以从将封装最高温度初始化为CPU管芯最高域温度开始(框210)。即,假设其中多核处理器是包括CPU管芯和至少一个其他管芯的多芯片封装的实现(在图3的实施例中,假设此其他管芯是内部存储器管芯)。CPU管芯的最高域温度可以对应于为存在于CPU管芯的多个域中的各种温度传感器记录的最高温度。例如,回头参考图2,最高温度可以是与具有最高值的核、图形和非核域中的给定一个相关联的温度。在一个实施例中,此封装最高温度可以存储在诸如PCU内的寄存器之类的存储位置。接下来,控制进入框215,在那里,内部存储器管芯温度可以被初始化为预定值,例如,零。此值也可以存储在诸如PCU的寄存器之类的存储位置。
仍参考图3,接下来,控制进入菱形220,在那里,判断是否存在内部存储器管芯,并遭受活跃的热事件(菱形220)。此判断可以基于管芯的状态信号或其他配置信息的存在。并且活跃的热事件的指示可以基于从此内部存储器管芯接收到热事件消息来确定。如上文所讨论的,在一个实施例中,此事件可以通过推总线(push bus)上的通信来指出。
如果确定已经发生这样的热事件,则控制进入框225,在那里,可以对CPU管芯执行跨域热节制。可以在CPU管芯内执行各种操作,以实现此热节制。作为一个示例,可以通过降低管芯的一个或多个域的频率,执行热节制。例如,核域和图形域两者都可以将它们的频率降低,例如,元频率。如此处所使用的,“元频率”对应于更新域频率所采用的最小的倍数。在某些实施例中,此元频率可以是总线时钟频率的整数倍,虽然本发明的范围在这方面不受限制。作为另一个示例,选定的量可以对应于频率元的预定量的退化。例如,核域频率可以降低元频率的1/N。然而,并非将频率降低小于元频率量,各实施例允许执行图3的热控制算法的多次迭代,当指出热节制时,维持1/N降低的次数的计数。然后,在对应于N/N次降低的天然的元边界,可以执行对给定域的实际频率降低。在其他实施例中,可以执行其他方式的节制温度。
仍参考图3,接下来,在框230,内部存储器管芯温度(存储在PCU的寄存器中)可以被设置为管芯的最高熔断温度。在一个实施例中,此值可以存储在诸如PCU寄存器之类的存储位置,并可以对应于管芯的最高结温。接下来,控制进入框235,在那里,封装最高温度可以被更新到当前封装最高温度(在框210初始化)和此最高熔断温度两者中的最高值。如上文所讨论的,此值可以存储在诸如PCU寄存器之类的存储位置中,可以在框240向一个或多个外部代理报告此值。作为示例,可以将此值报告给各种系统组件,诸如嵌入式控制器,该嵌入式控制器又可以导致对诸如风扇之类的各种系统设备的控制,例如,增大风扇转速以帮助冷却。还可以进一步向诸如操作系统(OS)、BIOS之类的其他系统组件或其他系统软件提供此信息,以允许执行各种例程,例如,降低系统和/或处理器中的活动以进一步降低温度。尽管在图3的实施例以这样高级别地表示,然而要理解本发明的范围不限于此方面。
一般而言,频率降低可以使用PCU的频率控制逻辑来执行,该频率控制逻辑可以导致给定域降低其频率。作为示例,此频率降低过程包括停止域的所有有用的工作,排放在域中未决的事务,向域应用新的频率(可能新的电压),然后,在新的频率/电压恢复该域中的正常操作。如此,可以看出,在频率变化中涉及某种复杂性,此外,此频率变化还会花费某个时间量。温度变化会落后于频率变化,这样的时滞量是部署的冷却解决方案的热容量的函数。通过控制频率变化速率以匹配冷却解决方案的热容量,可以避免频率和温度的控制循环振荡和波动。相应地,通过在到达天然的元边界时只执行这样的频率变化,可以实现较大的效率。频率降低1/N量的迭代的此计数可以被存储在例如寄存器、计数器之类的临时存储器中或其他这样的存储器中。当如此此计数器中的值到达整数量时,可以执行实际频率更改。
注意,可以以不同的方式实现降低核域频率的机制。例如,PCU的频率控制逻辑可以接收更新核域频率的指令。频率控制逻辑又可以选择要发送的各种指令,用于导致频率缩小。例如,可以向一个或多个锁相环(PLL)或其他频率控制机制发送各种控制信号,以导致频率缩小。
类似的控制方法可以用于具有包括CPU管芯和PCH管芯的多核处理器的图1的实施例。现在参考图4,所示是根据本发明的另一实施例的用于执行跨域热控制的方法。在一个实施例中,如上文所描述的,图4的方法300可以通过PCU的热逻辑来执行。
如图4所示,方法300可以从将封装最高温度初始化为CPU管芯最高域温度开始(框310)。即,假设其中多核处理器是包括CPU管芯和至少一个其他管芯的多芯片封装的实现(在图4的实施例中,假设此其他管芯是PCH管芯)。CPU管芯的最高域温度可以对应于为存在于CPU管芯的多个域中的各种温度传感器记录的最高温度。在一个实施例中,此封装最高温度可以存储在诸如PCU内的寄存器之类的存储位置。接下来,控制进入框315,在那里,PCH管芯温度可以被初始化为预定值,例如,零。此值也可以存储在诸如PCU的寄存器之类的存储位置。
仍参考图4,接下来,控制进入菱形320,在那里,判断是否存在PCH管芯,并遭受活跃的热事件。此判断可以基于管芯的状态信号或其他配置信息的存在。活跃的热事件的指示可以基于从此PCH管芯接收到热事件消息来确定,该热事件消息可以通过边带通信链路指出。
如果确定发生了这样的热事件,则控制进入框325,在那里,可以对CPU管芯执行跨域热节制。可以在CPU管芯内执行各种操作,以实现此热节制。作为一个示例,可以通过降低管芯的一个或多个域的频率,执行热节制。
仍参考图4,接下来,在框330,PCH管芯温度(存储在PCU的寄存器中)可以被设置为PCH温度跳变点。接下来,控制进入框335,在那里,封装最高温度可以被更新到当前封装最高温度(在框310初始化)和PCH温度跳变点两者中的最高值。如上文所描述的,可以在框340向一个或多个外部代理报告此值,如上文所讨论的,此值可以存储在诸如PCU寄存器之类的存储位置。
现在参考表1,所示是根据本发明的一个实施例的热控制算法的伪代码实现。注意,在此伪代码中,该算法提供对处理器内的多种类型的非CPU管芯的分析和热控制。具体地,代码示出了在初始化温度值时执行的操作,判断是否在外围(非CPU)管芯中发生热事件,如果是,则执行节制操作,并将温度信息报告到一个或多个外部代理。可以看出,可以存在用于内部存储器管芯以及内部PCH管芯的代码(尽管在给定实现中,可以只存在这些管芯中的一个)。当然,可以理解,本发明的范围在这方面不受限制,在其他实现中,可以存在对于多域封装内的其他类型的管芯或域执行跨域热控制的代码。
表1
//
EDRAM_therm_status//在推总线上报告的EDC/eDRAM therm_status
PCH_therm_status//在PMSync上报告的PCH_therm_status
//
//
Pkg_max_temp=max(所有核,图形和非核传感器);
eDRAM_temperature=0;
If(EDRAM_present&&EDRAM_therm_status){
跨热节制激活,即降低核/图形比率;
eDRAM_temperature=eDRAM_fused_Tjmax;
pkg_max_temp=max(pkg_max_temp,eDRAM_temperature);
}
//
Pkg_max_temp=max(所有核,图形和非核传感器);
PCH_temperature=0
If(PCH_present&&PCH_therm_status){
//跨热节制激活,即降低核和图形域的频率;
PCH_Temperature=PCH_temperature_trip_point;
pkg_max_temp=max(pkg_max_temp,PCH_temperature);
}
现在参照图5,其中示出了根据本发明一实施例的处理器的框图。如图5所示,处理器400可以是多核心处理器,包括多个核410a-410n。在一个实施例中,每个这样的核都可以是独立功率域并可被配置成在独立电压和/或频率下工作,并当存在可用净空时进入turbo频率模式。各种核都可以通过互连415而耦合到包括各种组件的系统代理或非核420。如所见那样,非核420可包括共享的高速缓存存储器430,它可以是最末级高速缓存。另外,非核可包括集成的存储器控制器440、各种接口450和功率控制单元455。
在各实施例中,功率控制单元455可以包括热控制逻辑459,该逻辑可以是不仅基于域本身的温度,而且基于处理器的其他领域的温度来控制CPU域频率的逻辑。在图5的实施例中,根据本发明的一个实施例,逻辑459可以接收关于在给定非CPU域中是否发生热事件的信息,如果是,则对另一域,例如,CPU域,执行频率控制。在图5中进一步可以看出,为提供用于热控制的不同的值的存储,在PCU 455内还可以进一步存在热控制存储器457,以存储诸如各种最高温度值之类的值,其中至少一些可以被传递到外部代理,如上文所描述的。此存储器也可以为各种管芯或域存储Tj。虽然在图5的实施例中在此位置示出,但是,可以理解,本发明的范围在这方面不受限制,此信息的存储可以位于其他位置。
进一步参考图5,处理器400可以,例如,通过存储器总线,与系统存储器460进行通信,该系统存储器460可以位于嵌入在封装中的另一管芯上,CPU管芯包括处理器400的电路的其余部分。另外,通过接口450,可以连接到诸如外围设备、大容量存储器等等之类的各种封装外组件。虽然在图5的实施例中示出具有该特定实现,但本发明的范围不限于此方面。
现在参照图6,其中示出了根据本发明另一实施例的多域处理器的框图。如图6的实施例所示,处理器500包括多个域。具体地说,核域510可包括多个核5100–510n,图形域520可包括一个或多个图形引擎,并且可进一步存在系统代理域550。在各实施例中,系统代理域550可以以固定频率执行,并可以始终保持通电,以处理功率控制事件和功率管理,域510和520中的每一个都可以在不同的电压和/或功率下操作。注意,尽管仅示出了三个域,然而要理解本发明的范围不限于这个方面并且其它实施例中可存在附加的域。例如,可存在多核域,其每一个包括至少一个核。
一般地说,除了各执行单元和附加的处理元件外,每个核510可进一步包括低级高速缓存。进而,各核可彼此耦合并耦合至由末级高速缓存(LLC)5400–540n的多个单元形成的共享高速缓存存储器。在各实施例中,LLC 550可在核和图形引擎以及多种媒体处理电路之中共享。可以看出,环形互连530因此将各个核耦合在一起,并且提供各个核、图形域520和系统代理电路系统550之间的互连。
在图6的实施例中,系统代理域550可以包括显示控制器552,其可以提供对相关联的显示器的控制和接口。进一步可以看出,根据本发明的一个实施例,系统代理域550可以包括功率控制单元555,该功率控制单元555可包括频率控制逻辑559。在各实施例中,此逻辑可以执行诸如表1所示出的算法,如此基于在非CPU域上发生的热事件,动态地控制频率。
如图6中进一步所见的,处理器500可进一步包括集成的存储器控制器(IMC)570,它可向例如动态随机存取存储器(DRAM)之类的系统存储器提供接口。可存在多个接口5800–480n以允许处理器和其它电路之间的互连。例如,在一个实施例中,可提供至少一个直接媒体接口(DMI)接口以及一个或多个高速外设组件互连(PCI ExpressTM(PCIeTM))接口。更进一步,为在诸如额外的处理器或其他电路之类的其他代理之间提供通信,也可以提供符合快速路径互连(QPI)协议的一个或多个接口。进一步可以看出,PCH 590也可以在处理器500内存在,在某些实施例中,可以在单独的管芯上实现。尽管在图6的实施例以这样高级别地表示,然而要理解本发明的范围不限于此方面。
实施例可在许多不同的系统类型中实现。现在参照图7,其中示出了根据本发明一实施例的系统的框图。如图7所示,多处理器系统600是点对点互连系统,并包括通过点对点互连650而耦合的第一处理器670和第二处理器680。如图7所示,处理器670和680中的每一个都可以是多核处理器,包括第一和第二处理器核(即,处理器核674a和674b以及处理器核684a和684b),虽然潜在地更多核可以存在于处理器中。如此处所描述的,处理器中的每一个都可包括PCU或其他逻辑,用于基于非CPU域的热事件,对处理器的域执行动态频率控制。
仍参考图7,第一处理器670还包括存储器控制器中枢(MCH)672和点对点(P-P)接口676和678。类似地,第二处理器680包括MCH 682和P-P接口686和688。如图7所示,MCH 672和682将处理器耦合到相应的存储器,即,存储器632和存储器634,它们可以是本地连接到相应的处理器的系统存储器(例如,DRAM)的一部分。第一处理器670和第二处理器680可分别经由P-P互连652和654耦合至芯片组690。如图7中所示,芯片组690包括P-P接口694和698。
此外,芯片组690包括用于通过P-P互连639将芯片组690与高性能图形引擎638进行耦合的接口692。芯片集690又可以通过接口696耦合到第一总线616。如图7所示,各种输入/输出(I/O)设备614以及总线桥接器616可以耦合到第一总线618,总线桥接器616将第一总线620耦合到第二总线920。在一个实施例中,各种设备可耦合到第二总线620,包括例如键盘/鼠标622、通信设备626以及数据存储单元628,如可包括代码630的盘驱动器或其他大容量存储设备。进一步地,音频I/O 624可以耦合到第二总线620。各实施例可以被合并到其他类型的系统中,包括诸如智能蜂窝电话、平板计算机、上网本、UltrabookTM等等之类的移动设备。
参考图8,示出了包括多个核的处理器的实施例。处理器1100包括任何处理器或处理器件,诸如微处理器、嵌入式处理器、数字信号处理器(DSP)、网络处理器、手持式处理器、应用处理器、协同处理器、片上系统(SOC)、或用于执行代码的其它器件。在一个实施例中,处理器1100包括至少两个核——核1101和1102,它们可包括非对称核或对称核(所示实施例)。然而,处理器1100可包括可以是对称的或非对称的任何数量的处理元件。
在一个实施例中,处理元件指的是用于支持软件线程的硬件或逻辑。硬件处理元件的示例包括:线程单元、线程槽、线程、进程单元、上下文、上下文单元、逻辑处理器、硬件线程、核、和/或能保持处理器的诸如执行状态或架构状态之类的状态的任何其它元件。换言之,在一个实施例中,处理元件指的是能够与诸如软件线程、操作系统、应用、或其它代码之类的代码独立地相关联的任何硬件。物理处理器通常指的是集成电路,其可能包括任意数量的诸如核或硬件线程之类的其它处理元件。
核通常指的是位于集成电路上的能够维持独立架构状态的逻辑,其中每个独立维持的架构状态与至少某些专用执行资源相关联。与核相反,硬件线程通常指的是位于集成电路上的能维持独立架构状态的任何逻辑,其中独立维持的架构状态共享对执行资源的访问。可以看出,当某些资源是共享的而其它资源是架构状态专用时,硬件线程与核的术语之间的界线交叠。核和硬件线程常常被操作系统视为单个逻辑处理器,其中,操作系统能够分别在每一个逻辑处理器上调度操作。
如图8所示的物理处理器1100包括两个核——核1101和1102。在此,核1101和1102被视为对称核,即这些核具有相同的配置、功能单元和/或逻辑。在另一个实施例中,核1101包括无序处理器核,而核1102包括有序处理器核。然而,核1101和1102可从任何类型的核中单独地选择,诸如原生核、受软件管理的核、适于执行原生指令集体系结构(ISA)的核、适于执行转换ISA的核、协同设计的核或其它已知核。不过,为进一步讨论,以下将进一步详细描述在核1101中示出的功能单元,因为核1102中的单元以类似方式操作。
如所描绘,核1101包括两个硬件线程1101a和1101b,它们可被称为硬件线程槽1101a和1101b。因此,在一个实施例中,诸如操作系统之类的软件实体潜在地将处理器1100视为四个独立的处理器,即能够并发地执行四个软件线程的四个逻辑处理器或处理元件。如上所述,第一线程与体系结构状态寄存器1101a相关联,第二线程与体系结构状态寄存器1101b相关联,第三线程可与体系结构状态寄存器1102a相关联,并且第四线程可与体系结构状态寄存器1102b相关联。在此,架构状态寄存器(1101a、1101b、1102a和1102b)中的每一个可被称为处理元件、线程槽或线程单元,如上所述。如上所述,架构状态寄存器1101a被复制在架构状态寄存器1101b中,因此能够为逻辑处理器1101a和逻辑处理器1101b存储各个架构状态/上下文。在核1101中,也可复制用于线程1101a和1101b的其它较小资源,诸如指令指针以及分配器和重命名块1130中的重命名逻辑。诸如重排序器/隐退单元1135中的重排序缓冲器、ILTB 1120、载入/存储缓冲器、以及队列之类的一些资源可通过分区来共享。诸如通用内部寄存器、页表基本寄存器、低级数据高速缓存和数据TLB 1115、执行单元1140、以及无序单元1135的部分之类的其它资源潜在地被完全共享。
处理器1100通常包括其它资源,这些其它资源可被完全共享、通过分区共享、或由处理元件专用/专用于处理元件。在图8中,示出了具有处理器的说明性的逻辑单元/资源的纯示例性处理器的实施例。注意,处理器可包括或省略这些功能单元中的任一个,并包括未描绘出的任何其它已知的功能单元、逻辑或固件。如图所示,核1101包括简化的、代表性的无序(OOO)处理器核。但是,在不同实施例中可利用有序处理器。OOO核包括用于预测要被执行/进行的分支的分支目标缓冲器1120以及用于存储指令的地址转换条目的指令转换缓冲器(I-TLB)1120。
核1101进一步包括耦合至取出单元1120以用于解码所取出的元素的解码模块1125。在一个实施例中,取出逻辑包括分别与线程槽1101a、1101b相关联的各个序列发生器。通常,核1101与第一ISA相关联,该第一ISA定义/指定能在处理器1100上执行的指令。是第一ISA的一部分的机器代码指令常常包括引用/指定要被执行的指令或操作的指令的一部分(被称为操作码)。解码逻辑1125包括由这些指令的操作码来识别这些指令并在流水线上传递所解码的指令以进行如第一ISA所定义的处理的电路。例如,在一个实施例中,解码器1125包括被设计成或适于识别诸如事务性指令之类的特定指令的逻辑。作为解码器1125识别的结果,体系结构或核1101采取特定的、预定的动作以执行与适当指令相关联的任务。重要的是应注意,本申请中描述的任务、块、操作和方法中的任一个可响应于单个或多个指令来执行;它们中的一些可以是新的或旧的指令。
在一个示例中,分配器和重命名器块1130包括用于预留资源的分配器,诸如用于存储指令处理结果的寄存器组。然而,线程1101a和1101b潜在地能够进行无序执行,其中分配器和重命名器块1130还保留其它资源(诸如用于跟踪指令结果的重排序缓冲器)。单元1130还可包括寄存器重命名器,用于将程序/指令引用寄存器重命名为处理器1100内部的其它寄存器。重排序/隐退单元135包括诸如上述的重排序缓冲器、加载缓冲器和存储缓冲器之类的组件,以支持无序执行的指令的无序执行和稍后的有序隐退。
在一个实施例中,调度器和执行单元块1140包括调度器单元,用于在执行单元上调度指令/操作。例如,在具有可用的浮点执行单元的执行单元的端口上调度浮点指令。还包括与执行单元相关联的寄存器组,用于存储信息指令处理结果。示例性的执行单元包括浮点执行单元、整数执行单元、跳转执行单元、加载执行单元、存储执行单元以及其它已知的执行单元。
较低级的数据高速缓存和数据转换缓冲器(D-TLB)1150耦合至执行单元1140。数据高速缓存用于存储最近使用/操作的元素(诸如数据操作数),这些元素在存储器一致性状态下潜在地被保持。D-TLB用于存储最近的虚拟/线性至物理地址转换。作为特定示例,处理器可包括页表结构,用于将物理存储器分解成多个虚拟页。
在此,核1101和1102共享对较高级或进一步远离的高速缓存1110的访问,较高级或进一步远离的高速缓存用于高速缓存最近取出的元素。注意,较高级或进一步指的是高速缓存级增加或进一步远离执行单元。在一个实施例中,较高级高速缓存1110是最后级数据高速缓存——处理器1100上的存储器层次中的最后级高速缓存,诸如第二或第三级数据高速缓存。然而,较高级高速缓存1110不限于此,因为它可与指令高速缓存相关联或包括指令高速缓存。替代地,跟踪高速缓存——一种类型的指令高速缓存——可耦合在解码器1125之后,用于存储最近解码的跟踪。
在所描绘的配置中,根据本发明的一个实施例,处理器1100还包括总线接口模块1105和可以执行跨域热控制的功率控制器1160。历史上,控制器1170被包括在处理器1100外部的计算系统中。在该场景中,总线接口1105与处理器1100外部的设备通信,处理器100外部的设备诸如系统存储器1175、芯片组(通常包括存储器控制器中枢以连接到存储器1175以及I/O控制器中枢以连接到外围设备)、存储器控制器中枢、北桥、或其它集成电路。并且在该场景中,总线1105可包括任何已知的互连,诸如多点总线、点对点互连、串行互连、并行总线、一致性(例如高速缓存一致性)总线、分层协议体系结构、差分总线以及GTL总线。
存储器1175可专属于处理器1100或与系统中的其它器件共享。存储器1175的类型的常见示例包括DRAM、SRAM、非易失性存储器(NV存储器)以及其它已知的存储设备。注意,器件1180可包括耦合到存储器控制器中枢的图形加速器、处理器或卡,耦合到I/O控制器中枢的数据存储,无线收发器,闪存器件,音频控制器,网络控制器,或其它已知器件。
然而,注意,在所描绘的实施例中,控制器1170被示为处理器1100的一部分。最近,随着更多的逻辑和器件被集成在单个管芯上(如SOC),这些器件中的每一个可被合并在处理器1100上。例如,在一个实施例中,存储器控制器中枢1170与处理器1100处于同一封装和/或管芯上。在此,核的一部分(核上部分,on-core portion)包括与诸如存储器1175和/或图形器件1180之类的其它器件进行接口的一个或多个控制器1170。包括用于与此类器件进行接口的控制器和互连的该配置通常被称为核上(或非核(un-core)配置)。作为示例,总线接口1105包括环形互连,环形互连具有用于与存储器1175进行接口的存储器控制器以及用于与图形处理器1180进行接口的图形控制器。然而,在SOC环境中,诸如网络接口、协同处理器、存储器1175、图形处理器1180以及任何其它已知计算机器件/接口之类的甚至更多的器件可被集成到单个管芯或集成电路上,以提供具有高功能性和低功耗的小外形规格。
实施例可以代码的形式实现,而且可存储在其上存储有可用于对系统编程以执行这些指令的非临时存储介质上。存储介质可包括但不限于:包括软盘、光盘、固态驱动器(SSD)、压缩盘只读存储器(CD-ROM)、可重写压缩盘(CD-RW)以及磁光盘的任何类型的磁盘;诸如只读存储器(ROM)、诸如动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)之类的随机存取存储器(RAM)、可擦写可编程只读存储器(EPROM)、闪存、电可擦写可编程只读存储器(EEPROM)之类的半导体器件;磁卡或光卡,或适合于存储电子指令的任何其他类型的介质。
尽管是参考数量有限的实施例来描述本发明的,但是,那些精通本技术的人将从其中理解很多修改和变体。所附权利要求旨在覆盖落入本发明的真实精神和范围中的所有这些修改和变化。
Claims (20)
1.一种处理器,包括:
包括执行指令的至少一个核的第一域;
耦合到所述第一域并包括至少一个非核电路的第二域,其中,所述第一和第二域被配置成在独立频率操作;以及
耦合到所述第一和第二域的功率控制装置,所述功率控制装置包括用于响应于热事件在所述第二域中的发生而导致所述第一域的频率的降低的热装置。
2.如权利要求1所述的处理器,其特征在于,所述热装置将导致所述第一域频率降低对应于所述第一域的频率元的量。
3.如权利要求2所述的处理器,其特征在于,所述热装置将响应于所述热事件发生而更新计数器的值。
4.如权利要求3所述的处理器,其特征在于,当所述计数器值等于第一值时,所述热装置将导致所述第一域频率被缩小所述频率元。
5.如权利要求1所述的处理器,其特征在于,所述热装置将响应于所述热事件而将所述第二域的温度的值设置为第二值。
6.如权利要求5所述的处理器,其特征在于,所述热装置将把处理器最高温度值更新为当前处理器最高温度值和所述第二值两者中的最大值。
7.如权利要求6所述的处理器,其特征在于,所述热装置将把所述处理器最高温度值传递到所述处理器外部的至少一个代理。
8.如权利要求7所述的处理器,其特征在于,所述至少一个代理包括嵌入式控制器装置,所述嵌入式控制器装置用于响应于所述处理器最高温度值的传递,导致风扇的速度增大。
9.如权利要求1所述的处理器,其特征在于,所述第二域包括内部存储器管芯,其中包括由随机存取存储器(RAM)构成的系统存储器,所述第二域进一步包括至少一个热传感器。
10.如权利要求9所述的处理器,其特征在于,所述内部存储器管芯进一步包括用于将从所述至少一个热传感器接收到的温度值与阈值进行比较的比较逻辑装置。
11.如权利要求10所述的处理器,其特征在于,当所述温度值大于所述阈值时,所述内部存储器管芯将把所述热事件传递到所述第一域。
12.如权利要求1所述的处理器,其特征在于,所述处理器包括用于存储所述处理器的最高域温度和所述第二域的温度值的存储器。
13.一种计算系统,包括:
多域处理器,其中包括第一管芯,所述第一管芯具有包括多个核的核域,包括至少一个图形引擎的图形域,以及包括功率控制器装置的系统代理域,以及第二管芯,所述第二管芯具有嵌入式存储器并通过通信路径耦合到所述第一管芯,以传递所述第二管芯上发生的热事件的指示,其中,所述功率控制器装置用于响应于接收到所述热事件指示,将所述核域和所述图形域中的至少一个的频率降低选择的量;以及
耦合到所述多域处理器的风扇。
14.如权利要求13所述的计算系统,其特征在于,所述功率控制器装置将通过耦合在所述第一管芯和所述第二管芯之间的推总线,从所述第二管芯接收所述指示。
15.如权利要求13所述的计算系统,其特征在于,所述功率控制器装置将响应于从所述第二管芯接收到所述指示,增大所述核域的计数器的值,并且当所述计数器值等于N时,把所述核域频率降低元频率。
16.如权利要求13所述的计算系统,其特征在于,所述功率控制器装置把处理器最高温度值更新为当前处理器最高温度值和所述第二管芯的最高温度两者中的最大值,并将所述处理器最高温度值传递到耦合到所述多域处理器的嵌入式控制器。
17.如权利要求16所述的计算系统,其特征在于,所述嵌入式控制器将响应于所述传递,导致所述风扇的速度增大。
18.一种处理器,包括:
执行指令并对应于第一域的至少一个核;
耦合到所述至少一个核并对应于第二域的外围控制器装置,所述外围控制器装置用于将所述至少一个核连接到至少一个外围设备,所述外围控制器装置包括感应所述外围控制器装置的温度的热传感器以及当所述外围控制器装置温度超出热阈值时传递消息的检测器;以及
耦合到所述至少一个核和所述外围控制器装置的功率控制器装置,其中,所述功率控制器装置包括用于响应于所述消息而导致所述至少一个核的功率状态的变化的跨域热逻辑装置,所述至少一个核和所述功率控制器装置在单一封装内配置。
19.如权利要求18所述的处理器,其特征在于,所述至少一个核和所述外围控制器装置是在单一半导体管芯上配置的。
20.如权利要求18所述的处理器,其特征在于,所述跨域热逻辑装置将进一步把处理器最高温度值更新为当前处理器最高温度值和最高外围控制器装置温度两者中的最大值,并将所述处理器最高温度值传递到耦合于所述处理器的嵌入式控制器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611246335.7A CN106598184B (zh) | 2012-08-31 | 2013-06-27 | 在处理器中执行跨域热控制 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/600,666 | 2012-08-31 | ||
US13/600,666 US9063727B2 (en) | 2012-08-31 | 2012-08-31 | Performing cross-domain thermal control in a processor |
PCT/US2013/048045 WO2014035542A1 (en) | 2012-08-31 | 2013-06-27 | Performing cross-domain thermal control in a processor |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611246335.7A Division CN106598184B (zh) | 2012-08-31 | 2013-06-27 | 在处理器中执行跨域热控制 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104508593A CN104508593A (zh) | 2015-04-08 |
CN104508593B true CN104508593B (zh) | 2017-11-24 |
Family
ID=50184101
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380040144.3A Active CN104508593B (zh) | 2012-08-31 | 2013-06-27 | 在处理器中执行跨域热控制 |
CN201611246335.7A Active CN106598184B (zh) | 2012-08-31 | 2013-06-27 | 在处理器中执行跨域热控制 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611246335.7A Active CN106598184B (zh) | 2012-08-31 | 2013-06-27 | 在处理器中执行跨域热控制 |
Country Status (4)
Country | Link |
---|---|
US (2) | US9063727B2 (zh) |
CN (2) | CN104508593B (zh) |
GB (2) | GB2520848B (zh) |
WO (1) | WO2014035542A1 (zh) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8954770B2 (en) | 2011-09-28 | 2015-02-10 | Intel Corporation | Controlling temperature of multiple domains of a multi-domain processor using a cross domain margin |
US9063727B2 (en) | 2012-08-31 | 2015-06-23 | Intel Corporation | Performing cross-domain thermal control in a processor |
US9423858B2 (en) | 2012-09-27 | 2016-08-23 | Intel Corporation | Sharing power between domains in a processor package using encoded power consumption information from a second domain to calculate an available power budget for a first domain |
US9785136B2 (en) * | 2012-09-29 | 2017-10-10 | Intel Corporation | PCH thermal sensor dynamic shutdown |
US9946319B2 (en) * | 2012-11-20 | 2018-04-17 | Advanced Micro Devices, Inc. | Setting power-state limits based on performance coupling and thermal coupling between entities in a computing device |
US9477627B2 (en) | 2012-12-26 | 2016-10-25 | Intel Corporation | Interconnect to communicate information uni-directionally |
US20150188797A1 (en) * | 2013-12-27 | 2015-07-02 | Guy Satat | Adaptive admission control for on die interconnect |
US9342136B2 (en) * | 2013-12-28 | 2016-05-17 | Samsung Electronics Co., Ltd. | Dynamic thermal budget allocation for multi-processor systems |
US9607680B2 (en) * | 2014-03-04 | 2017-03-28 | Apple Inc. | EDRAM/DRAM fabricated capacitors for use in on-chip PMUS and as decoupling capacitors in an integrated EDRAM/DRAM and PMU system |
US9791904B2 (en) * | 2014-08-15 | 2017-10-17 | Intel Corporation | Balanced control of processor temperature |
US9720827B2 (en) * | 2014-11-14 | 2017-08-01 | Intel Corporation | Providing multiple memory modes for a processor including internal memory |
US10877530B2 (en) * | 2014-12-23 | 2020-12-29 | Intel Corporation | Apparatus and method to provide a thermal parameter report for a multi-chip package |
US9710041B2 (en) * | 2015-07-29 | 2017-07-18 | Intel Corporation | Masking a power state of a core of a processor |
US10423206B2 (en) * | 2016-08-31 | 2019-09-24 | Intel Corporation | Processor to pre-empt voltage ramps for exit latency reductions |
US11012945B2 (en) * | 2017-09-29 | 2021-05-18 | Apple Inc. | Devices and methods for power allocation |
US11054882B2 (en) * | 2019-02-21 | 2021-07-06 | Apple Inc. | Externally-triggered throttling |
US10803548B2 (en) * | 2019-03-15 | 2020-10-13 | Intel Corporation | Disaggregation of SOC architecture |
US11366506B2 (en) | 2019-11-22 | 2022-06-21 | Intel Corporation | System, apparatus and method for globally aware reactive local power control in a processor |
US11755082B2 (en) * | 2020-04-02 | 2023-09-12 | Dell Products, L.P. | Methods and systems for processor-calibrated fan control |
US20200409755A1 (en) * | 2020-09-16 | 2020-12-31 | Chris Macnamara | Mechanism to automatically prioritize i/o for nfv workloads at platform overload |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1957317A (zh) * | 2004-06-28 | 2007-05-02 | 英特尔公司 | 扩充的热量管理 |
CN101025994A (zh) * | 2006-02-16 | 2007-08-29 | 英特尔公司 | 利用管芯内部的热传感器的热管理 |
CN101044445A (zh) * | 2004-11-02 | 2007-09-26 | 英特尔公司 | 用于控制处理器的温度的方法和设备 |
Family Cites Families (74)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5163153A (en) | 1989-06-12 | 1992-11-10 | Grid Systems Corporation | Low-power, standby mode computer |
US5287292A (en) | 1992-10-16 | 1994-02-15 | Picopower Technology, Inc. | Heat regulator for integrated circuits |
US5522087A (en) | 1994-03-22 | 1996-05-28 | Verifone Inc. | System for selectively operating in different modes depending upon receiving signal from a host computer within a time window upon power up |
US5590341A (en) | 1994-09-30 | 1996-12-31 | Intel Corporation | Method and apparatus for reducing power consumption in a computer system using ready delay |
US5621250A (en) | 1995-07-31 | 1997-04-15 | Ford Motor Company | Wake-up interface and method for awakening an automotive electronics module |
US5931950A (en) | 1997-06-17 | 1999-08-03 | Pc-Tel, Inc. | Wake-up-on-ring power conservation for host signal processing communication system |
US6823516B1 (en) | 1999-08-10 | 2004-11-23 | Intel Corporation | System and method for dynamically adjusting to CPU performance changes |
US7539885B2 (en) | 2000-01-13 | 2009-05-26 | Broadcom Corporation | Method and apparatus for adaptive CPU power management |
US7010708B2 (en) | 2002-05-15 | 2006-03-07 | Broadcom Corporation | Method and apparatus for adaptive CPU power management |
JP2001318742A (ja) | 2000-05-08 | 2001-11-16 | Mitsubishi Electric Corp | コンピュータシステムおよびコンピュータ読み取り可能な記録媒体 |
KR100361340B1 (ko) | 2000-05-15 | 2002-12-05 | 엘지전자 주식회사 | 씨피유 클럭 제어 방법 |
US6792392B1 (en) | 2000-06-30 | 2004-09-14 | Intel Corporation | Method and apparatus for configuring and collecting performance counter data |
US6748546B1 (en) | 2000-09-26 | 2004-06-08 | Sun Microsystems, Inc. | Method and apparatus for reducing power consumption |
US6829713B2 (en) | 2000-12-30 | 2004-12-07 | Intel Corporation | CPU power management based on utilization with lowest performance mode at the mid-utilization range |
US7058824B2 (en) | 2001-06-15 | 2006-06-06 | Microsoft Corporation | Method and system for using idle threads to adaptively throttle a computer |
US20030061383A1 (en) | 2001-09-25 | 2003-03-27 | Zilka Anthony M. | Predicting processor inactivity for a controlled transition of power states |
US7111179B1 (en) | 2001-10-11 | 2006-09-19 | In-Hand Electronics, Inc. | Method and apparatus for optimizing performance and battery life of electronic devices based on system and application parameters |
US6996728B2 (en) | 2002-04-26 | 2006-02-07 | Hewlett-Packard Development Company, L.P. | Managing power consumption based on utilization statistics |
US6908227B2 (en) | 2002-08-23 | 2005-06-21 | Intel Corporation | Apparatus for thermal management of multiple core microprocessors |
US7051227B2 (en) | 2002-09-30 | 2006-05-23 | Intel Corporation | Method and apparatus for reducing clock frequency during low workload periods |
US6898689B2 (en) | 2002-11-15 | 2005-05-24 | Silicon Labs Cp, Inc. | Paging scheme for a microcontroller for extending available register space |
US7043649B2 (en) | 2002-11-20 | 2006-05-09 | Portalplayer, Inc. | System clock power management for chips with multiple processing modules |
US6971033B2 (en) | 2003-01-10 | 2005-11-29 | Broadcom Corporation | Method and apparatus for improving bus master performance |
KR20050115227A (ko) | 2003-01-23 | 2005-12-07 | 유니버시티 오브 로체스터 | 다중 클록 도메인 마이크로프로세서 |
JP4061492B2 (ja) | 2003-02-10 | 2008-03-19 | ソニー株式会社 | 情報処理装置および消費電力制御方法 |
US7093147B2 (en) | 2003-04-25 | 2006-08-15 | Hewlett-Packard Development Company, L.P. | Dynamically selecting processor cores for overall power efficiency |
US7272732B2 (en) | 2003-06-30 | 2007-09-18 | Hewlett-Packard Development Company, L.P. | Controlling power consumption of at least one computer system |
TW200502847A (en) | 2003-07-08 | 2005-01-16 | Benq Corp | Control device and method for reducing number of interrupts in a processor |
US7146514B2 (en) | 2003-07-23 | 2006-12-05 | Intel Corporation | Determining target operating frequencies for a multiprocessor system |
US7272730B1 (en) | 2003-07-31 | 2007-09-18 | Hewlett-Packard Development Company, L.P. | Application-driven method and apparatus for limiting power consumption in a processor-controlled hardware platform |
US7194643B2 (en) | 2003-09-29 | 2007-03-20 | Intel Corporation | Apparatus and method for an energy efficient clustered micro-architecture |
US7770034B2 (en) | 2003-12-16 | 2010-08-03 | Intel Corporation | Performance monitoring based dynamic voltage and frequency scaling |
US20070156992A1 (en) | 2005-12-30 | 2007-07-05 | Intel Corporation | Method and system for optimizing latency of dynamic memory sizing |
US7451333B2 (en) | 2004-09-03 | 2008-11-11 | Intel Corporation | Coordinating idle state transitions in multi-core processors |
US9001801B2 (en) | 2004-09-07 | 2015-04-07 | Broadcom Corporation | Method and system for low power mode management for complex Bluetooth devices |
US7941585B2 (en) | 2004-09-10 | 2011-05-10 | Cavium Networks, Inc. | Local scratchpad and data caching system |
US7596464B2 (en) * | 2004-09-29 | 2009-09-29 | Intel Corporation | Determining the thermal influence of components within a system and usage of a matrix for power and thermal management |
US7426648B2 (en) | 2004-09-30 | 2008-09-16 | Intel Corporation | Global and pseudo power state management for multiple processing elements |
US7434073B2 (en) | 2004-11-29 | 2008-10-07 | Intel Corporation | Frequency and voltage scaling architecture |
US7502948B2 (en) | 2004-12-30 | 2009-03-10 | Intel Corporation | Method, system, and apparatus for selecting a maximum operation point based on number of active cores and performance level of each of the active cores |
US8041967B2 (en) | 2005-02-15 | 2011-10-18 | Hewlett-Packard Development Company, L.P. | System and method for controlling power to resources based on historical utilization data |
US7454632B2 (en) | 2005-06-16 | 2008-11-18 | Intel Corporation | Reducing computing system power through idle synchronization |
US7430673B2 (en) | 2005-06-30 | 2008-09-30 | Intel Corporation | Power management system for computing platform |
US8301868B2 (en) | 2005-09-23 | 2012-10-30 | Intel Corporation | System to profile and optimize user software in a managed run-time environment |
US20070079294A1 (en) | 2005-09-30 | 2007-04-05 | Robert Knight | Profiling using a user-level control mechanism |
US7574321B2 (en) * | 2005-10-11 | 2009-08-11 | Exar Corporation | Model predictive thermal management |
US20070106827A1 (en) | 2005-11-08 | 2007-05-10 | Boatright Bryan D | Centralized interrupt controller |
US7349762B2 (en) * | 2005-11-10 | 2008-03-25 | Kabushiki Kaisha Toshiba | Systems and methods for thermal management |
US20070130448A1 (en) * | 2005-12-01 | 2007-06-07 | Intel Corporation | Stack tracker |
KR101229508B1 (ko) | 2006-02-28 | 2013-02-05 | 삼성전자주식회사 | 복수의 파워도메인을 포함하는 반도체 집적 회로 |
US20070245163A1 (en) | 2006-03-03 | 2007-10-18 | Yung-Hsiang Lu | Power management in computer operating systems |
US7437270B2 (en) | 2006-03-30 | 2008-10-14 | Intel Corporation | Performance state management |
US7752468B2 (en) | 2006-06-06 | 2010-07-06 | Intel Corporation | Predict computing platform memory power utilization |
US7529956B2 (en) | 2006-07-17 | 2009-05-05 | Microsoft Corporation | Granular reduction in power consumption |
US7930564B2 (en) | 2006-07-31 | 2011-04-19 | Intel Corporation | System and method for controlling processor low power states |
US7949887B2 (en) * | 2006-11-01 | 2011-05-24 | Intel Corporation | Independent power control of processing cores |
US7730340B2 (en) | 2007-02-16 | 2010-06-01 | Intel Corporation | Method and apparatus for dynamic voltage and frequency scaling |
WO2008117133A1 (en) | 2007-03-26 | 2008-10-02 | Freescale Semiconductor, Inc. | Anticipation of power on of a mobile device |
JP2008257578A (ja) | 2007-04-06 | 2008-10-23 | Toshiba Corp | 情報処理装置、スケジューラおよび情報処理置のスケジュール制御方法 |
US7971074B2 (en) | 2007-06-28 | 2011-06-28 | Intel Corporation | Method, system, and apparatus for a core activity detector to facilitate dynamic power management in a distributed system |
US8024590B2 (en) | 2007-12-10 | 2011-09-20 | Intel Corporation | Predicting future power level states for processor cores |
US20090150696A1 (en) | 2007-12-10 | 2009-06-11 | Justin Song | Transitioning a processor package to a low power state |
US7966506B2 (en) | 2007-12-12 | 2011-06-21 | Intel Corporation | Saving power in a computer system |
US8442697B2 (en) | 2007-12-18 | 2013-05-14 | Packet Digital | Method and apparatus for on-demand power management |
KR101459140B1 (ko) | 2007-12-26 | 2014-11-07 | 엘지전자 주식회사 | 전원관리 제어 장치 및 방법 |
US8156362B2 (en) | 2008-03-11 | 2012-04-10 | Globalfoundries Inc. | Hardware monitoring and decision making for transitioning in and out of low-power state |
US8954977B2 (en) | 2008-12-09 | 2015-02-10 | Intel Corporation | Software-based thread remapping for power savings |
US8700943B2 (en) | 2009-12-22 | 2014-04-15 | Intel Corporation | Controlling time stamp counter (TSC) offsets for mulitple cores and threads |
US8943334B2 (en) | 2010-09-23 | 2015-01-27 | Intel Corporation | Providing per core voltage and frequency control |
US8949637B2 (en) | 2011-03-24 | 2015-02-03 | Intel Corporation | Obtaining power profile information with low overhead |
US8954770B2 (en) | 2011-09-28 | 2015-02-10 | Intel Corporation | Controlling temperature of multiple domains of a multi-domain processor using a cross domain margin |
US9383789B2 (en) * | 2012-06-21 | 2016-07-05 | Apple Inc. | Thermal control apparatus and methodology |
US9063727B2 (en) | 2012-08-31 | 2015-06-23 | Intel Corporation | Performing cross-domain thermal control in a processor |
US9423858B2 (en) | 2012-09-27 | 2016-08-23 | Intel Corporation | Sharing power between domains in a processor package using encoded power consumption information from a second domain to calculate an available power budget for a first domain |
-
2012
- 2012-08-31 US US13/600,666 patent/US9063727B2/en active Active
-
2013
- 2013-03-04 US US13/783,978 patent/US9189046B2/en active Active
- 2013-06-27 CN CN201380040144.3A patent/CN104508593B/zh active Active
- 2013-06-27 GB GB1500212.4A patent/GB2520848B/en active Active
- 2013-06-27 GB GB1700131.4A patent/GB2547977A/en not_active Withdrawn
- 2013-06-27 WO PCT/US2013/048045 patent/WO2014035542A1/en active Application Filing
- 2013-06-27 CN CN201611246335.7A patent/CN106598184B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1957317A (zh) * | 2004-06-28 | 2007-05-02 | 英特尔公司 | 扩充的热量管理 |
CN101044445A (zh) * | 2004-11-02 | 2007-09-26 | 英特尔公司 | 用于控制处理器的温度的方法和设备 |
CN101025994A (zh) * | 2006-02-16 | 2007-08-29 | 英特尔公司 | 利用管芯内部的热传感器的热管理 |
Also Published As
Publication number | Publication date |
---|---|
WO2014035542A1 (en) | 2014-03-06 |
GB2520848B (en) | 2018-07-25 |
GB201700131D0 (en) | 2017-02-22 |
GB2520848A (en) | 2015-06-03 |
CN106598184A (zh) | 2017-04-26 |
US9189046B2 (en) | 2015-11-17 |
CN104508593A (zh) | 2015-04-08 |
US20140068291A1 (en) | 2014-03-06 |
US9063727B2 (en) | 2015-06-23 |
CN106598184B (zh) | 2020-08-25 |
GB2547977A (en) | 2017-09-06 |
US20140068293A1 (en) | 2014-03-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104508593B (zh) | 在处理器中执行跨域热控制 | |
CN109564556B (zh) | 具有条纹和读取/写入事务管理的存储器控制器仲裁器 | |
CN102567109B (zh) | 中断分配方案 | |
CN107368174B (zh) | 用于具有非同构性能状态的多核处理器的热扼制的自适应算法 | |
CN106980492B (zh) | 用于计算的装置、系统、方法、机器可读存储介质和设备 | |
TWI522792B (zh) | 用以產生要求之設備、用於記憶體要求之方法、及運算系統 | |
CN105009101B (zh) | 提供与数据缓冲器相关联的监听滤波 | |
US9405687B2 (en) | Method, apparatus and system for handling cache misses in a processor | |
CN104813278B (zh) | 对二进制转换的自修改代码以及交叉修改代码的处理 | |
US20140281610A1 (en) | Exploiting process variation in a multicore processor | |
EP3436958B1 (en) | Low power memory throttling | |
US20200401321A1 (en) | Speculative hint-triggered activation of pages in memory | |
US10037301B2 (en) | Circuits and methods for inter-processor communication | |
US11561862B2 (en) | Refresh management for DRAM | |
US20200192832A1 (en) | Influencing processor governance based on serial bus converged io connection management | |
TW201717004A (zh) | 用於簡化用於有效平行計算的以任務為基礎的運行時間之方法 | |
WO2022212383A1 (en) | Processing-in-memory concurrent processing system and method | |
US9152588B2 (en) | Race-free level-sensitive interrupt delivery using fabric delivered interrupts | |
US11853140B2 (en) | Power management based on limiting hardware-forced power control | |
US20230205547A1 (en) | Multiple module bootup operation | |
US20230018828A1 (en) | Device, method and system to provide thread scheduling hints to a software process | |
US20190042307A1 (en) | Technology to augment thread scheduling with temporal characteristics |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |