专利名称:根据工作温度的变化来动态改变功耗的微处理器及方法
技术领域:
本发明涉及微型计算机中功耗与性能的相互影响问题,尤 其是可根据微型计算机的工作温度变化来减少功耗和提高'性台匕 R匕。
背景技术:
对移动PC、笔记本计算机、台式机和工作站等不同类型的计算机系统来说,功耗的管理都是非常的重要的问题。比如, 对大部分的笔记本计算机用户来说,电池的寿命问题至关重要。 而据报道,在很多数据中心,运行服务器所需要消耗的能源比 购买服务器本身更加昂贵。因此,才会有对"绿色"计算机的需 求。在计算机系统中,大部分的功耗是被微处理器消耗的。所 以,减少计算机系统功耗的关键在于减少微处理器的功耗。在已有的微处理器设计中,微处理器的性能,比方说在给 定时间内微处理器所能处理的指令数,主要由时钟主频来决定。 许多系统对微处理器的性能有一定的要求,而且这个要求在时 间上会随着系统工作状态的不同而有所变化。比如,许多现代的微处理器中的 一 些系统软件例如,BIOS或者操作系统具有通 过调整微处理器的工作频率来动态的调整其性能指标的能力。微处理器的动态功耗是与时钟主频和与工作电压的平方成 正比的。然而,对大部分的现代微处理器来说,在每一个工作 频率下,都有一个相对应的工作电压最小值,当电压小于这个 幅值时,微处理器将不能正常工作。因此,我们需要通过降低 一定性能或是 一 定频率下的工作电压来降低微处理器的功耗。此外,用户对处理器的性能是有一定要求的。而由上面的讨论可知,在其它参数相同的情况下,微处理器工作的频率越 高,其性能越好。因此, 一个很常用的提高微处理器性能的方 法是超频。在传统方法中,计算机通过增加前端总线的频率来 进行超频,这使得微处理器和其它连接到前端总线的电路工作 在一个较高的时钟频率下。超频本身也是有一些缺点的。首先, 系统超频总是要求计算机制造商要提高标准制冷系统的性能或 者用具有更高制冷能力的制冷系统来替代原来的标准制冷系 统,比如采用转速更高的风扇,更多的散热片,液态冷却液, 相变制冷甚至是液氮制冷。第二,超频可能导致微处理器运行 的不稳定,潜在的影响是数据的丢失或者损坏,以及对微处理 器甚至是整个系统的损害。这时因为超频 一 般是超过了制造商 的产品规格的,制造商可能并没有测试在超频频率下微处理器 的运行状况,因此不能保证在此频率下微处理器能正常工作。 第三,在将前端总线超频时,其余的设备可能也与前端总线相 连,比方说内存,芯片组,显卡等,这些设备也可能会工作在 一个较高的频率下,这也就存在了上文中提到的需要附加的制 冷系统和性能不稳定的问题。因此,需要找到一个改进的方法, 可以在增加微处理器频率的同时避免传统的超频所带来的问 题。此外,如前文所述,一些微处理器为一些系统软件例如,BIOS或者操作系统提供了改变微处理器的工作频率的能力。例 如,在高级酉己置和电源4妻口 (Advanced Configuration and Power Interface, ACPI)规范3.O版本中,依照CPU的工作主频规定了 P状态,并且为系统软件提供了 一种使微处理器转换到指定的P 状态的方法。在频率增加的情况下,根据微处理器的物理特性, 微处理器必须通过增加其工作电压来适应频率的增加。完成电 压转换所需要的时间可能会很长,这取决于所需增加的电压的10幅度。如图4和前文所述,传统的微处理器增加电压到预定要求 并且简单地将频率从现有频率值增加到所要求达到的频率值。 根据传统的从现在的P状态转换到新的P状态的方法,微处理器 在整个P状态转换期间工作在 一 个较低的频率,此时性能比较 差。因此,需要找到一种改进方法来提高在P状态转换期间微 处理器的性能。最后, 一些微处理器包含热监控和保护装置。例如,如图l所示,不同的Intel的处理器都具有增强节电功能,其包含了热 监控(Thermal Monitor 2, TM2 )自动热4呆护装置。TM2^皮应 用于Pentium M的处理器,也被包含进了 Pentium 4家族的新模 型中。英特尔的Pentium 4处理器具有2MB的二级缓存和 533MHZ的前端数据总线,其2005年7月的芯片手册中写道"当 内建感测器监测到核心温度过高时,微处理器能够根据软件可 编程的特别模块寄存器(Model Specific Registers, MSR)自动地 转换到 一 个较低频率或是较低电压。等待 一 段固定的时间后, 如果核心温度降低到可接受值,微处理器的频率或者电压将被 提高到原来的幅值。"图ll为此操作的例图。微处理器采用的TM2自动热保护装置仅依据两个工作点, 即内定工作点和系统软件指定的工作点来工作是存在缺陷的。 特别是,如果这两个工作点之间距越大,那么由于工作量和环 境的综合影响,微处理器可能不能工作在理想的频率和电压下。 从另一方面来说,两个工作点的间距越小,在工作量大和高温 环境下,热保护装置所能提供的热保护能力越小。此外,如果 转换的时间太长,工作在较小频率和电压下的微处理器的性能 将受影响。因此,需要的是一个高性能的热监测和保护装置。发明内容本发明的目的在于提供一种可以根据其工作温度的变化来 动态改变功耗的微处理器,此微处理器包括 一核心逻辑电路, 根据一工作核心时钟工作以执行程序指令;一温度传感器,用来监测核心逻辑电路的工作温度; 一时钟产生电路,用于产生工作核心时钟以提供给核心逻辑电路;以及一控制电路,连接于温度传感器以监测核心逻辑电路的工作温度,并包含了微处 理器可以稳定工作在一第一温度的多个第一工作点,每一个第一工作点都有其各自对应的工作电压和工作频率;该控制电路 使核心逻辑电路在多个第一工作点间转换运行。本发明的另 一 目的在于提供一种根据工作温度的变化来动 态改变微处理器功耗的方法,该方法包括选择一第一温度值; 依据第 一温度值确定多个第 一 工作点,每一个工作点都有其各 自对应的工作电压和工作频率;监测微处理器运行时的工作温 度;以及控制微处理器于多个第一工作点间转换工作,以使被 监测的微处理器运行时的工作温度能保持在第 一 温度值内。本发明所述的根据工作温度的变化来动态改变功耗的微处 理器及方法,可根据微型计算机的工作温度变化来减少功耗和 提高性能。
本发明通过以下图示及说明,可得以更深入的了解 图1为本发明的包含微处理器的计算机系统模块示意图; 图2为本发明将图l中的微处理器102用 一种性能优化的方法,从现在的P状态或者是工作点,转换到一个新的P状态或者是工作点的流程图;图3为本发明将图l中的微处理器102根据图2中的实施例进行P状态转换时的图像;图4是微处理器在传统方法下进行P状态转换时的图像;图5为根据本发明,当微处理器102的工作温度低于某一温 度幅值,为了节省功耗,图1中的微处理器102减少工作电压时 的流程图;图6是图l中的微处理器]()2根据图5中的实施例而运行的图像;图7是根据本发明,当微处理器102的工作温度低于某一幅 值时,图l中的微处理器102增加其性能的流程图;图8为图1中的《汰处理器102根据图7中的实施例而工作在过 载状态时的图像;图9为本发明的一种可以使图l中的微处理器在一个特定的 温度范围内动态工作在最高性能或者最高性能左右的方法;图IO是图1中的微处理器102根据图9中的实施例而动态工 作在最优化性能及特定的温度范围时的图像;图11是TM2热监控和自动热保护装置的运行图像;图12是将本发明的图5、图7以及图9结合到 一起的实施例的 图像;图13是根据本发明,产生图l中的微处理器102所包含的工 作点的流程图;图14为根据另 一个实施例,图l中的微处理器102在工作温 度低于相应的低工作温度阈值时,为了节省功耗而降低工作电 压的流程图;图15是图l中的微处理器102根据图14中的实施例而运行的图像。
具体实施方式
参照图1,该图是本发明的包含微处理器102的计算机系统100模块示意图。计算机系统1()0包含了 一个连接于微处理器102 的稳压器才莫块(Voltage regulator module, VRM ) 108。藉、压器 模块108具有一输入端用以接收来自孩i处理器102的电压标识符 信号(voltage identifier, VII)) 144, 一输出端用以提供电压锁 定信号(Vlock) 156给微处理器102,以及一输出端用以提供电 源电压输出信号(Vdd) 142给微处理器102。微处理器102输出 电压标识符信号14 4以控制稳压器模块10 8输出特定的电源电压 输出信号142来作为微处理器102的电源。当输入的电压标识符 信号144的幅值改变时,稳压器模块108逐步调整电源电压输出 信号142以达到预期的幅值,此时,稳压器模块108输出 一个稳 压器模块的电压锁定信号1 56以表明电源电压输出信号142的幅 值已经稳定。在一个实施例中,当电压标识符信号144的输入值 改变时,稳压器模块108大约需要1 5微秒才能达到稳定。在另一 个实施例中,电压标识符信号144的幅值每增加一次,稳压器模 块108将电源电压输出信号].42的幅值增加16mV。微处理器102中包含了核心逻辑电路106,温度传感器132, 电压及频率控制电路104,两个平行工作的锁相环(PLL) 112A 和112B以及选4奪器114。电压及频率控制电^各104包含了 一个时 钟倍H控制(clock ratio control )电^各128, —个电压标识符控 制电路126, —个偏压设定值(bias bit)124以及一 个存4诸器用来 存储工作点数据122。电压标识符控制电路126产生出电压标识 符信号144给稳压器模块108,并且从稳压器模块108中接收电压 锁定信号156。偏压设定值124表明了微处理器102是否有对低功 耗或者是高性能的选择。在一个实施例中,偏压设定值124是被 系统软件比如系统的BIOS或者是操作系统进行编程的。温度传感器132监测微处理器102的温度并且输出工作温度 134给电压及频率控制电路104。在一个实施例中,温度传感器132包含了多个温度传感器,它们监测微处理器102不同部件的 温度值并且提供 一 个最高工作温度13 4给电压及频率控制电路 104。在一个实施例中,温度传感器132 —般位于微处理器中制 造商所知的工作温度最高的位置上。锁相环112A和锁相环112B分別输出时钟信号152A和152B 来作为选择器114的输入信号。时钟倍数控制电路12 8提供锁详目 环选择信号(PLL select )118,作为选择器114的输入选择信号。 根据输入的锁相环选择信号11 8的值,选择器114选择锁相环 112A或者锁相环112B中的时钟信号152A或者152B来作为工作 核心时钟信号116。工作核心时钟信号116是核心逻辑电路106 的时钟信号。锁相环112 A和锁相环112 B ^t妻收 一 个总线时钟信号 148,此总线时钟信号148是微处理器102从外部总线接收进来 的,比如总线时钟信号148是由计算机系统100产生的。时钟倍 数控制电^各128也产生了两个倍数信号146A和146B,这两个信 号分别提供给了锁相环112 A和锁相环112 B 。锁相环112 A和锁相 环U2B分别产生出时钟信号152A和152B,它们的幅值是总线时 钟信号148的倍数值,此倍数的改变过程如图3所示。锁相环112 将各自的倍数信号14 6 A和14 6 B来作为系数与总线时钟信号14 8 相乘。当输入的倍数信号146的值改变时,锁相环112A和锁相 环112B逐渐改变输出的时钟信号152A和152B直到能够达到要 求的幅值,此时,锁相环112A或锁相环112B输出 一个时钟倍数 控制电路的频率锁定信号(Rlock) 154以表示时钟信号152A或 时钟信号152B已经被锁定在了预定的频率上。根据已知的锁相 环的运行,输出的时钟信号1 52是锁相环112对输入信号的反馈, 以使工作核心时钟信号116与总线时钟信号148的频率同步。在 一个实施例中,当输入的倍数信号146改变,锁相环112大约需 要10微秒的时间来锁存信号。在另一个实施例中,锁相环112可以与总线时钟信号148的频率相乘的系数值范围是整数2到12。核心逻辑电路106主要用来提取和执行指令以及数据。比 如,核心逻辑电路106 —般包含了高速緩存存储器,取指令和发 布指令的逻辑,结构性的和非结构性的寄存器文件,分支预测 单元,地址生成单元,结果写回逻辑,总线接口单元,以及一 些执行单元,例如算术单元,整数单元,浮点单元,单指令单 元等已知的微处理器结构设计。在一个实施例中,核心逻辑电 路106包含了 X86结构的微处理器。核心逻辑电路106 —般包含了多个不同的可编程寄存器,包 括可编程寄存器158 ,系统软件可对其进行编程以使微处理器 10 2工作在 一 个新的工作点,新的工作温度范围或者是其它条件 下。工作点是电压和频率的数对(pair)组合,在此条件下,微处 理器102可以稳定工作在一个给定的温度下。比如,在一个实施 例中,微处理器102在100摄氏度时,可稳定工作在工作点频率 为l.OGHz和工作点电压为0.75V。对微处理器102不同工作点的 数据描述存储在工作点数据122中,它的用途将在下文中做进一 步的阐述。在另一个实施例中,系统软件由按照高级配置和电 源管理接口 (ACPI)规范的3.0版本定义的P状态值对可编程寄 存器158编程。ACPI规范按照CPU的工作频率制定了P状态。虽 然ACPI的P状态并没有指明 一 个工作电压的值,但根据ACPI规 范,在每一个支持的P状态下,CPU报告一个微处理器消耗的典 型功耗值。由可编程寄存器158输出的预先确定的电压标识符信 号136和预先确定的时钟倍数(r叫uested ratio )信号138被输入 给了电压及频率控制电路04。可编程寄存器158也可以将工作 温度范围作为编程的依据,工作温度范围通过温度范围信号162 传送到电压及频率控制电路104,这将在下文的图9和图IO有更详细的阐述。根据预先确定的电压标识符信号136,预先确定的时钟倍数信号13 8以及温度范围信号16 2的值,电压标识符控制 电路126和时钟倍数控制电路128生成了电压标识符信号144,倍 数信号14 6和锁相环选择信号118 。工作点数据122包含有相对每一个工作温度下微处理器102 可以稳定工作的工作点设定值(比如电压和频率的数对组合)。 图13是一个实施例中确定工作数据的流程图。在一个实施例中, 工作点数据12 2包含了 一个在每 一 个工作温度下所对应的工作 点的表格。表格中的每个条目包含了微处理器可稳定工作在给 定幅值的电压标识符信号144和给定的工作温度下,锁相环112 的最大频率倍数值。在一个实施例中,此表格包含了稳压器模 块10 8能输出的所有电源电压输出信号14 2的幅值以及相对应的 工作温度与频率倍数值。在一个实施例中,工作点数据122包含 的频率倍数只对应到部分可能的电源电压输出信号142的幅值, 这时微处理器102通过工作点数据122包含的数据来计算其它可 能的电源电压输出信号14 2的幅值的相对应的频率倍数值。在另 一个实施例中,通过推断电源电压输出信号142的最大幅值和最 小幅值,微处理器102计算出其它可能的电源电压输出信号142 的幅值的相对应的频率倍数。在另一个实施例中,根据预先存 储在微处理器102中的多项式,微处理器102计算出其它可能的 电源电压输出信号142的幅值的相对应的频率倍数。在一个实施例中,制造商在制造过程中,将工作点数据122 存储在微处理器102中,比方说在微处理器102的硬件逻辑中。 相应地,在微处理器102的制造过程中,比方说在测试微处理器 102的各部件后,生产微处理器架构时,或者是通过微处理器运 行时的一些系统软件,工作点的信息被编程进微处理器102的可 编程的熔丝,可编程的逻辑,或者非易失性的存储器中。图2是本发明将图l中的微处理器102用 一种性能优化的方 法,从现在的P状态或者是工作点,转换到一个新的P状态或者 是工作点的流程图。在步骤202中,微处理器102从系统软件接收一个从当前P 状态转换到一个新的P状态的请求信号。在一个实施例中,系 统软件用 一 个改变到新的P状态的请求信号给图1中的可编程 寄存器158编程。因此,预先确定的电压标识符信号136和预先 确定的核心时钟倍数信号13 8被传送给图1中的电压及频率控制 电路104。在另 一个实施例中,只有预先确定的核心时钟倍数信 号138被传送给电压及频率控制电路104,新的电源电压输出信 号142的值是由工作点数据]22确定的。在另外的实施例中,电 压及频率控制电路10 4通过工作点的信息来预先确定温度,比如 最高工作温度,以便确定微处理器10 2可稳定工作在预先确定的 核心时钟倍数信号138时的最小电源电压输出信号的值。在步骤204,图1中的电压及频率控制电路104判断在步骤 202中新的P状态给定的工作频率是否比现在的工作频率高。若 否则流程进入步骤226,若是则流程进入步骤206。在步骤206,电压标识符控制电路126增加电压标识符信号 144的值以使稳压器模块108开始增加电源电压输出信号142的 值。也就是i兌,电压标识符控制电^各126输出 一个比当前的电压 标识符信号144的值高的电压值。并且,稳压器模块108能够用 一种平稳的方法逐渐增加电源电压输出信号的值到 一 个新的幅 值,因此,微处理器102能够在电源电压输出信号转换期间正常 运行。也就是说,在稳压器模块]08改变电源电压输出信号142 的过程中,微处理器1()2的运行不需要中断。流程进入到步骤 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锁存下 一 个总线 时钟信号14 8的最高倍数值,而不是根据当前的工作核心时钟信 号116,当前的工作核心时钟信号116是通过即将更新的电源电 压输出信号142的值确定的,此电源电压输出信号142的值应与 步骤206输出的电压标识符信号144相对应。一4殳i兌来,并未运 行的锁相环112的新频率倍数信号比当前运行中的锁相环112的 频率倍数信号大一等级。然而,如果工作点曲线的斜率很大, 新的倍数可能是当前倍数的大两等级甚至更多等级。如果锁相 环112 A的输出时钟信号1 5 2 A被选择器114选为工作核心时钟信 号116,那么锁相环112A处于运行状态,锁相环112B并未运行。 或者锁相环112B的输出时钟信号152B被选择器114选为工作核 心时钟信号116,那么锁相环112B处于运行状态,锁相环112A 并未运行。接下来,流程进入到步骤218。在步骤218,电压标识符控制电路126等待稳压器模块的电压锁定信号156,此信号表明电源电压输出信号142已经增加到 了预定的幅值。流程进入到步骤222。在步骤22 2,倍数信号14 6等待传输给锁相环112的时钟倍数 控制电路128的频率锁定信号1 54,此信号表明在步骤216输出的 时钟信号1 5 2已经锁存在 一 个新的频率要求上。流程进入到步骤 224。在步骤224,倍数信号146切换锁相环选择信号118,以选择 未运行的锁相环112输出时钟信号1 5 2来作为工作核'"、时钟信号 116,这使原来未运行的锁相环112进入运行状态而原来运行中 的锁相环112进入未运行状态。当锁相环的时钟倍数改变时,锁 相环112的输出信号不能被使用,直到锁相环被锁存在 一 个新的 频率下。更进一步说,由于微处理器102包含两个锁相环即锁相 环112A和锁相环112B,因此它们可以交^,运^亍在工作状态和未 工作状态,工作核心时钟信号116能够有效地快速进行改变,在 本文以及美国专利申请10/816004 (CNTR.2216),申请曰为 4/1/2004巻中都有阐述。在一个实施例中,工作核心时钟信号 116在处理器总线转换期间是不发生变化的,因此,在切换锁相 环选择信号118以前,时钟倍数控制电路12 8会做 一 个辅助的监 测并等待总线转换阶段的完成。如图2中的实施例,步骤206到 224期间,微处理器能够正常运行就是因为电压标识符信号144 的增加量非常小,比如只有16mV的增加。但是,在其他实施例 中,电压标识符信号144的预计增加量可能会相当大,在此情况 下,流程返回到216和218以便在启动未运行的锁相环112并将其 锁定在一个较高倍数以前,稳压器模块108能够先稳定运行。然 后流程进入到步骤214。在步骤226,电压及频率控制电路104判断是否已经进入步骤202中的P状态,如果已经进入了P状态,流程进入到步骤202 以等待下一个P状态请求信号的到来;如果没有进入,流程进 入到步骤228。在步骤228,当电源电压输出信号142将要降低到最低的电 压标识符信号144时,电压及频率控制电^各104由工作点lt据122 以及最高工作温度来判断工作核心时钟信号116的频率是否需 要降低。如果不需要降低频率,流程进入到步骤238,否则,流 程进入到步骤232。在步骤232,时钟倍数控制电路128输出 一个新的倍数信号 146给未运4于的锁相环]12以启动未运4于的锁相环112并锁存在 下 一 个总线时钟信号148的最低倍数值上,而不是锁存在当前的 核心时钟信号116的频率上,这是由即将更新的电源电压输出信 号142所要求的,电源电压输出信号142与步骤238输出的电压标 识符信号144的值相对应。 一般说来,未运行的锁相环112的倍 数信号14 6的新幅值比当前运行的锁相环112的倍数信号的幅值 小一等级。然而,如果工作点曲线的斜率很大,新的倍数幅值 可能比当前幅值小两等级甚至更多。流程进入到步骤234。在步骤234,倍数信号146等待传输给锁相环112的时钟倍数 控制电路128的频率锁定信号]54,以表明按步骤232的要求,输 出的时钟信号152已经锁存在一个新的频率上。在一个实施例 中,在步骤202中等待接收一个向新P状态改变的请求信号时, 未运行的锁相环112被预锁存在了下一个倍数最低值上。这是一 种优化,因为当转换到一个更高的P状态时,电压及频率控制 电路10 4必须等待 一 个很长的时间,以使稳压器模块10 8完成增 加电源电压输出信号142幅值的转换,这个转换时间比将未运行 的锁相环112锁存在下一个最高倍数的时间要长;然而,当转换 到一个较低的P状态时,电压及频率控制电路104能够立刻降低倍数,而不用等待稳压器模块108完成降低电源电压输出信号142幅值的转换。流程进入到步骤236。在步骤236,倍数信号146切换锁相环选择信号118,以选择 未运行的锁相环112输出时钟信号1 52来作为工作核心时钟信号 116,这使原来未运行的锁相环112进入运行状态而原来运行中 的锁相环112进入未运行状态。流程进入到步备聚2 3 8 。在步骤238,电压标识符控制电路126减少电压标识符信号 144的值以使稳压器模块108开始降低电源电压输出信号142的 值。也就是i兌,电压标识符控制电^各126输出 一个新的电压标识 符信号14 4的值,此新的电压标识符信号14 4的比现在的幅值 少一等级。并且,稳压器模块108能够用 一种平稳的方法降低电 源电压输出信号142的值,因此,微处理器102能够在电源电压 输出的幅值转换期间正常工作。流程进入到步骤242。在步骤242,电压标识符控制电路126等待稳压器模块108 的电压锁定信号156,此信号表明电源电压输出信号142已经增 加到了预定的幅值。流程进入到步骤226。参照图3 ,这是图1中的微处理器10 2根据图2中的实施例进 行P状态转换时的示意图。图中横轴的自变量是以微秒为单位 的时间量以及以伏特为单位的工作电压电源电压输出信号142。 时间的范围是从0到375微秒,它与电压标识符信号144增加电源 电压输出信号142的量用同 一坐标轴表示,对应的电源电压输出 信号142范围是0.7V到1.1V,每一次电压标识符信号144的增加 量是16mV。图中纵轴的自变量是以GHz为单位的工作核心时钟 信号116的频率。如图3所示,总线时钟频率是200MHz,总线时 钟倍数的范围是从2倍到]0倍,这使得对应的核心时钟频率范围 是从400MHz到2GIIz 。图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 状态转换需要2 5次电压标识符信号的改变,其中每次电压标识 符信号的改变量是16 m V ,并需要大约1 5微秒的时间。图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状态所需的 时间可能相当的长, 一般在几百个微秒的数量级。图l中的微处理器102根据图2中的流程运行,其优点是依据双锁相环112的设计,在进行p状态转换时,不需要停止传送到核心逻辑电路电路106的工作核心时钟信号116,这使得工作核心时钟信号116 的瞬间转换变的可行。也就是说,电压及频率控制电路104能够 完成工作点倍乘的转换,而不需要中断核心逻辑电路10 6执行程 序指令。这与传统的微处理器不同,对传统的微处理器来说, 它必须至少在单锁相环112锁存新的频率期间停止运^f于,例如, 这个时间可能是10微秒。另外,通过比较图3和图4可知,微处 理器10 2中的核心逻辑电路10 6依照图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.91 6V 。如果工作点数据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次工作核心时钟信号1164咅 数的改变,因此,大约每3次电压标识符信号144的改变后,电 压及频率控制电路104进行1次工作核心时钟信号116倍数的改变如图3所示的实例中,假定了 一条单一的最高工作温度的曲 线。然而,图2中的步骤将被图5的实例所用,以实现一个包含 了多个工作温度时的工作点的转换。参照图5 ,这是当微处理器102的工作温度低于某 一 温度幅 值,根据本发明,为了节省功耗,图l中的微处理器102减少工 作电压时的流程图。流程开始于步骤502。在步骤502,微处理器102的制造商选择一个最高工作温度 (Tmax),使用者将微处理器102工作在此温度下,并将最高工 作温度的值存储在工作点数据122中。最高工作温度是由装置的 技术规格,客户的要求,由计算机制造商提供的制冷系统以及 其它一些因素决定的。在一个实施例中,选择的最高工作温度 是100摄氏度,虽然其它的值可能也可以被选择。在另一个实施 例中,制造商根据市场的需求选择最高工作温度。而有时,制 造商为了保证用户可以稳定运行微处理器102而选择最高工作 温度,在此温度下,微处理器终生可以稳定运行。在另外的实 例中,制造商提供一个10年的保证,虽然其它的值也可以被选 择。在另一个实施例中,制造商根据微处理器的加速寿命测试 法来确定最高工作温度。在一个实例中,最高工作温度的值被 编程进了微处理器102的可编程熔丝(programmable fuse)中。流 程进入到步骤504。在步骤504中,微处理器1 ()2的制造商为微处理器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判断当前温度是否比可替换工作温度的幅值低。由于各种原因,当前温度可能会比 可替换工作温度的幅值低,比如,由于执行程序而导致的微处 理器工作量减少,或者是运行环境的改变,例如,机房空调开 启或者拿走了微处理器1 02附近阻碍空气流通的障碍物。更进一 步i兌,如图5所示,电压及频率控制电^各104通过减少电源电压输出信号14 2来减少工作温度13 4 ,以便减少微处理器的功耗。 另外,由于微处理器102工作在较低电压下时,消耗的功率比较 小,它的工作温度134便能够一直低于可替换工作温度的值,因 此,更有利于长时间的工作在较低温度下以节省功耗。如果当 前的工作温度13 4不低于可替换工作温度的值,流程进入到步骤 522,否则,流程进入到步骤514。在步骤514,电压及频率控制电路104通过微处理器102工作 在当前频率和可替换工作温度时的工作点信息来确定转换电压 的值。电压及频率控制电路104可能从一个表中查询电压^直或者 是通过存储在工作点信息122中的工作点数据来确定电压值。流 程进入到步骤516。在步骤516,电压及频率控制电路104判断微处理器102当前 是否工作在步骤514中确定的工作电压下。如果是,流程返回到 步骤508,否则,流程进入到步骤518。在步骤518,电压及频率控制电路104减少工作电压到步骤 514中确定的电压幅值,也就是输出合适的电压标识符信号14 4 的值给图l中的稳压器模块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 倍到IO倍,这使得对应的工作核心时钟信号116范围是从 400MHz ( 2倍)到2GHz(10倍)。图像中有两条电压及频率曲 线, 一条是最高工作温度下的,在此实例中为IOO摄氏度, 一条 是可替换工作温度下的,在此实例中为60摄氏度。如图6所示的 实例,1.1 V的工作点对应的在最高工作温度下的工作频率为 2.0GHz, 0.972V的工作点对应的在可替换工作温度下的工作频 率为2.0GHz。因此,在图6所示的实例中,当工作在2.0GHz时, 如果电压及频率控制电路1()4判断工作温度134低于60摄氏度,电压及频率控制电路104可能会将电源电压输出信号142的值从 1.1V降低到0.972V。如图6所示,如果工作温度134低于可替换 工作温度的值,工作电压电源电压输出信号14 2可能会根据每一 个工作核心时钟信号116的值而降低到 一 个比较低的幅值,此时 所能节省的微处理器10 2的功耗比工作在电源电压输出信号14 2 的最高值和工作核'"、时钟信号116时所能节省的功耗要多。由图5和图6可知,此实例可以在所要求的性能水平下降低 微处理器102消耗的功耗。下面的例子将做进一步的阐述。假定 计算机系统IOO只被用来看DVD,则操作系统相应地判断只需 要一个较低的性能要求和能够降低功耗。因此,操作系统可以 通过编程使微处理器10 2工作在1.2 G H z的时钟频率上。假定微 处理器102的工作温度1 34低于可替换工作温度的幅值60摄氏 度,则电压及频率控制电路1 ()4降低工作电压电源电压输出信号 142到 一 个较低的幅值上,以进 一 步减少微处理器102的功耗。图5和图6所示的实例的另 一 个优点并不仅仅是潜在地降低 了微处理器102的动态功耗,而是潜在地降低了微处理器102的 静态功耗。静态功耗的消耗主要是因为即使没有状态转换时, 晶体管中也会有相当大的功耗泄漏。泄漏的功耗与工作电压成 正比。因此,根据图5和图6的实例来降低工作电压电源电压输 出信号142也可以减少静态功耗。更进一步说,即使是电源电压 输出信号142的值减小的幅度很小,都能节省相当大的功耗。参照图7,这是根据本发明,当微处理器102的工作温度低 于某一幅值时,图l中的微处理器102增加其性能的流程图。图7 中所提到的方法在这里被称作"过载,,或者是"过载态"以区别于 传统的超频。在传统的超频中,其微处理器102并不监测其工作 温度并根据工作温度而在最高倍数和过载倍数间调整其工作频 率的倍数值。流程进入到步骤7()4.在步骤704,制造商挑选出 一个最高工作温度,在此工作温度下,微处理器102可正常工作,此溫度被称为是最高工作温度 并被包含进了工作点数据122中。最高工作温度是由装置的技术 规格,客户的要求,由计算机制造商提供的制冷系统以及其它 一些因素决定的。在一个实施例中,选择的最高工作温度是IOO 摄氏度,虽然其它的值可能也可以被选择。在另 一个实施例中, 制造商根据市场的需求选择最高工作温度。而有时,制造商为 了保证用户可以稳定运行微处理器10 2而选择最高工作温度,在 此温度下,微处理器终生可以稳定运行。在另外的实例中,制 造商提供一个10年的保证,虽然其它的值也可以被选择。在另 外的例子中,制造商根据微处理器的加速寿命测试法来确定最 高工作温度。在一个实例中,最高工作温度的值被编程进了微 处理器102的可编程熔丝中。流程进入到步骤706。在步骤706中,制造商确定一个最高工作频率(Fmax),在 此频率下,微处理器]02可稳定工作在最高工作温度下。制造商 还会确定一个最高工作电压(Vmax),这是微处理器102在最高 工作频率和最高工作温度下工作时的电压。在此实施例中,最 高工作温度的工作点数据是由图13的实例确定的。在图8所示的 实例中,最高工作电压和最高工作频率的值分别为I.IV和 2.0GHz ( IO倍)。流程进入到步骤708。在步骤708,制造商挑选出一个过载时的工作温度(Tov) 并被包含进了工作点数据122中。过载工作温度的值比最高工作 温度的值要低。过载工作温度也是由装置的技术规格,客户的 要求,由计算机制造商提供的制冷系统以及其它 一 些因素决定 的。在一个实施例中,如图8所示,选择的过载工作温度是75 摄氏度,虽然其它的值可能也可以被选择。流程进入到步骤712。在步骤712中,制造商确定最高过载工作频率(Fov),在此频率下,微处理器102可稳定工作在过载工作温度下。制造商 还会确定一个最高过载工作电压(Vov),这是微处理器102在 最高过载工作频率和过载工作温度下工作时的电压。在此实施例中,过载工作温度的工作点数据是由图13的实例确定的。在 图8所示的实例中,最高过载工作电压和最高过载工作频率的值 分别为1.132V和2.4GHz ( 12倍)。不同的幅值要求使樣i处理器 102工作在过载状态,而最高工作溫度、过载工作温度、最高工 作频率、最高过载工作频率、最高工作电压、最高过载工作电 压等数据值被存储进微处理器102并被当作是图l中工作点数据 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的32134。参照图8,这是图1中的微处理器102根据图7中的实施例而 工作在过载状态时的图像。图中横轴的自变量是以伏特为单位 的电源电压输出信号142。电源电压输出信号142范围是从0.7V 到1.1V。图中纵轴的自变量是以GHz为单位的工作核心时钟信 号116。如图8所示,总线时钟频率是200MHz,总线时钟倍数的 范围是从2倍到IO倍,这使得对应的核心时钟频率范围是从 400MHz到2GHz。图8是对应于图7的流牙呈的,,人工作点凄t据为 最高工作电压和最高工作频率即l.lV和2.0GHz,温度为最高工 作温度即100摄氏度转换到过载工作点,也就是最高过载工作电 压和最高过载工作频率即1.132V和2.4GHz,温度为过载工作温 度即75摄氏度时的转换曲线。过载状态下运行的 一 个优点是可以在传统的包含微处理器 10 2的计算机系统10 0所提供的制冷系统下工作。过载状态可以 使微处理器102动态运行在过载频率下或者是低于过载频率下, 这主要取决于工作量和运行环境的不同。因此,传统的制冷系 统对于微处理器102来说,制冷性能是足够的。相反的,传统的 超频方法没有监测微处理器102的工作温度以便自动动态调整 频率。也就是说,频率被固定在了超频上,或者是最好情况下, 可以由用户通过BIOS来调整频率,这并不能确保微处理器的稳 定运行。过载状态与超频相比,提供了一个相似的优点,那就 是可以将一 些电子触点连接到微处理器的外围以便启动总线频 率倍数,比如由一些AMD Alhlon部件提供。过载的另一个优点 是连接到前端总线的其它部件不需要工作在一个较高的时钟频 率下,因此,不会产生传统的制冷系统不能满足要求以及性能 不稳定的问题。过载的另外的优点是由于频率的变化是在微处 理器102内部的,因此在频率变化时,不需要中断外部的处理器总线。过载的优点还包括由于过载方法能够使微处理器102制造 商测试在过载状态时的工作状况,因此可以保证微处理器在过 载工作点下稳定工作,这是传统的超频方法不能实现的。参照图9,根据本发明, 一种可以使图l中的微处理器在一 个特定的温度范围内动态工作在最高性能或者最高性能左右的方法。图9中的方法被称作是"TM3",因为它是对Intel的"TM2" 的改进。流程从步骤902开始。在步骤902,选择了一个工作温度的范围。这个工作范围是 微处理器10 2可以在最高性能下运行的范围。工作范围是由最低 工作温度(Tmin)和最高工作溫度(Tmax )确定。在一个实施 例中,最低工作温度和最高工作温度可能是只给定最低工作温 度或者最高工作温度其中一个温度和一个增量,或者是一个范 围,或者是最低工作温度和最高工作温度的值。在一个实施例 中,系统软件将此范围编程进了可编程寄存器158。在另一个实 施例中,可编程值可能是由用户来选择的。温度范围162被提供 给图1中的电压及频率控制电路104。在另外的实施例中,温度 范围162由微处理器102的制造商决定。在一个实施例中,预先 指定的工作范围是内定温度范围,可以被可编程寄存器158改 变。而在另一个实施例中,最高工作温度的值由微处理器102 的制造商预先指定而最低工作温度的值是由系统软件编程确 定。在另外的实施例中,TM3的特性由系统软件来决定是否应 用。流程进入到步骤904。在步骤904,监测微处理器102的工作温度。也就是说,温 度传感器132监测微处理器102当前的工作温度134并将此温度 传送给图l中的电压及频率控制电路104。开始时,微处理器102 工作在内定的工作核心时钟信号116与电源电压输出信号14 2工 作点。然而,过一段时间后,随着工作温度134的变化,电压及频率控制电路104在许多不同的工作点间转换。许多原因例如工作量,外部环境以及制冷系统的变化,都会导致工作温度134 的不同。流程进入到步骤906。在步骤906,电压及频率控制电路104判断当前温度是否比 步骤902中确定的最高工作溫度高。如果不高的话,流程进入步 骤918,否则,流程进入步骤908。在步骤908,电压及频率控制电路104判断电源电压输出信 号142是否已经是由稳压器模块108提供的最低的电压标识符信 号144。如图10所示,电源电压输出信号142在0.7V时是由稳压 器模块10 8提供的最低电压。如果电源电压输出信号14 2已经是 最低的电压标识符信号14 4 ,流程返回到步骤9 04以继续监观'j微 处理器温度,否则,流程进入步骤912。在步骤912,电压及频率控制电i 各104从工作点数据122判断 当工作电压电源电压输出信号142降低到步骤916中的下一个最 低电压标识符信号14 4时,是否工作核心时钟信号116的频率需 要被降低。如果不需要,流程进入到步骤916;否则,流程进入 到步骤914.在步骤914,时钟倍数控制电路128使工作核心时钟信号116 的频率转换到比当前工作核心时钟信号116的频率低的下一个 总线时钟信号148的最低倍数,这是由将在步骤916输出的新的 电压标识符信号144所要求的。更进一步说,这里的转换由图2 中的步骤226到242来实现,因此,避免了传统方法中在等待锁 相环锁存时停止核心时钟而引起的性能降低。也就是说,由于 微处理器102能够无损地有效地进行工作点转换,例如,微处理 器102可以通过双锁相环有效执行工作核心时钟信号116的频率 的瞬间转换,也能够在稳压器模块108改变电源电压输出信号 142的幅值的过程中继续稳定工作,电压及频率控制电路104能够在必要的条件下进行相当频繁的工作点转换。例如,当工作 量频繁地改变时,使微处理器1 0 2工作在步骤9 0 2指定地温度范围162里。流程进入到步骤916。在步骤916,电压标识符控制电路126减少电压标识符信号 144的值以使稳压器模块108转换到下 一 个输出的最低电源电压 输出信号142的值上。并且,这里的转换由图2中的步骤226到242 来实现,避免了性能的降低,因为在稳压器模块108改变电源电 压输出信号142的幅值的过程中,微处理器102能够继续稳定工 作。因此,当需要使微处理器]02工作在步骤902所确定的温度 范围中时,电压及频率控制电路104能够实现频繁地工作点的转 换。流程返回到步骤9 0 4以继续监测温度13 4 。在步骤918,电压及频率控制电路104判断当前温度134是否 比步骤902中确定的最低工作温度小。如果不低的话,流程返回 到步骤904以继续监测当前的工作温度134,否则,流程进入步 骤922。在步骤922,电压及频率控制电路14判断工作核心时钟信号 116是否达到了锁相环所能提供的最高工作频率。在图IO所示的 实例中,工作频率2.0GIIz ( IO倍)是由微处理器102提供的最 高工作频率。然而,由于图9是与图7相互关联的,因此,微处 理器102所提供的最高工作点是过载时的工作点,比如,图8中 的过载工作点是在2.4GHz ( 12倍)和1.132V。如果工作核心时 钟信号116已经在最高工作频率,流程返回到步骤9 04以继续监 测当前的工作温度134,否则,流程进入步骤924。在步骤924,电压标识符控制电路126增加电压标识符信号 144的值以使稳压器模块108转换到下 一 个输出的最高的电源电 压输出信号142值上。并且,这里的转换由图2中的步骤206到224 来实现。流程进入步骤926。在步骤926,电压及频率控制电路104从工作点数据122判断 当电源电压输出信号142升高到步骤916中的下一个最高电压标 识符信号144时,是否工作核心时钟信号116的频率需要被升高。 如果不需要,流程返回到步骤904以继续监测当前的工作温度 134,否则,流程进入步骤928。在步骤928,时钟倍数控制电路1284吏工作核心时钟信号116 的频率转换到比当前工作核心时钟信号116的频率高的下 一 个 总线时钟信号148的最高倍数,这是由将在步骤924输出的新的 电压标识符信号144所要求的。更进一步说,这里的转换由图2 中的步骤206到224来实现,因此,避免了传统方法中在等待锁 相环锁存时停止核心时钟而引起的性能降低。流程返回到步骤 904以继续监测当前的工作温度134。参照图IO,这是图l中的微处理器102根据图9中的实施例而 动态工作在最优化性能及指定的温度范围时的图像。图中横轴 的自变量是以伏特为单位的电源电压输出信号142。电源电压输 出信号142范围是从0.7V到I.IV。图中纵轴的自变量是以GHz 为单位的工作核心时钟信号116。如图10所示,总线时钟频率是 200MHz,总线时钟倍数的范围是从2倍到10倍,这使得对应的 核心时钟频率范围是从400MHz到2GHz。根据图9,图IO是在最 高工作点和最低工作点间的多个中间工作点中转换的示意图。 在一个实施例中,制造商测定微处理器在某一温度和最高工作 频率下的最高工作电压,由此可确定最高工作点,制造商还测 定微处理器在同一溫度和最低工作频率下的最低工作电压,由 此可确定最低工作点,而通过最高工作电压和最低工作电压可 计算得到多个中间电压,由此可确定多个中间工作点。如图IO 所示,在不中断工作核心时钟信号116以保持工作温度在一个指 定范围内的情况下,电压及频率控制电路104不断地监测工作温度134并且在不同的邻近工作点间转换。因此,图9中的实施例 可以使微处理器102在给定的时间内,在一定的工作量, 一定的 外部环境和制冷系统的状态下,工作性能接近最高性能要求。图10中,A标示当工作温度下降低于Tmin时,在工作点之 间向上转换,直到温度下降至Tmin以下,或达到最高工作点为 止。B标示当工作温度上升超过Tmax时,在工作点之间向下转 换,直到温度上升至Tmax以上,或达到最^f氐工作点为止。参照图11,此图是TM2热监控和自动热保护装置的工作图。 在Intel的说明文档中,TM2的运行是在背景部分接近最后的位 置提到的。图11所提供的工作点数据值并不能在特定的Intel处 理器中使用。图ll中提供的数据只是用来与图IO中的数据作比 较的。按照TM 2方法,系统软件将低 一 点的工作点数据编程到与 其相邻的高一点的工作点数据中,因此,TM2装置可能不能够 在工作量比较大或者是环境温度比较高的情况下提供必要的热 保护。而如果系统软件将低 一 点的工作,A数据编程到位置更远 一点的高 一 点的工作点数据中,T M 2装置按照时钟周期来算, 将会浪费大量的性能,因为,这只是两个距离比较远的工作点 间的转换。随着状态的转换,TM2装置迫使系统软件在可能的 热状态下,对工作点间隔(这将转换为性能间隔)和热保护能 力做一个平横L相反地,通过图9以及比较图IO和图ll可以得到, 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和图IO中提到的最 高工作温度。因此,当保持工作温度在图8和图IO中的TM3技术 中提到的最高工作温度和最低工作温度之间时,电压及频率控 制电路104使微处理器工作在介于最高工作点和最低工作点间 的中间工作点,这个工作点是在工作量和环境温度所能容许的 最高工作性能或者此工作性能左右。之后,工作量或者工作环 境改变导致温度下降,则电压及频率控制电路104会根据图9的 流程相应地将微处理器1 0 2转换到图9所涉及的最高工作电压/ 最高工作频率的工作点。之后,工作量或者工作环境改变导致温度下降到图7和图8 中提到的过载工作温度以下,贝'J电压及频率控制电路会104根据 图7的流程相应地将微处理器10 2转换到图7的过载技术所涉及的最高过载工作电压/最高过载工作频率的工作点。之后,工作量或者工作环境改变导致温度下降到图5和图6中提到的可替换工作温度以下,则电压及频率控制电路1 0 4会根 据图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在各个可 能的工作点的运行状况。当维持运行在已选择的工作温度下时, 制造商将判断微处理一器0 2是否能够在工作点和选择的工作温 度下稳定工作。流程进入步骤1306。在步骤1306,制造商为每一个电压标识符信号144选择一个 最高频率倍数信号146,在此频率倍数下,微处理器102可以正 常工作。制造商可能会用选择的工作点来为选择的工作温度制 作一条曲线。工作点曲线一般被称作"shmoo"曲线。图3、图6、 图8、图12以及图15就是工作点曲线的示例图,在这些图中,曲 线都是直线。通过判断工作点数据122,制造商可以确定孩吏处理 器102是否可以稳定运行在工作点曲线上或者是曲线以下。特别 是,微处理器102可以利用工作点数据122来管理功耗,比如图2 中的步骤208、 228和图9中的步骤912以及926。另夕卜,制造商可 能会利用步骤13 0 4中的测试结果来将部件分类到不同的市场要 求类别中。流程进入到步骤1308。在步骤1308,制造商判断是否还有工作温度需要来测试运 行的稳定性。如果是,流程进入到步骤1312,否则的话,流程 结束。在步骤1312,微处理器102的制造商为每一个需要获得的工 作点信息选择一个工作温度。特别是,制造商可能会选择图5 中可替换工作温度的值,图7中过载工作温度的值以及图9中最 低工作温度的值。另外,制造商可能会为执行步骤1304到1306 而选择一些不同的工作温度,也可能会在这些步骤的基础上选 择过载工作温度、可替换工作溫度和最低工作温度的值,而不 是由以前的经验来选择过载工作温度、可替换工作温度和最低工作温度的值。流程返回到步骤1304。
参照图14,根据另一个实施例,这是图l中的微处理器102 在工作温度低于相应的低工作温度阈值时,为了节省功耗而降 低工作电压的流程图。与图5中只包含一个可替换的工作温度阈 值不同,图14中的实施例包含了多个可替换的工作温度阈值以 便在更小温度变化的范围内降低功耗。流程从步骤1402开始。
在步骤1402 ,制造商测试在给定频率F和最高工作温度 T[N],也就是这里提到的最高工作温度下,微处理器102可以稳 定工作的最小电压V[N]。特别是,制造商确定在频率F和温度 T|N]下,微处理器1 02可以稳定工作的电压标识符信号144的最 高值。在这个实施例中,N是在频率F下的不同电压标识符信号 144值的个数,比如工作点的个数,在这N个值下,电压及控制 电路104可能会使微处理器102的工作温度134低于N-1个不同 的值。制造商为每一个工作核心时钟信号116的每一个可能的倍 数信号146确定 一 个V[N 1的值。流程进入到步骤1404 。
在步骤1404,制造商测试在给定频率F和可替换工作温度 T[l]下,微处理器102可以稳定工作的最小电压V[l],其中,T[l] 比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[l] 间的电压标识符信号144的值都被包含了 。而对一些F值来说, V[N]和V[1]间的间距可能不足以包含N个不同的电压标识符信号144的值。
一般情况下,对于不同的F来说,N的值是不同的。
流 程进入到步骤1408。
在步骤1408,制造商确定中间的N-2个的可替换温度的值, 在此温度值下,微处理器可以稳定工作在频率F, F是与在步骤 1406中确定的电压标识符信号144相对应的。在一个实施例中, 制造商计算相邻的与T1NI和T11 ]的值相对应的可4#换电压的间 隔,此间隔与其相对应的VINI和V[TI间的间隔Y直成正比。在另 外的实施例中,才艮据测试实验,温度的间隔值并不是成比例的。 在另 一个实施例中,制造商测试每一个中间替换温度值来确定 中间替换电压,而不是通过计算得到。流程进入到步骤1412.
在步骤1412 ,在步骤1402到1408确定的^L称作是V〖i]和T[i] 的电压标识符信号144及其对应的温度值被包含进了图1中的工 作点数据122列表中。工作点数据122包含了对应于每一 个F值 的表格。在这里,索引是通过索引值"i"输入进表格的,其中, 当i二N时,表明了表格的入口为最高工作温度以及在步骤1402 确定的与其对应的VINj电压标识符信号144;当i-l时,表明了 表格的入口为在步骤1404确定的值;当i在l到N之间时,表明了 表格的入口为在步骤1406和]408确定的中间值V[i]/T[i]。流程 进入到步骤1414。
在步骤1414,当微处理器1()2重启时,索引值被初始化为N, 因此,电压及频率控制电路104可以使^敬处理器102工作在V[N] 电压下。流程进入到步骤1416。
在步骤1416,当工作在频率F和电压V[i]时,孩t处理器102 监测当前的工作温度134,而V!il是在电压标识符控制电路126 输出 一 个电压标识符信号14 4后,图1中的稳压器模块10 8相应输 出的电源电压输出信号14 2的值,电压标识符信号14 4由在步骤 1414初始化的索引值从工作点数据122的表格中挑选出来的。流程进入到步骤141S。
1。如果是等于l,流程进入到步骤].426,否则,流程进入到步 骤1422。
在步骤1422,电压及频率控制电路104判断当前温度134是 否比索引值从工作点数据122的表格中挑选出来的工作温度 T:i-1]的值小。如果当前温度134不比Ti-l]的值小,流程进入到 步骤1426;否则,流程进入到步骤1424。
在步骤1424,电压及频率控制电路输出由索引值i减l后从 工作点数据122的表格中挑选出来的稳压器模块108的电压标识 符信号144的值,以降低电源电压输出信号142到V[i-l]。同时, 电压及频率控制电路10 4将索引值i减1 。流程返回到步骤1416 。
在步骤14 2 6,电压及频率控制电路判断索引值是否等于N 。 如果是,流程返回到步骤1416;否则,流程进入到步骤1428。
在步骤1428,电压及频率控制电路判断当前温度134是否比 索引值加l后从工作点数据122的表格中挑选出来的工作温度 T[i+1]的值大。如果当前温度134不比T[i+ll的值大,流程返回 到步骤1416;否则,流程进入到步骤1432。
在步骤1432,电压及频率控制电路输出由索引值加l后从工 作点数据122的表格中挑选出来的图1中的稳压器模块108的电 压标识符信号144的值,以增加工作电压电源电压输出信号142 到V[i+l]。同时,电压及频率控制电i 各将索引^ii加l。流程返 回到步骤1416。
参照图15,这是微处理器1.0 2根据图14中的实施例而运行的 图像。图中横轴的自变量是以伏特为单位的电源电压输出信号 142。图中纵轴的自变量是以GHz为单位的工作核心时钟信号 116。在图6的实施例中,总线时钟频率是200MHz,总线时钟倍数的范围是从2倍到10倍,这使得对应的核心时钟频率范围是从
400MHz到2.0GI-Iz。而在图15中只有2.0GHz时的数据值。在图 15中有5个可能的工作点阈值,即T[1]二60。C、 T[2]=70°C、 T|:3:1=80°C、 T[4卜9(TC以及TI5]二10(rC,和与他们对应的5个工 作电压值V[1J二-0.972V 、 V|2|=:1.004V 、 V[3〗=1.036V 、 V[4]二1.068V以及V[5]二1.10V。图中有两条电压及频率曲线,一 条是相应于最高工作温度的,另外一条是相应于最低工作温度 的。在图15的实施例中,当工作在2.0GHz, I.IV时,如果电压 及频率控制电路判断工作温度134低于90。C,则电压及频率控制 电路104将电源电压输出信号142的值从1.1 V降低到1.068V;如 果工作温度134低于80。C,则电压及频率控制电路104将电源电 压输出信号142的值降低到1.036V;如果工作温度134低于70。C , 则电压及频率控制电路104将电源电压输出信号142的值降低到 1.004V;如果工作温度134低于60。C,则电压及频率控制电路104 将电源电压输出信号142的值降低到0.972V。相反的,当工作在 2.0GHz, 0.972V时,如果电压及频率控制电路104判断工作温 度134高于70。C ,则电压及频率控制电路104将电源电压输出信 号142的值升高到1.004V;如果工作温度134高于80°C ,则电压 及频率控制电路104将电源电压输出信号142的值升高到 1.036V;如果工作温度134高于90。C ,则电压及频率控制电路104 将电源电压输出信号142的值升高到1.068V;如果工作温度134 高于100。C,则电压及频率控制电路104将电源电压输出信号142 的值升高到I.IOV。如图15所示,根据图14的实施例而运行的孩i 处理器102其优点与图5实施例的优点相类似。另外,图14的实 施例与图5的实施例相比,当工作温度134低于T[i]的值,特别 是工作在图5中的可替换工作温度不能达到的值时,此实施例可 以通过提供在较小范围内向低 一 点的电源电压输出信号14 2的转换而节省附加的功率消耗。更进一步说,微处理器102的双锁 相环112的设计使得图14的实施例在相当频繁的工作点间转换 时,也不会有多余的性能消耗,因为在转换期间,核心逻辑电
路106的工作核心时钟信号16并不需要停止。
虽然本发明以及其对象、特征和优,泉都已经做了详细的阐 述,但是,本发明并不局限于这些实施例。例如,这些实施例 是从不同的工作频率、电压及工作温度来说明的,其它的实施 例可能会使用 一 些不同的值。
虽然在本发明中有许多的实施例,但他们只是本发明的方 法的一些例子,并没有局限性。任何本领域的普通技术人员, 在不脱离本发明的精神和范围内,当可作些许的更动与润饰。
例如,除了用硬件实现,如在CPU中或连接与CPU,孩i处理器, 微控制器,数字信号处理器,核心处理器,单芯片(SOC)系 统或者是其它的设备,也可以用软件实现,比如计算机的可读 程序,可编程代码,或者是任意形式的指令,比如说源、对象 或者是机器语言,例如,存储于软件的可用(如可读)介质。 这样的软件可以应用于,比如是功能,构造,模型,模拟,描 述或者是对装置或者方法的测试。例如这种方法可以由一般的 程序语言如C, C++,硬件描述语言(HDL)包括Verilog HDL, VHDL等,或者是其它的可用程序来实现。这样的软件能够被 配置在任何的已知计算机可用介质,如半导体,磁盘,或者是 光盘,如CD-ROM, I)VD-R()M。这些软件也可以被当作计算机 数据信号配置在计算机可移动介质中,例如,载波或者是其它 的介质,包括数字的,光学的以及模拟的介质。本发明的实施 例包含了一种方法,此方法是提供一个微处理器,通过软件来 对微处理器的设计进行编程,然后将软件当作是一个计算机信 号来通过网络传输。这里的装置和方法可能都包含了知识产权,比如核心微处理器和集成电路的硬件变换。另外,本发明的装 置和方法可以通过软件和硬件相结合来实现。以上所述仅为本发明较佳实施例,然其并非用以限定本发 明的范围,任何熟悉本项技术的人员,在不脱离本发明的精神 和范围内,可在此基础上做进一步的改进和变化,因此本发明 的保护范围当以本申请的权利要求书所界定的范围为准。附图中符号的简单说明如下100计算机系统102微处理器104电压及频率控制电路106核心逻辑电路108稳压器模块112A:锁相环112B:锁相环114:选择器116:核心时钟信号118:锁相环选择信号122'工作点数据124.偏压设定值126电压标识符控制电3各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:选择最高工作温度7 0 6:确定可稳定工作在最高工作温度下的最高工作频率和确定在最高工作频率下工作的最高工作电压 708:选择低于最高温度的过载工作温度 712:确定可稳定工作在过载工作温度下的最高过载工作频率和确定在最高过载工作频率下工作的最高过载工作电压 714:监测微处理器运行时的工作温度 716:判断当前工作温度是否比过载工作温度低 718:判断是否已经达到了最高过载工作频率 7 22:按照过载工作温度曲线转换到最高过载工作频率和最高过载工作电压下运行724:判断是否已经达到了最高工作频率726:按照最高工作溫度曲线转换到最高工作频率和最高工902:选择工作温度的范围 904:监测孩f处理器运行时的工作温度 906:判断当前温度是否比最高工作温度高 908:判断电源电压输出信号是否已经达到了最低的电压标 识符信号912:判断是否工作核心时钟的频率需要被降低914:降低工作核心时钟频率到下 一 个总线时的最低倍数916:降低电压标识符信号918:判断当前温度是否比最低工作温度小922:判断工作核心时钟是否达到了最高工作频率924:增加电压标识符信号926:判断是否工作核'"、时钟的频率需要被升高9 2 8:升高工作核心时钟频率到下 一 个总线时钟的最高倍数1302:选4,最高工作温度1304:当维持运行在已选择的工作温度下时,测试是否能 够在结合稳压器模块的电压标识符信号范围以及锁相环的时钟 频率范围的每一个可能的工作点下稳定工作1306:由测试It据来选4奪该部件可工作在每 一 个电压标识 符信号的已选择的工作温度下的最高工作频率倍数1308:判断是否还有工作温度需要被测试1312:选择一个新的工作温度1402:测试在给定频率] 和最高工作温度T[N]下,樣吏处理 器可以稳定工作的最小电压V|:N I1404:测试在给定频率F和可替换工作温度T[1]下,微处理 器可以稳定工作的最小电压V11 ],而T [ 1 ]比T [ N ]的值要小1406:选择在V[NI和V[l]之间的N-2的中间电压值1408:确定N-2的中间可替换温度的值1412:存储电压及温度的值以作为工作点数据1414:将索引值i初始化为N1416:当工作在频率r,和电压V〖il时,监测工作温度1418:判断索引值i是否等于l1422:判断当前温度是否比工作温度T[i-l]小1424: 降{氐工作电压到V| i-1 :|并<吏11426:判断索引值i是否等于N1428:判断当前温度是否比工作温度T[i+l]大1432:升高工作电压到Vli + ]]并使i—十l。
权利要求
1.一种根据工作温度的变化来动态改变功耗的微处理器,其特征在于,包括一核心逻辑电路,根据一工作核心时钟工作以执行程序指令;一温度传感器,用来监测核心逻辑电路的工作温度;一时钟产生电路,用于产生工作核心时钟以提供给核心逻辑电路;以及一控制电路,接收温度传感器所传送的温度以监测核心逻辑电路的工作温度,并包含了微处理器可以稳定工作在一第一温度的多个第一工作点,每一个第一工作点都有其各自对应的工作电压和工作频率;其中,该控制电路使核心逻辑电路在多个第一工作点间转换运行。
2. 根据权利要求l所述的根据工作温度的变化来动态改变 功耗的微处理器,其特征在于,控制电路更包含了微处理器可 以稳定工作在 一 第二温度的 一 第二工作点,所述多个第一工作点其中之一具有一第一电压和一第一频 率,使微处理器可以在第一电压,第一频率和第一温度下稳定 地工作;第二工作点具有一第二电压和该第一频率,使微处理器可 以在第二电压,第一频率和第二温度下稳定地工作,且第二温 度低于第一温度,第二电压小于第一电压;其中,如果微处理器工作在第一电压和第一频率下,且核 心逻辑电路的工作温度低于第二温度时,贝'j控制电路使微处理 器工作在第二工作点下。
3. 根据权利要求2所述的根据工作温度的变化来动态改变 功耗的微处理器,其特征在于,控制电路更包含了微处理器可以稳定工作在一第三温度的一第三工作点,第三工作点具有一 第三电压和第一频率,使微处理器可以在第三电压,第一频率 和第三温度下稳定地工作,且第三温度低于第二温度,第三电 压也比第二电压要低;其中,如果微处理器工作在第一频率和第二电压下,且工 作温度低于第三温度时,贝'J控制电路使微处理器工作在第 一 频 率和第三电压下。
4. 根据权利要求1所述的根据工作温度的变化来动态改变功耗的微处理器,其特征在于,控制电路更包含了微处理器可 以稳定工作在一第二温度的一第二工作点,且所述多个第一工 作点其中之 一 具有 一 第 一 电压和 一 第 一 频率,使微处理器可以在第一电压,第一频率和第一温度下稳定地工作;第二工作点具有一第二电压和该第一频率,使微处理器可以在第二工作点和第二温度下稳定地工作,且第二温度低于第 一温度,第二电压小于第一电压;其中,如果微处理器工作在第二工作点下,且核心逻辑电路的工作温度高于第一温度时,则控制电路使微处理器工作在 第一电压和第一频率下。
5. 根据权利要求1所述的根据工作温度的变化来动态改变 功耗的微处理器,其特征在于,所述多个第一工作点中包含了 一最高工作点,该最高工作点具有一第一电压和一第一频率;控制电路更包含了微处理器可以稳定工作在 一 第二温度的 一第二工作点,第二工作点具有一第二电压和一第二频率,第 二频率高于第一频率,第二温度低于第一温度;其中,如果微处理器工作在该最高工作点下,且核心逻辑 电路的工作温度低于第二温度时,则控制电路使微处理器工作 在第二工作点下。
6. 根据权利要求5所述的根据工作温度的变化来动态改变 功耗的微处理器,其特征在于,控制电路更包含了微处理器可 以稳定工作在一第三温度的一第三工作点,第三工作点具有一 第三电压和第二频率,第三温度低于第二温度,第三电压小于第二电压;其中,如果微处理器工作在第二工作点下工作,且核心逻 辑电路的工作温度低于第三温度时,则控制电^各使微处理器工 作在第三工作点下。
7. 根据权利要求l所述的根据工作温度的变化来动态改变 功耗的微处理器,其特征在于,多个第一工作点包含了一最高 工作点和 一 最低工作'泉和至少 一 个中间工作点,最高工作点具 有一第一电压和一第一频率,最低工作点具有一第二电压和一 第二频率;控制电路根据第一电压和第二电压的值计算一中间 工作点的第三电压。
8. 根据权利要求1所述的根据工作温度的变化来动态改变 功耗的微处理器,其特征在于,还包含了一寄存器,寄存器通 过软件编程来向控制电路发出请求信号,使微处理器在多个第 一工作点间转换运行。
9. 根据权利要求l所述的根据工作温度的变化来动态改变 功耗的微处理器,其特征在于,时钟产生电路包含了两锁相环,每一个锁相环分别产生具有多个可能的工作核 心时钟频率中的 一工作核心时钟频率的时钟信号;以及一选择电路,该选择电路用来选择两锁相环中的一个锁相 环的时钟信号作为核心逻辑电路的工作核心时钟;其中,在每一次频率转换时,控制电路控制一未运行的锁 相环产生具有新频率的时钟信号,当未运行的锁相环锁存在新作为核心逻辑电路的工作核'"、时钟。
10. 根据权利要求l所述的根据工作温度的变化来动态改变 功耗的微处理器,其特征在于,控制电路在不停止微处理器运 行的情况下,控制时钟产生电路完成从产生 一 第 一 频率的工作 核心时钟到产生 一 第二频率的工作核心时钟的转变。
11. 一种根据工作溫度的变化来动态改变微处理器功耗的方法,其特征在于,包括选择一第一温度值;依据第一温度值确定多个第一工作点,每一个工作点都有其各自对应的工作电压和工作频率;监测微处理器运行时的工作温度;以及控制微处理器于多个第一工作点间转换工作,以使被监测 的微处理器运行时的工作温度能保持在第 一温度值内。
12. 根据权利要求11所述的根据工作温度的变化来动态改 变微处理器功耗的方法,其特征在于,第一工作点中包含了一 最高工作点,该最高工作点具有一第一工作电压和一第一工作 频率;且该方法还包括选择一第二温度值,第二温度值低于第一温度值; 依据第二温度值确定一第二工作点,第二工作点具有一第二工作电压和 一 第二工作频率,第二工作频率高于第 一 工作频率;以及判断是否微处理器工作在该最高工作点且被监测的微处理 器运行时的工作温度是否低于第二温度值,若是则控制微处理 器工作于第二工作点。
13. 根据权利要求n所述的根据工作温度的变化来动态改 变微处理器功耗的方法,其特征在于,所述多个第一工作点其中之一具有一第一工作电压和一第一工作频率;且该方法还包括选择一第二温度值,第二温度值低于第一温度值;依据第二温度值确定 一 第二工作点,第二工作点具有 一 第二工作电压和该第一工作频率,第二电压小于第一电压;以及判断是否微处理器工作在第 一 电压和第 一 频率下且被监测 的微处理器运行时的工作温度是否低于第二温度值,若是则控 制微处理器工作在第二工作,泉。
14. 根据权利要求13所述的根据工作温度的变化来动态改 变微处理器功耗的方法,其特征在于,还包括判断是否微处 理器工作在第二工作点且被监测的微处理器运行时的工作温度 是否高于第二温度值,若是则控制微处理器工作在第一工作频 率和第一工作电压。
15. 根据权利要求ll所述的根据工作温度的变化来动态改 变微处理器功耗的方法,其特征在于,第一工作点中包含了一 最高工作点, 一最〗氐工作点和至少一中间工作点;且该方法还 包括根据最高工作点和最低工作点来计算中间工作点。
16. 根据权利要求ll所述的根据工作温度的变化来动态改 变微处理器功耗的方法,其特征在于,所述控制微处理器于多 个第 一工作点间转换工作的步骤包括接收一请求信号,请求信号具有一预定频率; 在接收到请求信号以后,生成工作核心时钟的新的频率, 新的频率比当前频率更接近于预定频率;以及不断地产生新的频率,直到新的频率达到该预定频率。
17. 根据权利要求16所述的根据工作温度的变化来动态改 变微处理器功耗的方法,其特征在于,该请求信号还具有一预 定电压值,且所述控制微处理器于多个第一工作点间转换工作的步骤还包括不断地产生新的电压,直到新的电压达到于预定电压值。
18. 根据权利要求16所述的根据工作温度的变化来动态改变微处理器功耗的方法,其特征在于,所述生成工作核心时钟的新的频率的步骤包括4吏两锁相环中未运行的锁相环产生新的频率;以及 选择两锁相环中未运行的锁相环来提供其时钟信号作为微处理器的工作核心时钟,其中,产生和选择信号是在不停止微处理器运行的情况下执行的。
19. 根据权利要求ll所述的根据工作温度的变化来动态改 变微处理器功耗的方法,其特征在于,所述依据第一温度值确定多个第一工作点的步骤包括选4奪一 工作电压和 一 工作频率;维持微处理器工作在工作电压,工作频率和第 一 温度值下;以及判断维持微处理器是否稳定工作在工作电压,工作频率和 第一温度值下。
20. 根据权利要求11所述的根据工作温度的变化来动态改 变微处理器功耗的方法,其特征在于,所述控制微处理器于多 个第 一 工作点间转换工作的步骤包括判断被监观'j的微处理器运行时的工作温度是否高于第 一 温 度值;若被监测的微处理器运行时的工作温度高于第 一 温度值 时,执行以下步骤判断微处理器是否能在当前工作频率和降低后的工作电压 下稳定工作;如果微处理器不能在当前工作频率和降低后的工作电压下稳定工作时,则降低微处理器的工作频率;以及如果微处理器能在当前工作频率和降低后的工作电压下稳 定工作时,则降低孩i处理器的工作电压。
全文摘要
一种根据工作温度的变化来动态改变功耗的微处理器及方法,此微处理器包括一核心逻辑电路,根据一工作核心时钟工作以执行程序指令;一温度传感器,用来监测核心逻辑电路的工作温度;一时钟产生电路,用于产生工作核心时钟以提供给核心逻辑电路;以及一控制电路,连接于温度传感器以监测核心逻辑电路的工作温度,并包含了微处理器可以稳定工作在一第一温度的多个第一工作点,每一个第一工作点都有其各自对应的工作电压和工作频率;该控制电路使核心逻辑电路在多个第一工作点间转换运行。本发明可根据微型计算机的工作温度变化来减少功耗和提高性能。
文档编号G06F1/32GK101241392SQ20081000707
公开日2008年8月13日 申请日期2008年2月1日 优先权日2007年3月1日
发明者史蒂芬·嘉斯金斯, 查理·约翰·侯斯拉, 达鲁斯D·嘉斯金斯 申请人:威盛电子股份有限公司