CN101241392A - 根据工作温度的变化来动态改变功耗的微处理器及方法 - Google Patents
根据工作温度的变化来动态改变功耗的微处理器及方法 Download PDFInfo
- Publication number
- CN101241392A CN101241392A CNA2008100070742A CN200810007074A CN101241392A CN 101241392 A CN101241392 A CN 101241392A CN A2008100070742 A CNA2008100070742 A CN A2008100070742A CN 200810007074 A CN200810007074 A CN 200810007074A CN 101241392 A CN101241392 A CN 101241392A
- Authority
- CN
- China
- Prior art keywords
- microprocessor
- temperature
- working
- frequency
- voltage
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Microcomputers (AREA)
- Power Sources (AREA)
Abstract
一种根据工作温度的变化来动态改变功耗的微处理器及方法,此微处理器包括:一核心逻辑电路,根据一工作核心时钟工作以执行程序指令;一温度传感器,用来监测核心逻辑电路的工作温度;一时钟产生电路,用于产生工作核心时钟以提供给核心逻辑电路;以及一控制电路,连接于温度传感器以监测核心逻辑电路的工作温度,并包含了微处理器可以稳定工作在一第一温度的多个第一工作点,每一个第一工作点都有其各自对应的工作电压和工作频率;该控制电路使核心逻辑电路在多个第一工作点间转换运行。本发明可根据微型计算机的工作温度变化来减少功耗和提高性能。
Description
技术领域
本发明涉及微型计算机中功耗与性能的相互影响问题,尤其是可根据微型计算机的工作温度变化来减少功耗和提高性能。
背景技术
对移动PC、笔记本计算机、台式机和工作站等不同类型的计算机系统来说,功耗的管理都是非常的重要的问题。比如,对大部分的笔记本计算机用户来说,电池的寿命问题至关重要。而据报道,在很多数据中心,运行服务器所需要消耗的能源比购买服务器本身更加昂贵。因此,才会有对“绿色“计算机的需求。在计算机系统中,大部分的功耗是被微处理器消耗的。所以,减少计算机系统功耗的关键在于减少微处理器的功耗。
在已有的微处理器设计中,微处理器的性能,比方说在给定时间内微处理器所能处理的指令数,主要由时钟主频来决定。许多系统对微处理器的性能有一定的要求,而且这个要求在时间上会随着系统工作状态的不同而有所变化。比如,许多现代的微处理器中的一些系统软件例如,BIOS或者操作系统具有通过调整微处理器的工作频率来动态的调整其性能指标的能力。
微处理器的动态功耗是与时钟主频和与工作电压的平方成正比的。然而,对大部分的现代微处理器来说,在每一个工作频率下,都有一个相对应的工作电压最小值,当电压小于这个幅值时,微处理器将不能正常工作。因此,我们需要通过降低一定性能或是一定频率下的工作电压来降低微处理器的功耗。
此外,用户对处理器的性能是有一定要求的。而由上面的讨论可知,在其它参数相同的情况下,微处理器工作的频率越高,其性能越好。因此,一个很常用的提高微处理器性能的方法是超频。在传统方法中,计算机通过增加前端总线的频率来进行超频,这使得微处理器和其它连接到前端总线的电路工作在一个较高的时钟频率下。超频本身也是有一些缺点的。首先,系统超频总是要求计算机制造商要提高标准制冷系统的性能或者用具有更高制冷能力的制冷系统来替代原来的标准制冷系统,比如采用转速更高的风扇,更多的散热片,液态冷却液,相变制冷甚至是液氮制冷。第二,超频可能导致微处理器运行的不稳定,潜在的影响是数据的丢失或者损坏,以及对微处理器甚至是整个系统的损害。这时因为超频一般是超过了制造商的产品规格的,制造商可能并没有测试在超频频率下微处理器的运行状况,因此不能保证在此频率下微处理器能正常工作。第三,在将前端总线超频时,其余的设备可能也与前端总线相连,比方说内存,芯片组,显卡等,这些设备也可能会工作在一个较高的频率下,这也就存在了上文中提到的需要附加的制冷系统和性能不稳定的问题。因此,需要找到一个改进的方法,可以在增加微处理器频率的同时避免传统的超频所带来的问题。
此外,如前文所述,一些微处理器为一些系统软件例如,BIOS或者操作系统提供了改变微处理器的工作频率的能力。例如,在高级配置和电源接口(Advanced Configuration and PowerInterface,ACPI)规范3.0版本中,依照CPU的工作主频规定了P状态,并且为系统软件提供了一种使微处理器转换到指定的P状态的方法。在频率增加的情况下,根据微处理器的物理特性,微处理器必须通过增加其工作电压来适应频率的增加。完成电压转换所需要的时间可能会很长,这取决于所需增加的电压的幅度。如图4和前文所述,传统的微处理器增加电压到预定要求并且简单地将频率从现有频率值增加到所要求达到的频率值。根据传统的从现在的P状态转换到新的P状态的方法,微处理器在整个P状态转换期间工作在一个较低的频率,此时性能比较差。因此,需要找到一种改进方法来提高在P状态转换期间微处理器的性能。
最后,一些微处理器包含热监控和保护装置。例如,如图1所示,不同的Intel的处理器都具有增强节电功能,其包含了热监控(Thermal Monitor 2,TM2)自动热保护装置。TM2被应用于Pentium M的处理器,也被包含进了Pentium 4家族的新模型中。英特尔的Pentium 4处理器具有2MB的二级缓存和533MHZ的前端数据总线,其2005年7月的芯片手册中写道:“当内建感测器监测到核心温度过高时,微处理器能够根据软件可编程的特别模块寄存器(Model Specific Registers,MSR)自动地转换到一个较低频率或是较低电压。等待一段固定的时间后,如果核心温度降低到可接受值,微处理器的频率或者电压将被提高到原来的幅值。”图11为此操作的例图。
微处理器采用的TM2自动热保护装置仅依据两个工作点,即内定工作点和系统软件指定的工作点来工作是存在缺陷的。特别是,如果这两个工作点之间距越大,那么由于工作量和环境的综合影响,微处理器可能不能工作在理想的频率和电压下。从另一方面来说,两个工作点的间距越小,在工作量大和高温环境下,热保护装置所能提供的热保护能力越小。此外,如果转换的时间太长,工作在较小频率和电压下的微处理器的性能将受影响。因此,需要的是一个高性能的热监测和保护装置。
发明内容
本发明的目的在于提供一种可以根据其工作温度的变化来动态改变功耗的微处理器,此微处理器包括:一核心逻辑电路,根据一工作核心时钟工作以执行程序指令;一温度传感器,用来监测核心逻辑电路的工作温度;一时钟产生电路,用于产生工作核心时钟以提供给核心逻辑电路;以及一控制电路,连接于温度传感器以监测核心逻辑电路的工作温度,并包含了微处理器可以稳定工作在一第一温度的多个第一工作点,每一个第一工作点都有其各自对应的工作电压和工作频率;该控制电路使核心逻辑电路在多个第一工作点间转换运行。
本发明的另一目的在于提供一种根据工作温度的变化来动态改变微处理器功耗的方法,该方法包括:选择一第一温度值;依据第一温度值确定多个第一工作点,每一个工作点都有其各自对应的工作电压和工作频率;监测微处理器运行时的工作温度;以及控制微处理器于多个第一工作点间转换工作,以使被监测的微处理器运行时的工作温度能保持在第一温度值内。
本发明所述的根据工作温度的变化来动态改变功耗的微处理器及方法,可根据微型计算机的工作温度变化来减少功耗和提高性能。
附图说明
本发明通过以下图示及说明,可得以更深入的了解:
图1为本发明的包含微处理器的计算机系统模块示意图;
图2为本发明将图1中的微处理器102用一种性能优化的方法,从现在的P状态或者是工作点,转换到一个新的P状态或者是工作点的流程图;
图3为本发明将图1中的微处理器102根据图2中的实施例进行P状态转换时的图像;
图4是微处理器在传统方法下进行P状态转换时的图像;
图5为根据本发明,当微处理器102的工作温度低于某一温度幅值,为了节省功耗,图1中的微处理器102减少工作电压时的流程图;
图6是图1中的微处理器102根据图5中的实施例而运行的图像;
图7是根据本发明,当微处理器102的工作温度低于某一幅值时,图1中的微处理器102增加其性能的流程图;
图8为图1中的微处理器102根据图7中的实施例而工作在过载状态时的图像;
图9为本发明的一种可以使图1中的微处理器在一个特定的温度范围内动态工作在最高性能或者最高性能左右的方法;
图10是图1中的微处理器102根据图9中的实施例而动态工作在最优化性能及特定的温度范围时的图像;
图11是TM2热监控和自动热保护装置的运行图像;
图12是将本发明的图5、图7以及图9结合到一起的实施例的图像;
图13是根据本发明,产生图1中的微处理器102所包含的工作点的流程图;
图14为根据另一个实施例,图1中的微处理器102在工作温度低于相应的低工作温度阈值时,为了节省功耗而降低工作电压的流程图;
图15是图1中的微处理器102根据图14中的实施例而运行的图像。
具体实施方式
参照图1,该图是本发明的包含微处理器102的计算机系统100模块示意图。计算机系统100包含了一个连接于微处理器102的稳压器模块(Voltagc regulator module,VRM)108。稳压器模块108具有一输入端用以接收来自微处理器102的电压标识符信号(voltage identifier,VID)144,一输出端用以提供电压锁定信号(Vlock)156给微处理器102,以及一输出端用以提供电源电压输出信号(Vdd)142给微处理器102。微处理器102输出电压标识符信号144以控制稳压器模块108输出特定的电源电压输出信号142来作为微处理器102的电源。当输入的电压标识符信号144的幅值改变时,稳压器模块108逐步调整电源电压输出信号142以达到预期的幅值,此时,稳压器模块108输出一个稳压器模块的电压锁定信号156以表明电源电压输出信号142的幅值已经稳定。在一个实施例中,当电压标识符信号144的输入值改变时,稳压器模块108大约需要15微秒才能达到稳定。在另一个实施例中,电压标识符信号144的幅值每增加一次,稳压器模块108将电源电压输出信号142的幅值增加16mV。
微处理器102中包含了核心逻辑电路106,温度传感器132,电压及频率控制电路104,两个平行工作的锁相环(PLL)112A和112B以及选择器114。电压及频率控制电路104包含了一个时钟倍数控制(clock ratio control)电路128,一个电压标识符控制电路126,一个偏压设定值(bias bit)124以及一个存储器用来存储工作点数据122。电压标识符控制电路126产生出电压标识符信号144给稳压器模块108,并且从稳压器模块108中接收电压锁定信号156。偏压设定值124表明了微处理器102是否有对低功耗或者是高性能的选择。在一个实施例中,偏压设定值124是被系统软件比如系统的BIOS或者是操作系统进行编程的。
温度传感器132监测微处理器102的温度并且输出工作温度134给电压及频率控制电路104。在一个实施例中,温度传感器132包含了多个温度传感器,它们监测微处理器102不同部件的温度值并且提供一个最高工作温度134给电压及频率控制电路104。在一个实施例中,温度传感器132一般位于微处理器中制造商所知的工作温度最高的位置上。
锁相环112A和锁相环112B分别输出时钟信号152A和152B来作为选择器114的输入信号。时钟倍数控制电路128提供锁相环选择信号(PLL select)118,作为选择器114的输入选择信号。根据输入的锁相环选择信号118的值,选择器114选择锁相环112A或者锁相环112B中的时钟信号152A或者152B来作为工作核心时钟信号116。工作核心时钟信号116是核心逻辑电路106的时钟信号。锁相环112A和锁相环112B接收一个总线时钟信号148,此总线时钟信号148是微处理器102从外部总线接收进来的,比如总线时钟信号148是由计算机系统100产生的。时钟倍数控制电路128也产生了两个倍数信号146A和146B,这两个信号分别提供给了锁相环112A和锁相环112B。锁相环112A和锁相环112B分别产生出时钟信号152A和152B,它们的幅值是总线时钟信号148的倍数值,此倍数的改变过程如图3所示。锁相环112将各自的倍数信号146A和146B来作为系数与总线时钟信号148相乘。当输入的倍数信号146的值改变时,锁相环112A和锁相环112B逐渐改变输出的时钟信号152A和152B直到能够达到要求的幅值,此时,锁相环112A或锁相环112B输出一个时钟倍数控制电路的频率锁定信号(Rlock)154以表示时钟信号152A或时钟信号152B已经被锁定在了预定的频率上。根据已知的锁相环的运行,输出的时钟信号152是锁相环112对输入信号的反馈,以使工作核心时钟信号116与总线时钟信号148的频率同步。在一个实施例中,当输入的倍数信号146改变,锁相环112大约需要10微秒的时间来锁存信号。在另一个实施例中,锁相环112可以与总线时钟信号148的频率相乘的系数值范围是整数2到12。
核心逻辑电路106主要用来提取和执行指令以及数据。比如,核心逻辑电路106一般包含了高速缓存存储器,取指令和发布指令的逻辑,结构性的和非结构性的寄存器文件,分支预测单元,地址生成单元,结果写回逻辑,总线接口单元,以及一些执行单元,例如算术单元,整数单元,浮点单元,单指令单元等已知的微处理器结构设计。在一个实施例中,核心逻辑电路106包含了X86结构的微处理器。
核心逻辑电路106一般包含了多个不同的可编程寄存器,包括可编程寄存器158,系统软件可对其进行编程以使微处理器102工作在一个新的工作点,新的工作温度范围或者是其它条件下。工作点是电压和频率的数对(pair)组合,在此条件下,微处理器102可以稳定工作在一个给定的温度下。比如,在一个实施例中,微处理器102在100摄氏度时,可稳定工作在工作点频率为1.0GHz和工作点电压为0.75V。对微处理器102不同工作点的数据描述存储在工作点数据122中,它的用途将在下文中做进一步的阐述。在另一个实施例中,系统软件由按照高级配置和电源管理接口(ACPI)规范的3.0版本定义的P状态值对可编程寄存器158编程。ACPI规范按照CPU的工作频率制定了P状态。虽然ACPI的P状态并没有指明一个工作电压的值,但根据ACPI规范,在每一个支持的P状态下,CPU报告一个微处理器消耗的典型功耗值。由可编程寄存器158输出的预先确定的电压标识符信号136和预先确定的时钟倍数(requested ratio)信号138被输入给了电压及频率控制电路104。可编程寄存器158也可以将工作温度范围作为编程的依据,工作温度范围通过温度范围信号162传送到电压及频率控制电路104,这将在下文的图9和图10有更详细的阐述。根据预先确定的电压标识符信号136,预先确定的时钟倍数信号138以及温度范围信号162的值,电压标识符控制电路126和时钟倍数控制电路128生成了电压标识符信号144,倍数信号146和锁相环选择信号118。
工作点数据122包含有相对每一个工作温度下微处理器102可以稳定工作的工作点设定值(比如电压和频率的数对组合)。图13是一个实施例中确定工作数据的流程图。在一个实施例中,工作点数据122包含了一个在每一个工作温度下所对应的工作点的表格。表格中的每个条目包含了微处理器可稳定工作在给定幅值的电压标识符信号144和给定的工作温度下,锁相环112的最大频率倍数值。在一个实施例中,此表格包含了稳压器模块108能输出的所有电源电压输出信号142的幅值以及相对应的工作温度与频率倍数值。在一个实施例中,工作点数据122包含的频率倍数只对应到部分可能的电源电压输出信号142的幅值,这时微处理器102通过工作点数据122包含的数据来计算其它可能的电源电压输出信号142的幅值的相对应的频率倍数值。在另一个实施例中,通过推断电源电压输出信号142的最大幅值和最小幅值,微处理器102计算出其它可能的电源电压输出信号142的幅值的相对应的频率倍数。在另一个实施例中,根据预先存储在微处理器102中的多项式,微处理器102计算出其它可能的电源电压输出信号142的幅值的相对应的频率倍数。
在一个实施例中,制造商在制造过程中,将工作点数据122存储在微处理器102中,比方说在微处理器102的硬件逻辑中。相应地,在微处理器102的制造过程中,比方说在测试微处理器102的各部件后,生产微处理器架构时,或者是通过微处理器运行时的一些系统软件,工作点的信息被编程进微处理器102的可编程的熔丝,可编程的逻辑,或者非易失性的存储器中。
图2是本发明将图1中的微处理器102用一种性能优化的方法,从现在的P状态或者是工作点,转换到一个新的P状态或者是工作点的流程图。
在步骤202中,微处理器102从系统软件接收一个从当前P状态转换到一个新的P状态的请求信号。在一个实施例中,系统软件用一个改变到新的P状态的请求信号给图1中的可编程寄存器158编程。因此,预先确定的电压标识符信号136和预先确定的核心时钟倍数信号138被传送给图1中的电压及频率控制电路104。在另一个实施例中,只有预先确定的核心时钟倍数信号138被传送给电压及频率控制电路104,新的电源电压输出信号142的值是由工作点数据122确定的。在另外的实施例中,电压及频率控制电路104通过工作点的信息来预先确定温度,比如最高工作温度,以便确定微处理器102可稳定工作在预先确定的核心时钟倍数信号138时的最小电源电压输出信号的值。
在步骤204,图1中的电压及频率控制电路104判断在步骤202中新的P状态给定的工作频率是否比现在的工作频率高。若否则流程进入步骤226,若是则流程进入步骤206。
在步骤206,电压标识符控制电路126增加电压标识符信号144的值以使稳压器模块108开始增加电源电压输出信号142的值。也就是说,电压标识符控制电路126输出一个比当前的电压标识符信号144的值高的电压值。并且,稳压器模块108能够用一种平稳的方法逐渐增加电源电压输出信号的值到一个新的幅值,因此,微处理器102能够在电源电压输出信号转换期间正常运行。也就是说,在稳压器模块108改变电源电压输出信号142的过程中,微处理器102的运行不需要中断。流程进入到步骤208。
在步骤208,如果工作电压电源电压输出信号142被升高到了临近的比较高的电压标识符信号144,电压及频率控制电路104从工作点数据122及相关的工作温度最高工作温度来判断是否能够增加工作核心时钟信号116的频率。如果能够增加工作核心时钟信号116的频率,流程进入步骤216,否则,流程进入步骤212。
在步骤212,电压标识符控制电路126等待稳压器模块的电压锁定信号156,此信号表明电源电压输出信号已经增加到了步骤206中的预定值。流程进入到步骤214。
在步骤214,电压及频率控制电路判断是否已经进入了步骤202中新的P状态。如果没有进入,流程返回到步骤206中以继续增加电压电源电压输出信号142,如果需要的话,还将增加工作核心时钟信号116,直到能够进入步骤202中新的P状态;否则,流程返回到步骤202,等待下一个P状态转换请求。
在步骤216,时钟倍数控制电路128输出一个新的倍数信号146给尚未运行的锁相环112以启动锁相环112锁存下一个总线时钟信号148的最高倍数值,而不是根据当前的工作核心时钟信号116,当前的工作核心时钟信号116是通过即将更新的电源电压输出信号142的值确定的,此电源电压输出信号142的值应与步骤206输出的电压标识符信号144相对应。一般说来,并未运行的锁相环112的新频率倍数信号比当前运行中的锁相环112的频率倍数信号大一等级。然而,如果工作点曲线的斜率很大,新的倍数可能是当前倍数的大两等级甚至更多等级。如果锁相环112A的输出时钟信号152A被选择器114选为工作核心时钟信号116,那么锁相环112A处于运行状态,锁相环112B并未运行。或者锁相环112B的输出时钟信号152B被选择器114选为工作核心时钟信号116,那么锁相环112B处于运行状态,锁相环112A并未运行。接下来,流程进入到步骤218。
在步骤218,电压标识符控制电路126等待稳压器模块的电压锁定信号156,此信号表明电源电压输出信号142已经增加到了预定的幅值。流程进入到步骤222。
在步骤222,倍数信号146等待传输给锁相环112的时钟倍数控制电路128的频率锁定信号154,此信号表明在步骤216输出的时钟信号152已经锁存在一个新的频率要求上。流程进入到步骤224。
在步骤224,倍数信号146切换锁相环选择信号118,以选择未运行的锁相环112输出时钟信号152来作为工作核心时钟信号116,这使原来未运行的锁相环112进入运行状态而原来运行中的锁相环112进入未运行状态。当锁相环的时钟倍数改变时,锁相环112的输出信号不能被使用,直到锁相环被锁存在一个新的频率下。更进一步说,由于微处理器102包含两个锁相环即锁相环112A和锁相环112B,因此它们可以交替运行在工作状态和未工作状态,工作核心时钟信号116能够有效地快速进行改变,在本文以及美国专利申请10/816004(CNTR.2216),申请日为4/1/2004卷中都有阐述。在一个实施例中,工作核心时钟信号116在处理器总线转换期间是不发生变化的,因此,在切换锁相环选择信号118以前,时钟倍数控制电路128会做一个辅助的监测并等待总线转换阶段的完成。如图2中的实施例,步骤206到224期间,微处理器能够正常运行就是因为电压标识符信号144的增加量非常小,比如只有16mV的增加。但是,在其他实施例中,电压标识符信号144的预计增加量可能会相当大,在此情况下,流程返回到216和218以便在启动未运行的锁相环112并将其锁定在一个较高倍数以前,稳压器模块108能够先稳定运行。然后流程进入到步骤214。
在步骤226,电压及频率控制电路104判断是否已经进入步骤202中的P状态,如果已经进入了P状态,流程进入到步骤202以等待下一个P状态请求信号的到来;如果没有进入,流程进入到步骤228。
在步骤228,当电源电压输出信号142将要降低到最低的电压标识符信号144时,电压及频率控制电路104由工作点数据122以及最高工作温度来判断工作核心时钟信号116的频率是否需要降低。如果不需要降低频率,流程进入到步骤238,否则,流程进入到步骤232。
在步骤232,时钟倍数控制电路128输出一个新的倍数信号146给未运行的锁相环112以启动未运行的锁相环112并锁存在下一个总线时钟信号148的最低倍数值上,而不是锁存在当前的核心时钟信号116的频率上,这是由即将更新的电源电压输出信号142所要求的,电源电压输出信号142与步骤238输出的电压标识符信号144的值相对应。一般说来,未运行的锁相环112的倍数信号146的新幅值比当前运行的锁相环112的倍数信号的幅值小一等级。然而,如果工作点曲线的斜率很大,新的倍数幅值可能比当前幅值小两等级甚至更多。流程进入到步骤234。
在步骤234,倍数信号146等待传输给锁相环112的时钟倍数控制电路128的频率锁定信号154,以表明按步骤232的要求,输出的时钟信号152已经锁存在一个新的频率上。在一个实施例中,在步骤202中等待接收一个向新P状态改变的请求信号时,未运行的锁相环112被预锁存在了下一个倍数最低值上。这是一种优化,因为当转换到一个更高的P状态时,电压及频率控制电路104必须等待一个很长的时间,以使稳压器模块108完成增加电源电压输出信号142幅值的转换,这个转换时间比将未运行的锁相环112锁存在下一个最高倍数的时间要长;然而,当转换到一个较低的P状态时,电压及频率控制电路104能够立刻降低倍数,而不用等待稳压器模块108完成降低电源电压输出信号142幅值的转换。流程进入到步骤236。
在步骤236,倍数信号146切换锁相环选择信号118,以选择未运行的锁相环112输出时钟信号152来作为工作核心时钟信号116,这使原来未运行的锁相环112进入运行状态而原来运行中的锁相环112进入未运行状态。流程进入到步骤238。
在步骤238,电压标识符控制电路126减少电压标识符信号144的值以使稳压器模块108开始降低电源电压输出信号142的值。也就是说,电压标识符控制电路126输出一个新的电压标识符信号144的值,此新的电压标识符信号144的值比现在的幅值少一等级。并且,稳压器模块108能够用一种平稳的方法降低电源电压输出信号142的值,因此,微处理器102能够在电源电压输出的幅值转换期间正常工作。流程进入到步骤242。
在步骤242,电压标识符控制电路126等待稳压器模块108的电压锁定信号156,此信号表明电源电压输出信号142已经增加到了预定的幅值。流程进入到步骤226。
参照图3,这是图1中的微处理器102根据图2中的实施例进行P状态转换时的示意图。图中横轴的自变量是以微秒为单位的时间量以及以伏特为单位的工作电压电源电压输出信号142。时间的范围是从0到375微秒,它与电压标识符信号144增加电源电压输出信号142的量用同一坐标轴表示,对应的电源电压输出信号142范围是0.7V到1.1V,每一次电压标识符信号144的增加量是16mV。图中纵轴的自变量是以GHz为单位的工作核心时钟信号116的频率。如图3所示,总线时钟频率是200MHz,总线时钟倍数的范围是从2倍到10倍,这使得对应的核心时钟频率范围是从400MHz到2GHz。图3是依据图2的流程所示的从最低的400MHz(2倍),相应的电源电压输出信号142为0.7V时的P状态到最高的2GHz(10倍),相应的电源电压输出信号142为1.1V时的P状态的转换图。在整个的375微秒状态转换期间,微处理器102的性能是在这状态转换期间内核心时钟的个数,也就是在图3中从最低P状态到最高P状态的曲线下的长方形的面积。每个长方形是工作核心时钟信号116的频率与时间的乘积所形成,随着电源电压输出信号142幅值的增加和工作核心时钟信号116的频率增加,这些长方形面积亦逐渐增加。图3的实施例是根据图2的流程图进行状态转换,状态转换期间的微处理器性能大约是408,000个核心时钟周期。
另外,在全部约375微秒内,从最低P状态至最高P状态的P状态转换需要25次电压标识符信号的改变,其中每次电压标识符信号的改变量是16mV,并需要大约15微秒的时间。
图3所做的是从一个P状态到一个更高的P状态的转变,它根据图2的流程以优化状态转换期间的性能。如图2所示,此流程也可以被用作是从一个P状态到一个更低的P状态的转变,以优化状态转换期间的性能。然而,在实际情况中,是当转换到一个更低的P状态时,运行将被优化以降低功耗,也就是,当电压值被转换到指定的幅值时,立刻转换到较低的P状态以降低工作频率并保持在较低P状态的工作频率下。
参照图4,这是微处理器在传统方法下进行P状态转换时的图像。图4与图3大体相同,但是在供给电压逐渐升高到最高P状态时的1.1V以前,微处理器一直工作在400MHz频率(2倍)下,直到达到1.1V时,核心时钟频率直接上升到了2.0GHz(10倍)。因此,如图4所示的实例,性能大约只有150,000个核心时钟周期。
从图3和图4可知,从当前的P状态到另外一个P状态所需的时间可能相当的长,一般在几百个微秒的数量级。图1中的微处理器102根据图2中的流程运行,其优点是依据双锁相环112的设计,在进行P状态转换时,不需要停止传送到核心逻辑电路电路106的工作核心时钟信号116,这使得工作核心时钟信号116的瞬间转换变的可行。也就是说,电压及频率控制电路104能够完成工作点倍乘的转换,而不需要中断核心逻辑电路106执行程序指令。这与传统的微处理器不同,对传统的微处理器来说,它必须至少在单锁相环112锁存新的频率期间停止运行,例如,这个时间可能是10微秒。另外,通过比较图3和图4可知,微处理器102中的核心逻辑电路106依照图2中的流程运行时,在P状态转换期间,它比传统的方法可获得3倍的执行指令的时钟周期数,这可能是几百微秒。这两种性能优化是相当大的,特别是在温度变化比较大的环境下,工作系统要求的P状态转换比较频繁。
由图2中,从步骤206到步骤224或者是从步骤228到步骤242的流程中可以看出,随着电压标识符信号144的增加或者减少,电压及频率控制电路104可能不会进行相应的倍数的增加或者减少,而反之亦然。这取决于电压标识符信号144的每次的改变量,比如16mV,取决于倍数变化时的频率改变量,比如200MHz,取决于存储在工作点数据122中的有效工作点数值或者是从工作点数据122中计算得到的有效工作点数值。因此,比如假设在转换到一个更高的P状态期间,微处理器102当前工作在1.2GHz(6倍)和0.9V。电压及频率控制电路104将运行步骤206以增加电源电压输出信号142到0.916V。如果工作点数据122表明在0.916V时,微处理器102能稳定工作在1.2GHz(6倍),但不能稳定工作在1.4GHz(7倍),那么电压及频率控制电路104放弃运行步骤216到步骤224并且继续工作在1.2GHz直到电源电压输出信号达到一个工作点数据表明可以稳定工作在1.4GHz时的新幅值,此时,电压及频率控制电路104反复运行步骤216到步骤224。在图3所示的实例中,电压及频率控制电路104发生了25次电压标识符信号144的改变和8次工作核心时钟信号116倍数的改变,因此,大约每3次电压标识符信号144的改变后,电压及频率控制电路104进行1次工作核心时钟信号116倍数的改变。
如图3所示的实例中,假定了一条单一的最高工作温度的曲线。然而,图2中的步骤将被图5的实例所用,以实现一个包含了多个工作温度时的工作点的转换。
参照图5,这是当微处理器102的工作温度低于某一温度幅值,根据本发明,为了节省功耗,图1中的微处理器102减少工作电压时的流程图。流程开始于步骤502。
在步骤502,微处理器102的制造商选择一个最高工作温度(Tmax),使用者将微处理器102工作在此温度下,并将最高工作温度的值存储在工作点数据122中。最高工作温度是由装置的技术规格,客户的要求,由计算机制造商提供的制冷系统以及其它一些因素决定的。在一个实施例中,选择的最高工作温度是100摄氏度,虽然其它的值可能也可以被选择。在另一个实施例中,制造商根据市场的需求选择最高工作温度。而有时,制造商为了保证用户可以稳定运行微处理器102而选择最高工作温度,在此温度下,微处理器终生可以稳定运行。在另外的实例中,制造商提供一个10年的保证,虽然其它的值也可以被选择。在另一个实施例中,制造商根据微处理器的加速寿命测试法来确定最高工作温度。在一个实例中,最高工作温度的值被编程进了微处理器102的可编程熔丝(programmable fuse)中。流程进入到步骤504。
在步骤504中,微处理器102的制造商为微处理器102至少选择一个可替换的工作温度(Talt),它比最高工作温度的值要低,并且要将可替换工作温度包含进工作点数据122中。在一个实施例中,微处理器102的生产制造商可能会选择多个可替换工作温度的值以便确定在步骤506中以及图14和15中所涉及到的工作点的信息。在另一个实施例中,微处理器102可能工作在一个内定的可替换工作温度下,此时,系统软件将通过程序替换另一个最高工作温度的值到电压及频率控制电路104所使用的寄存器中。在另外的实施例中,内定的可替换工作温度的值被编程进了微处理器102的可编程熔丝中。流程进入步骤506。
在步骤506,微处理器102的制造商为每一个最高工作温度和可替换工作温度确定其工作点信息。(例如,每一工作频率的电压值表,或至少两个频率的电压值,其中可从这两个频率的电压值计算出其他频率中间电压值。)在一个实施例中,最高工作温度和可替换工作温度的工作点信息是由图13流程所决定的。流程进入到步骤508。
在步骤508,当微处理器102工作在一个给定的工作频率时,微处理器102的工作温度将被监测。也就是说,温度传感器132监测当前的工作温度134并将此温度传送给图1中的电压及频率控制电路104。在一个实施例中,给定的工作频率是一个内定值,它只是一个微处理器102能够工作的频率。在另一个实施例中,系统软件使微处理器工作在一个指定的工作频率下,比如,系统软件可能是系统的BIOS或者是操作系统。在另外的实施例中,系统软件通过将性能状态(P状态)的值编程进微处理器102中来使微处理器工作在一个指定的工作频率下。在另一个实施例中,P状态的值遵守高级配置和电源管理接口(ACPI)规范,比方说ACPI的3.0规范。流程进入到步骤512。
在步骤512,电压及频率控制电路104判断当前温度是否比可替换工作温度的幅值低。由于各种原因,当前温度可能会比可替换工作温度的幅值低,比如,由于执行程序而导致的微处理器工作量减少,或者是运行环境的改变,例如,机房空调开启或者拿走了微处理器102附近阻碍空气流通的障碍物。更进一步说,如图5所示,电压及频率控制电路104通过减少电源电压输出信号142来减少工作温度134,以便减少微处理器的功耗。另外,由于微处理器102工作在较低电压下时,消耗的功率比较小,它的工作温度134便能够一直低于可替换工作温度的值,因此,更有利于长时间的工作在较低温度下以节省功耗。如果当前的工作温度134不低于可替换工作温度的值,流程进入到步骤522,否则,流程进入到步骤514。
在步骤514,电压及频率控制电路104通过微处理器102工作在当前频率和可替换工作温度时的工作点信息来确定转换电压的值。电压及频率控制电路104可能从一个表中查询电压值或者是通过存储在工作点信息122中的工作点数据来确定电压值。流程进入到步骤516。
在步骤516,电压及频率控制电路104判断微处理器102当前是否工作在步骤514中确定的工作电压下。如果是,流程返回到步骤508,否则,流程进入到步骤518。
在步骤518,电压及频率控制电路104减少工作电压到步骤514中确定的电压幅值,也就是输出合适的电压标识符信号144的值给图1中的稳压器模块108,这相应地提供了一个降低的电源电压输出信号142的值给微处理器102。在实施例中,电压及频率控制电路104通过相当小的幅度来减少电源电压输出信号142,例如幅度为16mV,直到其达到步骤514中所确定的幅值。流程进入步骤508。
在步骤522,电压及频率控制电路104判断微处理器102是否工作在当前频率的最高电压下,例如,当前频率在最高工作温度下的电压值。如果是,流程进入到步骤508,否则,流程进入到步骤524。
在步骤524,电压及频率控制电路104提高工作电压到最大值。在一个实施例中,电压及频率控制电路104通过相当小的幅度来增加工作电压电源电压输出信号142,例如幅度为16mV,直到其达到最大值。流程返回到步骤508。
根据图14和15所示的另一个实施例,微处理器102的制造商确定了多个替换温度,而不仅是只有一个替换温度,并存储了对应于多个替换温度的工作点信息。在此实施例中,随着由于工作量和工作环境的不同而引起的温度的变化,微处理器102的运行电压可能在最高温度的电压和多个替换温度的电压中转换。因此,要根据所要求的频率或者性能来使微处理器运行在较低的功耗下,比如,可能由操作系统或者其它的软件来确定频率和性能要求。
参照图6,这是与图5的实例相对应的微处理器的运行图像。图中横轴的自变量是以伏特为单位的电源电压输出信号142。图中纵轴的自变量是以GHz为单位的工作核心时钟信号116。如图6所示,总线时钟频率是200MHz,总线时钟倍数的范围是从2倍到10倍,这使得对应的工作核心时钟信号116范围是从400MHz(2倍)到2GHz(10倍)。图像中有两条电压及频率曲线,一条是最高工作温度下的,在此实例中为100摄氏度,一条是可替换工作温度下的,在此实例中为60摄氏度。如图6所示的实例,1.1V的工作点对应的在最高工作温度下的工作频率为2.0GHz,0.972V的工作点对应的在可替换工作温度下的工作频率为2.0GHz。因此,在图6所示的实例中,当工作在2.0GHz时,如果电压及频率控制电路104判断工作温度134低于60摄氏度,电压及频率控制电路104可能会将电源电压输出信号142的值从1.1V降低到0.972V。如图6所示,如果工作温度134低于可替换工作温度的值,工作电压电源电压输出信号142可能会根据每一个工作核心时钟信号116的值而降低到一个比较低的幅值,此时所能节省的微处理器102的功耗比工作在电源电压输出信号142的最高值和工作核心时钟信号116时所能节省的功耗要多。
由图5和图6可知,此实例可以在所要求的性能水平下降低微处理器102消耗的功耗。下面的例子将做进一步的阐述。假定计算机系统100只被用来看DVD,则操作系统相应地判断只需要一个较低的性能要求和能够降低功耗。因此,操作系统可以通过编程使微处理器102工作在1.2GHz的时钟频率上。假定微处理器102的工作温度134低于可替换工作温度的幅值60摄氏度,则电压及频率控制电路104降低工作电压电源电压输出信号142到一个较低的幅值上,以进一步减少微处理器102的功耗。
图5和图6所示的实例的另一个优点并不仅仅是潜在地降低了微处理器102的动态功耗,而是潜在地降低了微处理器102的静态功耗。静态功耗的消耗主要是因为即使没有状态转换时,晶体管中也会有相当大的功耗泄漏。泄漏的功耗与工作电压成正比。因此,根据图5和图6的实例来降低工作电压电源电压输出信号142也可以减少静态功耗。更进一步说,即使是电源电压输出信号142的值减小的幅度很小,都能节省相当大的功耗。
参照图7,这是根据本发明,当微处理器102的工作温度低于某一幅值时,图1中的微处理器102增加其性能的流程图。图7中所提到的方法在这里被称作“过载”或者是“过载态”以区别于传统的超频。在传统的超频中,其微处理器102并不监测其工作温度并根据工作温度而在最高倍数和过载倍数间调整其工作频率的倍数值。流程进入到步骤704.
在步骤704,制造商挑选出一个最高工作温度,在此工作温度下,微处理器102可正常工作,此温度被称为是最高工作温度并被包含进了工作点数据122中。最高工作温度是由装置的技术规格,客户的要求,由计算机制造商提供的制冷系统以及其它一些因素决定的。在一个实施例中,选择的最高工作温度是100摄氏度,虽然其它的值可能也可以被选择。在另一个实施例中,制造商根据市场的需求选择最高工作温度。而有时,制造商为了保证用户可以稳定运行微处理器102而选择最高工作温度,在此温度下,微处理器终生可以稳定运行。在另外的实例中,制造商提供一个10年的保证,虽然其它的值也可以被选择。在另外的例子中,制造商根据微处理器的加速寿命测试法来确定最高工作温度。在一个实例中,最高工作温度的值被编程进了微处理器102的可编程熔丝中。流程进入到步骤706。
在步骤706中,制造商确定一个最高工作频率(Fmax),在此频率下,微处理器102可稳定工作在最高工作温度下。制造商还会确定一个最高工作电压(Vmax),这是微处理器102在最高工作频率和最高工作温度下工作时的电压。在此实施例中,最高工作温度的工作点数据是由图13的实例确定的。在图8所示的实例中,最高工作电压和最高工作频率的值分别为1.1V和2.0GHz(10倍)。流程进入到步骤708。
在步骤708,制造商挑选出一个过载时的工作温度(Tov)并被包含进了工作点数据122中。过载工作温度的值比最高工作温度的值要低。过载工作温度也是由装置的技术规格,客户的要求,由计算机制造商提供的制冷系统以及其它一些因素决定的。在一个实施例中,如图8所示,选择的过载工作温度是75摄氏度,虽然其它的值可能也可以被选择。流程进入到步骤712。
在步骤712中,制造商确定最高过载工作频率(Fov),在此频率下,微处理器102可稳定工作在过载工作温度下。制造商还会确定一个最高过载工作电压(Vov),这是微处理器102在最高过载工作频率和过载工作温度下工作时的电压。在此实施例中,过载工作温度的工作点数据是由图13的实例确定的。在图8所示的实例中,最高过载工作电压和最高过载工作频率的值分别为1.132V和2.4GHz(12倍)。不同的幅值要求使微处理器102工作在过载状态,而最高工作温度、过载工作温度、最高工作频率、最高过载工作频率、最高工作电压、最高过载工作电压等数据值被存储进微处理器102并被当作是图1中工作点数据122的一部分。流程进入到步骤714。
在步骤714,监测微处理器102的工作温度。也就是说,温度传感器132监测微处理器102当前的工作温度,并把工作温度134传送给图1中的电压及频率控制电路104。开始时,微处理器102工作在最高工作电压和最高工作频率。在一个实施例中,系统软件通过编程微处理器102而控制微处理器102可以或者不可以工作在过载状态下。流程进入到步骤716。
在步骤716,电压及频率控制电路104判断当前工作温度134是否比步骤708中确定的过载工作温度的幅值低。由于各种原因,当前温度可能会比过载工作温度的幅值低,比如,由于执行程序而导致的微处理器工作量减少,或者是运行环境,或是制冷系统的改变。更进一步说,如图7所示,电压及频率控制电路104通过减少工作核心时钟信号116以减少当前的工作温度134,以便减少微处理器102的功耗。如果当前的工作温度134不低于过载工作温度的值,流程进入到步骤724,否则,流程进入到步骤718。
在步骤718,电压及频率控制电路104判断工作核心时钟信号116是否已经达到了最高过载工作频率。如果达到了,流程返回到步骤714以继续监测环境温度;否则,流程进入到步骤722。
在步骤722,如图8所示,电压及频率控制电路104控制稳压器模块108和锁相环112以使微处理器102工作在最高过载工作频率和最高过载工作电压下。并且,在这里所描述的电压及频率控制电路104使微处理器在最高过载工作频率和最高过载工作电压下转换的方法与图2中从步骤206到步骤224的转换过程相类似,依据过载工作温度曲线,微处理器102能够稳定工作在过载工作温度下。流程返回到步骤714以继续监测当前的工作温度134。
在步骤724,电压及频率控制电路104判断工作核心时钟信号116是否已经达到了最高工作频率。如果达到了,流程返回到步骤714以继续监测环境温度;否则,流程进入到步骤726。在此,图9中的TM3装置可能与图7中的过载装置结合使用,因此,流程也可能从步骤724进入到图9中的步骤918。
在步骤726,如图8所示,电压及频率控制电路104控制稳压器模块108和锁相环112以使微处理器102工作在最高工作频率和最高工作电压下。并且,在这里所描述的电压及频率控制电路104使微处理器在最高工作频率和最高工作电压下转换的方法与图2中从步骤226到步骤242的转换过程相类似,依据最高工作温度曲线,微处理器102能够稳定工作在温度最高的工作温度下。由于步骤716中所提及的各种原因,当前温度可能会比过载工作温度的幅值高,比如,微处理器102工作量的增加,或者是运行环境的改变。更进一步说,根据步骤724到726,电压及频率控制电路在需要的情况下,可能会通过当前的工作温度134的增加和降低工作核心时钟信号116以避免微处理器102的温度过高,在可能的情况下,可以在其它时间启动微处理器102以工作在过载状态。流程返回到步骤714以继续监测当前的工作温度134。
参照图8,这是图1中的微处理器102根据图7中的实施例而工作在过载状态时的图像。图中横轴的自变量是以伏特为单位的电源电压输出信号142。电源电压输出信号142范围是从0.7V到1.1V。图中纵轴的自变量是以GHz为单位的工作核心时钟信号116。如图8所示,总线时钟频率是200MHz,总线时钟倍数的范围是从2倍到10倍,这使得对应的核心时钟频率范围是从400MHz到2GHz。图8是对应于图7的流程的,从工作点数据为最高工作电压和最高工作频率即1.1V和2.0GHz,温度为最高工作温度即100摄氏度转换到过载工作点,也就是最高过载工作电压和最高过载工作频率即1.132V和2.4GHz,温度为过载工作温度即75摄氏度时的转换曲线。
过载状态下运行的一个优点是可以在传统的包含微处理器102的计算机系统100所提供的制冷系统下工作。过载状态可以使微处理器102动态运行在过载频率下或者是低于过载频率下,这主要取决于工作量和运行环境的不同。因此,传统的制冷系统对于微处理器102来说,制冷性能是足够的。相反的,传统的超频方法没有监测微处理器102的工作温度以便自动动态调整频率。也就是说,频率被固定在了超频上,或者是最好情况下,可以由用户通过BIOS来调整频率,这并不能确保微处理器的稳定运行。过载状态与超频相比,提供了一个相似的优点,那就是可以将一些电子触点连接到微处理器的外围以便启动总线频率倍数,比如由一些AMD Athlon部件提供。过载的另一个优点是连接到前端总线的其它部件不需要工作在一个较高的时钟频率下,因此,不会产生传统的制冷系统不能满足要求以及性能不稳定的问题。过载的另外的优点是由于频率的变化是在微处理器102内部的,因此在频率变化时,不需要中断外部的处理器总线。过载的优点还包括由于过载方法能够使微处理器102制造商测试在过载状态时的工作状况,因此可以保证微处理器在过载工作点下稳定工作,这是传统的超频方法不能实现的。
参照图9,根据本发明,一种可以使图1中的微处理器在一个特定的温度范围内动态工作在最高性能或者最高性能左右的方法。图9中的方法被称作是“TM3”,因为它是对Intel的“TM2”的改进。流程从步骤902开始。
在步骤902,选择了一个工作温度的范围。这个工作范围是微处理器102可以在最高性能下运行的范围。工作范围是由最低工作温度(Tmin)和最高工作温度(Tmax)确定。在一个实施例中,最低工作温度和最高工作温度可能是只给定最低工作温度或者最高工作温度其中一个温度和一个增量,或者是一个范围,或者是最低工作温度和最高工作温度的值。在一个实施例中,系统软件将此范围编程进了可编程寄存器158。在另一个实施例中,可编程值可能是由用户来选择的。温度范围162被提供给图1中的电压及频率控制电路104。在另外的实施例中,温度范围162由微处理器102的制造商决定。在一个实施例中,预先指定的工作范围是内定温度范围,可以被可编程寄存器158改变。而在另一个实施例中,最高工作温度的值由微处理器102的制造商预先指定而最低工作温度的值是由系统软件编程确定。在另外的实施例中,TM3的特性由系统软件来决定是否应用。流程进入到步骤904。
在步骤904,监测微处理器102的工作温度。也就是说,温度传感器132监测微处理器102当前的工作温度134并将此温度传送给图1中的电压及频率控制电路104。开始时,微处理器102工作在内定的工作核心时钟信号116与电源电压输出信号142工作点。然而,过一段时间后,随着工作温度134的变化,电压及频率控制电路104在许多不同的工作点间转换。许多原因例如工作量,外部环境以及制冷系统的变化,都会导致工作温度134的不同。流程进入到步骤906。
在步骤906,电压及频率控制电路104判断当前温度是否比步骤902中确定的最高工作温度高。如果不高的话,流程进入步骤918,否则,流程进入步骤908。
在步骤908,电压及频率控制电路104判断电源电压输出信号142是否已经是由稳压器模块108提供的最低的电压标识符信号144。如图10所示,电源电压输出信号142在0.7V时是由稳压器模块108提供的最低电压。如果电源电压输出信号142已经是最低的电压标识符信号144,流程返回到步骤904以继续监测微处理器温度,否则,流程进入步骤912。
在步骤912,电压及频率控制电路104从工作点数据122判断当工作电压电源电压输出信号142降低到步骤916中的下一个最低电压标识符信号144时,是否工作核心时钟信号116的频率需要被降低。如果不需要,流程进入到步骤916;否则,流程进入到步骤914.
在步骤914,时钟倍数控制电路128使工作核心时钟信号116的频率转换到比当前工作核心时钟信号116的频率低的下一个总线时钟信号148的最低倍数,这是由将在步骤916输出的新的电压标识符信号144所要求的。更进一步说,这里的转换由图2中的步骤226到242来实现,因此,避免了传统方法中在等待锁相环锁存时停止核心时钟而引起的性能降低。也就是说,由于微处理器102能够无损地有效地进行工作点转换,例如,微处理器102可以通过双锁相环有效执行工作核心时钟信号116的频率的瞬间转换,也能够在稳压器模块108改变电源电压输出信号142的幅值的过程中继续稳定工作,电压及频率控制电路104能够在必要的条件下进行相当频繁的工作点转换。例如,当工作量频繁地改变时,使微处理器102工作在步骤902指定地温度范围162里。流程进入到步骤916。
在步骤916,电压标识符控制电路126减少电压标识符信号144的值以使稳压器模块108转换到下一个输出的最低电源电压输出信号142的值上。并且,这里的转换由图2中的步骤226到242来实现,避免了性能的降低,因为在稳压器模块108改变电源电压输出信号142的幅值的过程中,微处理器102能够继续稳定工作。因此,当需要使微处理器102工作在步骤902所确定的温度范围中时,电压及频率控制电路104能够实现频繁地工作点的转换。流程返回到步骤904以继续监测温度134。
在步骤918,电压及频率控制电路104判断当前温度134是否比步骤902中确定的最低工作温度小。如果不低的话,流程返回到步骤904以继续监测当前的工作温度134,否则,流程进入步骤922。
在步骤922,电压及频率控制电路14判断工作核心时钟信号116是否达到了锁相环所能提供的最高工作频率。在图10所示的实例中,工作频率2.0GHz(10倍)是由微处理器102提供的最高工作频率。然而,由于图9是与图7相互关联的,因此,微处理器102所提供的最高工作点是过载时的工作点,比如,图8中的过载工作点是在2.4GHz(12倍)和1.132V。如果工作核心时钟信号116已经在最高工作频率,流程返回到步骤904以继续监测当前的工作温度134,否则,流程进入步骤924。
在步骤924,电压标识符控制电路126增加电压标识符信号144的值以使稳压器模块108转换到下一个输出的最高的电源电压输出信号142值上。并且,这里的转换由图2中的步骤206到224来实现。流程进入步骤926。
在步骤926,电压及频率控制电路104从工作点数据122判断当电源电压输出信号142升高到步骤916中的下一个最高电压标识符信号144时,是否工作核心时钟信号116的频率需要被升高。如果不需要,流程返回到步骤904以继续监测当前的工作温度134,否则,流程进入步骤928。
在步骤928,时钟倍数控制电路128使工作核心时钟信号116的频率转换到比当前工作核心时钟信号116的频率高的下一个总线时钟信号148的最高倍数,这是由将在步骤924输出的新的电压标识符信号144所要求的。更进一步说,这里的转换由图2中的步骤206到224来实现,因此,避免了传统方法中在等待锁相环锁存时停止核心时钟而引起的性能降低。流程返回到步骤904以继续监测当前的工作温度134。
参照图10,这是图1中的微处理器102根据图9中的实施例而动态工作在最优化性能及指定的温度范围时的图像。图中横轴的自变量是以伏特为单位的电源电压输出信号142。电源电压输出信号142范围是从0.7V到1.1V。图中纵轴的自变量是以GHz为单位的工作核心时钟信号116。如图10所示,总线时钟频率是200MHz,总线时钟倍数的范围是从2倍到10倍,这使得对应的核心时钟频率范围是从400MHz到2GHz。根据图9,图10是在最高工作点和最低工作点间的多个中间工作点中转换的示意图。在一个实施例中,制造商测定微处理器在某一温度和最高工作频率下的最高工作电压,由此可确定最高工作点,制造商还测定微处理器在同一温度和最低工作频率下的最低工作电压,由此可确定最低工作点,而通过最高工作电压和最低工作电压可计算得到多个中间电压,由此可确定多个中间工作点。如图10所示,在不中断工作核心时钟信号116以保持工作温度在一个指定范围内的情况下,电压及频率控制电路104不断地监测工作温度134并且在不同的邻近工作点间转换。因此,图9中的实施例可以使微处理器102在给定的时间内,在一定的工作量,一定的外部环境和制冷系统的状态下,工作性能接近最高性能要求。
图10中,A标示当工作温度下降低于Tmin时,在工作点之间向上转换,直到温度下降至Tmin以下,或达到最高工作点为止。B标示当工作温度上升超过Tmax时,在工作点之间向下转换,直到温度上升至Tmax以上,或达到最低工作点为止。
参照图11,此图是TM2热监控和自动热保护装置的工作图。在Intel的说明文档中,TM2的运行是在背景部分接近最后的位置提到的。图11所提供的工作点数据值并不能在特定的Intel处理器中使用。图11中提供的数据只是用来与图10中的数据作比较的。
按照TM2方法,系统软件将低一点的工作点数据编程到与其相邻的高一点的工作点数据中,因此,TM2装置可能不能够在工作量比较大或者是环境温度比较高的情况下提供必要的热保护。而如果系统软件将低一点的工作点数据编程到位置更远一点的高一点的工作点数据中,TM2装置按照时钟周期来算,将会浪费大量的性能,因为,这只是两个距离比较远的工作点间的转换。随着状态的转换,TM2装置迫使系统软件在可能的热状态下,对工作点间隔(这将转换为性能间隔)和热保护能力做一个平衡。相反地,通过图9以及比较图10和图11可以得到,TM3装置不会迫使系统软件做这样的性能和热保护的平衡,TM3装置能够提供的是:捕获较小间隔的工作点数据间转换的性能和一个较大范围的工作点数据以便在工作量比较大或者是环境温度比较高的情况下提供必要的热保护。随着状态转换,一旦TM2达到其最高工作温度,它立刻转换到低性能的工作点数据,这是不必要的,因为一个到中间状态点的转换可能有效地降低工作温度到最高温度以下。与此相反,TM3装置能够通过只转换到中间工作点来使工作温度保持在给定的范围内,因此可以有效地获取附加性能。
TM3与TM2相比的另一个优点是,它不需要像TM2装置那样在转换到一个较高的工作点以前,需要在较低的工作点运行一段固定的时间,这将花费一些潜在的功耗。当温度达到一个较低的范围时,TM3装置将转换到一个较高的工作点。并且,微处理器102包含一个被称作是双锁相环结构的时钟产生电路,这方便在不停止微处理器运行的情况下,实现从当前工作频率到一个新的工作频率的转换,因此,可以避免由于工作量和运行环境所引起的频繁工作频率转换而带来的对性能的负面影响。
TM3的另一个优点是当有一些不好的影响时,它可能会为现有的热装置提供一些替代的方法。例如,当微处理器的工作温度超过一定阈值时,一些系统会提高具有多种风速的风扇的转速以降低工作温度。一般地,风扇加速的不良影响是增加噪音。TM3更提供了一种选择方法来在不增加风扇噪音的情况下降低工作温度。
此外,Intel的说明文档中指出,温度范围是由TM2的制造商决定的。与此相反的是,根据TM3的实施例,温度范围是由用户来选择的。因此,比如,需要通过降低电池温度来延长电池寿命时,会要求对微处理器产生的热量进行比较,此时,TM3的实施例可以用系统软件将微处理器编程在一个较低的温度范围以达到要求。
最后,本发明的发明人观察到由于CMOS半导体集成电路的物理特性,在一块生产好的部件上面,可能会有一些部件是不能工作在最高工作电压和最低工作频率下的。当从一个高的工作点转换到一个低的工作点时,TM2装置首先降低频率,然后降低电压。因为TM2装置中计算机机制的问题,较低的工作点可能被编程进了一个最低频率,一些坏了的部件可能需要从产量中去除,因为他们不能在TM2装置下正常运行。因此,TM3的一个优点是产量将会增加,因为频率的增加是分段式的,所以微处理器102在工作在最高电压下时,并不是工作在最低频率。
参照图12,这是将本发明的图5、图7以及图9结合到一起的实施例的图像。也就是说,图12是将图9的TM3技术,图7中的过载技术以及图5中降低功耗的技术结合到一起以提高微处理器102的性能同时降低微处理器102的功耗。更进一步说,在可能的情况下,为了改进微处理器102在工作点转换期间的性能,可能会用与图2相似的方法来进行不同的工作点间的转换。
在图12的实例中,工作温度升高到了图9和图10中提到的最高工作温度。因此,当保持工作温度在图8和图10中的TM3技术中提到的最高工作温度和最低工作温度之间时,电压及频率控制电路104使微处理器工作在介于最高工作点和最低工作点间的中间工作点,这个工作点是在工作量和环境温度所能容许的最高工作性能或者此工作性能左右。之后,工作量或者工作环境改变导致温度下降,则电压及频率控制电路104会根据图9的流程相应地将微处理器102转换到图9所涉及的最高工作电压/最高工作频率的工作点。
之后,工作量或者工作环境改变导致温度下降到图7和图8中提到的过载工作温度以下,则电压及频率控制电路会104根据图7的流程相应地将微处理器102转换到图7的过载技术所涉及的最高过载工作电压/最高过载工作频率的工作点。
之后,工作量或者工作环境改变导致温度下降到图5和图6中提到的可替换工作温度以下,则电压及频率控制电路104会根据图5的流程相应地将微处理器102转换到图5的降低功耗技术所涉及的可替换工作电压/可替换工作频率的工作点。
图12中,(1)表示温度在Tmax与Tmin之间,因此,工作在Tmax与Tmin之间最佳工作点;(2)表示温度下降,因此转换工作在Vmax,Fmax;(3)表示温度下降至Tov以下,因此转换工作在Vov,Fov;(4)表示温度下降至Talt,因此转换工作在Valt,Falt。
除了图12中将所有的技术特征应用到同一个实施例以外,也可以不将所有的技术特征都应用到一起。例如,在一个实施例中,图5中的流程和图7中的流程结合到一起使用。也就是说,微处理器102可以首先工作在过载工作点,如果可替换工作温度的温度低于过载温度并且工作温度达到了可替换工作温度时,工作电压将被从过载电压降低到可替换工作温度的工作点电压,以便在降低功耗的同时可以享受到过载状态下的功耗性能。在另一个实施例中,图7中的流程和图9中的流程结合到一起使用。也就是说,当微处理器102工作在由最高工作温度和最低工作温度的界定的可选择温度范围时,如果可替换工作温度的温度低于最低工作温度的温度并且工作温度达到了可替换工作温度时,工作电压将被从当前电压降低到可替换工作温度的工作点电压,以便在降低功耗的同时可以享受到指定温度范围下的最优性能或者接近最优性能。
参照图13,这是根据本发明,产生图1中的微处理器102所包含的工作点的流程图。流程从步骤1302开始。
在步骤1302,制造商选择了一个微处理器102可以稳定工作的最高工作温度,例如图5、图7和图9中所提到的最高工作温度。流程进入步骤1304。
在步骤1304,制造商结合稳压器模块108的电源电压输出信号142的范围(比如电压标识符信号144)以及锁相环112的时钟频率的范围(比如倍数信号146)来测试微处理器102在各个可能的工作点的运行状况。当维持运行在已选择的工作温度下时,制造商将判断微处理器102是否能够在工作点和选择的工作温度下稳定工作。流程进入步骤1306。
在步骤1306,制造商为每一个电压标识符信号144选择一个最高频率倍数信号146,在此频率倍数下,微处理器102可以正常工作。制造商可能会用选择的工作点来为选择的工作温度制作一条曲线。工作点曲线一般被称作“shmoo”曲线。图3、图6、图8、图12以及图15就是工作点曲线的示例图,在这些图中,曲线都是直线。通过判断工作点数据122,制造商可以确定微处理器102是否可以稳定运行在工作点曲线上或者是曲线以下。特别是,微处理器102可以利用工作点数据122来管理功耗,比如图2中的步骤208、228和图9中的步骤912以及926。另外,制造商可能会利用步骤1304中的测试结果来将部件分类到不同的市场要求类别中。流程进入到步骤1308。
在步骤1308,制造商判断是否还有工作温度需要来测试运行的稳定性。如果是,流程进入到步骤1312,否则的话,流程结束。
在步骤1312,微处理器102的制造商为每一个需要获得的工作点信息选择一个工作温度。特别是,制造商可能会选择图5中可替换工作温度的值,图7中过载工作温度的值以及图9中最低工作温度的值。另外,制造商可能会为执行步骤1304到1306而选择一些不同的工作温度,也可能会在这些步骤的基础上选择过载工作温度、可替换工作温度和最低工作温度的值,而不是由以前的经验来选择过载工作温度、可替换工作温度和最低工作温度的值。流程返回到步骤1304。
参照图14,根据另一个实施例,这是图1中的微处理器102在工作温度低于相应的低工作温度阈值时,为了节省功耗而降低工作电压的流程图。与图5中只包含一个可替换的工作温度阈值不同,图14中的实施例包含了多个可替换的工作温度阈值以便在更小温度变化的范围内降低功耗。流程从步骤1402开始。
在步骤1402,制造商测试在给定频率F和最高工作温度T[N],也就是这里提到的最高工作温度下,微处理器102可以稳定工作的最小电压V[N]。特别是,制造商确定在频率F和温度T[N]下,微处理器102可以稳定工作的电压标识符信号144的最高值。在这个实施例中,N是在频率F下的不同电压标识符信号144值的个数,比如工作点的个数,在这N个值下,电压及控制电路104可能会使微处理器102的工作温度134低于N-1个不同的值。制造商为每一个工作核心时钟信号116的每一个可能的倍数信号146确定一个V[N]的值。流程进入到步骤1404。
在步骤1404,制造商测试在给定频率F和可替换工作温度T[1]下,微处理器102可以稳定工作的最小电压V[1],其中,T[1]比T[N]的值要小。制造商为每一个工作核心时钟信号116确定一个V[1]的值。流程进入到步骤1406。
在步骤1406,制造商在步骤1402和步骤1404所确定的V[N]和V[1]幅值之间选择N-2个中间的电压标识符信号144的值中的一个。在一个实施例中,制造商计算V[N]和V[1]的差值,并将其除以N-1以确定两个相邻中间电压值间的间距。在另一个实施例中,制造商选择的中间的N-2个电压标识符信号144的值之间甚至是没有间隔的。在另外的实施例中,所有的V[N]和V[1]间的电压标识符信号144的值都被包含了。而对一些F值来说,V[N]和V[1]间的间距可能不足以包含N个不同的电压标识符信号144的值。一般情况下,对于不同的F来说,N的值是不同的。流程进入到步骤1408。
在步骤1408,制造商确定中间的N-2个的可替换温度的值,在此温度值下,微处理器可以稳定工作在频率F,F是与在步骤1406中确定的电压标识符信号144相对应的。在一个实施例中,制造商计算相邻的与T[N]和T[1]的值相对应的可替换电压的间隔,此间隔与其相对应的V[N]和V[1]间的间隔值成正比。在另外的实施例中,根据测试实验,温度的间隔值并不是成比例的。在另一个实施例中,制造商测试每一个中间替换温度值来确定中间替换电压,而不是通过计算得到。流程进入到步骤1412.
在步骤1412,在步骤1402到1408确定的被称作是V[i]和T[i]的电压标识符信号144及其对应的温度值被包含进了图1中的工作点数据122列表中。工作点数据122包含了对应于每一个F值的表格。在这里,索引是通过索引值“i”输入进表格的,其中,当i=N时,表明了表格的入口为最高工作温度以及在步骤1402确定的与其对应的V[N]电压标识符信号144;当i=1时,表明了表格的入口为在步骤1404确定的值;当i在1到N之间时,表明了表格的入口为在步骤1406和1408确定的中间值V[i]/T[i]。流程进入到步骤1414。
在步骤1414,当微处理器102重启时,索引值被初始化为N,因此,电压及频率控制电路104可以使微处理器102工作在V[N]电压下。流程进入到步骤1416。
在步骤1416,当工作在频率F和电压V[i]时,微处理器102监测当前的工作温度134,而V[i]是在电压标识符控制电路126输出一个电压标识符信号144后,图1中的稳压器模块108相应输出的电源电压输出信号142的值,电压标识符信号144由在步骤1414初始化的索引值从工作点数据122的表格中挑选出来的。流程进入到步骤1418。
在步骤1418,电压及频率控制电路104判断索引值是否等于1。如果是等于1,流程进入到步骤1426,否则,流程进入到步骤1422。
在步骤1422,电压及频率控制电路104判断当前温度134是否比索引值从工作点数据122的表格中挑选出来的工作温度T[i-1]的值小。如果当前温度134不比T[i-1]的值小,流程进入到步骤1426;否则,流程进入到步骤1424。
在步骤1424,电压及频率控制电路输出由索引值i减1后从工作点数据122的表格中挑选出来的稳压器模块108的电压标识符信号144的值,以降低电源电压输出信号142到V[i-1]。同时,电压及频率控制电路104将索引值i减1。流程返回到步骤1416。
在步骤1426,电压及频率控制电路判断索引值是否等于N。如果是,流程返回到步骤1416;否则,流程进入到步骤1428。
在步骤1428,电压及频率控制电路判断当前温度134是否比索引值加1后从工作点数据122的表格中挑选出来的工作温度T[i+1]的值大。如果当前温度134不比T[i+1]的值大,流程返回到步骤1416;否则,流程进入到步骤1432。
在步骤1432,电压及频率控制电路输出由索引值加1后从工作点数据122的表格中挑选出来的图1中的稳压器模块108的电压标识符信号144的值,以增加工作电压电源电压输出信号142到V[i+1]。同时,电压及频率控制电路将索引值i加1。流程返回到步骤1416。
参照图15,这是微处理器102根据图14中的实施例而运行的图像。图中横轴的自变量是以伏特为单位的电源电压输出信号142。图中纵轴的自变量是以GHz为单位的工作核心时钟信号116。在图6的实施例中,总线时钟频率是200MHz,总线时钟倍数的范围是从2倍到10倍,这使得对应的核心时钟频率范围是从400MHz到2.0GHz。而在图15中只有2.0GHz时的数据值。在图15中有5个可能的工作点阈值,即T[1]=60℃、T[2]=70℃、T[3]=80℃、T[4]=90℃以及T[5]=100℃,和与他们对应的5个工作电压值V[1]=0.972V、V[2]=1.004V、V[3]=1.036V、V[4]=1.068V以及V[5]=1.10V。图中有两条电压及频率曲线,一条是相应于最高工作温度的,另外一条是相应于最低工作温度的。在图15的实施例中,当工作在2.0GHz,1.1V时,如果电压及频率控制电路判断工作温度134低于90℃,则电压及频率控制电路104将电源电压输出信号142的值从1.1V降低到1.068V;如果工作温度134低于80℃,则电压及频率控制电路104将电源电压输出信号142的值降低到1.036V;如果工作温度134低于70℃,则电压及频率控制电路104将电源电压输出信号142的值降低到1.004V;如果工作温度134低于60℃,则电压及频率控制电路104将电源电压输出信号142的值降低到0.972V。相反的,当工作在2.0GHz,0.972V时,如果电压及频率控制电路104判断工作温度134高于70℃,则电压及频率控制电路104将电源电压输出信号142的值升高到1.004V;如果工作温度134高于80℃,则电压及频率控制电路104将电源电压输出信号142的值升高到1.036V;如果工作温度134高于90℃,则电压及频率控制电路104将电源电压输出信号142的值升高到1.068V;如果工作温度134高于100℃,则电压及频率控制电路104将电源电压输出信号142的值升高到1.10V。如图15所示,根据图14的实施例而运行的微处理器102其优点与图5实施例的优点相类似。另外,图14的实施例与图5的实施例相比,当工作温度134低于T[i]的值,特别是工作在图5中的可替换工作温度不能达到的值时,此实施例可以通过提供在较小范围内向低一点的电源电压输出信号142的转换而节省附加的功率消耗。更进一步说,微处理器102的双锁相环112的设计使得图14的实施例在相当频繁的工作点间转换时,也不会有多余的性能消耗,因为在转换期间,核心逻辑电路106的工作核心时钟信号116并不需要停止。
虽然本发明以及其对象、特征和优点都已经做了详细的阐述,但是,本发明并不局限于这些实施例。例如,这些实施例是从不同的工作频率、电压及工作温度来说明的,其它的实施例可能会使用一些不同的值。
虽然在本发明中有许多的实施例,但他们只是本发明的方法的一些例子,并没有局限性。任何本领域的普通技术人员,在不脱离本发明的精神和范围内,当可作些许的更动与润饰。例如,除了用硬件实现,如在CPU中或连接与CPU,微处理器,微控制器,数字信号处理器,核心处理器,单芯片(SOC)系统或者是其它的设备,也可以用软件实现,比如计算机的可读程序,可编程代码,或者是任意形式的指令,比如说源、对象或者是机器语言,例如,存储于软件的可用(如可读)介质。这样的软件可以应用于,比如是功能,构造,模型,模拟,描述或者是对装置或者方法的测试。例如这种方法可以由一般的程序语言如C,C++,硬件描述语言(HDL)包括Verilog HDL,VHDL等,或者是其它的可用程序来实现。这样的软件能够被配置在任何的已知计算机可用介质,如半导体,磁盘,或者是光盘,如CD-ROM,DVD-ROM。这些软件也可以被当作计算机数据信号配置在计算机可移动介质中,例如,载波或者是其它的介质,包括数字的,光学的以及模拟的介质。本发明的实施例包含了一种方法,此方法是提供一个微处理器,通过软件来对微处理器的设计进行编程,然后将软件当作是一个计算机信号来通过网络传输。这里的装置和方法可能都包含了知识产权,比如核心微处理器和集成电路的硬件变换。另外,本发明的装置和方法可以通过软件和硬件相结合来实现。
以上所述仅为本发明较佳实施例,然其并非用以限定本发明的范围,任何熟悉本项技术的人员,在不脱离本发明的精神和范围内,可在此基础上做进一步的改进和变化,因此本发明的保护范围当以本申请的权利要求书所界定的范围为准。
附图中符号的简单说明如下:
100:计算机系统
102:微处理器
104:电压及频率控制电路
106:核心逻辑电路
108:稳压器模块
112A:锁相环
112B:锁相环
114:选择器
116:核心时钟信号
118:锁相环选择信号
122:工作点数据
124:偏压设定值
126:电压标识符控制电路
128:时钟倍数控制电路
132:温度传感器
134:工作温度
136:预先确定的电压标识符信号
138:预先确定的时钟倍数信号
142:电源电压输出信号
144:电压标识符信号
146A:倍数信号
146B:倍数信号
148:总线时钟信号
152A:时钟信号
152B:时钟信号
154A:倍数控制电路的频率锁定信号
154B:倍数控制电路的频率锁定信号
156:稳压器模块的电压锁定信号
158:可编程寄存器
162:温度范围
202:从系统软件接收P状态改变请求信号
204:判断新的P状态的工作频率是否比现在的工作频率高
206:增加电压标识符信号的值并输出给稳压器模块
208:判断是否能够增加工作核心时钟的频率
212:等待稳压器模块达到新的值
214:判断是否进入新的P状态
216:启动未运行的锁相环以锁存下一个总线时钟信号的最高倍数值
218:等待稳压器模块达到新的值
222:等待锁相环锁存新值
224:切换锁相环选择信号
226:判断是否进入新的P状态
228:判断是否需要降低频率
232:启动未运行的锁相环以锁存下一个总线时钟信号的最低倍数值
234:等待锁相环锁存新值
236:切换锁相环选择信号
238:减少电压标识符信号的值并输出给稳压器模块
242:等待稳压器模块达到新的值
502:选择最高工作温度
504:选择至少一个低于最高温度的可替换工作温度
506:为每一个最高工作温度和可替换工作温度确定其工作点信息
508:当微处理器工作在一个给定的温度时监测其工作温度
512:判断当前温度是否比可替换工作温度的幅值低
514:通过在当前频率和可替换工作温度时的工作点信息来确定转换电压的值
516:判断是否工作在已确定的工作电压下
518:减少工作电压到已确定的电压幅值
522:判断是否工作在最高电压下
524:提高工作电压到最大值
704:选择最高工作温度
706:确定可稳定工作在最高工作温度下的最高工作频率和确定在最高工作频率下工作的最高工作电压
708:选择低于最高温度的过载工作温度
712:确定可稳定工作在过载工作温度下的最高过载工作频率和确定在最高过载工作频率下工作的最高过载工作电压
714:监测微处理器运行时的工作温度
716:判断当前工作温度是否比过载工作温度低
718:判断是否已经达到了最高过载工作频率
722:按照过载工作温度曲线转换到最高过载工作频率和最高过载工作电压下运行
724:判断是否已经达到了最高工作频率
726:按照最高工作温度曲线转换到最高工作频率和最高工作电压下运行
902:选择工作温度的范围
904:监测微处理器运行时的工作温度
906:判断当前温度是否比最高工作温度高
908:判断电源电压输出信号是否已经达到了最低的电压标识符信号
912:判断是否工作核心时钟的频率需要被降低
914:降低工作核心时钟频率到下一个总线时钟的最低倍数
916:降低电压标识符信号
918:判断当前温度是否比最低工作温度小
922:判断工作核心时钟是否达到了最高工作频率
924:增加电压标识符信号
926:判断是否工作核心时钟的频率需要被升高
928:升高工作核心时钟频率到下一个总线时钟的最高倍数
1302:选择最高工作温度
1304:当维持运行在已选择的工作温度下时,测试是否能够在结合稳压器模块的电压标识符信号范围以及锁相环的时钟频率范围的每一个可能的工作点下稳定工作
1306:由测试数据来选择该部件可工作在每一个电压标识符信号的已选择的工作温度下的最高工作频率倍数
1308:判断是否还有工作温度需要被测试
1312:选择一个新的工作温度
1402:测试在给定频率F和最高工作温度T[N]下,微处理器可以稳定工作的最小电压V[N]
1404:测试在给定频率F和可替换工作温度T[1]下,微处理器可以稳定工作的最小电压V[1],而T[1]比T[N]的值要小
1406:选择在V[N]和V[1]之间的N-2的中间电压值
1408:确定N-2的中间可替换温度的值
1412:存储电压及温度的值以作为工作点数据
1414:将索引值i初始化为N
1416:当工作在频率F和电压V[i]时,监测工作温度
1418:判断索引值i是否等于1
1422:判断当前温度是否比工作温度T[i-1]小
1424:降低工作电压到V [i-1]并使i=i-1
1426:判断索引值i是否等于N
1428:判断当前温度是否比工作温度T[i+1]大
1432:升高工作电压到V[i+1]并使i=i+1。
Claims (20)
1.一种根据工作温度的变化来动态改变功耗的微处理器,其特征在于,包括:
一核心逻辑电路,根据一工作核心时钟工作以执行程序指令;
一温度传感器,用来监测核心逻辑电路的工作温度;
一时钟产生电路,用于产生工作核心时钟以提供给核心逻辑电路;以及
一控制电路,接收温度传感器所传送的温度以监测核心逻辑电路的工作温度,并包含了微处理器可以稳定工作在一第一温度的多个第一工作点,每一个第一工作点都有其各自对应的工作电压和工作频率;
其中,该控制电路使核心逻辑电路在多个第一工作点间转换运行。
2.根据权利要求1所述的根据工作温度的变化来动态改变功耗的微处理器,其特征在于,控制电路更包含了微处理器可以稳定工作在一第二温度的一第二工作点,
所述多个第一工作点其中之一具有一第一电压和一第一频率,使微处理器可以在第一电压,第一频率和第一温度下稳定地工作;
第二工作点具有一第二电压和该第一频率,使微处理器可以在第二电压,第一频率和第二温度下稳定地工作,且第二温度低于第一温度,第二电压小于第一电压;
其中,如果微处理器工作在第一电压和第一频率下,且核心逻辑电路的工作温度低于第二温度时,则控制电路使微处理器工作在第二工作点下。
3.根据权利要求2所述的根据工作温度的变化来动态改变功耗的微处理器,其特征在于,控制电路更包含了微处理器可以稳定工作在一第三温度的一第三工作点,第三工作点具有一第三电压和第一频率,使微处理器可以在第三电压,第一频率和第三温度下稳定地工作,且第三温度低于第二温度,第三电压也比第二电压要低;
其中,如果微处理器工作在第一频率和第二电压下,且工作温度低于第三温度时,则控制电路使微处理器工作在第一频率和第三电压下。
4.根据权利要求1所述的根据工作温度的变化来动态改变功耗的微处理器,其特征在于,控制电路更包含了微处理器可以稳定工作在一第二温度的一第二工作点,且所述多个第一工作点其中之一具有一第一电压和一第一频率,使微处理器可以在第一电压,第一频率和第一温度下稳定地工作;
第二工作点具有一第二电压和该第一频率,使微处理器可以在第二工作点和第二温度下稳定地工作,且第二温度低于第一温度,第二电压小于第一电压;
其中,如果微处理器工作在第二工作点下,且核心逻辑电路的工作温度高于第一温度时,则控制电路使微处理器工作在第一电压和第一频率下。
5.根据权利要求1所述的根据工作温度的变化来动态改变功耗的微处理器,其特征在于,所述多个第一工作点中包含了一最高工作点,该最高工作点具有一第一电压和一第一频率;
控制电路更包含了微处理器可以稳定工作在一第二温度的一第二工作点,第二工作点具有一第二电压和一第二频率,第二频率高于第一频率,第二温度低于第一温度;
其中,如果微处理器工作在该最高工作点下,且核心逻辑电路的工作温度低于第二温度时,则控制电路使微处理器工作在第二工作点下。
6.根据权利要求5所述的根据工作温度的变化来动态改变功耗的微处理器,其特征在于,控制电路更包含了微处理器可以稳定工作在一第三温度的一第三工作点,第三工作点具有一第三电压和第二频率,第三温度低于第二温度,第三电压小于第二电压;
其中,如果微处理器工作在第二工作点下工作,且核心逻辑电路的工作温度低于第三温度时,则控制电路使微处理器工作在第三工作点下。
7.根据权利要求1所述的根据工作温度的变化来动态改变功耗的微处理器,其特征在于,多个第一工作点包含了一最高工作点和一最低工作点和至少一个中间工作点,最高工作点具有一第一电压和一第一频率,最低工作点具有一第二电压和一第二频率;控制电路根据第一电压和第二电压的值计算一中间工作点的第三电压。
8.根据权利要求1所述的根据工作温度的变化来动态改变功耗的微处理器,其特征在于,还包含了一寄存器,寄存器通过软件编程来向控制电路发出请求信号,使微处理器在多个第一工作点间转换运行。
9.根据权利要求1所述的根据工作温度的变化来动态改变功耗的微处理器,其特征在于,时钟产生电路包含了:
两锁相环,每一个锁相环分别产生具有多个可能的工作核心时钟频率中的一工作核心时钟频率的时钟信号;以及
一选择电路,该选择电路用来选择两锁相环中的一个锁相环的时钟信号作为核心逻辑电路的工作核心时钟;
其中,在每一次频率转换时,控制电路控制一未运行的锁相环产生具有新频率的时钟信号,当未运行的锁相环锁存在新的时钟频率后,控制电路选择未运行的锁相环提供其时钟信号作为核心逻辑电路的工作核心时钟。
10.根据权利要求1所述的根据工作温度的变化来动态改变功耗的微处理器,其特征在于,控制电路在不停止微处理器运行的情况下,控制时钟产生电路完成从产生一第一频率的工作核心时钟到产生一第二频率的工作核心时钟的转变。
11.一种根据工作温度的变化来动态改变微处理器功耗的方法,其特征在于,包括:
选择一第一温度值;
依据第一温度值确定多个第一工作点,每一个工作点都有其各自对应的工作电压和工作频率;
监测微处理器运行时的工作温度;以及
控制微处理器于多个第一工作点间转换工作,以使被监测的微处理器运行时的工作温度能保持在第一温度值内。
12.根据权利要求11所述的根据工作温度的变化来动态改变微处理器功耗的方法,其特征在于,第一工作点中包含了一最高工作点,该最高工作点具有一第一工作电压和一第一工作频率;且该方法还包括:
选择一第二温度值,第二温度值低于第一温度值;
依据第二温度值确定一第二工作点,第二工作点具有一第二工作电压和一第二工作频率,第二工作频率高于第一工作频率;以及
判断是否微处理器工作在该最高工作点且被监测的微处理器运行时的工作温度是否低于第二温度值,若是则控制微处理器工作于第二工作点。
13.根据权利要求11所述的根据工作温度的变化来动态改变微处理器功耗的方法,其特征在于,所述多个第一工作点其中之一具有一第一工作电压和一第一工作频率;且该方法还包括:
选择一第二温度值,第二温度值低于第一温度值;
依据第二温度值确定一第二工作点,第二工作点具有一第二工作电压和该第一工作频率,第二电压小于第一电压;以及
判断是否微处理器工作在第一电压和第一频率下且被监测的微处理器运行时的工作温度是否低于第二温度值,若是则控制微处理器工作在第二工作点。
14.根据权利要求13所述的根据工作温度的变化来动态改变微处理器功耗的方法,其特征在于,还包括:判断是否微处理器工作在第二工作点且被监测的微处理器运行时的工作温度是否高于第二温度值,若是则控制微处理器工作在第一工作频率和第一工作电压。
15.根据权利要求11所述的根据工作温度的变化来动态改变微处理器功耗的方法,其特征在于,第一工作点中包含了一最高工作点,一最低工作点和至少一中间工作点;且该方法还包括:
根据最高工作点和最低工作点来计算中间工作点。
16.根据权利要求11所述的根据工作温度的变化来动态改变微处理器功耗的方法,其特征在于,所述控制微处理器于多个第一工作点间转换工作的步骤包括:
接收一请求信号,请求信号具有一预定频率;
在接收到请求信号以后,生成工作核心时钟的新的频率,新的频率比当前频率更接近于预定频率;以及
不断地产生新的频率,直到新的频率达到该预定频率。
17.根据权利要求16所述的根据工作温度的变化来动态改变微处理器功耗的方法,其特征在于,该请求信号还具有一预定电压值,且所述控制微处理器于多个第一工作点间转换工作的步骤还包括:
不断地产生新的电压,直到新的电压达到于预定电压值。
18.根据权利要求16所述的根据工作温度的变化来动态改变微处理器功耗的方法,其特征在于,所述生成工作核心时钟的新的频率的步骤包括:
使两锁相环中未运行的锁相环产生新的频率;以及
选择两锁相环中未运行的锁相环来提供其时钟信号作为微处理器的工作核心时钟,其中,产生和选择信号是在不停止微处理器运行的情况下执行的。
19.根据权利要求11所述的根据工作温度的变化来动态改变微处理器功耗的方法,其特征在于,所述依据第一温度值确定多个第一工作点的步骤包括:
选择一工作电压和一工作频率;
维持微处理器工作在工作电压,工作频率和第一温度值下;以及
判断维持微处理器是否稳定工作在工作电压,工作频率和第一温度值下。
20.根据权利要求11所述的根据工作温度的变化来动态改变微处理器功耗的方法,其特征在于,所述控制微处理器于多个第一工作点间转换工作的步骤包括:
判断被监测的微处理器运行时的工作温度是否高于第一温度值;
若被监测的微处理器运行时的工作温度高于第一温度值时,执行以下步骤:
判断微处理器是否能在当前工作频率和降低后的工作电压下稳定工作;
如果微处理器不能在当前工作频率和降低后的工作电压下稳定工作时,则降低微处理器的工作频率;以及
如果微处理器能在当前工作频率和降低后的工作电压下稳定工作时,则降低微处理器的工作电压。
Applications Claiming Priority (16)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US89230607P | 2007-03-01 | 2007-03-01 | |
US89230307P | 2007-03-01 | 2007-03-01 | |
US89230007P | 2007-03-01 | 2007-03-01 | |
US60/892,306 | 2007-03-01 | ||
US60/892,303 | 2007-03-01 | ||
US60/892,300 | 2007-03-01 | ||
US89254807P | 2007-03-02 | 2007-03-02 | |
US60/892,548 | 2007-03-02 | ||
US11/761,056 | 2007-06-11 | ||
US11/761,044 | 2007-06-11 | ||
US11/761,076 | 2007-06-11 | ||
US11/761,076 US7814350B2 (en) | 2002-10-03 | 2007-06-11 | Microprocessor with improved thermal monitoring and protection mechanism |
US11/761,096 US7774627B2 (en) | 2002-10-03 | 2007-06-11 | Microprocessor capable of dynamically increasing its performance in response to varying operating temperature |
US11/761,044 US7698583B2 (en) | 2002-10-03 | 2007-06-11 | Microprocessor capable of dynamically reducing its power consumption in response to varying operating temperature |
US11/761,056 US7770042B2 (en) | 2002-10-03 | 2007-06-11 | Microprocessor with improved performance during P-state transitions |
US11/761,096 | 2007-06-11 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101241392A true CN101241392A (zh) | 2008-08-13 |
CN101241392B CN101241392B (zh) | 2012-07-04 |
Family
ID=39932960
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008100070742A Active CN101241392B (zh) | 2007-03-01 | 2008-02-01 | 根据工作温度的变化来动态改变功耗的微处理器及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101241392B (zh) |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102483646A (zh) * | 2009-07-24 | 2012-05-30 | 超威半导体公司 | 根据性能灵敏度不均匀地改变计算单元的性能 |
CN102890549A (zh) * | 2011-07-18 | 2013-01-23 | 纬创资通股份有限公司 | 计算机系统的过热保护方法及相关装置 |
CN102981439A (zh) * | 2011-09-07 | 2013-03-20 | 技嘉科技股份有限公司 | 电子元件工作频率的监控方法及其监控装置与电子装置 |
CN104049714A (zh) * | 2013-03-15 | 2014-09-17 | 英特尔公司 | 具有用于高温事件下的有保证操作的操作频率信息的处理器 |
CN105102935A (zh) * | 2012-12-19 | 2015-11-25 | 恩德莱斯和豪瑟尔两合公司 | 稳定微控制器的时钟频率的方法 |
TWI511041B (zh) * | 2013-09-12 | 2015-12-01 | Wistron Corp | 電子裝置模組、其電子裝置與保護元件及工作頻率提高方法 |
CN105512089A (zh) * | 2015-12-02 | 2016-04-20 | 中国科学院微电子研究所 | 一种计算架构及控制方法 |
CN107340500A (zh) * | 2017-06-30 | 2017-11-10 | 中国航空工业集团公司雷华电子技术研究所 | 一种雷达信号处理平台动态功耗控制方法及系统 |
CN108037820A (zh) * | 2018-01-02 | 2018-05-15 | 山东超越数控电子股份有限公司 | 一种动态控制频率的国产处理器及方法 |
CN108064362A (zh) * | 2015-04-24 | 2018-05-22 | 高通股份有限公司 | 专用于器件的热减缓 |
CN108599966A (zh) * | 2018-03-13 | 2018-09-28 | 山东超越数控电子股份有限公司 | 一种网安设备功耗动态调整系统和方法 |
CN111752334A (zh) * | 2019-03-29 | 2020-10-09 | 北京比特大陆科技有限公司 | 提升芯片频率的方法、装置和设备以及介质、程序产品 |
CN111752361A (zh) * | 2019-03-29 | 2020-10-09 | 北京比特大陆科技有限公司 | 算力自适应方法和装置、设备和存储介质及程序产品 |
CN112130658A (zh) * | 2020-09-29 | 2020-12-25 | 华东计算技术研究所(中国电子科技集团公司第三十二研究所) | 程控智能电源与时钟控制方法及系统 |
WO2022121043A1 (zh) * | 2020-12-08 | 2022-06-16 | 威创集团股份有限公司 | 一种低功耗的fpga电路 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI550398B (zh) * | 2015-12-28 | 2016-09-21 | 英業達股份有限公司 | 邏輯cpu的實體位置判斷系統及其方法 |
-
2008
- 2008-02-01 CN CN2008100070742A patent/CN101241392B/zh active Active
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102483646A (zh) * | 2009-07-24 | 2012-05-30 | 超威半导体公司 | 根据性能灵敏度不均匀地改变计算单元的性能 |
CN102483646B (zh) * | 2009-07-24 | 2015-06-03 | 超威半导体公司 | 根据性能灵敏度不均匀地改变计算单元的性能 |
CN102890549A (zh) * | 2011-07-18 | 2013-01-23 | 纬创资通股份有限公司 | 计算机系统的过热保护方法及相关装置 |
US8959379B2 (en) | 2011-07-18 | 2015-02-17 | Wistron Corporation | Thermal protection method for computer system and device thereof |
CN102981439A (zh) * | 2011-09-07 | 2013-03-20 | 技嘉科技股份有限公司 | 电子元件工作频率的监控方法及其监控装置与电子装置 |
CN105102935A (zh) * | 2012-12-19 | 2015-11-25 | 恩德莱斯和豪瑟尔两合公司 | 稳定微控制器的时钟频率的方法 |
US10228717B2 (en) | 2012-12-19 | 2019-03-12 | Endress+Hauser Se+Co.Kg | Method for stabilizing the clock frequency of a microcontroller |
CN104049714A (zh) * | 2013-03-15 | 2014-09-17 | 英特尔公司 | 具有用于高温事件下的有保证操作的操作频率信息的处理器 |
US9494996B2 (en) | 2013-03-15 | 2016-11-15 | Intel Corporation | Processor having frequency of operation information for guaranteed operation under high temperature events |
TWI511041B (zh) * | 2013-09-12 | 2015-12-01 | Wistron Corp | 電子裝置模組、其電子裝置與保護元件及工作頻率提高方法 |
CN108064362A (zh) * | 2015-04-24 | 2018-05-22 | 高通股份有限公司 | 专用于器件的热减缓 |
CN105512089A (zh) * | 2015-12-02 | 2016-04-20 | 中国科学院微电子研究所 | 一种计算架构及控制方法 |
CN107340500A (zh) * | 2017-06-30 | 2017-11-10 | 中国航空工业集团公司雷华电子技术研究所 | 一种雷达信号处理平台动态功耗控制方法及系统 |
CN108037820A (zh) * | 2018-01-02 | 2018-05-15 | 山东超越数控电子股份有限公司 | 一种动态控制频率的国产处理器及方法 |
CN108599966A (zh) * | 2018-03-13 | 2018-09-28 | 山东超越数控电子股份有限公司 | 一种网安设备功耗动态调整系统和方法 |
CN111752334A (zh) * | 2019-03-29 | 2020-10-09 | 北京比特大陆科技有限公司 | 提升芯片频率的方法、装置和设备以及介质、程序产品 |
CN111752361A (zh) * | 2019-03-29 | 2020-10-09 | 北京比特大陆科技有限公司 | 算力自适应方法和装置、设备和存储介质及程序产品 |
CN112130658A (zh) * | 2020-09-29 | 2020-12-25 | 华东计算技术研究所(中国电子科技集团公司第三十二研究所) | 程控智能电源与时钟控制方法及系统 |
WO2022121043A1 (zh) * | 2020-12-08 | 2022-06-16 | 威创集团股份有限公司 | 一种低功耗的fpga电路 |
Also Published As
Publication number | Publication date |
---|---|
CN101241392B (zh) | 2012-07-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101241392B (zh) | 根据工作温度的变化来动态改变功耗的微处理器及方法 | |
US7698583B2 (en) | Microprocessor capable of dynamically reducing its power consumption in response to varying operating temperature | |
US7774627B2 (en) | Microprocessor capable of dynamically increasing its performance in response to varying operating temperature | |
US8412962B2 (en) | Microprocessor with improved thermal monitoring and protection mechanism | |
US7464276B2 (en) | Method and apparatus for adjusting the voltage and frequency to minimize power dissipation in a multiprocessor system in response to compute load | |
US7155623B2 (en) | Method and system for power management including local bounding of device group power consumption | |
US9977439B2 (en) | Energy efficiency aware thermal management in a multi-processor system on a chip | |
EP1975761B1 (en) | Microprocessor with improved performance during P-state transitions | |
Xu et al. | Exploring power-performance tradeoffs in database systems | |
KR100915258B1 (ko) | 전원 아일랜드를 사용한 집적 회로의 전원 관리 | |
CN101807109B (zh) | 微处理器功率调节方法以及微处理器 | |
KR100987846B1 (ko) | 다이당 전압 프로그래밍 장치, 방법, 시스템 및 컴퓨터 판독가능 매체 | |
US7054720B2 (en) | Operating system coordinated thermal management | |
TWI388974B (zh) | 根據工作溫度的變化來動態改變功率損耗的微處理器及方法 | |
Maiti et al. | Process variation aware dynamic power management in multicore systems with extended range voltage/frequency scaling | |
Ott et al. | Best practices in energy-efficient high performance computing | |
EP1965286B1 (en) | Microprocessor with improved thermal monitoring and protection mechanism |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |