专利名称::用于防止集成电路过热的故障保护机制的制作方法
技术领域:
:本发明的实施例涉及集成电路领域;更具体地说,涉及集成电路的热保护机制。
背景技术:
:随着集成电路(IC)管芯封装了更为密集的电路元件并且工作频率提高,这些IC的功率消耗增加。增加的功率消耗导致增加的工作温度,如果不对其进行控制可引起IC的灾难性故障。现有的热解决方案包括散热器、液体冷却、风扇等。传统的电源管理包括降低工作频率和将时钟信号关闭一段时间等。热解决方案和电源管理的结合经常允许IC工作在可接受的温度范围之内。一些传统的方法使用热传感器来检测IC的温度是否超过温度阈值。一般的传统方法是使用芯片复位来禁用热传感器。即,当芯片处于复位中时,热传感器输出被禁用。但是,芯片复位经常是高功率状态。结果,长时间处于复位中可以引起过热。因而,如果热传感器在复位期间被禁用,则该过热可以快速地变成破坏性的,引起芯片以及可能主板的破坏,甚至变成火灾。
发明内容根据本发明的第一个方面,提供了一种方法,包括独立于集成电路的工作状态,检测集成电路的温度是否超过预定阈值;以及如果集成电路的温度超过阈值,则将至少一部分电源从集成电路去掉。根据本发明的第二个方面,提供了一种装置,包括热传感器和耦合到热传感器的输入或输出控制逻辑。热传感器用以独立于集成电路的工作状态,检测集成电路的温度是否超过预定阈值。如果集成电路的温度超过阈值,则输入或输出控制逻辑产生信号以从集成电路去掉至少一部分电源。根据本发明的第三个方面,提供了一种装置,该装置包括一个或多个热传感、耦合到所述一个或多个热传感器的输入/输出控制逻辑和耦合到所述一个或多个热传感器并耦合到所述输入/输出控制逻辑的延迟逻辑。当集成电路被加电到预定电平或者当所述集成电路脱离复位状态时,所述一个或多个热传感器检测集成电路的温度是否超过阈值;如果集成电路的温度超过阈值,则所述输入/输出控制逻辑产生第一信号以从集成电路去掉至少一部分电源;延迟逻辑用于在使能所述输入/输出控制逻辑来产生第一信号之前停止一段时间。参照下面的描述和用于图示本发明实施例的附图可以最好地理解本发明。在附图中图1是热保护机制的示例实施例的方框图。图2是时钟产生逻辑的示例实施例的方框图。图3是热配置逻辑的示例实施例的方框图。图4是有限状态机的工作的示例实施例的方框图。图5是熔断器电路和移位寄存器的示例实施例的方框图。图6是热传感器的示例实施例的方框图。图7是处理器的示例实施例的方框图。图8是计算机的示例实施例的方框图。图9是图示热处理的示例实施例的流程图。图10是图示热处理的另一个示例实施例的流程图。具体实施例方式下面将描述防止集成电路(IC)过热的技术。在下面的描述中,提出了许多具体的细节。但是,应该理解没有这些具体的细节,本发明的实施例也可以实现。在其它的例子中,为了不使描述难于理解,公知的电路、结构和技术没有详细示出。图1示出了防止IC过热的热保护电路的示例实施例的方框图。在一个实施例中,示例电路100包括热传感器以检测集成电路(IC)的温度是否超过预定阈值,而不论IC的状态如何,还包括耦合到热传感器的IO(输入和输出)逻辑,如果IC的温度超过预定阈值,所述IO逻辑发送信号来将至少一部分电源从IC去掉。参照图1,根据一个实施例,电路100包括热传感器101,其检测IC的温度是否超过预定阈值;配置逻辑102,其基于与IC相关联的热配置来配置热传感器101;热计数器103,其提供了预定的时间段以允许热传感器101的热读数稳定;输出控制逻辑104,其具有使能和超越控制(overrride)能力;时钟产生逻辑105,其产生稳定的时钟信号;以及电源检测逻辑106,其检测何时电源达到预定电平。在一个实施例中,热传感器101被设计来检查将导致破坏性的IC过热和关闭IC的条件。在一个实施例中,热传感器101包括输入端和输出,其中输入端接收由配置逻辑102指定的跳变点(trippoint),输出耦合到IO控制逻辑104,当IC的温度超过跳变点时施加(assert)信号(例如灾难性信号),该输出也称为灾难性跳变输出。为了保证热传感器101准确,根据一个实施例,供应给热传感器101的电源是稳定的,并且在热传感器101接收来自配置逻辑102的热配置后,它具有稳定时间。否则,热传感器101可能产生错误的热跳变信号施加。但是,依赖外部信号或事件来使能热传感器可导致IC过热而热传感器不工作的情况。配置逻辑102向热传感器101提供跳变点设置。在一个实施例中,配置逻辑102包括PROM(可编程只读存储器)FSM(有限状态机),它等待供应给IC的电源到达IC规范之内的稳定电平。配置逻辑102还可等待时钟产生逻辑105,时钟产生逻辑105一般包括锁相环(PLL)以锁定时钟信号来保证有稳定的时钟供应给IC。根据一个实施例,不论PLL是否锁定,时钟产生逻辑都保证时钟被分配给IC。一旦电源和时钟信号稳定,热跳变点就被提供给热传感器101。在一个实施例中,从PROM单元读出热跳变点并发送到热传感器101。根据一个实施例,将热跳变点从PROM并行读入移位寄存器。PROM移位寄存器串行连接到热传感器101的移位寄存器。然后PROMFSM可以将热配置(例如热跳变点)从PROM移位到热传感器。根据一个实施例,热计数器103确定在热传感器101的输出被使能之前要等多久。延迟时间段根据不同的热传感器设计和硅处理来具体地配置。在一个实施例中,利用各设计的最坏情况的时间段。热计数器103可以使用内部总线时钟代替主CPU时钟来计数以消除通过内部总线比计数的时间的差异。根据一个实施例,可能的最快的总线时钟的规范决定了最终的计数器值。在外部总线时钟被去掉或发生故障的情况中,根据另一个实施例,内部的环形振荡器可以用于提供计时以产生内部总线时钟。根据一个实施例,直到电源是好的(例如电源达到预定电平)并且熔断器配置已经完全移位到热传感器101,热计数器103才开始计数。当最终计数器值已经达到时,热计数器103可以向输出控制逻辑104施加传感器稳定信号。当电源不好(例如电源低于预定电平)或者如果热传感器配置数据被从PROM单元重新发送到热传感器101或者如果热传感器配置通过调试机制被超越控制,传感器稳定信号被解除(de-assert)并且热计数器103被复位。输出控制逻辑104将从热传感器101接收的灾难性跳变输出与来自热计数器103和某些超越控制逻辑的传感器稳定信号相结合。在缺省状态中,根据一个实施例,当从热计数器103收到的传感器稳定信号被施加时,灾难性跳变信号的值被加到关闭信号上。如果传感器稳定信号被解除,则关闭信号被解除。如果关闭信号被施加,则PLL被停止并且从片外发送信号来指示VRM(电压调整模块)将至少电源的一部分从IC去掉。在一个实施例中,输出控制逻辑104包括调试机制以强制施加关闭、禁止施加关闭以及切换到控制传感器稳定信号的芯片复位机制。结果,破坏性芯片过热的可能性大大降低。根据一个实施例,上面所讨论的实施例即使在芯片复位或者缺乏稳定时钟时也可以大大降低芯片过热。传统方法在芯片处于复位时,使用芯片复位来禁用热传感器。即,热传感器的输出在芯片复位期间被禁用。不幸的是,芯片复位是高电源状态,长时间处于复位中可引起过热。如果热传感器在复位期间被禁用,则该过热可以快速地变成破坏性的,破坏芯片以及可能主板,甚至变成火灾。具体地说,根据一个实施例,电源检测逻辑106包括第一输入端以接收电源信号107并且将它与从第二输入端收到的参考电压108比较。可以通过内部正向偏压二极管基准提供参考电压108,所述二极管基准独立于电源信号107工作。电源检测逻辑106可以仅仅是将电源信号107与参考电压108比较的简单比较器。电源信号107大于参考电压108时,电源检测逻辑106施加PwrIsGood(例如,电源是好的)信号109。在一个实施例中,参考电压108是0.8伏。PwrIsGood信号109被馈入到配置逻辑102和时钟产生逻辑105的输入端。时钟产生逻辑105负责产生稳定的内部时钟信号以驱动其他IC内的元件,例如配置逻辑102、热传感器101和热计数器103。在一个实施例中,时钟产生逻辑105供应环形振荡器时钟,直到PwrIsGood信号109被收到并且PLL201被锁定。之后,时钟产生逻辑105供应基于PLL的时钟。结果,任何情况下,即使IC仍处于复位状态(例如,复位信号110仍被施加),时钟产生逻辑105都被使能以产生时钟信号,例如MainCPUClk信号114和BusClk信号115。在IC复位期间产生的时钟信号驱动配置逻辑102和热计数器103,其与输出控制逻辑104结合,即使在IC复位期间也向IC提供热保护。根据一个实施例,该电路允许热传感器101在IC被加电后的大约3.99微秒内被使能。相反地,传统方法依赖复位来禁用/使能热传感器并且由于复位的规格需求,直到IC启动后至少1毫秒,热传感器才能被启动。这样长时间的复位可能毁坏IC。根据另一个实施例,当通过经由反馈路径112收到的来自输出控制逻辑104的关闭信号113来关闭IC时,时钟产生逻辑105可被禁用。一旦时钟产生逻辑105被使能,它产生MainCPUClk114和BusClk115。此外,时钟产生逻辑105可以包括锁定机制来锁定时钟信号114和115。当时钟信号114和115被锁定(例如,时钟信号是稳定的),根据一个实施例,时钟产生逻辑105施加PLLLock信号116,PLLLock信号116被馈入到配置逻辑102的输入端以指示时钟信号114和115是稳定的。在一个实施例中,时钟产生逻辑105从诸如BusClkIn111的外部时钟得到时钟信号114和115,所述外部时钟可以是系统时钟。或者,如果外部时钟111不可用或不稳定,则时钟产生逻辑105可以从诸如环形振荡器的内部时钟在时钟产生逻辑105内产生时钟信号114和115。为了激活热传感器101,当时钟不稳定或者BusClkIn111不可用时,PLLLock信号116也随着复位信号的解除被激活。这使得即使在缺乏外部时钟,温度变得过热的极端情况下,也具有保护措施。配置逻辑102负责配置热传感器101(例如,向热传感器101设置跳变点)。在一个实施例中,配置逻辑102包括PROMFSM以等待指示供应给IC的电源达到IC规格内的稳定电平的PwrIsGood信号109。配置逻辑102还可等待从时钟产生逻辑105收到的PLLLock信号116,PLLLock信号116指示诸如MainCPUClk信号114的时钟信号是稳定的。一旦电源和时钟信号稳定,热跳变点被提供给热传感器101。在一个实施例中,从PROM单元中读取热跳变点并发送到热传感器101。根据一个实施例,将热跳变点从PROM并行读入移位寄存器。PROM移位寄存器串行连接到热传感器101的移位寄存器。然后PROMFSM通过ThermalCfg路径117将热配置从PROM单元移位到热传感器。热跳变点的移位由MainCPUClk信号114驱动。一旦热传感器101的配置已经完成,根据一个实施例,配置逻辑102向热计数器103施加ThermalCfgDone信号118,指示热配置的完成。一旦热配置完成,根据一个实施例,热传感器101就开始基于由配置逻辑102(通过ThermalCfg117)提供的热配置,测量和检测IC的温度,与诸如跳变点的预定阈值相比较。诸如跳变点的热配置数据被用来编程热传感器内的电流源以提供参考电压。在一个实施例中,热配置数据为特定的IC而特别的设计。热传感器101可以使用参考电压来决定IC的温度是否超过预定阈值。如果是这样,则热传感器101向输出控制逻辑104施加诸如CatastrophicTrip信号119的信号,所述信号指示IC的温度超过为该IC指定的热跳变点。在一个实施例中,当IC的温度大于65°加上从ThermalCfg117收到的值(例如,热跳变点)时,热传感器101施加CatastrophicTrip信号119。根据一个实施例,由热传感器101施加的CatastrophicTrip信号119可以由输出控制逻辑104控制,因为,除了其它原因以外,输出控制逻辑104可以被热计数器103禁用。换句话说,输出控制逻辑104在未收到指示热传感器101的读数稳定的SensorStable信号120的情况下,不施加任何信号(例如CatastrophicTrip信号119)。如果热传感器101不稳定,CatastrophicTrip信号119不可以有效,这会引起不期望的结果。SensorStable信号120由热计数器103控制。热计数器103负责停止预定的一段时间以允许热传感器101的热读数变得稳定。根据一个实施例,一旦热计数器103接收到ThermalCfgDone信号118,同时热配置设置移位完成,热计数器103就开始在BusClk115驱动下计数到预定时钟周期。在一个实施例中,当热计数器103计数到798个时钟周期时,它向输出控制逻辑104施加SensorStable信号120。一旦输出控制逻辑104接收SensorStable信号120,它就被使能来基于CatastrophicTrip信号119,向电压调整模块(VRM)输出诸如关闭信号113的信号。VRM可以完全地关闭IC或者至少去掉一部分供应给IC的电源。例如,当输出控制逻辑104被使能(例如,SensorStable信号120被施加)时,如果CatastrophicTrip信号119被施加,则关闭信号113就被施加。否则,关闭信号113被解除。此外,根据一个实施例,关闭信号113通过路径112被反馈到时钟产生逻辑105的输入端。当关闭信号113被施加时,被反馈到时钟产生逻辑105的关闭信号113禁用时钟产生逻辑105。结果,IC将不会收到任何主要作为IC工作的驱动信号的时钟信号,防止了IC的过热。注意,一般地,由IC产生的大部分热量来自PLL和时钟反转。停止时钟也就停止了大多数的数据传输,从而也限制从数据信号切换产生的热量。其余的热量来自只可以通过去掉IC的电源来停止的诸如漏电流的其他效应。图2示出了时钟产生逻辑电路的示例实施例的方框图,所述时钟产生逻辑电路可以用作图1的时钟产生逻辑105。参照图2,在一个实施例中,示例电路200包括锁相环(PLL)电路201,其基于外部时钟来产生稳定的时钟;锁定逻辑202,其指示时钟信号是否稳定;时钟选择逻辑207,其驱动多路复用器203来基于时钟检测器206检测到的外部时钟是否工作来选择外部时钟或者内部时钟。PLL201负责基于外部时钟产生具有恒定相角的稳定的时钟信号。具体地说,根据一个实施例,PLL201基于BusClkIn111产生诸如PLLClock210的稳定的时钟信号。但是,当IC的温度超过预定阈值时,PLL210可以由通过路径112由输出控制逻辑104施加的关闭信号113来禁用。结果,当PLL201被禁用时,没有PLLClock信号210被产生。另外,即使当PLLClock信号210被产生时,可能经过一段时间才变得稳定。PLL201还具有将PLLClock信号210锁定到恒定相角以获得稳定时钟信号的能力。当PLLClock信号210被锁定时,根据一个实施例,PLL201向锁定逻辑202施加Lock信号209以指示PLLClock信号210是稳定的。锁定逻辑202负责产生PLLLock信号116以被发送到图1的配置逻辑102,指示MainCPUClk114是稳定的,使得配置逻辑102可以开始配置热传感器101。根据一个实施例,如果从PLL201收到的Lock信号209被施加(例如PLLClock信号210已经被PLL201锁定)或者复位信号208已经被解除(例如IC已经脱离复位状态),无论哪一个先发生,则锁定逻辑202施加PLLLock信号116。结果,一旦IC被加电到预定电平(例如收到PwrIsGood信号109),时钟产生逻辑200就被使能以产生诸如MainCPUClk信号114和BusClk信号115的时钟信号,即使IC仍处于复位状态(例如复位信号208仍然被施加)。在IC复位期间产生的时钟信号驱动热传感器101和热计数器103,与输出控制逻辑104结合,即使在IC的复位周期内也向IC提供热保护。根据一个实施例,该电路允许在IC被加电后大约3.99微秒内被使能。相反地,传统方法依赖复位来禁用/使能热传感器并且由于复位的规格需求,直到IC启动后至少1毫秒,热传感器才能被启动。这样长时间的复位可以毁坏IC。根据一个实施例,MainCPUClk114由PLL201基于从BusClkIn111收到的外部时钟来产生。或者,它可以由诸如来自环形振荡器204的RingOscClock信号213的内部时钟来产生。这可以由多路复用器203来完成以选择外部时钟或者内部时钟。多路复用器203由时钟选择逻辑207控制,时钟选择逻辑207产生ClockSelect信号211以指示多路复用器203据此来选择合适的时钟源。通常,MainCPUClk114从诸如BusClkIn111的外部时钟产生,所述外部时钟可以是系统时钟。但是,偶尔,外部时钟可能不可用或不稳定。当IC或者具有IC的系统处于节能模式时,BusClkIn111处的外部时钟不可用,可能发生上述情况。在这期间,从PLL不产生MainCPUClk114和BusClk115。结果,在这期间,没有环形振荡器供应的电源的情况下,配置逻辑102、热传感器101和热计数器103不工作,对IC的热保护不可用。因此,在一个实施例中,由多路复用器203选择的内部时钟(例如,环形振荡器204)用于产生MainCPUClk114和BusClk115。来自BusClkIn111的外部时钟的有效性可以由诸如NoBCLK检测器206的时钟检测器检测。根据一个实施例,当在BusClkIn111没有时钟信号或者时钟信号无效时,NoBCLK检测器206向时钟选择逻辑207施加BCLKIsOff信号211。时钟选择逻辑207负责指示多路复用器203来选择外部时钟或者内部时钟。根据一个实施例,如果BCLKIsOff信号212被施加或者PwrIsGood信号109被解除,则时钟选择逻辑207产生ClockSelect信号211以指示多路复用器203选择内部时钟(例如,从环形振荡器204产生的RingOscClock213)。否则,ClockSelect信号211指示多路复用器203选择从BusClkIn111收到的外部时钟。时钟分频器205将MainCPUClk114分频以产生BusClk115,这样,通常,MainCPUClk114是BusClk115的频率的几倍。图3示出了图示热配置逻辑的示例实施例的方框图,热配置逻辑可以用作图1的配置逻辑102。在一个实施例中,除了其他的,示例配置逻辑300包括耦合到热传感器配置熔断器逻辑302的有限状态机(FSM)301以配置诸如图1的热传感器101的热传感器。一般地,FSM301可以包括由状态集、起始状态、输入以及将输入和当前状态映射到下一个状态的转移函数组成的计算模型。计算开始于具有输入的起始状态。它依靠转移函数改变到新的状态。配置熔断器逻辑302可以包括一个或多个熔断器电路(未示出),所述一个或多个熔断器电路永久性地设置了一个位或多个位的逻辑值。根据一个实施例,配置熔断器逻辑302包括耦合到该一个或多个熔断器电路的移位寄存器(未示出)。所述移位寄存器可以串行连接到热传感器(例如热传感器101)的移位寄存器以通过对应的移位寄存器将由一个或多个熔断器电路表示的值移位到热传感器。在一个实施例中,一个或多个熔断器电路的值表示热配置信息,例如热跳变点,当热传感器检测IC的温度是否超过预定温度阈值时,可以用热配置信息作为参考,其中预定温度阈值可以从热跳变点导出。具体地说,根据一个实施例,FSM301包括接收PLLLock信号116、PwrIsGood信号109和MainCPUClk信号114的输入端。FSM301可以停留在初始状态,直到它接收被施加的PLLLock信号116和PwrIsGood信号109,PLLLock信号指示MainCPUClk114是稳定的,PwrIsGood信号109指示所供应的电源达到预定电平(例如0.8伏)。一旦上述条件被满足,FSM301就从诸如PROM的存储器取出指示由配置熔断器逻辑302使用的许多熔断器的数目。FSM301对照该数目开始计数,并且施加由MainCPUClk114时钟周期驱动的ShiftFuses#信号303。ShiftFuses#信号303使能配置熔断器逻辑302来将来自熔断器电路中的值经由路径ThermalCfg117移位通过串行连接到热传感器101的移位寄存器的移位寄存器。一旦FSM301对照熔断器的数目完成计数,它就向热传感器101和热计数器103施加ThermalCfgDone信号118,指示热配置已经结束。图4示出了图示FSM的工作的示例实施例的方框图,所述FSM可以用作图3示出的FSM301。在一个实施例中,示例FSM400包括复位状态401、计数状态402和计数结束状态403。参照图3和图4,在FSM400从PROM中取得了配置熔断器逻辑302所使用的熔断器的数目后,FSM400进入复位状态401。根据一个实施例,只要PwrIsGood信号或PLLLock信号被解除,FSM400就经由路径404停留在复位状态401。在PwrIsGood信号和PLLLock信号被施加,指示电源是好的并且时钟被锁定之后,FSM400经由路径405进入计数状态402并且开始对照所涉及的熔断器的数目计数。计数由MainCPUClk114驱动,并且在MainCPUClk114的每个周期,FSM400施加ShiftFuses#信号以使能配置熔断器逻辑302将各个熔断器对应的值移位到热传感器101。同时,如果PwrIsGood信号109或PLLLock信号116中的任何一个被解除,则FSM400从计数状态402经由路径406返回复位状态401,并且计数可以被复位回零。上述过程经由路径407持续直到计数达到所涉及熔断器的数目。一旦这样,经由路径408,FSM400从计数状态402进入计数结束状态403。在计数结束状态403中,FSM400施加ThermalCfgDone信号118以指示热配置已经完成,并且解除ShiftFuses#信号以停止移位操作。此后,FSM400返回复位状态401。图5示出了图示配置熔断器逻辑的示例实施例的方框图,配置熔断器逻辑可以用作图3的熔断器逻辑302。在一个实施例中,示例熔断器逻辑500包括移位寄存器501,同时一个或多个熔断器电路502并行耦合到移位寄存器501的各个输入端。每个熔断器电路包括寄存器503和熔断器504。在一个实施例中,熔断器电路502用于永久性地设置寄存器501的对应输入端的位。每个熔断器电路502被构造成设置寄存器501的不同输入端的逻辑电平。根据一个实施例,熔断器504被断开以永久性地将相关联的寄存器501的输入端设置为逻辑1。如果熔断器504保持完整,相关联的寄存器501的输入端具有逻辑0。熔断器504通过上拉电阻503耦合到Vdd供电电平。电阻503和熔断器504的交点向电阻501的一个输入端提供信号。寄存器501的输出通过ThermalCfg信号117被耦合到热传感器101。移位寄存器501可以是串行连接到热传感器101的移位寄存器的并行串行转换移位寄存器。图5中示出的实施例被解释为只是说明的作用。它可以包括其他对于本领域技术人员很清楚的元件。可以存在其他配置。例如,所使用的熔断器可以是双端熔断器,当它未被编程时具有未定的值,0脚或者1脚被被断开以将熔断器编程为特定的值。但是,应该意识到本发明的实施例适用于任何类型的PROM设计。图6示出了图示示例热传感器的实施例的方框图,所述热传感器可以用作图1的热传感器101。在一个实施例中,示例热传感器600包括比较器601、参考电压602和热二极管(thermaldiode)603。参考电压602被耦合到比较器601的输入端。参考电压602基于从图1所示的ThermalCfg信号117收到的热跳变点通过电流源(未示出)被提供。热传感器600被构造来监视衬底的温度。比较器601通过CatastrophicTrip信号119指示何时衬底的温度超过预定阈值。对CatastrophicTrip信号119的施加警告IC电路,使得可能采取纠正动作(例如,调整时钟频率或者从IC去掉至少一部分电源)。为了产生CatastrophicTrip信号119,比较器601接收以电的形式表示阈值的信号602和以电的形式指示IC温度的信号603。比较器601比较这两个信号的电压电平,并且基于比较,比较器601-或者施加CatastrophicTrip信号119或驱动高电平CatastrophicTrip信号119(指示过热的环境),或者解除CatastrophicTrip信号119或驱动低电平CatastrophicTrip信号119(指示温度正常)。信号603表示衬底的PN结(由二极管表示)之间的前向电压。一般地,PN结之间的前向电势与温度成线形反向变化。结果,随着衬底的温度增加,电压电平603下降。图7示出了图示示例处理器的方框图,其中示于图1的热保护机制100的实施例可以用作热保护电路716以防止处理器过热。在一个实施例中,微处理器700包括处理计算机系统的数据的处理核心715。处理核心715包括高速缓存701、预取缓冲器702、指令解码器703、微代码单元704、数据路径电路705、地址发生器706和浮点单元707。高速缓存701存储用于微处理器700的执行的数据和指令。预取缓冲器702取得用于被微处理器700执行的数据和指令。缓冲器702从高速缓存701取得数据和指令,或者,如果缓冲未命中,则经由总线接口单元708从计算机系统的存储器取得数据和指令。指令解码器703从预取缓冲器702取得指令并解码。微代码单元704具有为微处理器700存储微代码指令的存储器。微代码单元704与指令解码器703交互以执行指令。为了进行指令的执行,微代码单元704向地址发生器706提供地址信息,地址发生器706利用地址信息产生进行指令的执行所必须的地址。以类似的方式,地址发生器706为数据路径电路705和浮点单元707产生地址。微代码单元704还负责指令边界处理(boundaryprocess),例如中断/异常仲裁,以及必要时暂停指令解码器703。微代码单元704还处理高速缓存701未命中。数据路径电路705为微处理器700提供主执行数据路径。数据路径电路705包括算术逻辑单元(ALU)、控制寄存器、桶形移位器、只读存储器(ROM)和标志。数据路径电路705从预取缓冲器702取得数据。数据路径电路705根据由地址发生器706产生的地址利用从预取缓冲器702收到的数据执行由指令解码器703提供的微代码。浮点单元707用于浮点指令的执行。在处理核心715外部,微处理器700具有总线接口单元(BIU)708、焊盘接口(padinterface)711和时钟发生器710,时钟发生器710可以是图1中示出的时钟产生逻辑105的一部分。总线接口单元708在微处理器700的内部总线和用于从计算机系统的存储器取得数据和指令的外部总线之间提供接口。总线接口708具有写缓冲器709,用于存储将被从微处理器700传送到计算机的其余部分的数据。衬垫接口711在微处理器700和计算机系统的其余部分之间提供了用于控制、地址和数据信号的管脚接口。时钟发生器710接收系统时钟信号(例如,示于图1的BusClkIn111)并且利用BusClkIn111来为微处理器700产生时钟信号。时钟发生器710向总线接口单元708和衬垫接口711提供时钟信号(例如,BusClk115)。当微处理器700过热(由被提供作为来自热保护电路716的输出的一部分的关闭信号113的施加来指示)时,BusClk115和MainCPUClk114可以被禁用,并且供应给处理器700的电源可以被去掉。时钟发生器710向处理核心715提供另一个时钟信号(例如,MainCPUClk114)。MainCPUClk114与BusClkIn111同步,并且它的频率是BusClkIn111的频率的几倍(例如两倍)。结果,当微处理器700在正常环境中工作时,处理核心715通常以比计算机系统的其余部分更高的频率工作。时钟发生器710的控制逻辑712接收关闭信号113。当关闭信号113被施加,控制逻辑712完全关掉时钟发生器710,除非诸如环形振荡器204的内部时钟源被激活。结果,避免了由时钟信号导致的过热。图8示出了示例计算机的方框图,所述计算机可以与本发明的实施例一起使用。例如,图8中示出的系统800可以包括处理器,例如具有热保护机制100的处理器700。注意,虽然图8图示了计算机系统的各种元件,但是不意味着表示任何特定的元件互连的体系结构和方式,因为这样的细节与本发明没有密切的关系。还应该意识到,网络计算机、手持计算机、蜂窝电话和其他具有更少或者也许更多的元件的数据处理系统也可以与本发明一起使用。如图8所示,计算机系统800是一种形式的数据处理系统,包括耦合到微处理器803的总线802、ROM807、易失RAM805和非易失存储器806。如图8的例子中所示,微处理器803,可以是来自英特尔公司的奔腾处理器,被耦合到高速缓存存储器804。总线802将这些各种元件互连起来,还将这些元件803、807、805和806互连到显示控制器和显示设备808,以及输入/输出(I/O)设备810,输入/输出设备810可以是鼠标、键盘、调制解调器、网络接口、打印机和其他本领域公知的设备。一般地,输入/输出设备810通过输入/输出控制器809被耦合到系统。易失RAM805一般实现为动态RAM(DRAM),动态RAM需要持续的电源以刷新或维持存储器中的数据。非易失存储器806一般是磁硬盘驱动器、磁光盘驱动器、光盘驱动器或DVDRAM或者即使在将电源从其上去掉后仍能维持数据的其他类型的存储器系统。一般地,非易失存储器还将是随机存取存储器,尽管这不是所要求的。虽然图8示出非易失存储器是直接耦合到数据处理系统的其他元件的本地设备,但应该意识到本发明可以利用系统的远程非易失存储器,例如,通过诸如调制解调器或以太网接口的网络接口耦合到数据处理系统的网络存储设备。总线802可以包括一个或多个本领域所熟知的通过各种桥接器(bridge)、控制器和/或适配器彼此相连的总线。在一个实施例中,I/O控制器809包括用于控制USB(通用串行总线)外设的USB适配器。图9示出了图示了示例热保护过程的实施例的方框图。在一个实施例中,示例过程900开始于方框901以检测IC的温度是否超过预定阈值,而不论IC处于何种状态。例如,即使IC处于复位状态检测也被执行。如果IC的温度超过预定阈值(例如,CatastrophicTrip信号被施加),则在方框902,至少供应给IC的一部分电源被去掉。图10示出了图示了另一个示例热保护过程的实施例的方框图。根据一个实施例,示例过程1000开始于方框1001,其中系统等待了一段时间,直到电源达到预定电平并且已经产生了稳定的时钟信号。在一个实施例中,该操作由电源检测逻辑106和时钟产生逻辑105执行。在方框1002,一个或多个热传感器依照与诸如微处理器的IC相关联的热配置被配置。在方框1003,一个或多个传感器测量IC的温度并且检测温度是否超过预定阈值,而不论IC处于何种状态。在一个实施例中,即使IC处于复位状态,也执行热检测。在方框1004,如果IC的温度超过预定阈值,则热传感器可以施加一个信号,例如CatastrophicTrip信号。同时,在方框1005,在热配置之后,热计数器停止一段时间以允许温度读数变得稳定。一旦温度读数变得稳定,在方框1006,热计数器就使能输出控制逻辑来向电源控制逻辑(例如VRM)输出信号(例如关闭信号)以将至少一部分电源从IC去掉。在前述说明书中,已经参照本发明的具体示例实施例描述了本发明。应该清楚,不偏离所附权利要求提出的本发明的更广的精神和范围,可以对其作出各种修改。因此,说明书和附图应该被认为是描述的意思而不是限制的意思。权利要求1.一种方法,包括独立于集成电路的工作状态,检测所述集成电路的温度是否超过阈值;以及如果所述集成电路的温度超过所述阈值,则从所述集成电路去掉至少一部分电源。2.如权利要求1所述的方法,其中,当所述集成电路处于复位状态时,执行所述检测。3.如权利要求1所述的方法,其中,一旦所述集成电路被加电到预定电平或者当所述集成电路脱离复位状态时,执行所述检测。4.如权利要求1所述的方法,还包括在所述检测所述集成电路的温度是否超过所述阈值被基于与所述集成电路相关联的热配置而执行之前,配置一个或多个热传感器。5.如权利要求4所述的方法,其中,所述配置包括从所述集成电路的可编程只读存储器读取热配置数据,所述热配置数据与所述IC相关联;以及将所述热配置数据移位到所述一个或多个热传感器的寄存器,其中,所述检测所述集成电路的温度是否超过所述阈值被基于所述热配置数据而执行。6.如权利要求4所述的方法,还包括当所述一个或多个热传感器的配置完成时,施加第一信号。7.如权利要求6所述的方法,还包括响应所述第一信号,将所述检测停止一段时间以允许所述一个或多个热传感器稳定;以及在所述时间段过后,施加第二信号以指示所述一个或多个热传感器是稳定的。8.如权利要求7所述的方法,还包括响应所述第二信号基于所述一个或多个热传感器的读数产生第三信号以指示所述集成电路的温度是否超过所述阈值。9.如权利要求8所述的方法,其中,所述从所述集成电路去掉至少一部分电源被基于所述第三信号而执行。10.如权利要求1所述的方法,还包括将所述检测停止一段时间,直到在执行所述检测之前电源达到预定电平。11.如权利要求1所述的方法,还包括产生时钟信号以控制所述检测所述集成电路的温度是否超过所述阈值。12.如权利要求11所述的方法,其中所述产生包括检测是否存在外部时钟;如果所述外部时钟源存在,则从所述外部时钟获得所述时钟信号;以及如果所述外部时钟源不存在,则从内部时钟产生所述时钟信号。13.如权利要求11所述的方法,还包括产生信号以指示所述时钟信号是否稳定。14.一种装置,包括热传感器,用以独立于集成电路的工作状态,检测所述集成电路的温度是否超过阈值;和耦合到所述热传感器的输入或输出控制逻辑,如果所述集成电路的温度超过阈值,则发送信号以从所述集成电路去掉至少一部分电源。15.如权利要求14所述的装置,其中,当所述集成电路处于复位状态时,所述热传感器检测所述集成电路的温度是否超过所述阈值。16.如权利要求14所述的装置,其中,一旦所述集成电路被加电到一定电平或者当所述集成电路脱离复位状态时,所述热传感器就执行所述检测。17.如权利要求14所述的装置,还包括耦合到所述输入或输出控制逻辑的延迟逻辑,以在使能所述输入或输出控制逻辑来发送所述信号之前,停止一段时间以允许检测的结果基本上稳定。18.如权利要求17所述的装置,其中,所述延迟逻辑包括计数器。19.如权利要求17所述的装置,还包括耦合到所述热传感器和耦合到所述延迟逻辑的配置逻辑,以基于与所述集成电路相关联的热配置来配置所述热传感器。20.如权利要求19所述的装置,其中,所述配置逻辑从存储器读取所述热配置信息,并且将所述热配置信息移位到所述热传感器。21.如权利要求19所述的装置,其中,当所述热传感器的所述配置完成时,所述配置逻辑通知所述延迟逻辑。22.如权利要求21所述的装置,其中,在所述热传感器的所述配置完成之后,所述热传感器同时地开始检测所述集成电路的温度。23.如权利要求17所述的装置,还包括耦合到所述配置逻辑的电源检测逻辑,以在使能所述配置逻辑来配置所述热传感器之前,保证以预定的电源电平给所述集成电路加电。24.如权利要求17所述的装置,还包括耦合到所述配置逻辑、所述延迟逻辑和所述热传感器的时钟信号发生器,所述时钟信号发生器提供时钟信号以驱动所述配置逻辑、所述延迟逻辑和所述热传感器。25.如权利要求24所述的装置,其中,所述时钟信号发生器包括内部时钟;和时钟选择逻辑,其被耦合以当外部时钟不可用或者供应给所述集成电路的电源未达到预定电平时,选择所述内部时钟以产生所述时钟信号。26.如权利要求24所述的装置,其中,所述时钟信号发生器包括锁定逻辑,以在所述配置逻辑被使能来配置所述热传感器之前,发信号通知所述配置逻辑所述时钟信号基本上稳定。27.一种装置,包括一个或多个热传感器,其被耦合以当集成电路被加电到预定电平或者当所述集成电路脱离复位状态时,检测所述集成电路的温度是否超过阈值;耦合到所述一个或多个热传感器的输入/输出控制逻辑,如果所述集成电路的温度超过所述阈值,则所述输入/输出控制逻辑产生第一信号以从所述集成电路去掉至少一部分电源;和耦合到所述一个或多个热传感器并耦合到所述输入/输出控制逻辑的延迟逻辑,以在使能所述输入/输出控制逻辑来产生所述第一信号之前停止一段时间。28.如权利要求27所述的装置,还包括配置逻辑,其被耦合以配置所述一个或多个热传感器,所述配置逻辑向所述延迟逻辑施加第二信号指示所述配置的完成,所述第二信号使能所述延迟逻辑停止所述的一段时间。29.如权利要求28所述的装置,还包括时钟发生器,其被耦合以产生一个或多个时钟信号以驱动所述配置逻辑、所述延迟逻辑和所述一个或多个热传感器的工作,当所述一个或多个时钟信号基本上稳定时,所述时钟发生器施加第三信号。30.如权利要求29所述的装置,还包括电源检测逻辑,其被耦合以在使能所述配置逻辑和所述时钟发生器之前,检测供应给所述集成电路的电源是否达到一定电平。全文摘要这里描述了用于防止集成电路(IC)过热的技术。根据一个实施例,示例过程包括独立于集成电路(IC)的工作状态,检测IC的温度是否超过阈值,以及如果IC的温度超过阈值,则从IC去掉至少一部分电源。本发明还描述了其他方法和装置。文档编号G01K3/00GK1531073SQ200310119360公开日2004年9月22日申请日期2003年12月26日优先权日2003年3月11日发明者斯科特·J·鲍登,乔纳森·P·道格拉斯,P道格拉斯,斯科特J鲍登申请人:英特尔公司