CN101114186A - 用于控制多核心处理器中发热的方法和设备 - Google Patents
用于控制多核心处理器中发热的方法和设备 Download PDFInfo
- Publication number
- CN101114186A CN101114186A CNA2007101381551A CN200710138155A CN101114186A CN 101114186 A CN101114186 A CN 101114186A CN A2007101381551 A CNA2007101381551 A CN A2007101381551A CN 200710138155 A CN200710138155 A CN 200710138155A CN 101114186 A CN101114186 A CN 101114186A
- Authority
- CN
- China
- Prior art keywords
- core
- processor
- power controller
- processor core
- cores
- 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.)
- Pending
Links
Images
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/16—Constructional details or arrangements
- G06F1/20—Cooling means
- G06F1/206—Cooling means comprising thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Microcomputers (AREA)
- Power Sources (AREA)
Abstract
公开的方法和设备可以减少多核心处理器中的发热。在一个实施例中,多核心处理器随时间以预定的模式遍及处理器管芯,循环关闭选择的处理器核心,以由处理器减少平均发热。公开的多核心处理器可减少或避免影响处理器寿命的不期望的热点。
Description
技术领域
本公开在此一般涉及处理器系统,更具体地,涉及一种管理多核心处理器中发热的方法和设备。
背景技术
随着微处理器的性能与日俱增,设计者面对日益困难的发热问题。当处理器产生过多热时,时钟节流(clock throttling)(降低处理器的时钟频率)是用于减少处理器发热的一种方法。尽管时钟节流能够在单核心处理器中成功地防止过热,然而该方法实质上可能消极影响处理器性能。
多核心处理器,即那些在共同的集成电路管芯(die)上具有多个处理器核心的处理器,也可能经历显著的发热问题。随着管芯上的核心数量增多,设计者发现:以提供最优性能的方式,为全部的核心提供充足的功率和冷却,日益具有挑战性。多核心处理器可以使用时钟节流来防止过热,但是该方法再次牺牲处理器的性能。
随着多核心处理器激增(proliferate)并在速度上增长,提供充足的功率以便为多核心处理器供应它们需要的大切换电流的问题,变得更加困难。随着多核心处理器的半导体管芯的尺寸在某些应用中减小,热密度变得更加显著。在某些情况中,当处理器恒定地使用特定的核心来执行指令时,在半导体管芯上在特定核心的位置处生成热点。这样的热点可导致管芯的局部过热和处理器故障。为处理该问题,传统的处理器可设定足够低的运行频率,以确保足够的保护带(guardband),使得上述不希望的状况不发生。不幸的是,该方法实质上可限制处理器的性能。
所需要的是一种由其中的各核心管理发热的多核心处理器。
发明内容
因此,在一个实施例中,公开了一种用于控制处理器中的发热的方法。所述方法包括由处理器接收功率,所述处理器包括在共同的半导体管芯上的多个处理器核心,每个处理器核心被启用或禁用。所述方法还包括由核心功率控制器控制各处理器核心,使得不同的处理器核心随时间被禁用。在一个实施例中,随时间禁用不同的处理器核心形成一种模式,该模式由处理器遍及半导体管芯扩散开发热,以减少平均发热。
在另一实施例中,公开了一种多核处理器,其包括多个位于半导体管芯上的处理器核心。处理器还包括位于半导体管芯上的核心功率控制器,并且其耦合至多个处理器核心。核心功率控制器被配置,以启用和禁用每个处理器核心,使得不同的处理器核心随时间被禁用。在一个实施例中,核心功率控制器随时间禁用不同处理器核心,以形成遍及半导体管芯扩散开发热的模式。
在另一实施例中,公开了一种信息处理系统(IHS),其包括耦合至存储器的处理器。处理器包括多个位于半导体管芯上的处理器核心。处理器还包括核心功率控制器,其耦合至多个处理器核心并位于半导体管芯上。核心功率控制器被配置,以启用和禁用每个处理器核心,使得不同处理器核心随时间被禁用。
附图说明
附图仅图示本发明的示例性实施例,因此不限制其范围,因为发明构思有助于其他等效的实施例。
图1示出公开的多核心处理器的一个实施例。
图2是描绘用于图1的处理器的过程流的流程图。
图3示出使用公开的处理器的信息处理系统的框图。
图4示出公开的多核心处理器的另一实施例。
图5是描绘用于图4的处理器的过程流的流程图。
图6是描绘图5中所示的过程流的突发模式变化的流程图。
具体实施方式
图1示出公开的多核心处理器(如处理器100)的一个实施例。处理器100包括半导体管芯105,其上具有16处理器核心,即处理器核心1A、1B、1C、1D、1E、1F、1G和1H、以及处理器核心2A、2B、2C、2D、2E、2F、2G和2H。该示例中核心的数量是说明性的。在实际应用中,依赖于特定的应用,处理器100可以使用比图1中所示的更多的处理器核心或更少的处理器核心。在一个实施例中,处理器100随时间系统地循环关闭每个处理器核心,以有效地遍及管芯105扩散开发热。在处理器100重新开启核心前,处理器100允许每个核心休息和冷却一段预定的时间。处理器100可以通过关闭到该特定核心的功率来关闭该特定的核心。处理器100还可以通过时钟门控该核心来关闭特定的核心,即中断该特定的核心将另外接收的全部任何时钟信号。在时钟门控的情况下,时钟门控的核心仍将汲取一些泄漏电流。然而,即使具有一些泄漏电流,当处理器时钟门控特定的核心时,与全功率地运行核心相比,该行动仍导致实质上的热量减少。
处理器100包括芯片逻辑110,其将各处理器核心与处理器100外部的各元件连接。例如,芯片逻辑110可包括为多核心(如存储器控制器、L2高速缓存以及I/O接口)执行支持功能的电路。例如,每个多核心包括处理器的主要架构的处理元件,如指令读取器、指令解码器、指令队列、寄存器文件以及执行单元。多核心处理器100的芯片逻辑110包括核心功率控制器115,其耦合至每个核心1A、1B、...1H以及2A、2B、...2H。为图示简要起见,图1示出核心功率控制器115至核心1A、1B和2C的连接。然而,核心功率控制器115还耦合至其余的每个核心。各自的箭头代表各处理器核心和核心功率控制器115之间的连接。从核心功率控制器115至各处理器核心的箭头方向表示,控制器在任何特定的时间间隔期间,选择性地控制那些特定的活动的(即通电的)核心。核心功率控制器115从耦合至其的电源120接收功率。核心功率控制器115确定它将为哪些处理器核心提供功率。如此,核心功率控制器115能够选择性地启用和禁用特定的处理器核心。
在一个实施例中,核心功率控制器115系统地指令处理器100的多个核心何时开启以及何时关闭。例如,处理器100可以使用N-X(N减去X)模式,其中,“N”代表半导体管芯上核心的数量,而“X”代表在任何特定时间点、核心功率控制器115关闭或禁用的核心数量。在图1的示例中,N=16核心、并且X=2核心,使得核心功率控制器115在任何特定的时间点,指令2核心断电,而剩余的N-X=14核心保持通电。核心功率控制器115维持所选择的2核心关闭预定的时间段(即功率控制间隔(PCI)),然后选择另2个不同的核心,以关闭接下来的预定的时间段或PCI。核心功率控制器115继续关闭或禁用为每个间隔PCI设定的不同的2个核心,直至其循环遍全部16核心。在完成对16核心断电的循环时,一次2个,核心功率控制器115通过一次次重复该过程,继续以相同的方式功率循环。在这里的示例中,关闭或禁用核心包括关闭至核心的功率、电压或电流,以及时钟门控核心。
在图1中所示的实施例中,通过示例的方式,核心功率控制器115可以以表1中所示的顺序循环关闭各核心:
表1
时间间隔 | 核心关闭 | 核心关闭 |
1 | 1A | 2A |
2 | 1B | 2B |
3 | 1C | 2C |
4 | 1D | 2D |
5 | 1E | 2E |
6 | 1F | 2F |
7 | 1G | 2G |
8 | 1H | 2H |
在这种安排中,在时间间隔1期间,核心功率控制器115循环关闭核心1A和2A、而保持剩余的14核心开启。在时间间隔2内,核心功率控制器115重新开启核心1A和2A、而关闭核心1B和2B。这种循环开关序列按照表8继续,直到在时间间隔8内最后的核心1H和2H关闭。从时间间隔1到时间间隔8形成完整的循环,其中每个核心至少关闭一次。当时间间隔8结束时,然后表1中所示的过程在时间间隔8后的下一个时间间隔内重复,就像在之前的时间间隔1内一样,核心功率控制器115再次关闭核心1A和2A。核心功率控制器115因此以表1中作为一个示例给出的预定序列,禁用和启用各核心。在该特定示例中,控制器110防止在相同时间间隔或连续的时间间隔内禁用相邻的处理器核心。由此,多核心处理器100通过有效地遍及处理器的半导体管芯扩散开平均发热,控制其各核心的发热。在一个实施例中,处理器100可通过使用随时间禁用处理器核心的随机模式,实现遍及半导体管芯扩散开的热量分布或一些冷却改进。
在另一实施例中,处理器100使用N-X模式,以系统地循环遍及并禁用或关闭其各核心。在该示例中,全部核心N=16,并且每时间间隔(PCI)关闭X=4核心。下表2表示该模式。
表2
时间间隔 | 核心关闭 | 核心关闭 | 核心关闭 | 核心关闭 |
1 | 1A | 2A | 2E | 1E |
2 | 1G | 2G | 1C | 2C |
3 | 2D | 1D | 1H | 2H |
4 | 1B | 2B | 2F | 1F |
在这样的实施例中,其中处理器100使用N-X模式,以系统地循环遍及并关闭其各核心,全部核心N=16,并且每时间间隔(PCI)关闭X=8的核心。下表3表示该模式。
表3
时间间隔 | 核心关闭 | 核心关闭 | 核心关闭 | 核心关闭 | 核心关闭 | 核心关闭 | 核心关闭 | 核心关闭 |
1 | 1A | 1G | 2E | 1C | 2A | 2G | 1E | 2C |
2 | 2D | 1B | 1H | 2F | 1D | 2B | 2H | 1F |
该表3实施例(其中核心功率控制器115每时间间隔禁用一半的核心(8个)),比上述表1和表2的实施例,实现发热的更显著的减少。减少热量的改进允许启用的各核心的时钟处于更高的频率。在另一实施例中,处理器包括核心数量N=2,作为最小值,并且处理器在时间间隔内关闭一个核心,然后在下一个时间间隔内以替换的方式关闭另一个核心。
在上述的实施例中,根据核心功率控制器115实现的、预定的模式或序列,关闭各处理器核心。在设计时,该设计可能难于将这种几何模式编码到核心功率控制器115中。在可选的实施例中,设计者有可以将各种不同的模式安装到核心功率控制器115中,并在以后的某个时间选择一种模式来使用。在多核心处理器的一个实施例中,在特定的时间间隔关闭的核心在管芯上的位置彼此并不直接相邻。
图2是描绘图1中所示的实施例的过程流的流程图,除了为方便起见,C0、C1、...C15现在指定处理器100的16核心。过程流在开始块200开始。处理器100将全部核心通电,按照块205。在该时间点,处理器100缺省禁用核心功率控制器(CPC)115。处理器100然后加载操作系统,按照块210。如块213所示,声明变量n=0。接下来,按照块215,操作系统启用核心功率控制器115,以便可以开始将所选择的核心循环开启和关闭。在该时间点,时间间隔开始,并且控制器115将“X”核心关闭。更特别地,在该第一时间间隔中,处理器关闭核心C0n和C1n,按照块213,其中n=0,所以核心C00和C10关闭。在该特定示例中,每个时间间隔禁用两个核心,n将从0至7变化以覆盖全部核心。在一个实施例中,核心C0n和C1n(也就是核心C00和C10)可对应图1/表1的核心1A和2A,使得对于n=0,在第一时间间隔内,关闭核心1A和2A。然后操作系统讲作业分派给剩余的“N-X”核心,也就是该情况中的另外14个核心,按照块220。
核心功率控制器115等待第一时间间隔结束,按照决225。然后变量n增加使得n=n+1,按照块227。该时间间隔的另一种说法为功率循环间隔。功率循环间隔描述在下一个功率循环间隔内重新开启前、选择的处理器核心保持关闭的时间量。按照块230,核心功率控制器115相对于下一个功率循环间隔中将关闭的下两个核心,指令操作系统。由于在第二时间间隔中,n现在等于1,关闭的两个核心为C0n,C1n,或更明确的为C01,C11。在一个实施例中这些核心可对应核心表1的核心1B和2B。操作系统从核心C0n,C1n中移动作业J0n、J1n,并且存储这些核心的状态,按照块235。能够将作业从一个核心中移动至另一核心的分割软件的示例,包括HypervisorTM软件(Hypervisor是IBM公司的TM)和Virtualization EngineTM软件(VirtualizationEngine是IBM公司的TM)。当该移动作业的作业结束时,操作系统发信号通知核心功率控制器115,操作系统已存储了移动的作业,按照块240。核心功率控制器115然后将核心C0n,C1n断电,按照块245。
核心功率控制器115然后将之前关闭的2处理器核心通电,即C0(n-1)和C1(n-1),其对应于C0(1-1)和C1(1-1),即C00和C11。更具体的,核心1A和2A重新开启。核心功率控制器115然后发信号通知操作系统,之前关闭的各核心C0(n-1)和C1(n-1),现在再次运行或通电,按照块255。操作系统然后在现在通电的核心C0(n-1)和C1(n-1)上重加载作业J0n、J1n,按照块260。处理流然后继续回到块255,在块255核心功率控制器115等待功率循环间隔发生。流程从该点继续向前,直至处理器100一次两个地累积关闭了全部的处理器核心。当处理器100达到该点,控制器115继续另一轮的循环断电各核心。这种方式的循环断电各核心可以无限地继续,以在长期处理器运行期间,向多个核心有效地扩散开制冷效果。
图3表示信息处理系统(IHS)300,其使用图1的多核心处理器100或图4的多核心处理器400,作为IHS的处理器。IHS 300包括总线310,其将处理器100耦合至系统存储器315和视频图像控制器320。显示器325耦合至视频图像控制器320。非易失性的存储330(如硬盘驱动、CD驱动、DVD驱动或其他非易失性的存储)耦合至总线310,用于为IHS 300提供信息的永久存储。操作系统335加载在存储器315中,以管理IHS 300的运行。I/O装置340(如键盘和鼠标指针装置)耦合至总线310。一条或更多的扩展总线345(如USB、IEEE 1394总线、ATA、SATA、PCI、PCIE和其他总线)耦合至总线310,以便利外围设备和装置连接至HIS 300。网络适配器350耦合至总线310,以使IHS 300能够通过有线或无线连接至网络和其他信息处理系统。尽管图3示出使用处理器100、400的一个IHS,然而IHS可以采取很多形式。例如,IHS 300可以采取桌面型、服务器、便携式、膝上型、笔记本或其他形式的计算机或数据处理系统。IHS 300可采取其他形式,如游戏装置、个人数字助理(PDA)、便携式电话设备、通信设备或其他包括处理器和存储器的设备。IHS 300从非易失性的存储中将应用程序软件360加载至存储器315,用于由处理器110执行。
图4示出公开的多核心处理器(如处理器400)的另一实施例。处理器400包括半导体管芯405,其上具有16个处理器核心,即处理器核心D1、D2、D3、...D16。该示例中核心的数量是说明性的。在实际应用中,处理器400可以依赖于具体的应用,使用比图4中所示的更多的处理器核心或更少的处理器核心。处理器400包括芯片逻辑410,其将各处理器核心与处理器400的外部元件连接。例如,芯片逻辑410可包括为多个核心(如存储器控制器、L2高速缓存和I/O接口)执行支持功能的电路,。例如,每个多核心包括处理器的主要架构的处理元件,如指令读取器、指令解码器、指令队列、寄存器文件和执行单元。
多核心处理器100的芯片逻辑410包括核心功率控制器415,其耦合至核心D1、D2、D3、...D16的每一个。图4示出处理器核心D1和核心功率控制器415之间的代表性连接。电源420向核心功率控制器415提供功率。核心功率控制器415控制将该功率分配至每个处理器核心D1、D2、D3、...D16。如此,核心功率控制器415控制哪些处理器核心展现启用状态、而哪些处理器核心展现禁用状态。每个处理器核心D1、D2、D3、...D16包括各自的热传感器TS,使得每个核心能够向核心功率控制器415报告回其温度。处理器核心D1和核心功率控制器415之间的连接,代表剩余的处理器核心D2...D16之间的连接。然而,为简单起见,图4只示出处理器核心D1和核心功率控制器415之间的连接。处理器核心D1的热传感器TS,经由温度报告线T-D1、耦合至核心功率控制器415。温度报告线T-D1实时将处理器核心D1的温度报告回核心功率控制器415。剩余的处理器核心D2...D16使用相似的各自的温度报告线T-D2...T-D16(未示出),以便核心功率控制器415实时了解各处理器核心的各自的温度。
控制线C-D1将处理器核心D1耦合至如所示的核心功率控制器415。使用控制线C-D1,核心功率控制器415可以指令处理器核心415断电、或者通过时钟门控中断处理器核心415。剩余的处理器核心D2...D16使用类似的各自的控制线C-D2...CD16(未示出),以便当功率控制器415确定特定的核心变得过热时,它可以关闭相应的处理器核心。换句话说,当特定的处理器核心的温度超过预定的温度值时,功率控制器415将特定的处理器核心关闭以冷却。以这种方式关闭热的核心允许这些热的核心冷却。在一个实施例中,当该核心的温度冷却至正常运行温度时,功率控制器415开启或重新启用之前的热核心,其中所述正常运行温度低于预定的温度值,在该预定的温度值,控制器禁用处理器核心。
在一个实施例中,核心功率控制器415读出(sense)全部处理器核心D1...D16的各自的温度,并且选择该组中最热的核心来关闭。在一个实施例中,核心功率控制器415可选择任何数量的处理器核心关闭。典型地,核心功率控制器415关闭其在温度报告线T-D1...T-D16上观测到的最热的核心。核心功率控制器415关闭的核心数量越多,处理器获得的冷却量越大。当核心功率控制器415关闭相对核心总量来说较少数量的核心时,对于整个处理器性能的影响相对较小。例如,在如图4中所示的16核心处理器400中,关闭1个、2个或者甚至3个核心,基本上可不影响性能。
在现在讨论的实施例中,核心功率控制器450关闭其观测到的单个最热的核心。一旦多核心处理器400初始化,核心D1...D16中的热传感器TS,经由温度报告线T-D1...T-D16,将核心D1...D16的各自的温度报告给核心功率控制器415。(图4中,仅示出温度报告线T-D1。)核心功率控制器415然后确定核心D1...D16中的哪个核心展现最高的温度。为便于讨论假定核心D1展现最高的温度,响应于该温度报告,核心功率控制器415通过在C-D1的控制线上向核心D1发送适当的关闭信号,指令核心D1关闭。当核心功率控制器415观测到核心D1的温度降低至可接受的温度时,然后核心功率控制器415可指令核心D1重新开启。在一个实施例中,处理器400可在核心功率控制器415中使用N通道比较器,其中,N是处理器400中处理器核心的数量。N通道比较器确定哪条报告线T-D1...T-D16展现最高的温度值。核心功率控制器415然后关闭展现最高温度的特定的核心。
在另一实施例中,核心功率控制器415确定最热的两个处理器核心,并且将其关闭一段预定的时间间隔、或直到这些处理器核心的温度冷却至预定的可接受的温度。在该实施例中,核心功率控制器415通过检查温度报告线T-D1...T-D16报告的各自核心的温度,再次观测核心D1...D16的温度。核心功率控制器415确定最热的两个处理器核心。在该特定的实施例中,处理器核心D5和D9展现该组处理器核心的最高温度。作为响应,核心功率控制器通知操作系统将要关闭D5和D9。作为响应,操作系统将核心D5和D9处理的全部作业传递至其他的核心,所述核心现在将那些作业向前传递以执行。在成功传递这些作业后,核心功率控制器415在控制线C-D5和C-D9(两者都未示出)上发送控制信号,以指令各自的处理器核心D5和D9关闭或开始时钟门控。在预定的时间段过去后,核心功率控制器415再次检查温度报告线T-D1...T-D16上的核心的温度,以确定哪两个核心展现最高的温度。假设核心功率控制器415确定处理器核心D7和D15现在展现最高的温度。在这种情形中,核心功率控制器41指令操作系统将作业从核心D7和D15转移至其他核心。核心功率控制器415重新通电核心D1和D16,然后在下一个时间间隔关闭现在最热的核心D7和D15。随着核心功率控制器415关闭其在每个时间间隔内观测到的最热的两个核心,该过程实时继续。
图5示出用于图4的处理器400实施例的代表性过程流的流程图,其中,当核心功率控制器415确定X核心展现超过预定的温度值的温度时,它关闭总共N核心中的X核心。在该特定实施例中,处理器400包括总共N核心,其中N=16。在实际应用中,处理器400可包括比16更多的核心或更少的核心,N=2作为下限。此外,在该特定实施例中,核心功率控制器415将一次关闭X=2核心。实际应用中,核心功率控制器415可关闭多于2核心或少于2核心,X=1作为下限。在另一实施例中,X=2核心可作为下限。
过程流在开始块500开始,在块500后,处理器400通电全部N核心,按照块505。在该时间点,处理器400缺省将核心处理器控制器415保持在禁用的状态中。处理器400加载操作系统(OS),按照块510。操作系统然后启用核心处理器控制器415,开始它的核心控制操作,按照块515。核心处理器控制器415从处理器核心D1-D16中的各自的温度传感器(TS),接收温度数据,按照块520。如此,核心处理器控制器415实时地持续知道各自核心的温度。核心功率控制器415分析来自全部核心的温度数据,以确定哪些X核心展现最高温度,按照块525。在该特定实施例中,其中X=2核心,控制器415可以确定,处理器核心D3和D7在各处理器核心中展现两个最高温度。操作系统然后将作业分派至N-X核心,按照块530。换句话说,操作系统将作业分派至除了展现最高温度的两个核心(即处理器核心D3和D7)外的全部处理器核心。核心功率控制器415关闭剩余的X核心,也就是展现最高温度的两个核心D3和D7,按照块535。
过程流继续至块540,在块540,核心功率控制器415等待时间间隔的持续,所述时间间隔也已知为功率循环间隔。在每个功率循环间隔期间,核心功率控制器415读取各核心的温度,并且确定两个最高温度的核心以为了冷却目的关闭。当第一时间间隔结束时,处理器400开始下一时间间隔,并且第一时间间隔变成之前的时间间隔。在该下一时间间隔内,核心处理器控制器415再次从全部N核心接收温度数据,按照块545。从该温度数据,控制器415确定展现最高温度的X核心,按照块550。在该特定示例中,核心功率控制器415发现核心D10和D14在各核心中展现两个最高的温度。核心功率控制器415然后向操作系统发出信号关闭下一X核心,按照块555。因此,在该下一时间间隔中,控制器415指令操作系统关闭处理器核心D10和D14。操作系统通过将全部作业从下一X核心D10和D14移动来响应,并且存储它们各自的状态,按照块560。操作系统然后发信号通知核心功率控制器415,OS已经存储来自这些下一X核心D10和D14的作业,按照块565。核心功率控制器415现在关闭这些下一X核心D10和D14,按照块570。在该点,核心功率控制器415给之前的X核心(即核心D3和D7)恢复功率,按照块575。核心功率控制器415现在向操作系统发出信号,之前的X核心D3和D7再次通电并且是可运行的,按照块580。操作系统然后重加载来自下一X处理器核心D10和D14的已存储的作业,至现在再次通电的之前的X处理器核心D3和D7,按照块585。接下来,操作系统分派作业给现在展现通电状态的N-X核心,按照块590。处理器400然后又进入另一时间间隔,并且当过程流继续至时间间隔块540时,重复该过程。
在可选的实施例中,图4的每个处理器核心D1...D16中的温度读出电路TS可并入控制电路,当该核心展现超过预定的温度值的温度时,所述控制电路关闭相应的处理器核心。换句话说,单独的处理器核心而不是控制器415,决定关闭或禁用。例如,如果处理器核心D3中的温度读出电路TS确定处理器核心D3过热时,TS电路因此通知控制器415。作为响应,控制器415仍采取上述的行动,与操作系统(OS)通信,以将作业从处理器核心D3传递至另一处理器核心。当处理器核心D3的温度返回到可以接受的正常的运行温度时,该运行温度低于预定的温度值,处理器核心D3的电路TS因此通知控制器415。控制器415然后与OS通信以通知OS处理器核心,D3可再次用来执行处理作业。当代表性的处理器核心D3关闭时,它并不完全断电,因为温度读出电路TS保持开启,以向控制器415报告,处理器核心D3展现启用或禁用的状态。时钟门控剩余的处理器核心或关闭剩余的处理器核心,允许核心冷却至较低的温度,其对于处理器核心的正常操作是可接收的。用于该可选的实施例的过程流类似于图5的流程图,除了关于是否关闭,每个处理器核心在该核心上本地做出决定。
图6是说明处理器400如何可以运行在高频突发模式中、以将处理器的性能提高超过名义上(nominally)与处理器相关联的时钟速度的流程图。举例说明,测试过程可评估在2GHz频率的多核心处理器的各核心的正常运行时钟速度。然而,通过分配任务或作业给运行在突发模式速度(例如4GHz)中的核心一段短期时间、或直到该核心中的温度传感器报告过高的温度时,处理器400获得有效的更高的性能水平。突发模式速度基本上高于处理器核心的正常的额定速度。如果读取的高温超过预定的温度值,处理器400关闭突发核心并且将该核心的作业分配给另一核心,所述另一核心现在也可开始高速突发模式的运行。现在关闭的核心冷却,并在冷却至预定的正常运行温度值以后,变得可用于处理作业。再一次,时钟门控和关闭核心提供了两种方式来关闭热核心或禁用核心,以允许冷却。
回到图4,处理器400包括一路运行在2GHz的时钟频率的时钟电路CLK1,以及运行在3GHz的突发模式频率的另一时钟电路CLK2。尽管图4示出时钟电路CLK1和CLK2仅耦合至代表性的处理器核心D1,实际中处理器400配置时钟电路CLK1和CLk2,使得每个处理器可以接收CLK1时钟信号以运行在正常运行模式,或接收CLK2信号以运行在高速突发模式。因此,时钟电路CLK1和CLK2可耦合至剩余的处理器核心D2...D16。核心功率控制器415指令每个处理器核心使用CLK1时钟信号、或CLK2突发时钟信号。核心功率控制器415可通过使用CLK2时钟信号,指令单个处理器核心或多个处理器核心以高速突发模式运行。
图6的流程图包括很多与图5的流程图相同的块。相同的数字指示相同的流程步骤。接下来的描述将讨论图6中那些与图5的流程图不同的块。在块630,操作系统将作业分配至N-X核心。作为该分配的一部分,操作系统可以指令N-X核心的一个或多个以高速突发模式运行,即在时钟速度显著高于正常持续运行的处理器的额定时钟速度。例如,在2GHz持续额定负荷(duty-rated)的处理器中,操作系统可指令单独的核心在3GHz、4GHz或其他所选择的突发频率值运行短突发时间。块540指定的时间间隔或功率循环间隔设定的足够短而不会伤害核心,其中操作系统向所述核心分配作业以在突发模式中执行。然而,一个或多个核心的温度将不期望地变高,各核心中的热传感器将各核心温度报告回给核心功率控制器415。作为响应,核心功率控制器415可关闭那些因其突发活动导致过高温度的核心。因此,对于这种突发模式运行,可通过以下方式来保护单独的核心:首先通过缩短核心展示通电状态所选择的时间间隔,其次通过核心功率控制器415从超过预定温度的N核心撤回功率。块690还可在突发模式中分派作业。
前述公开了一种多核心处理器,其随时间以预定的模式遍及处理器循环关闭处理器中选择的处理器核心,以由处理器减少平均发热。在一个实施例中,公开的多核心处理器防止了处理器中不期望的热点。
考虑到本发明的该描述,本发明的修改和可选的实施例对本领域中的技术人员将是明显的。因此,该描述教导本领域中的技术人员执行本发明的方式,并且意图在于构造仅作为说明。所示和所述的本发明的形式构成本实施例。本领域中的技术人员可以在形状、尺寸和各部分的安排上做出各种改变。例如,本领域中的技术人员可以用其他等效的元件代替这里图示和描述的元件。此外,本领域中的技术人员在从本发明的该描述获益后,可以独立于其他特征的使用,使用本发明的某些特征,而不背离本发明的范围。
Claims (20)
1.一种控制处理器中发热的方法,所述方法包括:
由处理器接收功率,所述处理器包括位于共同的半导体管芯上的多个处理器核心,每个处理器核心被启用或禁用;以及
由核心功率控制器控制所述处理器核心,使得不同处理器核心随时间被禁用。
2.如权利要求1所述的方法,其中,控制步骤以预定的模式禁用各处理器核心,以遍及半导体管芯扩散开发热。
3.如权利要求2所述的方法,还包括由核心功率控制器随时间重复禁用的处理器核心的预定模式。
4.如权利要求3所述的方法,其中,核心功率控制器在重复禁用的处理器核心的预定模式之前,至少禁用每个处理器核心一次。
5.如权利要求1所述的方法,其中,核心功率控制器同时禁用多个处理器核心。
6.如权利要求5所述的方法,其中,核心功率控制器以避免同时禁用邻近的处理器核心的方式,禁用各处理器核心。
7.如权利要求1所述的方法,其中,控制处理器核心的步骤包括以下之一:时钟门控选择的处理器核心以禁用选择的处理器核心;以及断电选择的处理器核心以禁用选择的处理器核心。
8.如权利要求1所述的方法,还包括将作业从接下来将要变为禁用的第一处理器核心传递作业至第二处理器核心,该第二处理器核心在禁用第一处理器核心之前被启用。
9.一种处理器,包括:
位于半导体管芯上的多个处理器核心;以及
核心功率控制器,耦合至多个处理器核心并位于半导体管芯上,所述核心功率控制器被配置,以启用和禁用每个处理器核心,使得不同的处理器核心随时间被禁用。
10.如权利要求9所述的处理器,其中,核心功率控制器被配置,以便以预定的模式禁用各处理器核心,以遍及半导体管芯扩散开发热。
11.如权利要求10所述的处理器,其中,核心功率控制器被配置,以随时间重复禁用的处理器核心的预定模式。
12.如权利要求11所述的处理器,其中,核心功率控制器被配置,以在重复禁用的处理器核心的预定模式前,禁用每个处理器核心至少一次。
13.如权利要求9所述的处理器,其中,核心功率控制器被配置,以同时禁用多个处理器核心。
14.如权利要求9所述的处理器,其中,核心功率控制器被配置,以便以避免同时禁用邻近的处理器核心的方式禁用各处理器核心。
15.如权利要求9所述的处理器,其中,核心功率控制器被配置,以通过以下之一禁用选择的处理器核心:时钟门控选择的处理器核心和断电选择的处理器核心。
16.一种信息处理系统IHS,包括:
存储器;
处理器,耦合至存储器,所述处理器包括:
位于半导体管芯上的多个处理器核心;以及
核心功率控制器,耦合至多个处理器核心并且位于半导体管芯上,所述核心功率控制器被配置,以启用和禁用每个处理器核心,使得不同的处理器核心随时间被禁用。
17.如权利要求16所述的IHS,其中,核心功率控制器被配置,以便以预定的模式禁用各处理器核心,以遍及半导体管芯扩散开发热。
18.如权利要求16所述的IHS,其中,核心功率控制器被配置,以同时禁用多个处理器核心。
19.如权利要求16所述的IHS,其中,核心功率控制器被配置,以便以避免同时禁用相邻的处理器核心的方式禁用各处理器核心。
20.如权利要求16所述的IHS,其中,核心功率控制器被配置,以通过以下之一禁用选择的处理器核心:时钟门控选择的处理器核心和断电选择的处理器核心。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/459,988 | 2006-07-26 | ||
US11/459,988 US7617403B2 (en) | 2006-07-26 | 2006-07-26 | Method and apparatus for controlling heat generation in a multi-core processor |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101114186A true CN101114186A (zh) | 2008-01-30 |
Family
ID=38987807
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2007101381551A Pending CN101114186A (zh) | 2006-07-26 | 2007-07-26 | 用于控制多核心处理器中发热的方法和设备 |
Country Status (3)
Country | Link |
---|---|
US (1) | US7617403B2 (zh) |
CN (1) | CN101114186A (zh) |
TW (1) | TW200819961A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105579926A (zh) * | 2013-10-11 | 2016-05-11 | 高通股份有限公司 | 多核处理器的加速热减轻 |
CN107111577A (zh) * | 2014-12-02 | 2017-08-29 | 高通技术国际有限公司 | 双处理器系统的存储器存取 |
CN107886166A (zh) * | 2016-09-29 | 2018-04-06 | 北京中科寒武纪科技有限公司 | 一种执行人工神经网络运算的装置和方法 |
Families Citing this family (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB0519981D0 (en) | 2005-09-30 | 2005-11-09 | Ignios Ltd | Scheduling in a multicore architecture |
US20070214374A1 (en) * | 2006-03-13 | 2007-09-13 | Mark Hempstead | Ultra low power system for sensor network applications |
US7949887B2 (en) | 2006-11-01 | 2011-05-24 | Intel Corporation | Independent power control of processing cores |
US8397090B2 (en) * | 2006-12-08 | 2013-03-12 | Intel Corporation | Operating integrated circuit logic blocks at independent voltages with single voltage supply |
US7818596B2 (en) * | 2006-12-14 | 2010-10-19 | Intel Corporation | Method and apparatus of power management of processor |
US8151122B1 (en) * | 2007-07-05 | 2012-04-03 | Hewlett-Packard Development Company, L.P. | Power budget managing method and system |
US8890876B1 (en) * | 2007-12-21 | 2014-11-18 | Oracle America, Inc. | Microprocessor including a display interface in the microprocessor |
JP4975605B2 (ja) * | 2007-12-26 | 2012-07-11 | 東京エレクトロン株式会社 | 処理システム、処理システムの制御方法およびソフトウェアのバージョンアップ方法 |
US8316252B2 (en) * | 2008-05-30 | 2012-11-20 | Advanced Micro Devices, Inc. | Distributed clock gating with centralized state machine control |
US8402290B2 (en) * | 2008-10-31 | 2013-03-19 | Intel Corporation | Power management for multiple processor cores |
US8122269B2 (en) * | 2009-01-07 | 2012-02-21 | International Business Machines Corporation | Regulating power consumption in a multi-core processor by dynamically distributing power and processing requests by a managing core to a configuration of processing cores |
US8064197B2 (en) * | 2009-05-22 | 2011-11-22 | Advanced Micro Devices, Inc. | Heat management using power management information |
US9098274B2 (en) * | 2009-12-03 | 2015-08-04 | Intel Corporation | Methods and apparatuses to improve turbo performance for events handling |
US20110138395A1 (en) * | 2009-12-08 | 2011-06-09 | Empire Technology Development Llc | Thermal management in multi-core processor |
US8924760B2 (en) * | 2010-01-08 | 2014-12-30 | Mindspeed Technologies, Inc. | Scheduler with voltage management |
TWI425359B (zh) * | 2010-03-05 | 2014-02-01 | Asustek Comp Inc | 電腦系統之中央處理器開核裝置 |
US8688289B2 (en) | 2011-07-07 | 2014-04-01 | Qualcomm Incorporated | Method and system for preempting thermal load by proactive load steering |
US8601300B2 (en) | 2011-09-21 | 2013-12-03 | Qualcomm Incorporated | System and method for managing thermal energy generation in a heterogeneous multi-core processor |
JP5773065B2 (ja) * | 2012-03-19 | 2015-09-02 | 富士通株式会社 | スケジューリングプログラム、マルチコアプロセッサシステム、およびスケジューリング方法 |
US9285818B2 (en) | 2012-07-26 | 2016-03-15 | Qualcomm Incorporated | Autonomous thermal controller for power management IC |
CN103914121B (zh) * | 2013-01-04 | 2017-04-19 | 华为技术有限公司 | 多机系统、用于优化多机系统功耗的方法及装置 |
KR20150050135A (ko) | 2013-10-31 | 2015-05-08 | 삼성전자주식회사 | 복수의 이종 코어들을 포함하는 전자 시스템 및 이의 동작 방법 |
US9939328B2 (en) * | 2015-03-12 | 2018-04-10 | Qualcomm Incorporated | Systems, apparatus, and methods for temperature detection |
US10114649B2 (en) | 2015-05-26 | 2018-10-30 | International Business Machines Corporation | Thermal availability based instruction assignment for execution |
US11088910B2 (en) * | 2016-02-25 | 2021-08-10 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Efficient method for managing and adding systems within a solution |
US9848515B1 (en) | 2016-05-27 | 2017-12-19 | Advanced Micro Devices, Inc. | Multi-compartment computing device with shared cooling device |
US10942880B2 (en) * | 2018-12-29 | 2021-03-09 | Intel Corporation | Aging tolerant system design using silicon resource utilization |
US11740944B2 (en) * | 2019-12-12 | 2023-08-29 | Advanced Micro Devices, Inc. | Method and apparatus for managing processor functionality |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6411156B1 (en) | 1997-06-20 | 2002-06-25 | Intel Corporation | Employing transistor body bias in controlling chip parameters |
US6415388B1 (en) | 1998-10-30 | 2002-07-02 | Intel Corporation | Method and apparatus for power throttling in a microprocessor using a closed loop feedback system |
US6484265B2 (en) * | 1998-12-30 | 2002-11-19 | Intel Corporation | Software control of transistor body bias in controlling chip parameters |
US6393374B1 (en) * | 1999-03-30 | 2002-05-21 | Intel Corporation | Programmable thermal management of an integrated circuit die |
US6363490B1 (en) * | 1999-03-30 | 2002-03-26 | Intel Corporation | Method and apparatus for monitoring the temperature of a processor |
US6564328B1 (en) * | 1999-12-23 | 2003-05-13 | Intel Corporation | Microprocessor with digital power throttle |
US6608528B2 (en) * | 2001-10-22 | 2003-08-19 | Intel Corporation | Adaptive variable frequency clock system for high performance low power microprocessors |
US6804632B2 (en) * | 2001-12-06 | 2004-10-12 | Intel Corporation | Distribution of processing activity across processing hardware based on power consumption considerations |
US7032116B2 (en) | 2001-12-21 | 2006-04-18 | Intel Corporation | Thermal management for computer systems running legacy or thermal management operating systems |
US7281140B2 (en) | 2001-12-28 | 2007-10-09 | Intel Corporation | Digital throttle for multiple operating points |
US6931559B2 (en) * | 2001-12-28 | 2005-08-16 | Intel Corporation | Multiple mode power throttle mechanism |
TW567408B (en) | 2002-03-29 | 2003-12-21 | Uniwill Comp Corp | Apparatus and method for controlling power and clock speed of electronic system |
TWI262380B (en) | 2002-04-25 | 2006-09-21 | Quanta Comp Inc | Dynamic adjustment method for power consumption of computer system |
US6762629B2 (en) * | 2002-07-26 | 2004-07-13 | Intel Corporation | VCC adaptive dynamically variable frequency clock system for high performance low power microprocessors |
US6908227B2 (en) * | 2002-08-23 | 2005-06-21 | Intel Corporation | Apparatus for thermal management of multiple core microprocessors |
US7076672B2 (en) | 2002-10-14 | 2006-07-11 | Intel Corporation | Method and apparatus for performance effective power throttling |
US7085945B2 (en) | 2003-01-24 | 2006-08-01 | Intel Corporation | Using multiple thermal points to enable component level power and thermal management |
US7124321B2 (en) | 2003-02-10 | 2006-10-17 | Sun Microsystems, Inc. | Adaptive throttling |
US7496776B2 (en) | 2003-08-21 | 2009-02-24 | International Business Machines Corporation | Power throttling method and apparatus |
US7240225B2 (en) | 2003-11-10 | 2007-07-03 | Dell Products L.P. | System and method for throttling power in one or more information handling systems |
US7363517B2 (en) | 2003-12-19 | 2008-04-22 | Intel Corporation | Methods and apparatus to manage system power and performance |
US7194641B2 (en) | 2004-01-22 | 2007-03-20 | International Business Machines Corporation | Method and apparatus for managing power and thermal alerts transparently to an operating system in a data processing system with increased granularity in reducing power usage and thermal generation |
US7418608B2 (en) | 2004-06-17 | 2008-08-26 | Intel Corporation | Method and an apparatus for managing power consumption of a server |
US7330988B2 (en) | 2004-06-30 | 2008-02-12 | Sun Microsystems, Inc. | Method and apparatus for power throttling in a multi-thread processor |
US20080005591A1 (en) * | 2006-06-28 | 2008-01-03 | Trautman Mark A | Method, system, and apparatus for dynamic thermal management |
-
2006
- 2006-07-26 US US11/459,988 patent/US7617403B2/en active Active
-
2007
- 2007-07-11 TW TW096125299A patent/TW200819961A/zh unknown
- 2007-07-26 CN CNA2007101381551A patent/CN101114186A/zh active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105579926A (zh) * | 2013-10-11 | 2016-05-11 | 高通股份有限公司 | 多核处理器的加速热减轻 |
CN105579926B (zh) * | 2013-10-11 | 2019-04-26 | 高通股份有限公司 | 多核处理器的加速热减轻 |
CN107111577A (zh) * | 2014-12-02 | 2017-08-29 | 高通技术国际有限公司 | 双处理器系统的存储器存取 |
CN107111577B (zh) * | 2014-12-02 | 2020-07-14 | 高通技术国际有限公司 | 双处理器系统的存储器存取 |
CN107886166A (zh) * | 2016-09-29 | 2018-04-06 | 北京中科寒武纪科技有限公司 | 一种执行人工神经网络运算的装置和方法 |
CN107886166B (zh) * | 2016-09-29 | 2020-02-21 | 中科寒武纪科技股份有限公司 | 一种执行人工神经网络运算的装置和方法 |
Also Published As
Publication number | Publication date |
---|---|
US7617403B2 (en) | 2009-11-10 |
TW200819961A (en) | 2008-05-01 |
US20080028236A1 (en) | 2008-01-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101114186A (zh) | 用于控制多核心处理器中发热的方法和设备 | |
CN101114187A (zh) | 用于监视和控制多核心处理器中的发热的方法和设备 | |
US8214660B2 (en) | Structure for an apparatus for monitoring and controlling heat generation in a multi-core processor | |
EP3129854B1 (en) | Energy efficiency aware thermal management in a multi-processor system on a chip | |
US6823240B2 (en) | Operating system coordinated thermal management | |
US9360907B2 (en) | System and method for adaptive thermal management in a portable computing device | |
EP3430496B1 (en) | System and method for intelligent thermal management in a system on a chip having a heterogeneous cluster architecture | |
US8601300B2 (en) | System and method for managing thermal energy generation in a heterogeneous multi-core processor | |
EP3022627B1 (en) | System and method for idle state optimization in a multi-processor system on a chip | |
CN102395937A (zh) | 功率封顶系统及方法 | |
KR101942884B1 (ko) | 새로운 저비용, 저전력 고성능 smp/asmp 다중-프로세서 시스템 | |
CN111142644A (zh) | 一种硬盘运行控制方法、装置及相关组件 | |
EP2843838A1 (en) | Multiple core processor device and clock control implementing method therefor | |
CN101425049A (zh) | 基于usb的用户设备及数据通道切换方法 | |
TWI454898B (zh) | 用於電壓調整器功率模式介面之裝置及電腦系統 | |
WO2014130339A1 (en) | System and method for temperature driven selection of voltage modes in a portable computing device | |
JP2017539037A (ja) | 複数の処理ユニットを持つデバイスにおける熱緩和 | |
CN105068871B (zh) | 运算资源的控制方法和装置 | |
US11729940B2 (en) | Unified control of cooling in computers |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Open date: 20080130 |