用于动态热控制的方法和设备的制作方法

文档序号:6569200阅读:119来源:国知局
专利名称:用于动态热控制的方法和设备的制作方法
技术领域
本发明的至少一些实施例一般涉及数据处理系统,更具体而言, 涉及数据处理系统中的温度管理,但并不限于此。
背景技术
传统上,计算机系统被设计为能够连续地运行与最坏情况工作负 荷相对应的最坏情况热负荷。根据这种连续最坏情况负荷的设计从未 出过问题,因为传统上个体部件具有适度的工作功耗并且计算机系统 已经具有相当高的冷却能力,从而系统能够相当自然地承受负荷。随着计算机系统的个体部件的工作功耗向上攀升,计算机系统的 热预算变得更紧张。系统已经变得更难以冷却。现在,设计出连续运 行最坏情况热负荷同时追求诸如高计算能力、紧凑性、安静度、更好 的电池性能等的其它高性能目标的计算机系统变成一个挑战。例如,系统可能不再能够在系统的关键部分不变得过热的情况下 连续自然地运行最坏情况工作负荷。例如,诸如膝上型计算机的便携式计算机系统具有紧凑的壳体和有限的冷却能力;因此,针对给定冷却能力的最坏情况热负荷会限制 系统的性能,因为最坏情况热负荷可能4艮少发生而系统被^:计为承受 连续的最坏情况热负荷。这可能意味着即使最坏情况热负荷很少发 生,但膝上型计算机变得更大以提供更高的冷却能力。发明内容这里描述了用于动态预算功率利用率(power usage)以控制数 据处理系统中的温度的方法和设备。在此章节中概括了本发明的一些 实施例。在本发明实施例的一个方面中,提供了 一种具有动态热控制的数据处理系统,包括第一传感器,用于确定数据处理系统所处的环境 的环境温度;和与所述传感器相连的控制器(例如,微控制器或微处 理器),用于根据所述环境温度来控制数据处理系统的操作。环境温 度通常是数据处理系统周围的环境的温度。在实施例的一个示例中,数据处理系统还包括第二传感器,该笫 二传感器用于确定数据处理系统的部件的实际温度。控制器将根据部 件的实际温度和环境温度来控制数据处理系统的操作。在实施例的一个示例中,控制器基于部件温度的预测来控制数据 处理系统的操作,所述部件温度的预测是环境温度、部件的实际温度 等的函数。在一个示例中,控制器从一个或更多个电压设置以及一个 或更多个频率设置的组合中选择一个组合来控制数据处理系统的操 作.在实施例的一个示例中,该系统还包括电压源(例如与控制器相 连)和频率源(例如与控制器相连)。该电压源能够从第一电压转换 到第二电压以在不重启或停止数据处理系统的情况下改变数据处理 系统的设置;并且该频率源能够从第一频率转换到第二频率以在不重 启或停止数据处理系统的情况下改变数据处理系统的设置。在实施例的一个示例中,第二传感器将周期性地确定部件的实际 温度,以便使控制器周期性地确定操作设置。在本发明实施例的一个方面中,提供了 一种数据处理系统,包括 多个温度传感器,用于确定数据处理系统的多个实际温度;和与所述 多个温度传感器相连的控制器,用于基于数据处理系统的温度的预测 来确定数据处理系统的操作设置,所述数据处理系统的温度的预测是 所述多个实际温度和数据处理系统的操作设置的函数。在实施例的一个示例中,数据处理系统的温度的预测基于的是从 根据操作设置的最坏情况工作负荷的功耗产生的热。在一个示例中, 所述多个实际温度包括数据处理系统中的一个位置在第一时刻的实 际温度;温度的预测是针对同一位置在第一时刻之后的一时段上的温度;并且操作设置被确定为将预测温度限制在阈值以下。在一个示例 中,所述多个实际温度还包括数据处理系统中的、功耗产生的热朝向 其消散的位置处的实际温度。在实施例的一个方面中,提供了一种控制数据处理系统的方法, 包括确定数据处理系统所处的环境的环境温度;和根据环境温度来 控制数据处理系统的操作。在一个示例中,所述方法还包括确定数 据处理系统的部件的实际温度。在实施例的一个示例中,控制操作的步骤包括根据环境温度和部件的实际温度从多个操作设置中选择一个操作设置。在一个示例中,所述多个操作设置包括一个或更多个电压以及一个或更多个频率的组合;并且控制数据处理系统的操作包括根据所述多个操作设置中的所选择的一个从第一电压转换到第二电压;和根据所述多个操作设置中的所选择的 一个从第 一频率转换到第二频率。在实施例的一个示例中,所述多个操作设置中的所选择的一个被 选捧为将部件的预测温度限制在阈值以下;并且部件的预测温度是环境温度、部件的实际温度和操作设置的函数。在一个示例中,确定部件的实际温度被周期性地执行,以便周期 性地执行所述选择。在一个示例中,环境温度引起对该函数中部件的 冷却;并且操作设置引起对该函数中部件的加热。在一个示例中,操 作设置确定功耗的上限;并且部件的预测温度是基于功耗的上限预测 的。在实施例的一个示例中,所述多个操作设置中的所选择的一个包 括用于所述部件的笫一设置和用于另一个部件的第二设置。在本发明实施例的一个方面中,提供了 一种控制数据处理系统的 方法,该方法包括确定数据处理系统的多个实际温度;和根据预测 温度调整数据处理系统的操作设置,所述预测温度是所述多个实际温 度和数据处理系统的操作设置的函数。在实施例的 一个示例中,操作设置确定数据处理系统的至少 一部 分的功耗的上限;并且预测温度基于的是从根据所述上限的功耗产生的热。在实施例的一个示例中,所述多个实际温度包括数据处理系统中的一个位置在第一时刻的实际温度;预测温度是针对同一位置在第一 时刻之后的在一时段上的温度;并且操作设置被调整为将预测温度限 制在阈值以下。在一个示例中,所述多个实际温度还包括数据处理系统中的、功 耗产生的热朝向其消散的位置处的实际温度。在一个示例中,所述方法还包括针对确定了至少一个实际温度 之后的时段,确定热源的功耗允许量,以将预测温度限制在阈值以下。 根据所述功耗允许量来调整操作设置。在一个实施例中,操作设置的示例包括电压设置;频率设置; 盘旋转速率设置;和风扇速度设置。在一个示例中,操作设置用于数 据处理系统的中央处理单元(CPU)微处理器、图形处理单元(GPU) 微处理器、总线和盘驱动器等中的至少一个。在一个示例中,调整操作设置的步骤包括将电压源从第一电压调整到第二电压;和将频率源从第一频率调整到第二频率。在一个示 例中,所述调整是在不停止或重启数据处理系统的情况下执行的。在本发明实施例的一个方面中,提供了 一种操作数据处理系统的 方法,包括预测数据处理系统的在一未来时刻的操作温度;和至少 部分基于所预测的操作温度,设置数据处理系统的至少一个部件的操 作设置.在实施例的一个示例中,操作设置用于所述未来的时段;并且所 述时段的量级不大于数据处理系统的热时间常数。在一个示例中,以 周期性方式执行预测和设置的操作。在实施例的一个示例中,操作温度是基于当前环境温度的测量和 数据处理系统的部件的当前温度的测量(和功耗)而预测的。在实施例的一个示例中,操作设置被设置为将预测的操作温度限 制在温度阈值以下。本发明包括方法和执行这些方法的设备(包括执行这些方法的数据处理系统)以及当在数据处理系统上执行时使系统执行这些方法的 计算机可读介质。本发明的其它特征从附图和下面的详细描述中将变得更加明显。


