用于热控制的确定性功率估计的制作方法

文档序号:6423624阅读:112来源:国知局
专利名称:用于热控制的确定性功率估计的制作方法
技术领域
本发明涉及微处理器的热控制。
背景技术
随着新微处理器复杂度的日益增加,热控制变得愈发具有挑战性。当前的微处理器包括大量的执行资源来支持多个指令的并发处理。给微处理器提供大量执行资源的一个缺点是,需要大量的功率来运行这些微处理器。不同的执行单元可能消耗较多或较少的功率,这取决于它们的尺寸和它们实现的功能,但是将如此多的逻辑压缩到相对较小的处理芯片的实际结果是可能会产生严重的功率发散(power dissipation)问题。
在传统的热控制系统中,观察管芯上的结温度(Tj)以确保它不会超出容许的最大值,进而来避免可靠性问题。当结温度达到容许的最大值时,可以激活抑制机制(throttling)以冷却微处理器,而这导致明显的性能损失。
通过测量管芯靠近公知热点的区域的温度,可以完成对结温度是否超过最大容许值的检测。一些微处理器使用在微处理器管芯上的热二极管来进行温度跟踪。温度跟踪可以用于当温度级别超出最大容许值时激活某些种类的抑制机制,或者可以用于当温度级别较低时提高微处理器的性能级别(例如,增大电压/频率)。人们已经发现经过热二极管的电流是时间的函数。因此,至少在一些传统热控制系统中,提供了一个电路,该电路适于检测经过热二极管的电流量,并且只要当管芯上的温度超出容许的最大值时,就触发抑制机制。
当前使用的热二极管防止微处理器处于过热的状况,但是在移动系统中它可能不是很有用。通常,在常规工作条件下运行一般应用时,移动系统的原始设备制造商(OEM)不希望支持基于热二极管的抑制机制。热二极管抑制机制给移动系统引入了非确定性行为,而这是OEM希望避免的。OEM的运营基于这一假设,即同一类型且具有相同芯片版本的系统相似地运作并且提供相同的基准分(benchmark score)。由于每个芯片具有不同的热响应、漏电流等,所以基于热二极管的抑制机制产生了非确定性行为。


