相关申请的交叉引用
本申请要求于2014年11月4日提交的题为“thermalmitigationbasedonpredicatedtemperatures(基于所预测温度的热缓解)”的美国专利申请号no.14/532,980的权益,其通过援引全部明确纳入于此。
背景
领域
本公开涉及具有热管理功能的装置,尤其涉及基于所预测温度来调度热缓解功能的电子装置和集成电路(ic)。
背景
在操作ic时热管理越来越变成一个问题。例如,无线通信技术和设备(例如,蜂窝电话、平板、膝上型设备等等)在过去若干年在普及性和使用上已增长。这些电子装置在复杂度上已增长并且现在通常包括多个处理器(例如,基带处理器和应用处理器)以及允许用户执行复杂且功率密集的软件应用(例如,音乐播放器、web浏览器、视频流送应用等等)的其他资源。为了满足不断增长的性能需求,处理器已增加了复杂度并且在千兆赫范围中的频率中进行操作。作为结果,在操作这些处理器时会产生相当大的热量。
由处理器生成的热量会影响设备的性能和可靠性。例如,当在高温下进行操作时,ic的性能和可靠性两者会降级。由此,设计挑战是提供热缓解功能以管理热量问题。
概览
公开了一种操作装置的方法的各方面。所述方法包括:测量集成电路上的温度,基于所测量温度针对多个时间实例来预测一位置的温度,以及基于所预测温度来调度热缓解功能。
公开了一种装置的各方面。所述装置包括第一电路和第二电路,所述第一电路被配置成基于所测量温度针对多个时间实例来预测一位置的温度,所述第二电路被配置成基于所预测温度来调度热缓解功能。
公开了一种装备的各方面。所述装备包括:用于测量集成电路上的温度的装置,用于基于所测量温度针对多个时间实例来预测一位置的温度的装置,以及用于基于所预测温度来调度热缓解功能的装置。
应理解,根据以下详细描述,装置(装备)和方法的其他方面对于本领域技术人员而言将变得容易明白,其中以解说方式示出和描述了装置(装备)和方法的各个方面。如将认识到的,这些方面可以按其他和不同的形式来实现并且其若干细节能够在各个其他方面进行修改。相应地,附图和详细描述应被认为在本质上是解说性的而非限制性的。
附图简述
图1是具有温度传感器的示例性实施例处理器的示图。
图2是解说了从温度传感器在若干时间实例处所测量的温度的示图。
图3是热管理模块的示例性实施例的框图。
图4是用于操作热管理模块的示例性实施例的示例性实施例的流程图的示图。
详细描述
以下结合附图阐述的详细描述旨在作为各种配置的描述,而无意表示可实践本文所描述的概念的仅有配置。本详细描述包括具体细节以提供对各种概念的透彻理解。然而,对于本领域技术人员将显而易见的是,没有这些具体细节也可实践这些概念。在一些实例中,以框图形式示出众所周知的结构和组件以避免淡化此类概念。术语“示例性”在本文中用于表示“用作示例、实例或解说”。本文中描述为“示例性”的任何设计不必被解释为优于或胜过其他设计。
现在将参照各种装置和方法给出本公开的若干方面。这些装置和方法将在以下详细描述中进行描述并在附图中由各种框、模块、组件、电路、步骤、过程、算法等(统称为“元素”)来解说。这些元素可使用电子硬件、计算机软件或其任何组合来实现。此类元素是被实现为硬件还是软件取决于具体应用和施加于整体系统的设计约束。本公开中通篇所给出的各种装置和方法可以用各种形式的硬件来实现。作为示例,这些装置或方法中的任何装置或方法(单独地或组合地)可以被实现为集成电路、或实现为集成电路的一部分。集成电路可以是最终产品,诸如微处理器、数字信号处理器(dsp)、专用集成电路(asic)、可编程逻辑、或任何其他合适的集成电路。替换地,集成电路可以集成有其他芯片、分立电路元件和/或其他组件,作为中间产品(诸如主板)或最终产品的一部分。
本文所公开的方法包括用于实现所描述的方法的一个或多个步骤或动作。这些方法步骤和/或动作可以彼此互换而不会脱离权利要求的范围。换言之,除非指定了步骤或动作的特定次序,否则具体步骤和/或动作的次序和/或使用可以修改而不会脱离权利要求的范围。
措辞“示例性”在本文中用于表示用作示例、实例或解说。本文中描述为“示例性”的任何实施例不必被解释为优于或胜过其他实施例。同样,术语装置或方法的“实施例”不要求本发明的所有实施例包括所描述的组件、结构、特征、功能性、过程、优点、益处、或操作模式。
术语“连接”、“耦合”或其任何变体意指在两个或更多个元件之间的直接或间接的任何连接或耦合,且可涵盖被“连接”或“耦合”在一起的两个元件之间存在一个或多个中间元件。元件之间的耦合或连接可为物理的、逻辑的或其组合。如本文中使用的,作为若干非限定和非穷尽性示例,两个元件可被认为通过使用一条或多条导线、电缆、和/或印刷电气连接,以及通过使用电磁能量(诸如具有射频区域、微波区域以及光学(可见和不可见两者)区域中的波长的电磁能量)来“连接”或“耦合”在一起。
本文中使用诸如“第一”、“第二”等指定对元素的任何引述一般并不限定那些元素的数量或次序。确切而言,这些指定在本文中用作区别两个或更多个元素或者元素实例的便捷方法。由此,对第一元素和第二元素的引述并不意味着仅能采用两个元素、或者第一元素必须位于第二元素之前。
如本文所使用的,单数形式的“一”、“某”和“该”旨在也包括复数形式,除非上下文另有明确指示。还将理解,术语“包括”、“具有”、“包含”和/或“含有”在本文中使用时指定所陈述的特征、整数、步骤、操作、元素、和/或组件的存在,但并不排除一个或多个其他特征、整数、步骤、操作、元素、组件和/或其群组的存在或添加。
针对用于无线通信的处理器给出了用于基于所预测温度来调度热缓解功能的装置和方法的各个方面。然而,如本领域技术人员将容易领会的,本公开的各方面和应用可以并不限于此。例如,所给出的特征可适用于处理器以外的其他ic和装置。此外,所给出的特征也可适用于无线通信以外的功能。因此,对所给出的装置或方法的具体应用的全部引用仅仅旨在解说该装置或方法的示例性方面,并且要理解这些方面可具有广泛的应用差异。
图1是具有温度传感器的示例性实施例处理器的示图。处理器100可以是用于无线通信的处理器,诸如用于蜂窝电话的集成应用和基带处理器。处理器100包括电路的各种核心或块,诸如图形处理器单元(gpu)、数字信号处理器(dsp)、调制解调器、中央处理单元(cpu)、以及无线局域网或wlan块。核心可以是例如各电路的集合。处理器100还包括各种温度传感器(1-10)。在一种实现中,温度传感器(1-10)可在周期性的区间中测量处理器100的管芯上温度并输出所测量的温度(例如,以采样率来测量管芯上温度)。
在一种配置中,处理器100可被配置成:在核心上操作各种热缓解功能以满足某些热量限制。热缓解功能可包括减小核心的操作频率、降低核心的操作电压、和/或使核心断电。
图2是解说了从温度传感器在若干时间实例处所测量的温度的示图。示图200解说了管芯上温度在时间实例t(0)、t(1)、t(2)、t(3)、t(4)等处被采样或者被调度以供采样(例如,由温度传感器1-10)。在一个示例中,温度被采样或测量的时间实例可以在固定的区间之间或者可以是中断驱动式的。采样区间或中断可基于所测量或所预测的温度(以下给出)。例如,在测量到或预测到高温度的情形中,可以更频繁地减小或中断采样率来测量温度。
在一种实现中,处理器100可基于所测量温度的历史来预测温度。处理器100可在所预测的热点处(例如,所预测温度超过某个温度阈值的位置)调度热缓解功能。以此方式,所预测温度向处理器100提供足够的时间来事先调度热缓解功能,以允许处理器100以高性能水平(例如,较高的电压或频率)操作达持续的时间段。
作为示例,基于所测量温度的历史(例如,在t(0)、t(1)、t(2)等处的温度)、针对时间实例t(2)与t(3)之间的时间实例来预测温度210。以此方式,可以比温度采样率更精细的粒度来预测温度。在该示例中,所预测温度210中的至少一个温度在温度被调度以供采样的时间实例(t(2)、t(3)等等)之间。在另一示例中,在时间实例t(3)之前,所预测温度210可包括在时间实例t(3)和t(4)处的温度。温度传感器1-10以数毫秒的周期对管芯上温度进行轮询或采样。采样率可以是固定的或者适应于管芯上温度响应(以下给出)。在采样之间的区间期间,可发生数千个循环。在一个此类区间中(例如,在时间实例t(2)与t(3)之间)的所预测温度210允许调度并执行精细的或者增量式热缓解措施。
此外,可基于所测量温度的变化速率和/或所测量温度的变化速率的变化速率来确定所预测温度210。例如,t(0)与t(1)之间的温度变化是δt1,并且t(1)与t(2)之间的温度变化是δt2。温度的变化速率可以是例如δt1除以区间t1或者δt2除以区间t2。温度的上述变化速率的变化速率可以是例如δt1与δt2之间的变化除以相关时间段(例如,t(0)-t(2))。
图3是热管理模块的示例性实施例的框图。热管理模块300包括温度预测模块310、温度传感器采样率模块330、以及热缓解功能模块320。这些模块可包括电路、处理器系统、在处理器系统上执行的软件、或者其组合。这些模块可包括用于生成下文所描述功能的信号的电路或者携带那些信号的信号线。这些模块可以是处理器100的一部分或者在处理器100的外部。在一个示例中,这些模块可包括由处理器100的cpu执行的指令。
作为示例,模块、或模块的任何部分、或模块的任何组合可用包括一个或多个处理器的“处理系统”来实现。处理器的示例包括:微处理器、微控制器、数字信号处理器(dsp)、现场可编程门阵列(fpga)、可编程逻辑器件(pld)、状态机、门控逻辑、分立的硬件电路以及其他配置成执行本公开中通篇描述的各种功能性的合适硬件。处理系统中的一个或多个处理器可以执行软件。软件应当被宽泛地解释成意为指令、指令集、代码、代码段、程序代码、程序、子程序、软件模块、应用、软件应用、软件包、例程、子例程、对象、可执行件、执行的线程、规程、函数等,无论其是用软件、固件、中间件、微代码、硬件描述语言、还是其他术语来述及皆是如此。
在一种实现中,温度传感器1-10测量每个位置处的管芯上温度,并且所测量的温度被存储在温度历史存储器350中。在一个示例中,温度历史存储器350可存储所测量温度的变化速率(例如,温度变化的速度)和/或所测量温度的变化速率的变化速率(例如,温度变化的加速度)。温度历史存储器350可以是寄存器或者任何其它类型的存储元件。在一种实现中,温度历史可包括n个时间实例的温度(例如,在n个时间实例处所测量的温度),其中n大于1。n个时间实例的时间历史被存储在例如寄存器中。可基于n个时间实例的所存储时间历史(例如,由温度预测模块310)来预测温度。在一种实现中,针对多个时间实例对于温度传感器(1-10)的各位置预测温度(例如,所预测温度210)。
在一种实现中,温度预测模块310基于来自温度历史存储器350的所存储信息来预测温度。在一个示例中,温度预测模块310包括被配置成基于所测量温度针对多个时间实例来预测一位置的温度的电路。在一个示例中,温度预测模块310可包括处理器(例如,图1的诸cpu中的一者),该处理器执行软件指令以实现下面描述的功能。
在一个示例中,可基于所测量温度的变化速率(例如,温度变化的速度)和/或所测量温度的变化速率的变化速率(例如,温度变化的加速度)的外推来预测温度。在另一示例中,温度预测模块310可使用最小二乘法来预测温度,该最小二乘法使误差(例如,所预测温度与所测量温度之差)的平方和最小。在另一示例中,温度预测模块310可使用卡尔曼滤波器来预测温度,该卡尔曼滤波器基于所测量温度产生统计最优的(所估计)温度。利用所测量温度的每次更新,可基于经更新的所测量温度来重新计算所预测温度。下面给出这些特征的进一步示例。
在一种实现中,温度预测模块310可利用所测量或所记录的温度来预测将来时间实例处的温度。例如,可使用温度变化的导数(例如,温度变化速率;温度变化的速度)和/或温度变化的导数的导数(例如,温度变化速率的变化速率或者温度变化的加速度)来预测将来时间实例中的温度。所预测温度的误差项可用于调整或校正所预测温度。
用于调整或校正所预测温度的一种实现利用卡尔曼滤波器,该卡尔曼滤波器基于所测量温度来产生统计最优的(所估计)温度。在一个示例中,卡尔曼滤波器的应用包括所预测的温度值xk以及从温度传感器(1-10)测量的温度值zk。卡尔曼滤波器方法的应用可跟踪温度变化速率。当误差小于误差阈值时,可减小温度传感器1-10的采样率以节省对传感器的不必要读取。
下表提供了卡尔曼滤波器的应用示例:
在该示例中,xk表示所估计的变化速率;kk表示卡尔曼增益;zk表示所测量的温度数据;并且pk表示误差协方差。对于zk(所测量的温度)的每次更新,使用pk和kk来重新计算所预测的温度。
可使用温度变化速率(例如,温度变化的速度)通过下式来预测将来时间实例处的温度:
tn+x=(δt/δt)n×δtn+x…(1)
此处,t表示温度;t表示时间;n表示现在或过去的时间实例,并且n+x表示将来的时间实例。
类似地,可使用温度变化速率的变化速率(例如,温度变化的加速度)通过下式来预测将来时间实例处的温度(如果满足上述误差准则的话):
tn+x=1/2×δ(δy/δx)/δx×δtn+x2+δy/δx×δtn+x…(2)
此处,t表示温度;t表示时间;n表示现在或过去的时间实例;n+x表示将来的时间实例;并且项δy/δx表示第一等式的δt/δt(温度随时间的变化)。
在一种实现中,温度预测模块310可预测除了温度传感器1-10的位置之外的位置处的温度。参照图1,处理器100上靠近温度传感器(1-10)的位置受到温度传感器的数目的限制。在一种实现中,温度预测模块310可预测位置110处的温度,该位置110离温度传感器3某一距离(图1)。例如,温度预测模块310可基于在温度传感器3的位置处所预测或所测量的温度并基于热电阻器-电容器(rc)模型(120)来预测位置110处的温度。在一个示例中,热rc模型120可类似于电rc模型并且包括热电容器c1和c2以及热电阻器r1和r2。在一个示例中,处理器100的热电阻和热电容可以是硅、封装材料以及ic的尺寸的固有属性。在一种实现中,热电容器c1和c2以及热电阻器r1和r2可从管芯级仿真或系统测量获得。此类模型可被存储在处理器100上或者片外的非易失性存储器(诸如rom)中。在一个示例中,热rc模型120可被存储为运行处理器100的操作系统的一部分。在一种实现中,温度预测模块310可经由热rc模型120和温度传感器1-10来预测处理器100上的任何位置(包括位置110)的管芯上温度。
在一个示例中,除了来自温度传感器3的温度外,温度预测模块310还可基于在温度传感器4的位置处所预测或所测量的温度、经由热rc电路模型121来预测位置110的温度。在一种实现中,位置110处的热曲线可以是来自各个热源的所预测或所测量的(诸如由温度传感器3和4测量的)温度的线性叠加。例如,位置110处所预测的温度可以是在温度传感器3的位置处(经由热rc模型120)所预测或所测量温度和在温度传感器4的位置处(经由热rc电路模型121)所预测或所测量温度的总和。
本公开的各方面提供了温度预测模块310在前向环路中预测位置110的温度(例如,响应于所测量温度的更新而修改所预测温度)。对将来温度的此类预测性确定允许热缓解功能模块320提前数百个或甚至数千个时钟循环调度并执行热缓解功能。因此,可执行更多所测量并且有效的热缓解功能以解决将来时间实例处的热点(例如,热曲线呈现超过温度阈值的位置)。在一种实现中,可针对热点核心或热点的相邻核心调度并执行对温度的细粒度控制(诸如时钟速度调整、电压缩放、流水线控制(例如,停顿流水线以减小功耗)、或者功率选通(例如,关闭核心中未使用的块以减小功耗)),以防止(针对将来时间实例的热点的)相互发热。此类措施允许用于选定核心上的持续性能的净空。
在一种实现中,热点信息(例如,超过某些温度限制的所预测温度)被存储在热点存储器340中。热点存储器340可包括寄存器或者其他类型的存储器。此外,热点信息可存储具有位置信息(例如,处理器100的x和y坐标)的所预测温度。在一种实现中,温度预测模块310可被配置成:响应于所测量温度的更新,修改或更新预测温度以及存储在热点存储器340中的热点信息。
在一种实现中,基于来自温度预测模块310的所预测温度(例如,获得所预测温度)和/或来自热点存储器340的热点信息,热缓解功能模块320可针对所预测的将来热点(例如,图2中的tsp)调度并执行前面提到的热缓解措施(电压缩放、频率调整等等)。在一个示例中,热缓解功能模块320可包括被配置成基于所预测温度来调度热缓解功能的电路。在一个示例中,热缓解功能模块320可在经调度的时间处执行经调度的热缓解功能。
给出了用于温度传感器采样率模块330的某些操作的示例。在一种实现中,温度传感器采样率模块330可被配置成控制温度传感器1-10的采样率。在一种实现中,温度传感器采样率可基于所预测温度。温度传感器采样率可进一步基于误差容限(例如,所测量温度与所预测温度之差的阈值)。
在一个示例中,参照图2,时间实例t(0)、t(1)和t(2)处的温度由温度传感器1-10来测量,并且时间实例t(3)和t(4)处的将来温度由如上所述的温度预测模块310来预测(例如,基于温度变化速率或者温度变化速率的变化速率)。可在将来时间的某个时刻设置缓解温度设置点tsp。tsp可以是所预测的热点(例如,tsp处所预测的温度超过温度阈值)。
在一种实现中,可针对每个温度传感器1-10执行下面所描述的步骤。当温度传感器1-10对管芯上温度进行采样时,(例如,由温度预测模块310)将所预测温度与所测量温度进行比较。例如,在时间实例t(3)处,从例如温度传感器1测量或采样的温度与时间实例t(3)处对应预测的温度210进行比较。如果差小于误差容限err1,则温度传感器采样率模块330可以使温度传感器1传递(例如,从时间实例t(3))接下去的m个采样。误差容限err1可由用户编程,并且在一个示例中,默认值可以是2℃。
在一种实现中,用于传递经调度采样的值m可以是可编程的并且默认值可以是2。温度传感器采样率模块330可包括用于存储m的寄存器并且可基于上述的误差容限err1来调整m的值。温度传感器采样率模块330可进一步控制温度传感器1-10的时钟定时(例如,采样率)以基于值m来传递经调度的采样温度。在一个示例中,在所测量温度与所预测温度之差在第二误差容限内(例如,在1℃内)的情形中,温度传感器采样率模块330可进一步增加m并由此进一步减小温度传感器(1-10)的采样率。
在另一实现中,温度预测模块310可被配置成:基于至tsp的时间来进一步改变温度传感器1-10的采样率。在一个示例中,在两次连续调整中至tsp的时间大于err2(可由用户编程的时间变量,并且默认值可以是1.5ms)的情形中,则可进一步减小m的值(例如,将传递更多经调度的采样)。例如,如果err2是5ms,则m可被设置为1,这意味着温度传感器(1-10)的下一采样将用于校准至tsp的时间。
如上所述,温度传感器(1-10)的采样率可被调整,并且因此可实现能量消耗。此外,以所描述的方式,温度传感器(1-10)可被配置成:以基于所预测温度中的一者的采样率来测量温度。所调整的采样率可进一步基于误差容限(例如,err1)。
在一种实现中,温度传感器(1-10)提供了用于测量集成电路(例如,处理器100)上的温度的装置的示例。温度预测模块310提供了用于基于所测量温度(例如,存储在温度历史存储器350中的所测量温度数据)针对多个时间实例来预测一位置(例如,位置110)的温度的装置的示例。热缓解功能模块320提供了用于基于所预测温度(例如,所预测温度210)来调度热缓解功能的装置的示例。
图4是用于操作热管理模块的示例性实施例的示例性实施例的流程图的示图。虚线框中的步骤可以是可任选的。用图1-3给出了采样的示例。在410处,测量集成电路上的温度。例如,温度传感器1-10以采样率来测量处理器100的管芯上温度。所测量的温度数据可被存储在温度历史存储器350中。在420处,基于所测量温度针对多个时间实例来预测一位置的温度。例如,温度预测模块310可基于存储在温度历史存储器350中的所测量温度来预测位置110处的温度。可基于温度变化速率或者温度变化速率的速率来预测温度。
在430处,更新所测量的温度。例如,温度传感器1-10可以采样率来测量或更新管芯上温度。在440处,响应于所测量温度的更新而修改预测温度。例如,如上所给出的,温度预测模块310可在所测量温度的每次更新之后修改所预测温度(例如,经由卡尔曼滤波器的应用)。
在450处,预测多个位置(包括该位置和第二位置)的温度。例如,温度预测模块310可经由热rc模型120来预测处理器100上的任何位置(包括位置110)的温度。在460处,存储基于多个位置的所预测温度以及指示所预测温度达到或超过温度阈值的时间实例和位置的信息。例如,热点存储器340可存储基于多个位置(例如,x和y位置信息)的所预测温度。热点存储器340可进一步存储指示所预测温度达到或超过温度阈值的时间实例和位置的信息(例如,热点)。
在470处,基于所预测温度来调度热缓解功能。例如,热缓解功能模块320可基于存储在热点内存储器340中的热点信息来调度(并执行)热缓解功能,以缓解将来时间实例处的热点(例如,热曲线呈现超过温度阈值的位置)。在一种实现中,可针对热点核心或热点核心的相邻核心调度并执行对温度的细粒度控制(诸如时钟速度调整、电压缩放、流水线控制(例如,停顿流水线以减小功耗)、或者功率选通(例如,关闭核心中未使用的块以减小功耗),以防止(针对将来时间实例的热点的)相互发热。此类措施允许用于选定核心上的持续性能的净空。
应理解,所公开的过程中各步骤的具体次序或层次是示例性办法的解说。应理解,基于设计偏好,可以重新编排这些过程中各步骤的具体次序或层次。此外,一些步骤可被组合或被略去。所附方法权利要求以示例次序呈现各种步骤的要素,且并不意味着被限定于所给出的具体次序或层次。
提供先前描述是为了使本领域任何技术人员均能够实践本文中所描述的各种方面。对这些方面的各种改动将容易为本领域技术人员所明白,并且在本文中所定义的普适原理可被应用于其他方面。因此,权利要求并非旨在被限定于本文中所示出的方面,而是应被授予与语言上的权利要求相一致的全部范围,其中对要素的单数形式的引述除非特别声明,否则并非旨在表示“有且仅有一个”,而是“一个或多个”。除非特别另外声明,否则术语“一些”指的是一个或多个。本公开通篇描述的各种方面的要素为本领域普通技术人员当前或今后所知的所有结构上和功能上的等效方案通过引述被明确纳入于此,且旨在被权利要求所涵盖。此外,本文中所公开的任何内容都并非旨在贡献给公众,无论这样的公开是否在权利要求书中被显式地叙述。权利要求的任何要素都不应当在35u.s.c.§112(f)的规定下来解释,除非该要素是使用短语“用于......的装置”来明确叙述的或者在方法权利要求情形中该要素是使用短语“用于......的步骤”来叙述的。