本发明通过示例示出,但是并不限于附图中的图,在附图中相似的附图标记表示相似的部件,其中图1示出了根据本发明一个实施例的控制计算机系统内的温度 的方法。图2示出了根据本发明一个实施例的为了进行热控制而测量环 境温度的位置的示例。图3和图4示出了根据本发明一个实施例的具有动态热控制的数 据处理系统内的示例情形。图5示出了根据本发明一个实施例的利用数据处理系统的中央 处理单元(CPU)的抑制设置(throttle setting)来控制温度的示例。图6示出了根据本发明一个实施例的利用数据处理系统的多个 部件的抑制设置来控制温度的示例。图7至图9示出了根据本发明实施例的热管理方法。图IO是可以与本发明一起使用的数据处理系统的框图示例。
具体实施方式
下面的描述和附图例示了本发明并且不应被解释为限制本发明。 描迷了许多具体的细节以提供对本发明的透彻理解。然而,在某些情 况下,为了避免使本发明的描述模糊,不描述众所周知或常规的细节。 对本>^开中的一个实施例的引用并不一定是对同 一个实施例的引用;这种引用指的是至少一个实施例。本发明的一个实施例使用热抑制(thermal throttling)以允许系 统在动态确定的热预算下运行,从而使得,即使系统不能够承受某些 正常使用条件下的最坏情况工作负荷,系统也能够在针对当前负荷而动态确定的发热限制下以合适的工作设置进行工作。在现有技术中,计算机系统通常被设计成具有足够的冷却能力或 有限的最坏情况功耗,从而当处于与最坏情况工作负荷相对应的连续 最坏情况功耗模式时,计算机系统不被过度加热到超过发热限制。在 最坏情况的情形下,计算机系统的所有部件都吸取它们最大(在此情况下为最坏指标(level))量的功率。此最坏情况的情形本质上将最 坏情况(最大指标)的功耗加在一起;并且对于计算机系统的冷却方 面,所述设计考虑了此情形以使系统具有消散由连续最坏情况功耗产 生的热的足够能力。然而,这种最坏情况的情形通常很少(不经常)发生。因此,将 计算机系统设计成承受最坏情况负荷对于通常的使用而言过于保守。在本发明的一个实施例中,可以认识到,在通常的使用期间,计 算机系统的功耗通常频繁地变化。通常,不是所有部件都同时处于最 大功耗模式下。此外, 一些部件可能长时间不处于最大功耗模式下。 在通常的使用中,诸如中央处理单元(CPU)微处理器的部件的功耗 会随着时间动态地变化。因此,根据最坏情况负荷设计计算机系统对 于通常的使用而言可能过于保守。在本发明的一个实施例中,计算机系统具有对热源的控制(抑制 (throttle)),所述控制附接到要防止变得过热的系统的一部分。所述 抑制限制了热源可消耗的最大功率,这限制了温度升高的速率。抑制 设置可以与性能指标的不同设置或不同的操作设置相对应。例如,CPU(中央处理单元)微处理器可以在不同的内核电压和 内核频率下工作。使用高内核电压和高频率,微处理器能够针对具有 更高功耗的计算而被优化。使用低内核电压和低频率,微处理器能够 以降级的计算性能指标针对电池性能而被优化。在一个实施例中,微处理器能够在不停止或暂停处理器的计算任 务的情况下,通过緩慢地改变电压而从一个电压电平转换到另一个电 压电平并且通过緩慢地改变频率而从一个频率转换到另一个频率。可 以在2004年8月12日提交的美国专利申请No. 10/917719中找到改变CPU内核电压和频率的进一步的细节,该专利申请的内容在此通过引用并入于此。在本发明的一个实施例中,计算机系统动态地安排抑制设置,从 而使得要被控制的温度不会升高超出系统的限制。在本发明的 一 个实施例中,计算机系统被设计为针对通常的使用 而优化性能。然而,最坏负荷情况可能发生。为了避免对计算机系统 的损害,使用动态电源管理系统来动态地预算计算机系统的至少一些 部件的功率利用率,使得当在系统上强加了繁重的任务时,系统能够 以性能换取待在发热限制内。通常,热时间常数与调整抑制设置的时段相比非常长。在本发明 的一个实施例中,当观察到温度接近系统的限制时,系统能够迅速安排成,即使部件要运行最坏情况负荷,热源的功耗要求也会降低;并 且在温度实际超过系统的限制很早之前就降低了麻烦热源的功率。由 此,系统响应于当前的热条件按需要降低性能,所述当前的热条件取 决于当前的环境温度、计算机的当前温度等。在本发明的一个实施例中,计算机系统具有被抑制部件(throttled component)、用于测量所管理的系统的一部分的温度的一 个或多个传感器、用于测量用来预测所管理的系统的一部分的冷却速 率的条件(诸如环境温度)的一个或多个传感器。在一个实施例中,为了实现热抑制,计算机系统确定系统的该部 分的实际(测量)温度,并且基于被抑制部件的针对最坏情况工作负 荷的功耗要求、用于冷却的条件(例如环境温度)的测量和当前实际 温度,来预测在一定时长的最坏情况工作负荷之后会出现的对应温 度。在一个实施例中,选择和使用抑制设置,从而使预测的温度与热 约束一致。例如,可以检查不同的抑制设置以确定抑制设置是否是允 许的;并且可以选择"最佳,,允许设置以在下一 时间段内使用。另选的是,可针对被抑制部件确定功耗允许量,从而如果被抑制 部件的功耗低于该允许量,则预测的温度将低于发热阈值。然后,可将功耗允许量与不同抑制设置的最坏情况功率利用率要求相比较,以 确定允许的抑制设置。在一个实施例中,频繁(例如,以小于系统的热时间常数的时间 周期)并且定期地执行对允许的抑制设置的选择。例如,动态热控制 可包括下面的操作。1) 测量所管理的系统的一部分的当前温度T。2) 调整T以计入后继时段内的热损耗。3 )对于抑制设置i,根据在抑制设置i下由最坏情况功耗产生的 热,设置以该抑制设置所能够到达的最高温度的估计Tmaxi。4)确定T,xi小于或等于系统的限制的最高抑制设置,并且使 其成为当前的抑制设置直到热抑制的下一循环。在一个实施例中,较 高的抑制设置比较低的抑制设置更可取(例如,更快、更安静等)。作为一个实施例中的示例,如果热损耗主要是对流的,那么计入 时段A内的热损耗的经调整的温度Ta能够根据下式评估a 量amb十、l-lamb, e ,其中T,b是环境温度的测量值;并且^。。,是对流冷却路径的时间常数。作为一个实施例中的示例,可根据正被施加到计算机的一部分上 的功率P腿i的脉冲的热结果来预测时段A之后的温度。例如,在抑 制设置i下的预测温度T咖x[i可根据下式计算T隨i=Ta+P腿,1.0-e-嵐,,其中Pmaxil是热源在抑制设置i下的最大功耗;0是热源和所管 理的系统的 一 部分之间的热阻;且 。f是加热路径的时间常数.通常,预测可以涉及更多参数以计入如下因素,诸如发热相邻物 的影响、冷却单元的工作状态和/或散热的其它模式(如辐射散热)。在本发明的一个实施例中,温度的预测基于的是实际的(测量的) 当前温度并且预测了较短的时段。由于预测误差不累积,因此预测不 必非常精确。在本发明的一个实施例中,当与加热和/或冷却路径的时间常数相比时,时段A很小。例如,时段A比^。,更小。辐射散热通常比对流散热慢得多。当存在对流冷却时,通常忽略 辐射散热。在对流散热弱的系统(例如,没有风扇的系统、封闭壳体 内的系统等)中,辐射散热就变得重要。通常,预测可基于分析热近 似、经验表达式、或分析解决方案和经验表达式的组合。要注意的是,尽管上述示例描述了对流冷却为主且冷却的时间常数恒定的情况,但是预测方法可以被扩展为考虑其它的冷却处理以及考虑作为抑制参数的函数的冷却时间常数。例如,具有变速风扇的对 流冷却系统可具有针对风扇速度的抑制设置;并且时间常数Tcool可以是风扇速度的函数。此外,可以扩展预测以应对存在附接到系统的同一部分的多个热 源的情况。可根据各个附接热源的贡献之和来计算预测的温度。例如,<formula>formula see original document page 17</formula>其中P1,max[i],P2,max[i],、...是热源l、 2、…在抑制设置i下的最 大功耗;、。"、、。,2、…是相应加热路径的时间常数;并且《、《、…是热源与所管理的系统的一部分之间的热阻。在本发明的 一个实施例中,可基于不同的约束来确定抑制设置的 多个副本,例如针对温度的每个边界条件设置一个副本。然后使用抑制设置的多个副本中的最低副本以确保满足所有约束。通常,性能由 处于最困难中的子系统设置。此外,在本发明的一个实施例中,可基于不同的约束来进一步确 定抑制设置的多个副本,例如针对电源的每个边界条件设置一个副 本。例如,系统可能不具有能够连续地承受高于特定限制(例如,对 在不会使电池性能损害或降低的情况下连续使用电池的平均放电电 流的限制)的功耗的电源(例如,电池)。基于过去的实际功率利用 率历史,可基于功率利用率约束确定抑制设置的一个或多个副本。然 后可使用抑制设置的多个副本中的最低副本以确保满足所有的约束、 热和功率。关于动态功率估计和控制的进一步的细节可在与本申请同日提交的共同未决的美国专利申请"Methods and Apparatuses forDynamic Power Control,,(代理机构巻号no.04860.P3853 )和"Methods and Apparatuses for Dynamic Power Estimation"(代理机构巻号 no.04860.P3854 )中找到,上述两个美国申请的发明人都是Dave Conroy, Keith Cox和Michael Culbert,在此通过引用并入这两个申 请。
可在计算机系统中的各种部件内执行动态抑制设置确定,所述部 件包括计算机系统的主处理器或专用于动态热抑制任务的微控制器。
在主处理器内执行这些算法具有很多优点,诸如降低成本以及消 除在主处理器与另选地用于执行该任务的任何其它代理之间进行通 信的需要。然而,难以在所有情况下安排动态热抑制,所述情况包括 主处理器内的软件发生故障或被不知道热管理的一些其它软件所替 换的情况。此外,当计算机系统处于空闲状态时,周期性的管理任务 会防止系统进入低功率状态,或从低功率状态周期性地唤醒系统。
当栽入抑制设置的能力被保智到计算机系统的主处理器并且动 态抑制确定不是在主处理器内执行时,使计算出的抑制设置成为当前 的抑制设置会变复杂。需要将抑制设置传送到主处理器;并且在大多 数情况下,可能必须实现故障保护(fail-safe)机制来应对在主处理 器中运行的软件忽略栽入抑制的命令的(不太可能的)情况。故障保 护机制可以是相当粗略的,因为它们仅应涉及紧急情况。例如,当微 控制器确定被控制的温度超过限制时,微控制器会假定抑制设置未被 正确执行并且自动启动关机处理。
本发明的一个实施例动态地预算可能具有热约束的数据处理系 统的部件的功率利用率,所述数据处理系统诸如在轻薄的便携式计算 机、或较大的便携式计算机和/或小的消费台式计算机内。例如,对具 有紧凑壳体的计算机系统的散热的约束可以限制功率利用率。在一个 实施例中,使用实时的散热条件来动态预算功耗和防止由过大功耗造 成的过热。
图1示出了根据本发明一个实施例的控制计算机系统内的温度 的方法。在图1中,当前实际温度(例如时刻t的测量温度)被用于预测 时段A之后的温度(例如,时刻t+A的预测温度)。
在一个实施例中,计算机系统具有许多不同的设置。例如,计算 机系统的CPU处理器可被设置以在不同的内核电压和/或不同的内核
频率下运行。CPU处理器的不同设置与不同的最坏情况功率利用率相
对应,此外,例如,冷却风扇可被设置为以不同的速度运行。
通常,不同的设置对应于不同的性能指标,对发热/散热具有不 同的影响。由此,调整计算机系统的设置能够调整系统性能(如计算 速度、安静度、电池寿命等)和热约束的权衡。
在每个设置下的功率要求与在相应设置下的最大可能功率利用
率相对应。取决于正在执行的任务,实际的功耗会在一定范围内变化; 并且实际的功耗通常且经常低于最大可能功率利用率。
当给予计算机最坏情况工作负荷时,计算机一部分的温度通常在 不同的设置下不同地改变(例如升高或降低)。
例如,计算机的一部分的温度在时刻t处为To (105)。当给予 计算机最坏情况工作负荷时,温度在时刻t之后的时段A期间根据曲
线(121、 123、 125.....129)分别变化到温度L(111) 、 T2(113)、
T3 (115)、…、Tx (119)。
在本发明的一个实施例中,不是将系统设计为针对最高性能设置 长时间承受连续的最坏情况工作负荷,而是将系统设计为针对短的时 段A自动地选择性能设置,从而使得在该时段之后温度位于限制(103 ) 内。如果当前温度(To)低,则可以允许将系统设置到最高性能设置; 如果当前温度(To)高,则系统将选择降低的性能设置。
在图1的示例中,对应于曲线(121)的性能设置是不允许的, 因为如果在时段A期间计算机被设置到该性能设置且被给予最坏情况 工作负荷,则计算机的一部分的温度将达到1\ (111)从而超过限制 TL(103)。根据温度限制TL(103),对应于曲线(123、 125、 129、…) 的性能设置是允许的。
在本发明的一个实施例中,利用当前温度To和其它参数(诸如用于冷却的环境温度等)来预测时刻t+A的温度111 )、 T2( 113 )、
T3 (115 )..... Tx (119 ),来为计算机选择用于时刻t和t+A之间
的时段的允许设置。
由于对于时段A假定了最坏情况工作负荷,所以对于对应的设
置,在时段A之后的实际温度将不大于对应的温度Tp T2、 T3.....Tx。
计算机系统(例如便携式计算机或台式计算机)的典型使用不要 求长时间的连续的最坏情况功率负荷。通常,计算任务的突发可能要 求瞬时的最坏情况功率负荷,该最坏情况功率负荷仅在任务完成之前 持续很短的时长。在任务突发之前和之后,计算机系统通常消耗比最
坏情况功率负荷低得多的功率负荷;并且计算机系统处于低温下。由 此,功耗的突发可能足以也可能不足以使温度上升到温度限制以上。 通常,计算机的一部分变热较短的时间,然后在温度超过限制之前冷 却。因此,针对通常的使用允许高计算性能的突发是可以忍受的。这 实现了针对通常的使用在紧张的热约束下提供高性能的计算机系统 设计.
在本发明的一个实施例中,系统动态地调整功率利用率,从而即 使发生针对这些抑制的最坏情况功率负荷时,计算机的一部分的温度 也不会上升到超过限制。由于最坏情况功率负荷是少有的,因此抑制 控制通常被设置为非常高的值,并且系统就像限制不存在一样地运 行,这是因为系统的需求低于动态确定的预算。
在一个实施例中,用于确定抑制设置的时段可以不是恒定的.例 如,当发生了显著的功率利用率事件时(例如,当温度接近限制时), 系统可以自动地改变开始对于抑制设置的新计算的时段.例如,当风 扇速度改变时,系统可以调整该时段.
通常,调整了其抑制的部件(子系统)实际上可能不会消耗预算 出的全部量的功率,因为这些部件可能还不足够忙到以针对该抑制设 置的最大功率负荷运行。对抑制的调整允许子系统自由消耗高达针对 相应抑制设置的最坏情况功率负荷而不违反功率约束。计算机系统的冷却通常是当前环境温度的函数。在本发明的一个 实施例中,对由计算机的功率消耗而产生的热所散发到的环境的环境 温度进行测量,以针对不同设置来预测最坏情况温度并且选择不会违 反温度限制的设置。
另选的是,通过以温度限制来衡量预测的温度(例如根据曲线
103),可以确定功耗允许量。然后可使用该功耗允许量来选择抑制 设置。
图2示出了根据本发明一个实施例的为了进行热控制而测量环 境温度的位置的示例。
在本发明的一个实施例中,使用 一个或多个温度传感器来确定计 算机工作环境的环境温度。为了得到温度预测的精确结果,使环境温
度传感器的位置远离热源和散热路径。在环境温度传感器和计算机的 外壳之间可以放置热绝缘体。
例如,可将温度传感器(201)定位在便携式计算机的显示面板 的中部。
例如,可将温度传感器(203 )定位在机箱(tower )的侧部附近。 在一个实施例中,将环境温度传感器定位在计算机壳体的开口附
近。在一个实施例中,将环境温度传感器定位在具有环境温度的冷却
进气的路径上。
图3至图4示出了根据本发明一个实施例的具有动态热控制的数 据处理系统内的情形。
在图3的情形中,计算机系统在时刻(303)之前处理(311)低 需求任务;系统消耗的实际功率低;并且实际温度(321)低且远低 于温度限制(103)。由于系统的实际温度低,因此系统可处于最高 性能设置(301)下。
在时刻(303)之后,接收到高需求任务。系统在处理(313)高 需求任务时变得忙碌。由于系统在接收到高需求任务之前温度低,因 此预测的温度(例如,332、 333、 334、 335)低于温度限制(103), 即使系统保持最高性能设置下。实际温度(例如,322、 323、 324)通常低于或接近于预测的温度(例如,332、 333、 334),这是因为 系统正处理接近最坏情况的负荷。
在每个时段之后,实际温度被用作下一预测的起点.因此,预测 误差不被累积。
在高需求任务在时刻(305)完成之后,实际功率利用率下降; 并且实际温度(例如,325、 326、 327)下降到远低于温度限制(103)。 因为预测的温度(336、 337、 338)比温度限制(103)低,因此系统 可以保持(301)在最高性能设置下以处理(315)低需求任务。
如图3所示的使用模式可以是用于特定使用的典型使用模式。由 此,系统可按紧张的热约束进行设计,同时以最高性能设置运行,如 果系统是根据连续最坏情况负荷设计的,那么它将要求高得多的冷却 能力。
然而,高需求任务可以是要花费长时间才能完成的任务。如果允 许系统长时间处于最高性能设置,那么最终会违反温度限制(103)。
例如,在图4中,在接收到高需求任务的时刻(421)之前,系 统处理(411)低需求任务,如低的实际温度(431)所示。系统在最 高设置下运行(401)。
在时刻(421)之后,系统在一时段内处理(413)高需求任务。
最初,系统保持(401)在最高设置下,这使得计算机的一部分 的温度升高(例如,432、 433、 434、 435)。由于预测的温度(442、 443、 444、 445)低于温度限制(103 ),系统保持运行在最高i殳置下。
在时刻(423),热管理器识别出如果系统保持在最高设置下, 那么预测的温度(456)将高于限制(103);以及如果系统改变到降 低的设置(403 ),那么预测的温度(446)将低于限制(103).由 此,在时刻(423和425)之间,系统在降低的设置下运行。
在时刻(425),实际温度(436)降低。热管理器识别出如果 系统改变到最高设置(405 ),那么预测的温度(447 )将低于限制(103 )。 由此,在时刻(425和427)之间,系统在最高设置下运行。
在时刻(427),实际温度(437)再次接近限制(103)。热管理器识别出如果系统保持在最高设置下,那么预测的温度(458) 将高于限制(103);以及如果系统改变到降低的设置(407),那么 预测的温度(438)将低于限制(103)。由此,在时刻(427)之后 的短时段内,系统在降低的设置下运行(例如达到温度438)。由此,当高需求任务的处理持续了长时间时,系统自动调整其设 置以使温度接近限制(103)但却不超过该限制。在本发明的一个实施例中,预测提供了温度的上界;并且实际温 度不超过限制。在一个实施例中,预测可以比温度的上界低一个小的裕量;并且 实际温度可以超过限制所述小的裕量。在一个实施例中,由于调整性 能设置和误差裕量的时间步(time step )小,因此超过温度限制(103 ) 以上的量实际是可以忽略的。由此,实际上可以认为未超过限制 (103 )。由此,在动态抑制系统的控制下,系统在最高设置和降低的设置 之间进行切换,以在热约束的限制内尽快地处理高需求任务。图5示出了根据本发明一个实施例的利用数据处理系统的中央 处理单元(CPU)的抑制设置来控制温度的示例。在图5中,CPU内核电压和内核频率的多个不同组合被排序为 使得抑制设置随着性能指标而提高,如表501所示。在一个实施例中, 系统按抑制设置的降序搜索,以确定满足使预测的温度低于温度限制 这一关系的第一抑制设置,由此,当抑制设置被确定时,CPU内核电压和频率即被确定。另选的是,可以根据其它目标(例如,高计算能力和低能耗的组合目标等)对抑制进行排序;并且"最好"抑制设置可以按类似方式进行搜索。要注意,如果存在多个独立的抑制,则可以检查抑制的不同组合 的列表来确定允许的抑制设置。可根据定义目标"最好"的特定规则来 选择最好的抑制设置。应理解,用于定义目标的规则可以是任意复杂的。图6示出了根据本发明一个实施例的利用数据处理系统的多个 部件的抑制设置来控制温度的示例。在图6中,多个部件具有独立的抑制设置,如表601所示。为了 将动态确定的预算分配给多个部件,用于多个部件的抑制设置的不同 组合可被视为不同的全局抑制设置。可根据对象目标指标对这些全局 抑制设置进行排序。全局设置的排序可以在计算机的设计阶段根据静态的固定的对 象目标函数执行,或由系统的设计者手动安排。另选的是,可以根据对象目标函数实时地执行全局设置,该对象 目标函数可以是计算机系统的当前状态的函数。例如, 一些部件可能 忙碌并且要求较高优先级,而其它部件可能空闲并且要求较低优先 级。由此,可将对象函数构造为包括对部件的当前工作负荷的考虑。 可以从实际功耗的历史中估计工作负荷。例如,相对于部件的动态功 率范围的高功耗指示部件的高工作负荷。一旦根据对象目标指标对全局设置进行了排序,就选择满足功率 约束的最高全局设置。图7至图9示出了根据本发明实施例的热管理方法。在图7中,操作701确定数据处理系统运行所处环境的环境温度。 所述环境温度可在如图2所示的各种位置测量,在所述位置处,温度 测量不受计算机系统内产生的热的影响。然而,应理解的是,计算系 统内产生的热通常以对流方式影响温度预测(例如,预测更高的温 度)。操作703根据环境温度确定数据处理系统的性能指标设置(或 操作设置)。例如,计算机系统可以基于环境温度自动选择性能指标 设置(或操作设置),诸如CPU内核电压和频率。为了得到更好的 性能,所述选择可以进一步基于其它参数,诸如计算机的当前温度、 在下一次更新前使用性能指标设置(或操作设置)的时段的长度等。例如,在图8中,操作801确定数据系统内的第一位置处的实际 温度,数据处理系统内的热朝向所述第一位置消散。操作803确定数 据处理系统内的第二位置处的实际温度,在所述第二位置处,数据处理系统内的功耗产生热。操作805调整数据处理系统的操作设置以将 根据第 一和第二位置处的实际温度预测的温度保持在限制以下。在一 个实施例中,预测基于以下假设数据处理系统在将使用操作设置的 有限时段(例如小于系统的热时间常数或可与系统的热时间常数相比 的量级)内将具有最坏情况工作负荷。在一个实施例中,不同的操作 设置除了系统的性能以外不影响系统的功能。在图9中,操作901在具有一组被抑制部件的数据处理系统工作 期间获得时刻t的实际温度。操作903根据处理的期望优先级按优先 级的降序对抑制设置的不同组合进行排序。操作905处理抑制设置的 一个组合.操作卯7确定在抑制设置的该组合下可从可能功耗产生的 一个或多个最大热源。操作卯9基于所述一个或多个最大热源、时刻 t的实际温度和数据处理系统的热动态属性,预测在时刻t+A数据处 理系统内的一位置处的温度。如果操作911确定预测的温度是不允许的,则操作913处理下一 个组合并且重复操作909直到预测的温度是允许的。如果操作911确定预测的温度是允许的,则操作915选择该组合 以在时段A中使用。操作917根据所选择的抑制设置的组合,在t和 t+A之间的时段内对被抑制部件进行抑制。在一个实施例中,总是存 在允许的设置。本发明的许多方法可以利用诸如传统的通用计算机系统的数字 处理系统执行。也可以使用被设计或编程为仅执行一个功能的专用计 算机。图10示出了可以与本发明一起使用的典型计算机系统的一个示 例。要注意,尽管图10示出了计算机系统的各种部件,但并不是想 表示互连这些部件的任何具体架构或方式,因为这种细节不与本发明 密切相关。还应明白的是,具有更少部件或可能更多部件的网络计算 机和其它数据处理系统也可以与本发明一起使用。图10的计算机系 统例如可以是苹果的Macintosh计算机。如图IO所示,作为数据处理系统的一种形式的计算机系统1001包括与微处理器1003、 ROM 1007、易失性RAM 1005和非易失性存 储器1006连接的总线1002。微处理器1003例如可以是来自摩托罗拉 公司或IBM的G3、 G4或G5微处理器,微处理器1003与高速緩沖 存储器1004连接,如图10的示例所示。总线1002将这些不同的部 件互连在一起并且还将这些部件1003、 1007、 1005和1006与显示控 制器和显示设备1008互连以及与诸如输入/输出(I/O )设备的外围设 备互连,所述输入/输出设备可以是鼠标、键盘、调制解调器、网络接 口、打印机、扫描仪、视频摄像机和本领域公知的其它设备。通常, 输入/输出设备1010通过输入/输出控制器1009与系统连接。易失性 RAM 1005通常被实现为动态RAM (DRAM),它要求持续的电力 以刷新或保持存储器内的数据。非易失性存储器1006典型地是磁硬 盘驱动器或磁光盘驱动器或光盘驱动器或DVD RAM或其它类型的 存储器系统,它们即使在去除来自系统的供电之后也能保持数据。通 常,非易失性存储器也可以随机存取存储器,但是这不是必须的。虽 然图10示出了非易失性存储器是与数据处理系统内的其余部件直接 相连的本地装置,但是应该明白,本发明可以使用远离该系统的非易 失性存储器,诸如通过网络接口 (诸如调制解调器或以太网接口 )与 数据处理系统连接的网络存储装置。总线1002可以包括通过本领域 公知的各种桥、控制器和/或适配器而彼此连接的一条或多条总线。在 一个实施例中,I/O控制器1009包括用于控制USB (通用串行总线) 外围i殳备的USB适配器和/或用于控制IEEE-1394外围i殳备的 IEEE-1394总线适配器。在本发明的一个实施例中,至少一些部件能够被主动抑制以用性 能交换功率利用率(例如,在不改变功能的情况下)。例如,微处理 器1003具有不同的内核电压和频率设置。在本发明的一个实施例中,系统1001还包括与UO控制器1009 相连的温度传感器1011。温度传感器1011可以包括用于测量实际环 境温度的一个或多个传感器和用于测量系统的一部分的实际温度的 一个或多个传感器。在本发明的一个实施例中,系统1001还包括基于温度预测来选 择设置的微控制器(图10中未示出)。另选的是,微处理器1003可 使用传感器测量来定期选择设置。在本发明的一个实施例中,系统1001还包括具有可调风扇速度 的一个或多个风扇(图10中未示出),所述风扇速度能够根据基于 传感器测量的实时温度预测被调整。从上面的描述可以明显看出,本发明的各方面至少部分地可以以软件实施。即,可以在计算机系统或其它数据处理系统内响应于执行 包含在存储器(诸如ROM 1007、易失性RAM 1005、非易失性存储 器1006、高速緩冲存储器1004或其它存储装置或远程存储装置)内 的指令序列的其处理器(诸如微处理器或微控制器)而实现所述技术。 在各实施例中,硬接线电路可以与软件指令组合使用以实现本发明。 因此,所述技术既不限于硬件电路和软件的任何具体组合,也不限于 数据处理系统所执行的指令的任何特定源。另外,在整个说明书中, 各种功能和操作被描述为由软件代码执行或引起以简化描述。然而, 本领域普通技术人员将认识到,这种表述的意思是诸如微处理器1003 或微控制器的处理器执行代码而得到的功能。机器可读介质可被用于存储软件和数据,当所述软件和数据被数 据处理系统执行时会使系统执行本发明的各种方法。该可执行软件和 数据可被存储在例如包括如图10所示的ROM 1007、易失性RAM 1005、非易失性存储器1006和/或高速緩冲存储器1004的各种地方。 该软件和/或数据的一部分可被存储在这些存储装置中的任一个内。由此,机器可读介质包括以机器(例如,计算机、网络设备、个 人数字助理、制造工具、具有一組一个或多个处理器的任何装置等) 可存取的形式提供(即存储和/或传输)信息的任何机构。例如,机器可读介质包括可记录/不可记录介质(例如,只读存储器(ROM); 随机存取存储器(RAM);磁盘存储介质;光存储介质;闪存存储器 装置等),以及电、光、声或其它形式的传播信号(例如载波、红外 信号、数字信号等)等等。可利用专用硬件(例如,使用现场可编程门阵列或专用集成电路) 或共享电路(例如,在存储在机器可读介质内的程序指令的控制下的 微处理器或微控制器)实现本发明的方法。本发明的方法还可被实现为用于在数据处理系统(诸如图IO的系统IOOI)上执行的计算机指令。在上面的说明书中,已经参考本发明的具体示例性实施例描述了 本发明。明显的是,在不脱离如所附权利要求书所阐述的本发明的更 宽的精神和范围的情况下,可对本发明进行各种修改。因此,说明书 和附图应被看作是例示意义的,而不是限制意义的。
权利要求
1、一种数据处理系统,包括第一传感器,用于确定数据处理系统所处的环境的环境温度;和与所述传感器相连的控制器,用于根据所述环境温度来控制数据处理系统的操作。
2、 根据权利要求1所述的系统,还包括 第二传感器,用于确定数据处理系统的部件的实际温度; 其中控制器用于进一步根据部件的实际温度来控制数据处理系统的操作。
3、 根据权利要求2所述的系统,其中,控制器基于对所述部件 的温度的预测来控制数据处理系统的操作,对所述部件的温度的预测 是环境温度、部件的实际温度和部件的当前操作状态的函数。
4、 根据权利要求3所述的系统,其中,控制器从一个或更多个 电压设置以及一个或更多个频率设置的组合中选择一个组合,以控制 数据处理系统的操作;并且部件的操作状态包括电压设置和频率设 置。
5、 根据权利要求4所述的系统,还包括电压源,所述电压源能够从第一电压转换到第二电压以在不重启 或停止数据处理系统的情况下改变数据处理系统的设置;和频率源,所述频率源能够从第一频率转换到第二频率以在不重启 或停止数据处理系统的情况下改变数据处理系统的设置。
6、 根据权利要求2所述的系统,其中,所述控制器是微控制器 和微处理器之一。
7、 根据权利要求6所述的系统,其中,第二传感器用于周期性 地确定部件的实际温度,以便使控制器周期性地确定操作设置。
8、 一种数据处理系统,包括多个温度传感器,用于确定数据处理系统的多个实际温度;和 与所述多个温度传感器相连的控制器,用于基于对数据处理系统的温度的预测来确定数据处理系统的操作设置,对所述部件的温度的 预测是所述多个实际温度和数据处理系统的操作设置的函数。
9、 根据权利要求8所述的系统,其中,对数据处理系统的温度 的预测基于的是从根据针对操作设置的最坏情况工作负荷的功耗产 生的热。
10、 根据权利要求9所述的系统,其中,所述多个实际温度包括 数据处理系统中的一个位置在第一时刻的实际温度;温度的预测是针 对同 一位置在第 一时刻之后的一时段上的温度;并且操作设置被确定 为将预测温度限制在阈值以下。
11、 根据权利要求10所述的系统,其中,所述多个实际温度还 包括数据处理系统中的、功耗产生的热朝向其消散的位置的实际温 度;所述时段比数据处理系统的时间常数短。
12、 根据权利要求8所述的系统,其中,所述控制器是微控制器 和微处理器之一;其中,所述所述操作设置用于中央处理单元(CPU)微处理器、 图形处理单元(GPU)微处理器和总线中的至少一个。
13、 一种机器可读介质,包含可执行的计算机程序指令,这些指法,所述方法包括确定数据处理系统所处的环境的环境温度;和 根据所述环境温度来控制数据处理系统的操作。
14、 根据权利要求13所述的介质,其中,所述方法还包括 确定数据处理系统的部件的实际温度; 其中进一步根据部件的该温度来控制数据处理系统。
15、 根据权利要求14所述的介质,其中,所述控制包括 根据环境温度和部件的实际温度从多个操作设置中选择一个操作设置。
16、 根据权利要求15所述的介质,其中,所述多个操作设置包 括一个或更多个电压以及一个或更多个频率的组合。
17、 根据权利要求16所述的介质,其中,所述控制还包括 根据所述多个操作设置中的所述一个,从第一电压转换到第二电压;和根据所述多个操作设置中的所述一个,从第 一频率转换到第二频率。
18、 根据权利要求15所述的介质,其中,所述多个操作设置中 的所述一个被选择为将部件的预测温度限制在阈值以下;其中,部件 的预测温度是环境温度、部件的实际温度和操作设置的函数。
19、 根据权利要求18所述的介质,其中,确定部件的实际温度 的步骤被周期性地执行,以周期性地执行所述选择。
20、 根据权利要求18所述的介质,其中,所述环境温度引起对 该函数中部件的冷却;并且所述操作设置引起对该函数中部件的加 热。
21、 根据权利要求18所述的介质,其中,所述操作设置确定功 耗的上限;并且部件的预测温度是基于功耗的该上限而预测的。
22、 根据权利要求15所述的介质,其中所述多个操作设置中的 所述一个包括用于所述部件的第一设置和用于另一个部件的第二设 置。
23、 一种机器可读介质,包含可执行的计算机程序指令,这些指法,所述方法包括确定数据处理系统的多个实际温度;和根据预测温度调整数据处理系统的操作设置,所述预测温度是所 述多个实际温度和数据处理系统的操作设置的函数。
24、 根据权利要求23所述的介质,其中,所述操作设置确定数 据处理系统的至少一部分的功耗的上限;并且预测温度基于的是从根 据该上限的功耗产生的热。
25、 根据权利要求24所述的介质,其中,所述多个实际温度包 括数据处理系统中的各位置在第 一时刻的实际温度;预测温度是针对同一位置在第一时刻之后的一时段上的温度;并且操作设置被调整为 将预测温度限制在阈值以下。
26. 根据权利要求25所述的介质,其中,所述多个实际温度还 包括数据处理系统中的、功耗产生的热朝向其消散的位置处的实际温 度。
27. 根据权利要求25所述的介质,其中,所述时段短于数据处 理系统的时间常数。
28. 根据权利要求23所述的介质,其中,所述方法还包括 针对确定了至少一个实际温度之后的时段,确定热源的功耗允许量,所述允许量的功耗将预测温度限制在阈值以下; 其中,根据所述功耗允许量来调整操作设置。
29. 根据权利要求23所述的介质,其中,所述操作设置包括电 压设置、频率设置、旋转速率设置和风扇速度设置中的至少一个。
30. 根据权利要求23所述的介质,其中,所述操作设置用于数 据处理系统的中央处理单元(CPU)微处理器、图形处理单元(GPU ) 微处理器、总线和盘驱动器中的至少一个。
31. 根据权利要求23所述的介质,其中,所述调整操作设置包括将电压源从第一电压调整到第二电压;和 将频率源从第一频率调整到笫二频率。
32. 根据权利要求31所述的介质,其中,所述调整是在不停止 或重启数据处理系统的情况下执行的。
33. 一种控制数据处理系统的方法,所述方法包括 确定数据处理系统所处的环境的环境温度;和 根据所述环境温度来控制数据处理系统的操作。
34. 根据权利要求33所述的方法,还包括 确定数据处理系统的部件的实际温度;其中,进一步根据部件的该温度来控制数据处理系统。
35. 根据权利要求34所述的方法,其中,所述控制包括根据环境温度和部件的实际温度从多个操作设置中选择一个搮 作设置,其中所述多个操作设置包括一个或更多个电压以及一个或更多个频率的组合;根据所述多个操作设置中的所述一个,从第一电压转换到第二电 压;以及根据所述多个操作设置中的所述一个,从第 一频率转换到第二频率。
36、 根据权利要求35所述的方法,其中,所述多个操作设置中 的所述一个被选择为将部件的预测温度限制在阈值以下;其中,部件 的预测温度是环境温度、部件的实际温度和操作设置的函数。
37、 根据权利要求36所述的方法,其中,确定部件的实际温度 被周期性地执行,以周期性地执行所述选择;所述环境温度引起对该 函数中部件的冷却;并且所述操作设置引起对该函数中部件的加热。
38、 一种控制数据处理系统的方法,所述方法包括 针对数据处理系统确定多个实际温度;和 根据预测温度调整数据处理系统的操作设置,其中所述预测温度是所述多个实际温度和数据处理系统的操作设置的函数。
39、 根据权利要求38所述的方法,其中,所述操作设置确定数 据处理系统的至少一部分的功耗的上限;预测温度基于的是从根据该 上限的功耗产生的热;所述多个实际温度包括数据处理系统中的一个 位置在笫一时刻的实际温度;预测温度是针对同一位置在第一时刻之 后的一时段上的温度;并且操作设置被调整为将预测温度限制在阈值 以下。
40、 根据权利要求39所述的方法,其中,所述多个实际温度还 包括数据处理系统中的、功耗产生的热朝向其消散的位置处的实际温 度;并且所述时段比数据处理系统的时间常数短。
41、 根据权利要求38所述的方法,其中,所述调整是在不停止 或重启数据处理系统的情况下执行的。
42、 一种数据处理系统,包括用于确定数据处理系统所处的环境的环境温度的装置;和 用于根据所述环境温度来控制数据处理系统的操作的装置。
43、 根据权利要求42所述的数据处理系统,还包括 用于确定数据处理系统的部件的实际温度的装置; 其中,进一步根据部件的该温度来控制数据处理系统。
44、 根据权利要求43所述的数据处理系统,其中,所述用于控 制的装置包括用于根据环境温度和部件的实际温度从多个操作设置中选择一 个操作设置的装置,其中所述多个操作设置包括一个或更多个电压以 及一个或更多个频率的组合;用于根据所述多个操作设置中的所述一个从第一电压转换到第 二电压的装置;和用于根据所述多个操作设置中的所述一个从第 一频率转换到第 二频率的装置。
45、 根据权利要求44所述的数据处理系统,其中,所述多个操 作设置中的所述一个被选择为将部件的预测温度限制在阈值以下;其 中,部件的预测温度是环境温度、部件的实际温度和操作设置的函数。
46、 一种数据处理系统,包括 用于确定数据处理系统的多个实际温度的装置;和 用于根据预测温度来调整数据处理系统的操作设置的装置,所述预测温度是所述多个实际温度和数据处理系统的操作设置的函数。
47、 根据权利要求46所述的数据处理系统,其中,所述操作设 置确定数据处理系统的至少一部分的功耗的上限;预测温度基于的是 从根据该上限的功耗产生的热;所述多个实际温度包括数据处理系统 中的一个位置在第一时刻的实际温度;预测温度是针对同一位置在第 一时刻之后的一时段上的温度;并且操作设置被调整为将预测温度限 制在阈值以下。
48、 根据权利要求47所述的数据处理系统,其中,所述多个实 际温度还包括数据处理系统中的、功耗产生的热朝向其消散的位置处的实际温度;并且所述时段比数据处理系统的时间常数短。
49、 根据权利要求46所述的数据处理系统,其中,所述用于调 整的装置在不停止或重启数据处理系统的情况下进行调整。
50、 一种操作数据处理系统的方法,所述方法包括 预测数据处理系统的在一未来时刻的操作温度;和至少部分基于所预测的操作温度,设置数据处理系统的至少 一个 部件的操作设置。
51、 根据权利要求50所述的方法,其中,所述操作设置是针对 直到所述未来时刻的时段而设置的;并且所述预测和所述设置是以周 期,It方式执行的。
52、 根据权利要求51所述的方法,其中,所述操作温度是基于 至少一个当前温度的测量而预测的。
53、 根据权利要求52所述的方法,其中,所述至少一个当前温 度包括环境温度;和数据处理系统的部件的温度。
54、 一种机器可读介质,包含可执行的计算机程序指令,这些指法,所述方法包括预测数据处理系统的在一未来时刻的操作温度;和至少部分基于所预测的操作温度,设置数据处理系统的至少一个 部件的操作设置。
55、 根据权利要求54所述的介质,其中,所述操作设置用于直 到所述未来时刻的时段;并且所述时段为不大于数据处理系统的热时 间常数的量级。
56、 根据权利要求54所述的介质,其中,所述操作温度是基于 当前环境温度的测量和数据处理系统的部件的当前温度的测量而预 测的。
57、 根据权利要求54所述的介质,其中,所述操作设置被设置 为将操作温度限制在温度阈值以下。
全文摘要
本发明涉及用于动态热控制的方法和设备。提供了用于动态预算功率利用率以控制数据处理系统内的温度的方法和设备。在一个方面中,数据处理系统包括第一传感器(201、203),用于确定数据处理系统所处的环境的环境温度;和与传感器(201、203)相连的控制器(例如微控制器或微处理器),用于根据所述环境温度来控制数据处理系统的操作。在一个示例中,数据处理系统还包括用于确定数据处理系统的部件的实际温度的第二传感器。在一个示例中,控制器与温度传感器相连以便基于对数据处理系统的温度的预测来确定数据处理系统的操作设置,所述温度的预测是多个实际温度和数据处理系统的操作设置的函数。
文档编号G06F1/20GK101283323SQ200680037616
公开日2008年10月8日 申请日期2006年7月25日 优先权日2005年8月25日
发明者D·G·康罗伊, K·A·考克斯, M·卡伯特 申请人:苹果公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1