本发明的多个特征、方面和优点将从下面的详细描述、所附权利要求和附图中变得更加明显,其中图1示出了根据本发明一个实施例的热控制系统的方框图;图2示出了根据本发明一个实施例的功率使用监控单元的方框图;以及图3示出了根据本发明一个实施例来估计微处理器的功率使用的流程图。
具体实施例方式
为了充分理解本发明,在下面的描述中阐述了许多具体细节。然而,对于本领域的技术人员来说很明显,在没有这些具体细节的情况下,也可以实施本发明。在其它的例子中,没有详细示出公知的电路、结构、和技术,以避免混淆本发明的主要内容。
本发明描述了一种热控制系统。在一个实施例中,提供一个使用数字功率监控的热控制系统以在计算机系统中进行热控制。数字功率监控被配置为用来估计由微处理器使用的功率的量。基于所估计的功率使用,热控制系统控制抑制机构的激活与禁止(deactivation),以避免不安全的结温度,所述不安全的结温度可能会引起系统性能降低,或者超出系统规格。
人们已经发现在一定时间间隔期间,微处理器消耗的功率的量与该微处理器的管芯上的结温度(Tj)有关。换句话说,在一定时间段内,当计算机系统内的微处理器消耗相对较大数量的功率时,这可能表示该微处理器在相对较高的温度下工作。因此,当所估计的功率使用相对较高时,热控制系统可以激活它的一个或多个抑制机构,以使微处理器能够冷却自身。此外,当所估计的功率使用相对较低时,热控制系统可以被配置成提高微处理器的性能,例如,通过提高工作电压电平、提高时钟频率或启动另外的活动。
根据一个实施例,在给定时间间隔期间,通过在微处理器中周期性执行软件代码(例如,微代码、系统管理模式(SMM)软件等),热控制系统动态估计微处理器消耗的平均功率。在一个实施例中,基于在微处理器中发生的各种活动的频率,估计功率消耗的级别。与基于热二极管的温度估计不同,这种由软件执行的功率估计具有确定性行为(对于给定的系统和给定的一组应用),从而获得确定性的系统行为。相反地,当前所使用的热二极管不提供确定性的用于热控制的功率估计。
图1描述了根据本发明一个实施例的热控制系统104。热控制系统104包含在微处理器102中,该微处理器除了其它的元件之外,还具有包括至少一个抑制机构106的半导体管芯。在所图示的实施例中,示出了三种类型的抑制机构,包括停止时钟抑制逻辑114、电压控制逻辑112和中断逻辑116。当热控制系统104检测到微处理器102消耗的功率超出最大容许功率时,一个或多个抑制机构106可以被调用,以确保管芯温度在工作期间不会超出热设计限度。举例来说,停止时钟抑制逻辑114被激活时,立即将微处理器的时钟降低或减少诸如几微秒。也可以通过降低工作电压电平来降低管芯温度,这由热控制系统104通过电压控制逻辑112来控制。触发包括电压控制逻辑电路112、停止时钟抑制逻辑114和中断逻辑116的抑制机构的任何一个,都可以在相对较短的时间段内就显著减少由微处理器产生的热量。
图1示出的抑制机构106只是用作示例的目的,本领域的技术人员应当理解,在实际应用中,热控制系统104可以采用其它类型的抑制机构。因此应当理解,这里所描述的热控制系统可以通用地应用于所有类型的微处理器,而与所采用的具体抑制机构无关。
所图示的热控制系统104包括功率使用监控单元108和抑制控制单元110。在一个实施例中,功率使用监控单元108以软件代码的形式实现,例如在微处理器内周期执行的微代码,以基于在微处理器中执行的各种活动的发生次数来估计功率消耗。基于由功率使用监控单元108提供的所估计的功率使用,如果冷却对于避免可能引起系统性能降低的不安全管芯温度是很需要的话,则抑制控制单元110产生信号并将所述信号发送到抑制机构106的一个或多个以冷却微处理器。
通常,微处理器内有大量的功能单元,每个功能单元消耗不同的功率量。因此,通过计数在定义时间段期间某些功能单元被激活的次数,可以估计在那段时间期间由微处理器消耗的功率量。为了计算某些活动发生的次数,功率使用监控单元108与包含在微处理器中的一组计数器118-122进行通信。计数器118-122可以实现为硬件组件中的寄存器或软件代码中的变量,并被用于计数特定活动的发生次数。
例如,由功率使用监控单元108监控的一个计数器可以被配置为对在抽样时间段期间由微处理器执行的浮点运算的次数进行计数。另一个计数器可以被配置为对在微处理器中发生的高速缓存访问的次数进行计数,该计数器的数据可以用于估计微处理器消耗的功率的量。由译码器译码的指令的数目也可以是由功率使用监控单元108通过某种计数器机构进行监控的另一种活动。应当理解,通过监控在微处理器中发生的任何其它的适当活动也可以实现本发明,而不应将本发明限制为这里所详细描述的示例。
根据一个实施例,与当前使用的与热二极管相结合的硬件电路相反,热控制采用软件与硬件的结合。从而,通过使用硬件和软件两者来估计功率使用,提供了额外的灵活性,使得热控制系统能够在功率估计中考虑诸如工作电压电平和时钟频率等多个参数。通过使用软件代码来估计功率使用而不是使用纯逻辑或硬件电路,可以足够的精确度来检测结温度是否超出最大容许值,进而以基本输入/输出系统(BIOS)进行最少的系统级调整来激活抑制机制。
图2描述了根据本发明一个实施例的功率使用监控(PUM)单元108的方框图。PUM单元108包括功率使用估计器202,用于基于计数器数据来估计功率使用;以及过滤器,用于提供在当前及过去抽样时间段期间获得的估计功率使用(EPU)值218-222的平均功率使用值。
如上所述,为了估计由微处理器消耗的功率,功率使用估计器202周期性地从包含在微处理器中的多个计数器获得计数器数据238-242。在一个实施例中,由于热响应可能相对较慢(例如,在几十微秒的范围内),所以每隔几微秒,对功率使用进行估计。在这方面,在每一抽样时间段的开始处,功率使用估计器202将首先访问每个计数器的计数器数据,然后一旦已经读取了计数器数据,就将计数器复位。一旦已经获得了计数器数据,功率使用估计器202将各加权因子212-216应用到计数器数据238-242中的每一个,并且结合所加权的计数器数据以提供计数器数据的加权和。
人们已经发现,由微处理器消耗的功率的量也受该微处理器的时钟频率和工作电压电平的影响。例如,如果计算机系统中的微处理器以较高频率或较高电压电平工作,则它将消耗更多的功率。在一个实施例中,计数器数据的加权和由当前时钟频率206及电压电平208来调整,以更准确地估计功率使用。在一个实施例中,所估计的功率使用(EPU)218-222计算如下EPU=WSCD×V2×F (1)其中,WSCD表示计数器数据的加权和,V表示当前电压电平并且F表示当前时钟频率。
当前工作时钟频率206和电压电平208可以通过检查BIOS中的寄存器来确定,所述寄存器已被指定用来存储当前频率和电压电平值。至少在一些最近开发的微处理器中,在多个工作状态下,运行时电压电平和工作频率可能变化。例如,电压电平和频率可以由抑制机构中的一个来调整。或者,在移动计算机系统中,当移动计算机系统从外部电源模式转换到电池电源模式时,电压电平可能会变化。
一旦已经计算了所估计的功率使用(EPU),则将它与过去的EPU值218-222进行平均,以过滤掉瞬时峰值功率使用。然后,平均功率使用值与最大容许功率级别(在下文称为“TDP”210)相比较。与TDP 210相关联的值可以被编程到BIOS的寄存器之一中,并且该值有助于基于所估计的功率使用来确定何时微处理器的结温度可能违反最大容许温度。通过执行基准程序(benchmark program),并且在微处理器超出在正常或最坏情况下的最大容许温度之前,确定该微处理器能够消耗多少功率,可以确定TDP值210。如果当前功率使用超出TDP值210一段时间,则微处理器的结温度将开始超出最大容许温度。因此,为了降低在这种状态下的结温度,当平均功率使用超出TDP值时,抑制控制单元110将激活抑制机构中的一个或多个。
人们已经发现,功率消耗(功率)和结温度(Tj)的关系可以表达如下Tj=Ta+Tsys+Rjc×功率 (2)其中,Ta表示微处理器周围的环境温度;Tsys表示主板对热量的贡献;以及Rjc表示热阻。
与值Ta、Tsys和Rjc相关联的值是依赖于系统的,并且通常是未知的。例如,很难获得与系统的热阻(Rjc)相关联的值,因为它取决于多个因素,例如风扇和散热器的冷却能力等。因此,在一个实施例中,热控制系统不直接计算结温度。相反地,将所估计的功率与固定参考点(例如,TDP)相比较。通过这样做,可以提供热控制而不必计算诸如Ta、Tsys和Rjc等参数。
图3描述了根据本发明一个实施例的估计功率使用的操作。在一个实现中,基于当前功率使用与一组计数器数据成比例的假设,在微处理器中运行的软件代码估计当前功率使用级别,所述一组计数器数据由与每个单独的计数器数据相关联的对应加权因子来调整。所估计的功率使用(PU)可以表示如下EPU=(加权因子(i)×计数器数据(i))+空载功率(3)其中,加权因子(i)表示与它的对应计数器数据相关联的系数值,用于调整在抽样期间所收集的计数器数据,而空载功率表示一个常数值,该常数值对应于当微处理器没有执行指令时由该微处理器消耗的功率(例如计时功率、静态电流功率、漏电流功率)的量。
参考图3,在方框310中,从计数器读取一组计数器数据。在一个实施例中,这组计数器数据与某些高级别活动相关,这些活动可以由包含在微处理器中的计数器进行计数。例如,所述计数器数据可以从现有性能监控计数器或其它计数器收集,所述计数器包含在微处理器中,用于监控功率使用。如果现有性能监控计数器被使用,则性能监控逻辑或软件程序可以用来跟踪与对应计数器相关联的活动的级别。
然后,在方块320中,相应的加权因子被应用于每个计数器数据。例如,在一个实现中,通过将每个各别的计数器数据与对应的加权因子相乘,获得加权计数器数据。当设计热系统时,给每个计数器数据指定相应的加权因子,以表示与对应于所述计数器数据的功能单元相关联的功率使用的级别。每个加权因子可以由微处理器IC设计者使用某种功率估计工具(例如,体系结构级功率模拟器(ALPS))来得到。一旦已经计算了加权计数器数据,通过在方框330中将加权计数器数据结合在一起,就获得了累加的计数器值。
微处理器消耗的功率取决于许多因子,包括工作时钟频率、应用于微处理器的电压电平,这些因子的值可以在运行期间变化。为了将这些因子考虑在内,在方框340中,基于当前工作频率和电压电平,调整累加的计数器值。例如,所述累加的计数器值可以由当前工作频率和电压电平的乘法因子来调整。
在方框350中,基于所调整的计数器数据,估计由微处理器消耗的功率量。然后,为了防止对所估计的功率消耗中的瞬时变化(例如,峰值功率使用)产生响应,功率使用的过去历史作为因子而被加以考虑。在这一点上,在方框360中,对在过去某些抽样时间段期间获得的所估计的功率使用级别进行平均。执行此操作的一种方法是保持具有已定义的数量的过去功率估计的一个滑动窗口,并且使用加权和来估计平均功率使用。
一旦已经估计了平均功率使用,就可以将它与定义的阈值进行比较。在一个实施例中,所估计的平均功率使用与最大容许功率使用值(TDP)相比较。基于所估计的功率使用与TDP之间的比率,可以调高或调低微处理器的频率、工作电压电平和性能。例如,当该比率达到1时,启动轻度抑制机制。
与使用热二极管的传统微处理器相关的一个问题是,它们在不同的系统中不提供确定性结果。例如,因为管芯的温度是使用热二极管进行测量的,所以多个因子可能影响温度测量结果和系统的性能。此外,每个微处理器都以稍微不同的参数和稍微不同的行为而制造,所述参数例如是静态功率级别、温度响应等,所述行为例如是散热器性能、质量等。结果,使用同一基准程序在相似条件下测量的不同微处理器的性能将提供不同的性能结果。因为对于不同的微处理器,抑制机制何时被激活的时间不同,所以每个微处理器的行为将是不确定的,导致一个微处理器比另一个微处理器运行的更好。为了避免所有微处理器的高结温度,可能需要指定一个较大的容限值(margin value),使得在欠敏感的微处理器中,抑制机制也能及时被激活,而这导致了性能的损失。与非确定性行为相关的另一个问题是在测试和系统调试中增加的复杂度,所述测试和系统调试通常由OEM和购买了大量诸如笔记本的便携式电脑系统的大公司的IT经理来执行。
与之不同,根据一个实施例来实现热控制系统的微处理器提供了确定性行为。这意味着微处理器的性能不取决于偶然因素,而是每次运行都相同。这意味着,当同一应用程序在不同的主板上运行时,它们将产生相同的计数值并且具有相同的抑制行为和性能。通过使用相同的最大容许功率使用值和加权因子值,由本发明教导的方案能够以确定性方式激活抑制机构,这是很有利的。
在一个实施例中,在诸如笔记本计算机的便携式计算机系统中实现热控制系统,以提供确定性抑制行为。人们已经发现在便携式计算机系统中,确定性行为是特别期望的。在一个实施例中,通过使用热控制系统来检测微处理器以低温工作以及微处理器温度接近最大值的状况,热控制系统的数字功率监控能力被用于改进便携式计算机系统的性能。通过这样做,可以在低温状况下通过增大工作频率和电压电平来提高性能级别。此外,当微处理器的温度接近最大值时,可以启动轻度抑制机制。通过使用轻度抑制机制可以避免最大容许温度,而不用使用全抑制机制。
由本发明执行的操作能以存储于任一类型的机器可读介质的软件程序形式来实现,所述机器可读介质能够存储或编码指令序列用于机器执行。术语“机器可读介质”应当包括但不局限于固态存储器、磁和光存储器和载波信号。此外,本发明没有参考任何具体编程语言而进行描述。应当知道,多种编程语言可以用于实现这里描述的本发明的教导。
尽管已经描述和示出了本发明的前面的实施例,但是本领域技术人员应当理解,可以对本发明进行诸如在本发明精神和范围内的那些所建议的和其它的变化和修改。因此本发明的范围由所附的权利要求所限定。
权利要求
1.一种微处理器,包括至少一个抑制机构;以及热控制子系统,用于估计由所述微处理器使用的功率量,并且基于所述所估计的功率使用来控制所述至少一个抑制机构。
2.如权利要求1所述的微处理器,其中基于在所述微处理器中执行的至少一种活动的发生次数,估计由所述微处理器使用的功率量。
3.如权利要求1所述的微处理器,其中所述热控制子系统包括功率使用监控单元,所述功率使用监控单元确定在抽样时间段内由所述微处理器执行的至少一种活动的发生次数,并且基于(1)与所述至少一种活动相关联的计数值、(2)所述微处理器的当前时钟频率和(3)工作电压电平,计算所述所估计的功率使用。
4.如权利要求3所述的微处理器,其中通过以在先前抽样时间段期间获得的已定义的数量的最近估计的功率使用值来平均当前估计的功率使用值,所述功率使用监控单元估计由所述微处理器使用的功率量。
5.如权利要求1所述的微处理器,其中所述热控制子系统还包括抑制控制单元,用于将由所述微处理器使用的所估计的功率量与阈值相比较,并且如果由所述微处理器使用的所述所估计的功率大于所述阈值,则激活所述抑制机构;或者如果由所述微处理器使用的所述所估计的功率小于所述阈值,则禁止所述抑制机构。
6.如权利要求1所述的微处理器,其中所述抑制机构由所述热控制子系统以确定性方式激活。
7.如权利要求2所述的微处理器,其中由所述热控制子系统监控的所述至少一种活动包括下列活动的至少一个(1)浮点运算、(2)高速缓存访问和(3)指令译码。
8.一种方法,包括估计由微处理器使用的功率量;以及基于所述估计的功率使用,控制包含在所述微处理器中的至少一个抑制机构。
9.如全利要求8所述的方法,其中基于在所述微处理器中执行的至少一种活动的发生次数,估计由所述微处理器使用的功率量。
10.如权利要求8所述的方法,其中所述估计由所述微处理器使用的功率量还包括对在抽样时间段内由所述微处理器执行的至少一种活动的发生次数进行计数;以及根据所述微处理器的当前工作频率和电压电平,调整所述至少一种活动的发生次数。
11.如权利要求10所述的方法,其中所述估计由所述微处理器使用的功率量还包括,以在先前抽样时间段期间获得的已定义的数量的最近估计的功率使用值来平均当前估计的功率使用值。
12.如权利要求8所述的方法,还包括将由所述微处理器使用的所述所估计的功率量与阈值相比较;如果由所述微处理器使用的所述所估计的功率大于所述阈值,则激活所述至少一个抑制机构;以及如果由所述微处理器使用的所述所估计的功率小于所述阈值,则禁止所述至少一个抑制机构。
13.如权利要求8所述的方法,其中所述抑制机构以确定性方式激活。
14.如权利要求10所述的方法,其中所监控的所述至少一种活动选自下列活动(1)浮点运算、(2)高速缓存访问和(3)指令译码。
15.一种热控制系统,包括功率使用估计器,用于基于在已定义的时间段期间由微处理器执行的至少一种活动的发生次数,估计由所述微处理器使用的功率量;以及抑制控制单元,用于基于由所述微处理器使用的所述所估计的功率量,控制包含在所述微处理器中的至少一个抑制机构。
16.如权利要求15所述的热控制系统,其中基于(1)至少一种活动的发生次数、(2)所述微处理器的当前时钟频率和(3)工作电压电平,所述功率使用估计器估计由所述微处理器使用的功率量。
17.如权利要求15所述的热控制系统,还包括过滤器,用于通过将在先前抽样时间段期间获得的最近估计的功率使用值应用于当前估计的功率使用值,调整所述所估计的功率使用量。
18.如权利要求15所述的热控制系统,其中所述抑制控制单元将由所述微处理器使用的所述所估计的功率量与阈值相比较,并且如果由所述微处理器使用的所述所估计的功率大于所述阈值,则激活所述抑制机构;或者如果由所述微处理器使用的所述所估计的功率小于所述阈值,则禁止所述抑制机构。
19.一种提供指令的机器可读介质,当所述指令由微处理器执行时,使得所述微处理器执行包括下述步骤的操作估计由微处理器使用的功率量;以及基于所述所估计的功率使用,控制包含在所述微处理器中的至少一个抑制机构。
20.如权利要求19所述的机器可读介质,其中基于在所述微处理器中执行的至少一种活动的发生次数,估计由所述微处理器使用的功率量。
21.如权利要求19所述的机器可读介质,其中估计由所述微处理器使用的功率量的操作还包括读取计数数据和调整步骤,其中,所述计数数据表示在抽样时间段内由所述微处理器执行的至少一种活动的发生次数,所述调整步骤根据所述微处理器的当前工作频率和电压电平来调整所述至少一种活动的发生次数。
22.如权利要求21所述的机器可读介质,其中估计由所述微处理器使用的功率量的操作还包括,以在先前抽样时间段期间获得的已定义的数量的最近估计的功率使用值来平均当前估计的功率使用值。
23.如权利要求19所述的机器可读介质,其中所述操作还包括将由所述微处理器使用的所述所估计的功率量与阈值相比较;如果由所述微处理器使用的所述所估计的功率大于所述阈值,则激活所述至少一个抑制机构;以及如果由所述微处理器使用的所述所估计的功率小于所述阈值,则禁止所述至少一个抑制机构。
24.如权利要求19所述的机器可读介质,其中所述抑制机构以确定性方式被激活。
25.如权利要求21所述的机器可读介质,其中所监控的所述至少一种活动选自下列活动(1)浮点运算、(2)高速缓存访问和(3)指令译码。
全文摘要
本发明描述了一个包括微处理器(102)和热控制子系统(104)的系统。微处理器(102)包括用来支持指令处理的执行资源并消耗功率。微处理器(102)还包括至少一个抑制机构(106),以减少由微处理器(102)产生的热量。热控制子系统(104)被配置为用来估计由微处理器(102)使用的功率量,并且基于所估计的当前功率使用量来控制所述抑制机构(106),以确保结温度不会超出最大容许温度。
文档编号G06F1/32GK1526089SQ02812853
公开日2004年9月1日 申请日期2002年12月26日 优先权日2002年1月2日
发明者多伦·奥伦斯汀, 龙尼·罗恩, 多伦 奥伦斯汀, 罗恩 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1