CN108885483B - 确定多管芯处理器中的热余量 - Google Patents

确定多管芯处理器中的热余量 Download PDF

Info

Publication number
CN108885483B
CN108885483B CN201780021309.0A CN201780021309A CN108885483B CN 108885483 B CN108885483 B CN 108885483B CN 201780021309 A CN201780021309 A CN 201780021309A CN 108885483 B CN108885483 B CN 108885483B
Authority
CN
China
Prior art keywords
thermal
die
processor
margin
power
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.)
Active
Application number
CN201780021309.0A
Other languages
English (en)
Other versions
CN108885483A (zh
Inventor
S·阿户加
J·里奇
M·贝克托德
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of CN108885483A publication Critical patent/CN108885483A/zh
Application granted granted Critical
Publication of CN108885483B publication Critical patent/CN108885483B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/20Cooling means
    • G06F1/206Cooling means comprising thermal management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/324Power saving characterised by the action undertaken by lowering clock frequency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3243Power saving in microcontroller unit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3296Power saving characterised by the action undertaken by lowering the supply or operating voltage
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Power Sources (AREA)
  • Microcomputers (AREA)
  • Automation & Control Theory (AREA)

Abstract

在一个实施例中,处理器包括:第一管芯,该第一管芯包括至少一个核以及至少一个第一管芯热传感器;第二管芯,该第二管芯包括至少一个存储器以及至少一个第二管芯热传感器;以及热控制器,该热控制器用于:接收来自至少一个第一管芯热传感器的第一热数据以及来自至少一个第二管芯热传感器的第二热数据,至少部分基于第一热数据和用于第一管芯的第一热负载线来为第一管芯计算第一热余量,以及至少部分基于第二热数据和用于第二管芯的第二热负载线来为第二管芯计算第二热余量。描述并要求保护其他实施例。

Description

确定多管芯处理器中的热余量
技术领域
实施例涉及系统的热管理,并且更具体地,涉及多管芯集成电路的热管理。
背景技术
半导体处理和逻辑设计的进步已允许可在集成电路设备上存在的逻辑数量的增长。作为结果,计算机系统配置已从系统中的单个或多个集成电路演进到单独的集成电路上的多个硬件线程、多个核、多个设备和/或完整系统。另外,随着集成电路的密度已经增长,对计算系统(从嵌入式系统到服务器)的功率和热要求也已经逐步升高。此外,软件的低效率以及其对硬件的要求也已导致计算设备能耗的增加。事实上,一些研究指出,计算设备消耗了诸如美国之类的国家的全部电力供应中相当大的百分比。作为结果,存在对与集成电路相关联的能效和节能的迫切需求。随着服务器、台式计算机、笔记本、超极本TM、平板、移动电话、处理器、嵌入式系统等变得越来越流行(从被包括在典型的计算机、汽车和电视机中到包括在生物技术中),这些需求将增长。
为了实现现代处理器的长期的寿命,使用热负载线规范方法。此方法需要以较低的功率水平进行较低的温度的操作,并且如果处理器耗散较高的功率,则允许较高的温度的操作。此规范典型地被实现为温度相对于功率的曲线。通过利用此方法控制处理器,设备的平均操作温度在寿命期间被降低。尽管此负载线规范方法针对单个管芯工作良好,但由于合并到封装中的不同管芯具有不同的温度限制,该方法不扩展到多管芯处理器。另外,由于封装功率变成该封装中所有设备的功率的总和,并且该封装中管芯的操作温度不仅由该封装的总功率而且还由如何在各管芯之间分配功率来确定,所以负载线规范不进行扩展。
附图简述
图1是根据本发明的实施例的系统的部分的框图。
图2是根据本发明的实施例的处理器的框图。
图3是根据本发明的另一实施例的多域处理器的框图。
图4是包括多个核的处理器的实施例。
图5是根据本发明的一个实施例的处理器核的微架构的框图。
图6是根据另一实施例的处理器核的微架构的框图。
图7是根据又一实施例的处理器核的微架构的框图。
图8是根据更进一步的实施例的处理器核的微架构的框图。
图9是根据本发明的另一实施例的处理器的框图。
图10是根据本发明的实施例的代表性SoC的框图。
图11是根据本发明的实施例的另一示例SoC的框图。
图12是可以与实施例一起使用的示例系统的框图。
图13是可与实施例一起使用的另一示例系统的框图。
图14是代表性计算机系统的框图。
图15是根据本发明的实施例的系统的框图。
图16是根据本发明的实施例的多芯片封装的框图。
图17是根据本发明的实施例的用于处理器封装的代表性管芯组件的热负载线。
图18是根据本发明的实施例的方法的流程图。
图19是根据本发明的另一实施例的方法的流程图。
图20是根据实施例的用于控制冷却方案的方法的流程图。
图21是图示出根据实施例的用于制造集成电路以执行操作的IP核开发系统的框图。
具体实施方式
虽然参考特定集成电路中(诸如,在计算平台或处理器中)的热控制、节能和能效描述了下列实施例,但是其他实施例也适用于其他类型的集成电路和逻辑设备。可将本文中所描述的实施例的类似技术和教导应用于也可受益于更佳的能效和节能的其他类型的电路或半导体器件。例如,所公开的实施例不限于任何特定类型的计算机系统。即,所公开的实施例可以在许多不同的系统类型中使用,范围包括服务器计算机(例如,塔式、机架式、刀片式、微服务器等等)、通信系统、存储系统、任何配置的台式计算机、膝上型计算机、笔记本和平板计算机(包括2:1平板、平板手机等等),并且还可以在其他设备中使用,诸如手持式设备、芯片上系统(SoC)和嵌入式应用。手持式设备的一些示例包括:诸如智能电话之类的蜂窝电话、网际协议设备、数码相机、个人数字助理(PDA)和手持式PC。嵌入式应用典型地可包括:微控制器、数字信号处理器(DSP)、网络计算机(NetPC)、机顶盒、网络集线器、广域网(WAN)交换机、可穿戴设备、或能够执行以下所教导的功能和操作的任何其他系统。
在各实施例中,多管芯处理器(例如,多芯片封装(MCP))可被实现为具有多个热负载线,每一个热负载线用于封装的一个管芯。可以利用这些多个热负载线来动态地确定热操作参数并向包括外部平台控制器的一个或多个目的地提供至少某些信息。另外,所计算的或以其他方式确定的热操作参数可用于处理器操作参数控制和功率管理。
实施例进一步提供用于提供实时度量的技术以用于规范遵循。至少部分基于如本文中所描述地获取的热操作参数,可通过将所感测的结温(Tj)值和功率耗散、针对每一个管芯类型的Tj限制和热设计功率(TDP)限制考虑在内来通过维持到扼制(throttle)水平的最佳余量(margin)来避免扼制情况。如果给定的管芯已经正在耗散接近于其TDP限制的功率,则实施例使扼制余量能够延伸接近于零。由此,实施例为MCP实现了一个或多个热负载线的规范,以实现用于在最小化风扇速度的同时最大化产品性能的方法。在一些实施例中,功率控制器可包括功率管理代码或所谓的p-code(p代码),其在实施例中可被实现为处理器的专用微控制器的微代码,以计算最佳热余量从而防止扼制。在实施例中,可基于每一个管芯的所确定的功率耗散和当前Tj以及该管芯的Tj限制和TDP限制来计算此最佳值。如本文中所描述的多芯片封装的热规范提供降低设备在其寿命期间的平均操作温度的热负载线特性,并且可以进一步用于计算可向平台披露以用于风扇速度或其他冷却方案管理的热余量。
现在参考图1,所示的是根据本发明的实施例的系统的部分的框图。如图1中所示,系统100可以包括各种组件,其包括所示为多核处理器的处理器110,该处理器可以是单管芯处理器或多管芯处理器。处理器110可经由外部电压调节器160耦合到电源150,该外部电压调节器160可执行第一电压转换以将经调节的主电压Vreg提供给处理器110。
可以看出,处理器110可以是包括多个核120a-120n的单管芯处理器。另外,每一个核可以与集成的电压调节器(IVR)125a-125n相关联,这些集成的电压调节器接收经调节的主电压,并生成操作电压,操作电压被提供到与IVR相关联的处理器的一个或多个代理。相应地,可提供IVR实现方式以允许对每一个单个核的电压进而对功率和性能进行细粒度的控制。由此,每一个核都可在独立的电压和频率下操作,从而允许极大的灵活性,并提供平衡功耗与性能的广泛机会。在一些实施例中,对多个IVR的使用允许将组件分组到不同的功率层中,使得功率被IVR调节并且仅被提供给组中的那些组件。在功率管理期间,当处理器被置于某个低功率状态时,一个IVR的给定的功率层可以被掉电或断电,而另一IVR的另一功率层保持为活动的或完全供电的。类似地,核120可包括诸如一个或多个锁相环(PLL)的独立的时钟发生电路或与其相关联以独立地控制每个核120的操作频率。
仍参考图1,附加的组件可存在于处理器内,包括输入/输出接口(IF)132、另一接口134以及集成存储器控制器(IMC)136。可以看出,这些组件中的每一个都可以由另一集成的电压调节器125X来供电。在一个实施例中,接口132可以为
Figure BDA0001815783800000041
快速路径互连(QPI)互连使能操作,该互连在包括多个层的高速缓存一致性协议中提供点对点(PtP)链路,多个层包括物理层、链路层和协议层。进而,接口134可以经由外围组件互连快速(PCIeTM)协议来通信。
还示出了功率控制单元(PCU)138,其可包括包含用于针对处理器110执行热和功率管理操作的硬件、软件和/或固件的电路。可以看出,PCU 138经由数字接口162将控制信息提供给外部电压调节器160以使该电压调节器生成合适的经调节的电压。PCU 138也经由另一数字接口163将控制信息提供给多个IVR 125以控制所生成的操作电压(或使对应的IVR在低功率模式下被禁用)。在各实施例中,PCU 138可以包括用于执行基于硬件的功率管理的各种功率管理逻辑单元。此类功率管理可以是完全被处理器控制的(例如,通过各种处理器硬件,并且其可以是被工作负荷和/或功率、热或其他处理器约束触发的),并且/或者功率管理可以响应于外部源(诸如平台或管理功率源或系统软件)而被执行。此外,PCU 138可执行如本文中所描述的热控制,包括计算最小热余量和将最小热余量传递到外部平台控制器。
在图1中,PCU 138被图示为作为处理器的分开的逻辑来呈现。在其他情况下,PCU逻辑138可在核120中给定的一个或多个核上执行。在一些情况下,可将PCU 138实现为被配置成用于执行其自身的专用功率管理代码(有时被称作P代码)的微控制器(专用的或通用的)或其他控制逻辑。在另外的其他实施例中,将由PCU 138执行的功率管理操作可对于处理器外部地实现,诸如通过分开的功率管理集成电路(PMIC)或处理器外部的其他组件的方式。在另外的其他实施例中,将由PCU 138执行的功率管理操作可在BIOS或其他系统软件内实现。
实施例可尤其适合于多核处理器,其中,多个核中的每一个可以以独立的电压和频率点进行操作。如本文中所使用的术语“域”用于意指以同一电压和频率点进行操作的硬件和/或逻辑的集合。另外,多核处理器可以进一步包括其他非核处理引擎,诸如固定功能单元、图形引擎等等。此类处理器可包括除核以外的独立的域,诸如与图形引擎相关联的一个或多个域(本文中被称作图形域)以及与非核电路相关联的一个或多个域(本文中被称作非核(uncore)或系统代理)。虽然多域处理器的许多实现方式可以在单个半导体管芯上形成,但其他实现方式可以由多芯片封装来实现,其中,不同的域可以呈现在单个封装的不同半导体管芯上。
尽管为了易于说明没有示出,但应理解诸如非核逻辑和其他组件(诸如,内部存储器(例如,一个或多个层级的高速缓存存储器层次结构等))之类的附加组件可存在于处理器110内。此外,尽管在图1的实现中示出为具有集成的电压调节器,但是,多个实施例不限于此。例如,可以将其他经调节的电压从外部电压调节器160或经调节的电压的一个或多个附加的外部源提供给芯片上资源。
注意,本文中所描述的功率管理技术可以独立于基于操作系统(OS)的功率管理(OSPM)机制,并与其互补。根据一个示例OSPM技术,处理器可在各种性能状态或等级(所谓的P状态,即从P0到PN)上操作。一般而言,P1性能状态可对应于可由OS请求的最高保证的性能状态。除此P1状态之外,OS可进一步请求更高的性能状态,即,P0状态。该P0状态因此可以是机会型状态、超频或睿频(turbo)模式状态,在该状态中,当功率和/或热预算是可用的时,处理器硬件可配置处理器或其至少多个部分,以便以高于保证频率的频率进行操作。在许多实现中,处理器可包括在制造期间融合或以其他方式写入到处理器中的、高于P1保证的最大频率的多个所谓的元(bin)频率,该频率超出特定处理器的最大峰值频率。此外,根据一个OSPM机制,处理器可以在各种功率状态或等级上进行操作。对于功率状态,OSPM机制可以指定不同的功耗状态,一般将其称为C状态(C0、C1到Cn状态)。当核是活动的时,它以C0状态运行,而当该核是空闲的时,可将其置于核低功率状态,也将其称为核非零C状态(例如,C1-C6状态),每一个C状态都处于更低的功耗等级(使得C6是比C1更深的低功率状态,等等)。
应理解许多不同类型的功率管理技术可以在不同实施例中单独使用或组合使用。作为代表性示例,功率控制器可以控制处理器由一些形式的动态电压频率缩放(DVFS)来管理功率,在DVFS中一个或多个核或其他处理器逻辑的操作电压和/或操作频率可以被动态地控制以在某些情形下减少功耗。在示例中,可以使用加利福尼亚州圣克拉拉市的英特尔公司提供的增强型Intel SpeedStepTM技术来执行DVFS,以在最低功耗水平提供最优性能。在另一示例中,可以使用Intel TurboBoostTM技术来执行DVFS以使得一个或多个核或其他计算引擎能基于条件(例如,工作负荷和可用性)以高于保证操作频率的频率进行操作。
可以在某些示例中使用的另一功率管理技术是在不同计算引擎之间动态交换工作负荷。例如,处理器可以包括在不同功耗水平操作的非对称核或其他处理引擎,从而在功率约束的情形下,一个或多个工作负荷可以被动态地切换以在较低功率核或其他计算引擎上执行。另一示例性功率管理技术是硬件轮停(HDC),其可以使得核和/或其他计算引擎根据工作周期被周期性地启用和禁用,使得一个或多个核在工作周期的不活动时段变为不活动的,而在工作周期的活动时段变为活动的。
当操作环境中存在约束时也可以使用功率管理技术。例如,当遭遇功率和/或热约束时,可以通过降低操作频率和/或电压来减少功率。其他功率管理技术包括扼制指令执行速率或限制对指令的调度。此外,使给定的指令集架构的指令包括关于功率管理操作的显式的或隐式的方向是可能的。虽然以这些特定示例描述,但应理解许多其他功率管理技术可以在特定实施例中使用。
可在用于各种市场的处理器(包括服务器处理器、台式机处理器、移动处理器等)中实现多个实施例。现在参考图2,所示为根据本发明的实施例的处理器的框图。如图2中所示,处理器200可以是包括多个核210a–210n的多核处理器。在一个实施例中,每一个此类核可以是独立的功率域,并且可配置成基于工作负荷进入和退出活动状态和/或最大性能状态。一个或多个核210相对于其他核可以是异构的,例如,具有不同的微架构、指令集架构、流水线深度、功率和性能能力。可经由互连215将各种核耦合到包括各种组件的系统代理或非核220。可以看出,非核220可包括共享高速缓存230,共享高速缓存230可以是末级高速缓存。此外,非核可以包括集成存储器控制器240,用于例如经由存储器总线与系统存储器(图2中未示出)通信。非核220还包括各种接口250和功率控制单元255,功率控制单元255可包括用于执行本文中所描述的热和功率管理技术的逻辑。
此外,通过接口250a-250n,可完成向诸如外围设备、大容量存储设备等的各种芯片外组件的连接。尽管在图2的实施例中以此特定实现方式示出,但是本发明的范围不限于该方面。例如,理解处理器封装可包括多个管芯,该多个管芯包括一个或多个处理器管芯、存储器管芯和结构管芯。
现在参考图3,所示出的是根据本发明的另一实施例的多域处理器的框图。如图3的实施例中所示,处理器300包括多个域。具体而言,核域310可以包括多个核310a–310n,图形域320可以包括一个或多个图形引擎,并且还可以存在系统代理域350。在一些实施例中,系统代理域350能以独立于核域的独立频率执行,并且可在全部的时刻保持被供电以处理功率控制事件和功率管理,使得可以控制域310和320动态地进入和退出高功率状态和低功率状态。域310和320中的每一个能以不同的电压和/或功率操作。注意,虽然仅以三个域示出,但是应理解,本发明的范围不限于此方面,并且附加的域可存在于其他实施例中。例如,多个核域可存在,每一个核域包括至少一个核。
一般而言,除各种执行单元和附加的处理元件之外,每个核310还可包括多个低层级高速缓存。进而,各种核可彼此耦合,并且耦合到共享高速缓存存储器,该共享高速缓存存储器由末级高速缓存(LLC)340a–340n的多个单元形成。在各实施例中,可在多个核与图形引擎以及各种媒体处理电路之间共享LLC 340。如所示,环形互连330由此将多个核耦合到一起,并且在多个核、图形域320和系统代理电路350之间提供互连。在一个实施例中,互连330可以是核域的部分。然而,在其他实施例中,该环形互连可以是其自身域中的。
如进一步所示,系统代理域350可包括显示控制器352,该显示控制器352可提供对相关联的显示器的控制以及到它的接口。如进一步所示,系统代理域350可包括功率控制单元355,该功率控制单元355可包括用于执行本文中所描述的热和功率管理技术的逻辑。
如图3中进一步所示,处理器300还可包括集成存储器控制器(IMC)370,其可提供到诸如动态随机存取存储器(DRAM)之类的系统存储器的接口。可以存在多个接口380a–380n以实现处理器与其他电路之间的互连。例如,在一个实施例中,可提供至少一个直接媒体接口(DMI)接口以及一个或多个PCIeTM接口。此外,为了提供诸如附加处理器或其他电路的其他代理之间的通信,还可以提供一个或多个QPI接口。尽管在图3的实施例中在该高层级示出,但是会理解,本发明的范围不限于该方面。
参考图4,图示出包括多个核的处理器的实施例。处理器400包括任何处理器或处理器件,诸如微处理器、嵌入式处理器、数字信号处理器(DSP)、网络处理器、手持式处理器、应用处理器、协同处理器、片上系统(SoC)、或用于执行代码的其它器件。在一个实施例中,处理器400包括至少两个核——核401和402,它们可包括非对称核或对称核(所图示的实施例)。然而,处理器400可包括可以是对称的或非对称的任何数量的处理元件。
在一个实施例中,处理元件指的是用于支持软件线程的硬件或逻辑。硬件处理元件的示例包括:线程单元、线程槽、线程、进程单元、上下文、上下文单元、逻辑处理器、硬件线程、核和/或能够保持处理器的诸如执行状态或架构状态之类的状态的任何其他元件。换言之,在一个实施例中,处理元件指的是能够与诸如软件线程、操作系统、应用、或其他代码之类的代码独立地相关联的任何硬件。物理处理器通常指的是集成电路,其潜在地包括诸如核或硬件线程之类的任意数量的其他处理元件。
核通常指的是位于集成电路上的能够维持独立架构状态的逻辑,其中每个独立维持的架构状态与至少一些专用执行资源相关联。与核相反,硬件线程通常指的是位于集成电路上的能够维持独立架构状态的任何逻辑,其中独立维持的架构状态共享对执行资源的访问。如可见,当某些资源是共享的而其他资源是专用于架构状态的时候,硬件线程与核的术语之间的界线交叠。但核和硬件线程常常被操作系统视为单个的逻辑处理器,其中,操作系统能够分别在每一个逻辑处理器上调度操作。
如图4中所图示,物理处理器400包括两个核——核401和402。在此,核401和402被认为是对称核,即,这些核具有相同的配置、功能单元和/或逻辑。在另一实施例中,核401包括乱序处理器核,而核402包括有序处理器核。然而,核401和402可以是从任何类型的核中单独地选出的,诸如原生核、受软件管理的核、适于执行原生指令集架构(ISA)的核、适于执行经转换ISA的核、协同设计的核或其他已知核。不过,为进一步讨论,以下将更详细地描述在核401中所图示的多个功能单元,因为核402中的多个单元以类似方式操作。
如所描绘,核401包括两个硬件线程401a和401b,它们还可被称为硬件线程槽401a和401b。因此,在一个实施例中,诸如操作系统之类的软件实体潜在地将处理器400视为四个单独的处理器,即能够并发地执行四个软件线程的四个逻辑处理器或处理元件。如上所述,第一线程与架构状态寄存器401a相关联,第二线程与架构状态寄存器401b相关联,第三线程可与架构状态寄存器402a相关联,并且第四线程可与架构状态寄存器402b相关联。在此,架构状态寄存器(401a、401b、402a和402b)中的每一个可被称为处理元件、线程槽或线程单元,如上所述。如所图示,架构状态寄存器401a被复制在架构状态寄存器401b中,因此能够为逻辑处理器401a和逻辑处理器401b存储各个架构状态/上下文。在核401中,也可复制用于线程401a和401b的其他较小资源,诸如,指令指针以及分配器和重命名器块430中的重命名逻辑。可通过分区来共享诸如重排序/引退单元435中的重排序缓冲器、分支目标缓冲器和指令转换后备缓冲器(BTB和I-TLB)420、加载/存储缓冲器和队列之类的一些资源。可潜在地完全共享诸如通用内部寄存器、(多个)页表基寄存器、低层级数据高速缓存和数据TLB 450、(多个)执行单元440和乱序单元435的多个部分之类的其他资源。
处理器400通常包括其他资源,它们可被完全共享,可通过分区被共享,或可由处理元件专用/专用于处理元件。在图4中,图示出具有处理器的说明性逻辑单元/资源的纯示例性处理器的实施例。注意,处理器可包括或省略这些功能单元中的任何单元,并包括未描绘出的任何其他已知的功能单元、逻辑或固件。如所图示,核401包括简化的、代表性的乱序(OOO)处理器核。但是,在不同实施例中,可利用有序处理器。OOO核包括用于预测要被执行/进行的分支的分支目标缓冲器420以及用于存储指令的地址转换条目的指令转换缓冲器(I-TLB)420。
核401还包括耦合到取出单元以用于解码所取出的元素的解码模块425。在一个实施例中,取出逻辑包括分别与线程槽401a、401b相关联的各个序列发生器。通常,核401与第一ISA相关联,该第一ISA定义/指定在处理器400上可执行的指令。作为第一ISA的部分的机器代码指令常包括引用/指定要被执行的指令或操作的指令的部分(被称为操作码)。解码逻辑425包括从这些指令的操作码识别出这些指令并在流水线上传递经解码的指令以进行第一ISA所定义的处理的电路。例如,在一个实施例中,解码器425包括被设计成用于或适于识别诸如事务性指令之类的特定指令的逻辑。作为由解码器425识别的结果,架构或核401采取特定的、预定义的动作以执行与适当指令相关联的任务。重要的是应注意,本文中所描述的任务、块、操作和方法中的任何一个可响应于单条或多条指令来执行;它们中的一些可以是新指令或旧指令。
在一个示例中,分配器和重命名器块430包括用于保留资源的分配器,诸如,用于存储指令处理结果的寄存器堆。然而,线程401a和401b潜在地能够进行乱序执行,其中,分配器和重命名器块430还保留其他资源(诸如,用于跟踪指令结果的重排序缓冲器)。单元430还可包括寄存器重命名器,其用于将程序/指令引用寄存器重命名为处理器400内部的其他寄存器。重排序/引退单元435包括用于支持被无序执行的指令的无序执行和稍后的有序引退的、诸如上述的重排序缓冲器、加载缓冲器和存储缓冲器之类的组件。
在一个实施例中,调度器和(多个)执行单元块440包括调度器单元,其用于在多个执行单元上调度指令/操作。例如,在具有可用的浮点执行单元的执行单元的端口上调度浮点指令。还包括与执行单元相关联的寄存器堆,其用于存储信息指令处理结果。示例性的执行单元包括浮点执行单元、整数执行单元、跳转执行单元、加载执行单元、存储执行单元以及其他已知的执行单元。
较低层级的数据高速缓存和数据转换后备缓冲器(D-TLB)450耦合到(多个)执行单元440。数据高速缓存用于存储最近使用/操作的元素(诸如,数据操作数),潜在地在存储器一致性状态下保持这些元素。D-TLB用于存储最近的虚拟/线性至物理地址转换。作为特定示例,处理器可包括页表结构,用于将物理存储器分解成多个虚拟页。
在此,核401和402共享对用于对最近被取出元素进行高速缓存的、较高层级或进一步远离的高速缓存410的访问。注意,较高层级或进一步远离指的是高速缓存层级增加或进一步远离(多个)执行单元。在一个实施例中,较高层级高速缓存410是末级数据高速缓存(处理器400上的存储器层次结构中的末级高速缓存),诸如,第二或第三级数据高速缓存。然而,较高层级高速缓存410不限于此,因为它可与指令高速缓存相关联或包括指令高速缓存。替代地,跟踪高速缓存(指令高速缓存的类型)可耦合在解码器425之后,用于存储最近经解码的跟踪。
在所描绘的配置中,处理器400还包括总线接口模块405和可执行根据本发明的实施例的功率管理的功率控制单元460。在该情形下,总线接口405用于与在处理器400外部的设备(诸如系统存储器和其他组件)通信。
存储器控制器470可以与诸如一个或多个存储器的其他设备对接。在示例中,总线接口405包括环形互连,其与用于对接存储器的存储器控制器和用于对接图形处理器的图形控制器互连。在SoC环境中,诸如网络接口、协同处理器、存储器、图形处理器以及任何其它已知计算机器件/接口之类的甚至更多的器件可被集成到单个管芯或集成电路上,以提供具有高功能性和低功耗的小形状因数。
现在参考图5,所示为根据本发明的一个实施例的处理器核的微架构的框图。如图5所示,处理器核500可以是多级流水线类型的乱序处理器。核500可以基于所接收的操作电压在各种电压下操作,所接收的操作电压可以接收自集成电压调节器或外部电压调节器。
如图5所示,核500包括前端单元510,前端单元510可用于取出会被执行的指令并将这些指令准备好以供稍后在处理器流水线中使用。例如,前端单元510可包括取出单元501、指令高速缓存503和指令解码器505。在某些实现中,前端单元510可进一步包括跟踪高速缓存、微代码存储以及微操作存储。取出单元501可(例如,从存储器或指令高速缓存503)取出宏指令并将它们馈送至指令解码器505以将它们解码为原语,即用于通过处理器执行的微操作。
乱序(OOO)引擎515耦合在前端单元510与执行单元520之间,乱序引擎515可用于接收微指令并将它们准备好以供执行。更具体地,OOO引擎515可包括多个缓冲器,多个缓冲器用于重排序微指令流并分配执行所需的多个资源,以及提供对多个寄存器堆(例如,寄存器堆530和扩展寄存器堆535)中的存储位置上的逻辑寄存器的重命名。寄存器堆530可包括用于整数和浮点操作的单独的寄存器堆。为了配置、控制和附加操作,还可以存在一组机器专用寄存器(MSR)538并且可由核500内(以及核外部)的各种逻辑来访问。
在执行单元520中可存在多种资源,包括例如多种整数、浮点和单指令多数据(SIMD)逻辑单元等其它专门硬件。例如,除了这些执行单元以外,此类执行单元可包括一个或多个算术逻辑单元(ALU)522和一个或多个向量执行单元524。
来自执行单元的结果可被提供至引退逻辑,即重排序缓冲器(ROB)540。更具体地,ROB 540可包括多种阵列和逻辑以接收与被执行的指令相关联的信息。然后,通过ROB 540检查该信息以确定指令是否可以有效引退并且结果数据是否被提交至处理器的架构状态,或阻止指令的正常引退的一个或多个异常是否发生。当然,ROB 540可处理与引退相关联的其他操作。
如图5所示,ROB 540耦合到高速缓存550,在一个实施例中,高速缓存550可以是低层级高速缓存(例如,L1高速缓存),尽管本发明的范围不限于此。而且,执行单元520可直接耦合到高速缓存550。从高速缓存550,可发生与更高层级高速缓存、系统存储器等等的数据通信。如进一步所示出,核500可包括多个热传感器5601-5604,以将热信息提供给例如PCU(未在核内示出)。虽然在图5的实施例中以此高级别示出,但应理解本发明的范围不限于此方面。例如,虽然图5的实现方式涉及了诸如具有
Figure BDA0001815783800000131
x86指令集架构(ISA)的乱序机器,但本发明的范围在此方面不受限制。即,其他实施例可在以下处理器中实现:有序处理器;诸如基于ARM的处理器的精简指令集计算(RISC)处理器;或具有另一类型ISA的处理器,该另一类型的ISA可经由仿真引擎和相关联的逻辑电路来仿真不同ISA的指令和操作。
现在参考图6,所示为根据另一实施例的处理器核的微架构的框图。在图6的实施例中,核600可以是具有不同的微架构的低功率核,诸如设计为降低功耗的具有相对受限制的流水线深度的
Figure BDA0001815783800000132
基于凌动TM(AtomTM)的处理器如所示,核600包括耦合以将指令提供到指令解码器615的指令高速缓存610。分支预测器605可以耦合到指令高速缓存610。注意,指令高速缓存610可以进一步耦合到高速缓存存储器的另一层级,诸如L2高速缓存(为了易于说明,图6中未示出)。进而,指令解码器615将经解码的指令提供到发出队列(IQ)620以供存储和传递到给定的执行流水线。微代码ROM 618耦合到指令解码器615。
浮点流水线630包括浮点(FP)寄存器堆632,其可包括具有给定位宽(诸如128、256或512位)的多个架构寄存器。流水线630包括浮点调度器634,用于调度指令以在流水线的多个执行单元之一上执行。在所示的实施例中,此类执行单元包括ALU 635、混洗单元636和浮点加法器638。进而,在这些执行单元中生成的结果可以被往回提供到缓冲器和/或寄存器堆632的寄存器。当然,应理解虽然以这几个示例执行单元示出,但是在另一实施例中可以存在附加的或不同的浮点执行单元。
还可以提供整数流水线640。在所示的实施例中,流水线640包括整数(INT)寄存器堆642,其可包括具有给定位宽(诸如128或256位)的多个架构寄存器。流水线640包括整数执行(IE)调度器644,用于调度指令以在流水线的多个执行单元之一上执行。在所示的实施例中,此类执行单元包括ALU 645、移位器单元646和跳转执行单元(JEU)648。进而,在这些执行单元中生成的结果可以被往回提供到缓冲器和/或寄存器堆642的寄存器。当然,应理解虽然以这几个示例执行单元示出,但是在另一实施例中可以存在附加的或不同的整数执行单元。
存储器执行(ME)调度器650可以调度存储器操作以在地址生成单元(AGU)652中执行,地址生成单元652还耦合到TLB 654。如所示,这些结构可以耦合到数据高速缓存660,数据高速缓存660可以是L0和/或L1数据高速缓存,其进而耦合到高速缓存存储器层次结构的附加层级,包括L2高速缓存存储器。
为了提供对乱序执行的支持,可以提供分配器/重命名器670以作为重排序缓冲器680的附加,重排序缓冲器680配置为对被乱序地执行的指令进行重排序以供有序引退。虽然以图6的图示中的该特定流水线架构示出,但是应理解许多变型和替代是可能的。
注意,在具有非对称核的处理器中,诸如根据图5和6的微架构,由于功率管理的原因,可以在核之间动态地交换工作负荷,因为这些核虽然具有不同的流水线设计和深度,但是可以具有相同或相关的ISA。可以按照对用户应用(并且也可能对内核)透明的方式来执行此类动态核交换。
参考图7,所示为根据又一实施例的处理器核的微架构的框图。如图7所图示,核700可以包括多级有序流水线以在非常低的功耗水平处执行。作为一个此类示例,处理器700可以具有根据可从加利福尼亚州桑尼威尔市的ARM控股有限公司得到的ARM CortexA53设计的微架构。在实现中,可以提供配置为执行32位和64位代码的8级流水线。核700包括取出单元710,取出单元710配置为取出指令并将这些指令提供到解码单元715,解码单元715可以解码指令,例如具有给定ISA(诸如ARMv8ISA)的宏指令。此外,注意队列730可以耦合到解码单元715以存储经解码的指令。经解码的指令被提供到发出逻辑725,其中可以将经解码的指令发出到多个执行单元中的给定的一个。
进一步参考图7,发出逻辑725可以将指令发出到多个执行单元中的一个。在所示的实施例中,这些执行单元包括整数单元735、乘法单元740、浮点/向量单元750、双发出单元760和加载/存储单元770。可以将这些不同的执行单元的结果提供到写回(WB)单元780。应理解,虽然为了便于说明示出单个写回单元,但是在一些实现中,分开的多个写回单元可以与执行单元中的每一个相关联。此外,应理解,虽然图7中示出的单元中的每一个和逻辑被表示为在高层级,但是特定实现可以包括多个或不同的结构。可以在许多不同的最终产品(从移动设备扩展到服务器系统)中实现使用一个或多个具有如图7中的流水线的核来设计的处理器。
参考图8,所示为根据更进一步的实施例的处理器核的微架构的框图。如图8所图示,核800可以包括多级多发出乱序流水线以在非常高性能水平处执行(其可在高于图7的核700的功耗水平处发生)。作为一个此类示例,处理器800可以具有根据ARM Cortex A57设计的微架构。在实现中,可以提供配置为执行32位和64位代码的15(或更大)级流水线。此外,流水线可以提供3路(或更大)宽度和3路(或更大)发出操作。核800包括取出单元810,取出单元810配置为取出指令并将指令提供给耦合到高速缓存820的解码器/重命名器/分派器单元815。单元815可解码指令,指令例如具有ARMv8指令集架构的宏指令,重命名指令内的寄存器引用,并将指令(最终)分派到所选择的执行单元。经解码的指令可以存储在队列825中。注意,虽然为了便于说明在图8中示出单个队列结构,但是应理解分开的多个队列可以被提供给多个不同类型的执行单元中的每一个。
在图8中还示出发出逻辑830,存储在队列825中的经解码的指令可以被从发出逻辑830发出到所选择的执行单元。在特定实施例中,发出逻辑830还可以实现为与发出逻辑830耦合的多个不同类型的执行单元中的每一个具有单独的发出逻辑。
可以将经解码的指令发出到多个执行单元中的给定的一个。在所示的实施例中,这些执行单元包括一个或多个整数单元835、乘法单元840、浮点/向量单元850、分支单元860和加载/存储单元870。在实施例中,浮点/向量单元850可以配置为处理128或256位的SIMD或向量数据。此外,浮点/向量执行单元850可以执行IEEE-754双精度浮点操作。可以将这些不同的执行单元的结果提供到写回单元880。注意,在一些实现中,分开的写回单元可以与执行单元中的一个相关联。此外,应理解,虽然图8中示出的单元中的每一个和逻辑被表示为在高层级,但是特定实现可以包括多个或不同的结构。
注意,在具有非对称核的处理器中,诸如根据图7和8的微架构,由于功率管理的原因,可以动态地交换工作负荷,因为这些核虽然具有不同的流水线设计和深度,但是可以具有相同或相关的ISA。可以按照对用户应用(并且也可能对内核)透明的方式来执行此类动态核交换。
可以在许多不同的最终产品(从移动设备扩展到服务器系统)中实现设计为使用一个或多个具有图5-8中的任意一个或多个中的流水线的核的处理器。现在参考图9,所示是根据本发明的另一实施例的处理器的框图。在图9的实施例中,处理器900可以是包括多个域的SoC,可控制其中的每一个域在独立的操作电压和操作频率下进行操作。作为特定的说明性示例,处理器900可以是基于
Figure BDA0001815783800000161
架构核TM的处理器(诸如,i3、i5、i7)或可从英特尔公司得到的另一个此类处理器。然而,诸如可从加利福尼亚州桑尼威尔的超微半导体有限公司(AMD)得到的、来自ARM控股有限公司或其被许可方的基于ARM的设计的、或来自加利福尼亚州桑尼威尔的MIPS技术公司或它们的被许可方或采用者的基于MIPS的设计之类的其他低功率处理器可替代地存在于诸如苹果A7处理器、高通骁龙处理器或德州仪器OMAP处理器之类的其他实施例中。此类SoC可用于诸如智能电话、平板计算机、平板手机计算机、超极本TM计算机或其他便携式计算设备之类的低功率系统中,其可包含具有基于异构系统架构的处理器设计的异构系统架构。
在图9所示的高层级视图中,处理器900包括多个核单元910a-910n。每一个核单元都可包括一个或多个处理器核、一个或多个高速缓存存储器和其他电路。每一个核单元910都可支持一个或多个指令集(例如,x86指令集(具有与较新版本一起添加的一些扩展);MIPS指令集;ARM指令集(具有诸如NEON的可选附加扩展))或其他指令集或其组合。注意,核单元中的一些可以是异构资源(例如,具有不同设计)。此外,每一个此类核可耦合到高速缓存存储器(未示出),在实施例中,该高速缓存存储器可以是共享层级2(L2)高速缓存存储器。可使用非易失性存储器930来存储各种程序和其他数据。例如,可以使用该存储设备来存储微代码的至少多个部分、诸如BIOS之类的引导信息、其他系统软件等。
每一个核单元910还可包括诸如总线接口单元之类的接口,其用于实现向处理器的附加电路的互连。在实施例中,每一个核单元910都耦合到一致性结构,该一致性结构可充当进而耦合到存储器控制器935的主高速缓存一致性管芯上互连。存储器控制器935转而控制与诸如DRAM之类的存储器(为了易于说明,在图9中未示出)的通信。
除这些核单元之外,附加的处理引擎也存在于该处理器内,包括至少一个图形单元920,该图形单元920可包括用于执行图形处理以及可能在图形处理器上执行通用操作(所谓的GPGPU操作)的一个或多个图形处理单元(GPU)。此外,可以存在至少一个图像信号处理器925。信号处理器925可配置成用于处理从一个或多个捕捉设备(无论是SoC内部的还是芯片外的)接收到的传入的图像数据。
也可以存在其他加速器。在图9的图示中,视频译码器950可执行译码操作,包括对于视频信息的编码和解码,例如,提供对高清晰度视频内容的硬件加速支持。可进一步提供显示控制器955以加速显示操作,包括提供对系统的内部和外部显示器的支持。此外,可以存在安全处理器945,其用于执行诸如安全引导操作、各种加密操作等的安全操作。
多个单元中的每一个可以经由功率管理器940控制其温度和功耗,功率/热管理器940可以包括用于执行本文中所描述的各种热和功率管理技术的控制逻辑。
在一些实施例中,SoC 900还可包括耦合到一致性结构(各种外围设备可耦合到该一致性结构)的非一致性结构。一个或多个接口960a-960d实现与一个或多个芯片外设备的通信。此类通信可以经由各种通信协议,诸如,PCIeTM、GPIO、USB、I2C、UART、MIPI、SDIO、DDR、SPI、HDMI以及其他类型的通信协议。尽管在图9的实施例中在该高层级示出,但是会理解,本发明的范围不限于该方面。
现在参考图10,所示为代表性SoC的框图。在所示实施例中,SoC 1000可以是针对低功率操作所配置的多核多管芯SoC,该多核多管芯SoC待优化以便结合进智能电话或诸如平板计算机或其他便携式计算设备之类的其他低功率设备中。作为示例,可使用诸如较高功率核和/或低功率核(例如,乱序核和有序核)的组合之类的非对称核或不同类型核来实现SoC 1000。在不同的实施例中,这些核可以基于
Figure BDA0001815783800000181
架构TM核设计或ARM架构设计。在另一些实施例中,可在给定的SoC中实现英特尔核和ARM核的混合。
如图10中所示,SoC 1000包括具有多个第一核1012a–1012d的第一核域1010。在示例中,这些核可以是诸如有序核之类的低功率核。在一个实施例中,可将这些第一核实现为ARM Cortex A53核。这些核转而耦合到核域1010的高速缓存存储器1015。此外,SoC 1000包括第二核域1020。在图10的图示中,第二核域1020具有多个第二核1022a–1022d。在示例中,这些核可以是比第一核1012消耗更高功耗的核。在实施例中,这些第二核可以是可实现为ARM Cortex A57核的乱序核。这些核转而耦合到核域1020的高速缓存存储器1025。注意,虽然图10中所示的示例在每个域中包括4个核,但是会理解,在其他示例中,更多或更少的核可存在于给定的域中。
进一步参考图10,也提供图形域1030,其可包括一个或多个图形处理单元(GPU),这些图形处理单元配置成用于独立地执行例如由核域1010和1020中的一个或多个核所提供的图形工作负荷。作为示例,除了提供图形和显示渲染操作之外,GPU域1030可以用于提供对各种屏幕尺寸的显示支持。
如所示,各种域耦合到一致性互连1040,在实施例中,该一致性互连可以是进而耦合到集成存储器控制器1050的高速缓存一致性互连结构。在一些示例中,一致性互连1040可包括共享高速缓存存储器,诸如,L3高速缓存。在实施例中,存储器控制器1050可以是用于提供与芯片外存储器进行的通信的多个通道(诸如,DRAM的多个通道(在图10中为了易于说明,没有示出))的直接存储器控制器。
在不同的示例中,核域的数量可以变化。例如,对于适于结合进移动计算设备的低功率SoC,可以存在诸如图10中所示的有限数量的核域。更进一步地,在此类低功率SoC中,包括较高功率核的核域1020可具有较少数量的此类核。例如,在一个实现中,可提供两个核1022以允许以降低的功耗等级进行的操作。此外,也可将不同的核域耦合到中断控制器以启用在不同域之间的工作负荷的动态交换。
在另一些实施例中,可以存在更大量的核域以及附加可选的IP逻辑,如此,可按比例将SoC放大到更高的性能(和功率)等级,以便结合进诸如台式机、服务器、高性能计算系统、基站等的其他计算设备中。作为一个此类示例,可提供各自具有给定数量的乱序核的4个核域。更进一步地,除了可选的GPU支持(作为示例,其可采取GPGPU的形式)之外,还可提供用于提供对特定功能(例如,web服务、网络处理、交换等)的优化的硬件支持的一个或多个加速器。此外,可以存在用于将此类加速器耦合到多个芯片外组件的输入/输出接口。
现在参考图11,所示为另一示例SoC的框图。在图11的实施例中,SoC1100可包括用于允许多媒体应用、通信和其他功能的高性能的各种电路。由此,SoC 1100适于结合进多种便携式和其他设备,诸如,智能电话、平板计算机、智能电视等。在所示示例中,SoC 1100包括中央处理器单元(CPU)域1110。在实施例中,多个单独的处理器核可存在于CPU域1110中。作为一个示例,CPU域1110可以是具有4个多线程核的四核处理器。此类处理器可以是同构或异构处理器,例如,低功率和高功率处理器核的混合。
进而,提供GPU域1120以在一个或多个GPU中执行高级图形处理,从而处理图形并计算API。DSP单元1130可提供一个或多个低功率DSP,这些低功率DSP除了处理可在多媒体指令的执行期间发生的高级计算之外,还处理诸如音乐回放、音频/视频等的低功率多媒体应用。进而,通信单元1140可包括用于经由各种无线协议提供连接性的各种组件,各种无线协议诸如蜂窝通信(包括3G/4G LTE)、诸如蓝牙TM和IEEE 802.11之类的无线局域协议等。
更进一步地,可使用多媒体处理器1150来执行对高清晰度视频和音频内容的捕捉和回放,包括对用户姿势的处理。传感器单元1160可包括多个传感器和/或用于对接到存在于给定平台中的各种芯片外传感器的传感器控制器。可向图像信号处理器1170提供一个或多个分开的ISP,其用于参照从平台的一个或多个相机(包括静止相机和视频相机)捕捉到的内容来执行图像处理。
显示处理器1180可提供对向给定像素密度的高清晰度显示器的连接的支持,包括无线地传递内容以在此类显示器上回放的能力。更进一步地,位置单元1190可包括具有对多个GPS星座图的支持的GPS接收机,以便向应用提供使用此类GPS接收机所获取的高精度定位信息。会理解,虽然在图11的示例中以该特定的一组组件示出,但是许多变型和替代是可能的。
现在参考图12,所示为可与多个实施例一起使用的示例系统的框图。如所见,系统1200可以是智能电话或其他无线通信器。基带处理器1205被配置成执行关于会从该系统传输或由该系统接收的通信信号的各种信号处理。进而,基带处理器1205被耦合到应用处理器1210,该应用处理器1210可以是系统的主CPU,以执行除了诸如许多公知的社交媒体与多媒体应用的用户应用之外的OS以及其他系统软件。应用处理器1210可以进一步被配置成为该设备执行各种其他计算操作。
进而,应用处理器1210可以耦合到用户接口/显示器1220,例如,触摸屏显示器。此外,应用处理器1210可耦合到包括非易失性存储器(即,闪存1230)和系统存储器(即,动态随机存取存储器(DRAM)1235)的存储器系统。如进一步所示,应用处理器1210进一步耦合到诸如可记录视频和/或静止图像的一个或多个图像捕捉设备之类的捕捉设备1240。
仍然参考图12,包括订户身份模块和可能的安全存储设备和加密处理器的通用集成电路卡(UICC)1240也耦合到应用处理器1210。系统1200可以进一步包括可以耦合到应用处理器1210的安全处理器1250。多个传感器1225可以耦合到应用处理器1210以实现各种感测到的信息的输入,诸如加速度计与其他环境信息。音频输出设备1295可提供接口,以便例如以语音通信、播放的或流音频数据等的形式输出声音。
如进一步所图示,提供近场通信(NFC)非接触式接口1260,其经由NFC天线1265在NFC近场中通信。尽管图12中示出分离的天线,请理解在一些实现中,可以提供一根天线或不同组的天线以实现各种无线功能。
功率管理集成电路(PMIC)1215耦合到应用处理器1210以执行平台级别功率管理。为此,PMIC 1215可以根据需要发出功率管理请求至应用处理器1210以进入某些低功率状态。此外,基于平台约束,PMIC 1215也可以控制系统1200的其他组件的功率级别。
为了实现传送与接收通信,可以在基带处理器1205与天线1290之间耦合各种电路。具体而言,可以存在射频(RF)收发机1270与无线局域网(WLAN)收发机1275。一般而言,可以根据诸如3G或4G无线通信协议(诸如根据码分多址(CDMA)、全球移动通信系统(GSM)、长期演进(LTE)或其他协议)的给定的无线通信协议,使用RF收发机1270接收并传送无线数据和呼叫。此外,可以存在GPS传感器1280。也可以提供诸如无线电信号(例如,AM/FM与其他信号)的接收与传送的其他无线通信。此外,也可以经由WLAN收发机1275实现本地无线通信。
现在参考图13,所示为可与多个实施例一起使用的另一示例系统的框图。在图13的图示中,系统1300可以是诸如平板计算机、2:1平板、平板手机或其他转换式或独立式平板系统之类的移动低功率系统。如所图示,存在SoC 1310,并且SoC 1310可配置成作为设备的应用处理器进行操作。
各种设备可耦合到SoC 1310。在所示图示中,存储器子系统包括耦合到SoC 1310的闪存1340和DRAM 1345。此外,触摸面板1320耦合到SoC 1310以提供显示能力和经由触摸的用户输入,包括在触摸面板1320的显示器上提供虚拟键盘。为了提供有线网络连接性,SoC 1310耦合到以太网接口1330。外围中枢1325耦合到SoC 1310以启用与各种外围设备的对接,诸如,可通过各种端口或其他连接器中的任何一个而被耦合到系统1300。
除了SoC 1310中的内部功率管理电路和功能之外,PMIC 1380也耦合到SoC 1310以提供基于平台的功率管理,例如,基于该系统是由电池1390供电还是经由交流适配器1395由交流电供电。除了该基于功率源的功率管理之外,PMIC 1380还可执行基于环境和使用条件的平台功率管理活动。更进一步地,PMIC 1380可将控制和状态信息传递给SoC 1310以引起SoC 1310中的各种功率管理动作。
仍然参考图13,为了提供无线能力,将WLAN单元1350耦合到SoC 1310,并转而耦合到天线1355。在各种实现中,WLAN单元1350可以根据一个或多个无线协议提供通信。
如进一步所图示,多个传感器1360可耦合到SoC 1310。这些传感器可包括各种加速度计、环境和其他传感器,包括用户姿势传感器。最后,将音频编解码器1365耦合到SoC1310以向音频输出设备1370提供接口。当然会理解,虽然以图13中的该特定实现示出,但是许多变型和替代是可能的。
现在参考图14,所示为诸如笔记本、超极本TM或其他小形状因数系统的代表性计算机系统的框图。在一个实施例中,处理器1410包括微处理器、多核处理器、多线程处理器、超低电压处理器、嵌入式处理器,或其他已知处理元件。在所图示出的实现方式中,处理器1410充当主处理单元以及用于与系统1400的各种组件中的许多组件进行通信的中央枢纽,并且可包括如本文中所描述的功率管理电路。作为一个示例,处理器1410被实现为SoC。
在一个实施例中,处理器1410与系统存储器1415通信。作为示例性示例,系统存储器1415被实现为经由多个存储器设备或模块来提供给定量的系统存储器。
为提供对诸如数据、应用、一个或多个操作系统等的信息的持续的存储,大容量存储设备1420也可耦合到处理器1410。在各种实施例中,为了实现更薄和更轻的系统设计以及为了改善系统响应,该大容量存储设备可以经由SSD被实现,或者该大容量存储设备可以主要使用具有较小量的SSD存储设备的硬盘驱动器(HDD)来实现,SSD存储设备充当SSD高速缓存,以在掉电事件期间实现对上下文状态和其他此类信息的非易失性存储,从而在系统活动重新启动时,快速上电可以发生。图14还示出,闪存设备1422可以例如经由串行外围接口(SPI)耦合到处理器1410。该闪存设备可以提供对系统软件(包括基本输入/输出软件(BIOS)以及系统的其他固件)的非易失性存储。
系统1400内可以存在各种输入/输出(I/O)设备。图14的实施例中具体示出显示器1424,显示器1424可以是进一步提供触摸屏1425的高清晰度LCD或LED面板。在一个实施例中,显示器1424可以经由显示互连耦合到处理器1410,该显示互连可实现为高性能图形互连。触摸屏1425可以经由另一互连(在实施例中,可以是I2C互连)耦合到处理器1410。如图14中进一步所示,除触摸屏1425之外,经由触摸的用户输入也可以经由触板1430进行,触板1430可以配置在机架内,并且还可以耦合到与触摸屏1425相同的I2C互连。
出于感知计算和其他目的,各种传感器可以存在于系统内,并且能以不同的方式耦合到处理器1410。某些惯性传感器和环境传感器可以通过传感器中枢1440(例如,经由I2C互连)耦合到处理器1410。在图14示出的实施例中,这些传感器可以包括加速度计1441、环境光传感器(ALS)1442、罗盘1443以及陀螺仪1444。其他环境传感器可以包括一个或多个热传感器1446,在一些实施例中,这些热传感器1446经由系统管理总线(SMBus)总线耦合到处理器1410。
图14中还可见,各种外围设备可以经由低引脚计数(LPC)互连耦合到处理器1410。在所示的实施例中,各种组件可以通过嵌入式控制器1435耦合。此类组件可包括键盘1436(例如,经由PS2接口耦合)、风扇1437以及热传感器1439。在一些实施例中,触板1430还可以经由PS2接口耦合到EC 1435。此外,诸如可信任平台模块(TPM)1438的安全处理器也可经由该LPC互连耦合到处理器1410。在实施例中,如本文中所描述,EC 1435可充当用于至少部分基于从处理器1410接收的热余量和热控制信息来提供一个或多个冷却方案的控制的平台控制器。
系统1400能以各种方式(包括以无线方式)与外部设备通信。在图14所示出的实施例中,存在各种无线模块,其中的每一个无线模块都可以对应于针对特定的无线通信协议而配置的无线电装置。用于在短距离(诸如,近场)内进行无线通信的一种方式可以经由NFC单元1445,在一个实施例中,该NFC单元1445可以经由SMBus与处理器1410进行通信。注意,经由该NFC单元1445,彼此紧邻的设备可以进行通信。
如图14中进一步所示,附加的无线单元可包括其他短距离无线引擎,包括WLAN单元1450和蓝牙TM单元1452。通过使用WLAN单元1450,可以实现Wi-FiTM通信,而通过蓝牙TM单元1452,可以发生短距离蓝牙TM通信。这些单元可以经由给定的链路与处理器1410通信。
另外,无线广域通信(例如,根据蜂窝式或其他无线广域协议)可以经由WWAN单元1456进行,该WWAN单元1456进而可以耦合到订户身份模块(SIM)1457。另外,为了允许接收并使用位置信息,还可以存在GPS模块1455。注意,在图14中示出的实施例中,WWAN单元1456和诸如相机模块1454的集成捕捉设备可以经由给定的链路进行通信。
为了提供音频输入和输出,可以经由数字信号处理器(DSP)1460来实现音频处理器,DSP 1460可以经由高清晰度音频(HDA)链路来耦合到处理器1410。类似地,DSP 1460可以与集成的编码器/解码器(编解码器)和放大器1462进行通信,集成的编解码器和放大器1462进而可以耦合到可以在机架内实现的输出扬声器1463。类似地,放大器和编解码器1462可以耦合到话筒1465以从话筒1465接收音频输入,在实施例中,话筒1465可以经由双阵列话筒(诸如数字话筒阵列)被实现,以提供高质量音频输入来实现对系统内的各种操作的语音激活的控制。另外注意,可以将音频输出从放大器/编解码器1462提供到头戴式耳机插孔1464。虽然在图14的实施例中利用这些特定组件示出,但应理解本发明的范围不限于此方面。
可在许多不同的系统类型中实现实施例。现在参考图15,所示为根据本发明的实施例的系统的框图。如图15所示,多处理器系统1500是点对点互连系统,且包括经由点对点互连1550耦合的第一处理器1570和第二处理器1580。如图15所示,处理器1570和1580中的每一个可以是包括第一和第二处理器核(即处理器核1574a和1574b以及处理器核1584a和1584b)的多核处理器,尽管这些处理器中可能存在更多核。处理器中的每一个可包括PCU或其他功率管理逻辑以执行如本文中所描述的基于处理器的功率管理。
仍参考图15,第一处理器1570还包括存储器控制器中枢(MCH)1572和点对点(P-P)接口1576和1578。类似地,第二处理器1580包括MCH 1582和P-P接口1586与1588。如图15所示,MCH 1572和1582将多个处理器耦合到相应的存储器(即,存储器1532和存储器1534),这些存储器可以是本地附连到相应处理器的系统存储器(例如,DRAM)的多个部分。第一处理器1570与第二处理器1580可以分别经由P-P互连1562与1564耦合到芯片组1590。如图15中所示,芯片组1590包括P-P接口1594和1598。
此外,芯片组1590包括通过P-P互连1539将芯片组1590与高性能图形引擎1538耦合的接口1592。进而,芯片组1590可以经由接口1596被耦合到第一总线1516。如图15所示,各种输入/输出(I/O)设备1514以及总线桥接器1518可耦合到第一总线1516,总线桥接器1518将第一总线1516耦合到第二总线1520。在一个实施例中,各种设备可耦合到第二总线1520,包括例如,键盘/鼠标1522、通信设备1526以及诸如可包括代码1530的盘驱动器或者其他大容量存储设备之类的数据存储单元1528。此外,音频I/O 1524可以被耦合到第二总线1520。可将多个实施例合并到其他类型的系统中,包括诸如智能蜂窝电话、平板计算机、上网本、超极本TM等之类的移动设备。
图16是根据本发明的实施例的多芯片封装1600的框图。MCP 1600可包括多个管芯16100-1610N,包括处理器管芯16100和结构管芯16101。处理器管芯16100可包括具有多个核、多个温度传感器以及一个或多个高速缓存存储器的核区域。处理器管芯16100还可包括附加电路,诸如具有功率控制单元(PCU)、互连逻辑和各自具有一个或多个温度传感器的一个或多个非核代理以及其他电路的非核区域。结构管芯16101可包括结构电路中的一个或多个温度传感器。附加管芯16102-1610N可包括动态随机存取存储器(DRAM)、网络接口控制器(NIC)管芯和/或其他电路中的一者或多者。其他管芯16102-1610N中的每一个除包括存储器单元和其他电路以外还可包括一个或多个温度传感器。如通过图16中的箭头所见,各管芯可彼此通信。注意,在此处的实施例中,处理器管芯16100可从每一个管芯接收热数据以及功率信息。
现在参考图17,所示的是根据本发明的实施例的用于处理器封装的代表性管芯组件的热负载线。理解可为合并到封装中的每一个管芯提供类似的热负载线(尽管具有不同的值或特性)。如在图17中所示,呈现了具有热负载线1700的图形图示,其中,y轴表示设备温度,并且x轴表示设备功率。
如在图17中进一步所图示,提供了扼制阈值1710。扼制阈值1710可以是预定的阈值温度,在该阈值温度处将发生对MCP的一个或多个管芯上的活动的立即扼制,以防止对处理器的损害。由此,如果来自一个或多个管芯的所测量的热值指示达到或高于扼制阈值1710的水平,则扼制可开始。
如进一步所图示,还提供了热控制水平1720。可将该热控制(Tctrl)值提供给诸如平台控制器之类的处理器外部的控制器以指示低于其则可能需要受限制的冷却方案控制的热水平。
仍然参考图17,当所测量的温度低于热负载线1700从而操作在安全区1730中时,处理器的热控制逻辑或其他功率控制器可以不应用功率管理或基于热的约束。相反,如果所测量的温度超过热负载线1700而进入警告区1740,则处理器内部的和/或处理器外部的热和/或功率管理控制可发生。
理解可在每个部分的基础上使用在制造测试期间获取的信息来配置热负载线1700。在不同的实施例中,各种信息可存储在处理器的给定的非易失性存储中,以实现正常处理器操作期间的热负载线的标识和/或生成。在实施例中,用于给定的管芯的负载线可被定义为:
热负载线(Tj_规范_i)=Tj_最大_i-(TDP_i–P_i)*R_ii(等式1)
其中,Tj_i是封装的第i个管芯组件的结温,Tj_最大_i是第i个管芯组件的Tj_最大限制,P_i是第i个管芯组件的所测量的功率,并且R_ii是在定义热负载线中所使用的热阻值。R_ii的保守值将是psi_ja_ii,其本质上是当提供最大冷却时第i个管芯的温度如何随功率增加的测量。因此,R_ii是阻值并且以摄氏度每瓦(C/W)的单位来测量。理解也可以针对该值利用更低的值;并且TDP_i是用于封装的第i个管芯的TDP(其中,TDP基于针对给定管芯的最坏情况工作负荷来指定)。
在实施例中,可针对给定组件的最坏情况工作负荷计算热负载线。作为示例,对于封装上存储器,该最坏情况工作负荷可以是给定的以存储器为中心的工作负荷。对于CPU管芯,最坏情况工作负荷可以是给定的以CPU为中心的工作负荷。
在这些以管芯为中心的工作负荷的执行中,其他管芯可保持在较低的操作水平,以最小化跨管芯的热效应。注意,通过根据如以上所确定的热负载线的控制,对于对应的较低的功率值,温度维持在较低的水平。
现在参考表1,所示出的是根据实施例的处理器和散热器组件在各种气流速率下的热阻值和时间常数的列表。注意,可在恒定气流下确定热时间常数,并且处理器的输入功率经历阶跃改变,并且将处理器管芯温度增加/减少作为时间的函数来监控以确定阻值和热时间常数值。
表1
Figure BDA0001815783800000261
在该示例中,通过研究对功率的阶跃输入的温度响应来确定阻值和时间常数值。注意,在以上示例中,在最高设计气流下,R1是总阻值的54%。当存在气流的阶跃改变(例如,气流从5CFM变为12CFM)时,管芯温度也受到影响。当维持处理器功率固定并改变气流时,可以将管芯温度作为时间的函数来监控。可以提取与气流的改变相关联的热阻值和热时间常数值。典型地,用于观察气流的改变的管芯温度的热时间常数是很大的(大约20秒)。如果管芯花费约20秒来观察风扇速度(冷却)的改变的影响,则必须选择与那么长的时间常数相关联的值R_ii。在以上表1中,在最高冷却下,时间常数20秒将相当于大约(R1+R2)。
注意,温度可以在短时间段内显著上升,即对于风扇速度增加以对管芯温度存在影响是短的。因此,为了防止热扼制,R1和psi_ja之间的值(例如,R1+R2+R3)可用于根据等式1来定义负载线。
所确定的热负载线可存储在处理器的给定的非易失性存储中。例如,在实施例中,可针对每一个管芯类型将Tjmax限制和斜率(R_ii)作为融合值进行存储。此类值可用于表示给定的热负载线。由此,如在本文中所使用,热负载线的存储可被理解为包括足以重新创建完整的热负载线的至少这些值的存储。
在操作期间,这些融合值可由热控制逻辑访问以实现在实际的处理器操作期间的热间隙或余量的计算(即,扩展进入不符合于热负载线的安全区中的余量)。利用图17的热负载线,安全区1730是热负载线1700之下的区域。在实施例中,对应于第一时间常数(τ1)的指数移动平均数可用于估计热规范。
为了动态地确定给定管芯的热余量,对给定管芯类型上的所有的热传感器进行轮询,并确定最大操作温度(Tj)。另外,还对管芯的功耗进行监控。将该操作温度(Tj)值与管芯的实际热规范进行比较,以计算热余量。为每一个管芯类型计算该热余量。进而可将最小热余量报告给平台以实现风扇速度控制。
在一个实施例中,热余量可被确定如下:
热_余量_i=Tj_规范_i–Tj_i(等式2)。
在处理器的实时操作中,给定管芯的功率可以快速地改变,使得Tj_规范随着给定管芯的功率来改变它的值。为了避免这种情形,所计算的Tj_规范的指数移动平均值可以用于计算热余量。对热相关时间常数计算指数移动平均值。
进而,可根据如下等式确定最小热余量:
最小热_余量=最小(热_余量_1,热_余量_2,……,热_余量_管芯_类型_N)(等式3)。
通过计算基于负载线的最小热余量而不是相对于扼制阈值的热余量,热负载线降低了设备在其寿命中的平均操作温度,并且其提供了最佳热操作点以防止扼制。
注意,以上热负载线的确定可基于Tj_最大值,而不是开始于局部环境温度。利用此确定,所得到的热负载线对于MCP工作良好,由于Tj_最大值包含相邻管芯的加热效应。
实施例还可用于基于热规范来确定每一个管芯类型的最佳控制温度(Tcontrol)值。为实现此目的,如果热传感器温度高于Tcontrol,则可相应地控制冷却方案。例如,风扇可斜升。在一个实施例中,Tcontrol值可按照如下等式计算:
Tcontrol=(TDP-空闲_功率)*R_ii(等式4)。在等式4中,空闲功率对应于在管芯不进行任何活动的工作时管芯的功率水平,并且该功率主要是该管芯的泄漏功率。对于DRAM管芯,这可对应于由处于零存储器带宽利用的管芯耗散的功率。
该热控制等式假定处理器可以在空闲工作负荷下在Tcontrol下操作,并且最大(例如,TDP)工作负荷突然开始。以上等式4可用于计算将最小化热扼制的Tcontrol的值。该Tcontrol的值可与其他所存储的热值一起存储在适当的存储中,例如,在非易失性存储器中,并且可以与每一个管芯类型的等式1的热负载线规范一起使用。作为示例,可以使用用等式4计算的该Tcontrol值来控制可能不具有热扼制特征的结构管芯,以确保该管芯不超过其限制。尽管以上等式1-4使用Tj限制,通过考虑热点到传感器位置的热阻值可以容易地按照传感器温度来重写这些等式。
因此,实施例提供了用于多芯片封装的负载线规范方法,其带来了改进的元分割(满足某些设计规范的所制造的封装的百分比)以及增加的操作频率。
现在参考图18,所示为根据本发明的实施例的方法的流程图。更具体地,图18的方法1800可在制造处理器或其他SoC期间在制造和表征操作期间执行。为此,方法1800可至少部分使用一个或多个服务器计算机或生产设施内的其他计算系统来执行。该方法实现了处理器的表征和形成,该处理器具有存储于其中的如本文中所描述的配置数据,该配置数据可在正常操作期间使用以执行如本文中所讨论的热监控、通信和控制操作。注意,该表征也可以通过仿真来完成。
如所示,方法1800可通过选择多芯片封装内的多个管芯中的给定管芯而开始于框1810。接下来,在框1820处,可以执行/仿真针对该管芯的最坏情况工作负荷。例如,该最坏情况工作负荷可对应于以管芯为中心的工作负荷,使得给定管芯是封装内最活跃的管芯。接下来,在框1830处,可以在该最坏情况工作负荷的执行/仿真期间测量管芯的温度和功率。例如,一个或多个管芯上热传感器可以提供温度信息。另外,一个或多个管芯上功率传感器或其他传感器可以用于测量功耗。因此,可以确定给定管芯的Tj_最大和TDP。还注意,可以通过运行压力较小的工作负荷来确定Tj相对于功率灵敏度(psi_ja_ii=Tj相比于功率的斜率)。接下来,在框1840处,该信息可存储在用于管芯的存储的条目中。注意,信息在用于管芯的条目中的该存储可以在表内,例如,存储在给定的服务器计算机、制造工具等等中。在实施例中,Tj、TDP和Rii(0与psi_ja_ii之间的值)可被存储。接下来,在菱形框1850处判定是否存在要表征的附加管芯。如果存在,则管芯计数递增(框1860),并且控制传回到框1810,用于表征操作的另一迭代。
仍然参考图18,如果替代地封装内的所有管芯已经被适当地表征,则控制传到框1870。接下来,至少部分基于TDP值和热阻值(每个管芯),可计算用于不同管芯的热控制值(框1890),例如,按照以上等式4。该热控制值可存储在处理器的非易失性存储中(框1875)。作为示例,该非易失性存储可以是处理器内的融合存储,诸如在处理器内的CPU管芯上存在。在其他情况下,分开的非易失性存储可在处理器内存在,例如,与分开的管芯中的每一个相关联的融合存储。无论如何,该热控制信息可在制造过程期间持久地存储。
仍然参考图18,控制接下来传到框1880,在框1880处可以为每一个管芯计算热负载线。更具体地,可基于所存储的温度和功率(例如,如以上所讨论地获取)以及包括管芯的热设计功率值和热阻值(以及热控制值)的其他值来为每一个管芯计算该热负载线。在一个实施例中,可根据以上所讨论的等式1来计算热负载线。由此,每一个管芯可具有为其所确定的独立的热负载线。接下来,在框1890处,热负载线和热阻值可以存储在非易失性存储中。
如以上所描述,在一个实施例中,热负载线可以通过给定核的Tjmax和Rii的存储来简单地存储。当然会理解,另外,不同的管芯的TDP值也可存储在该非易失性存储中。在其他情况下,可存储每一个热负载线的至少一些坐标点(例如,负载线上的给定数量的点)以实现控制操作期间负载线的其他值的内插。另外,由于负载线可以是直线,存储该线上的点(Tjmax,TDP)和斜率(Rii)可提供充分的信息用于内插。注意,负载线仅在高于Tcntrol可适用。要理解,虽然在图18的实施例中以该高层级示出,但许多变型和替换方案是可能的。
因此,在方法1800结束时,处理器被恰当地配置成用于实现在为了各种目的的正常操作期间对多个热负载线和热控制值的访问,包括用于不同管芯的热余量的确定,从其中可以确定和传递最小余量,例如,芯片外到平台控制器。另外,如果确定在操作期间所测量的温度超过给定的热负载线,则此类热负载线信息可用于执行热扼制。另外,包括热负载线的信息可用于其他热和功率管理操作。
现在参考图19,示出的是根据本发明的另一实施例的方法的流程图。更具体地,图19中示出的方法1900可由硬件、软件和/或固件及其组合执行。作为示例,方法1900可由在处理器的功率控制器内实现的诸如硬件热控制逻辑之类的热控制逻辑执行。作为示例,处理器的可在实施例中被实现为专用硬件微控制器的PCU可包括此类热控制逻辑。
如所图示,方法1900开始于从多个管芯接收热数据(框1910)。在实施例中,多个管芯中的每一个可包括一个或多个热传感器。如以上所讨论,可从此类管芯例如以给定的时间间隔来接收热信息。应理解,在其他情况下,每一个管芯可在将热数据传递到热控制逻辑之前至少部分地处理热数据(以生成最大温度)。无论如何,控制传到框1920,在框1920处,可以基于该热数据确定每个管芯的最大操作温度。然后,在菱形框1930处,判定管芯中的任何一个管芯的最大操作温度是否大于扼制阈值(其可以是每管芯阈值或总体处理器阈值)。如果大于扼制阈值,则控制传到框1940,在框1940处,可对一个或多个管芯执行扼制控制。即,由于温度超过不期望的扼制阈值的该指示,可采取立即动作来扼制处理器内的一个或多个管芯的活动以减少热量。作为示例,可通过减少操作频率、扼制活动或其他形式的扼制、包括完全禁用一个或多个核中的活动来控制处理器操作。
仍然参考图19,替代地,如果判定每个管芯的最大操作温度未超过给定的扼制阈值,则控制传到框1950。此处,可计算每个管芯的热余量。更具体地,可基于给定管芯的热负载线和管芯的最大操作温度来确定该热余量。在一个实施例中,可根据以上等式2来计算每个管芯的热余量。在计算这些热余量之后,控制传到框1960,在框1960处,可标识最小热余量(例如,根据等式3)。接下来,在框1970处,可将该最小热余量传递到平台控制器。注意,可经由例如平台环境控制接口(PECI)接口接收该消息的平台控制器可基于此类信息执行各种控制。作为示例,平台控制器可基于此类信息执行一个或多个冷却方案的控制。作为示例,风扇速度的控制可至少部分基于该信息来实现。当然,还可执行诸如在液体冷却系统的情况下改变泵速之类的其他控制操作。
仍然参考图19,在框1980处,可控制各管芯以在对应的热负载线以下操作。即,热控制逻辑可向PCU的其他部分发送信息以使得不同管芯的各种操作参数将被控制来确保给定管芯的温度维持低于热负载线,使得可以避免与扼制活动相关联的不利影响。应理解,虽然在图19的实施例中以该高层级示出,但许多变型和替换方案是可能的。
使用在MCP和平台的其他组件(诸如,给定的服务器平台内的其他MCP)以及平台的一个或多个主板上的其他组件中确定的热余量信息,平台控制器可执行冷却方案控制。在实施例中,该平台控制器可被实现为基板管理控制器(BMC)。更进一步地,冷却方案可对应于可以使它们的速度由该BMC控制的一个或多个风扇。
现在参考图20,所示出的是根据实施例的用于控制冷却方案的方法的流程图。如图20中所示,方法2000可由平台控制器执行,该平台控制器诸如例如与一个或多个MCP、存储器、网络硬件和系统的其他硬件资源一起配置在服务器平台的主板上的硬件基带管理控制器。在高层级处,方法2000可用于至少部分基于从给定平台的一个或多个电路板上的各种组件获取的热余量信息由BMC执行系统级风扇速度控制。此后,可将例如脉冲宽度调制(PWM)风扇速度控制信号之类的控制信号发送给一个或多个风扇或冷却方案的其他部分。在实施例中,方法2000可以以规律的间隔来执行,例如,大约每秒钟。随着热余量超过给定范围,风扇速度增加,并且替代地,随着热余量落到低于此类范围,风扇速度可能降低。
如所见,方法2000开始于从多个设备接收热余量信息(框2010)。作为示例,可从MCP报告对应的MCP内的多个管芯的最小热余量。服务器平台的其他组件可类似地被配置成用于报告对应的最小热余量。在其他情况下,某些组件可简单地提供例如热传感器数据之类的热信息,并且BMC自身可为对应的一个或多个组件确定适当的热余量。
在任何情况下,控制接下来传到框2020,在框2020处可以确定最小热余量。在实施例中,该最小热余量可对应于最小的所标识的热余量。此后,可以计算最终热余量(框2030)。更具体地,可基于最小热余量以及可从给定的存储读取(框2025)的控制温度偏移来计算该最终热余量。注意,该控制温度偏移可以是自用于调节风扇反应的控制或目标温度的偏移。
仍然参考图20,接下来在菱形框2040处,判定该最终热余量是否在滞后范围之外。在框2035处可读取或接收该滞后范围。滞后范围对应于在其中允许余量变化而不更新控制参数的滞后水平。如果判定该最终热余量不在滞后范围之外,则针对操作的这个循环不采取进一步动作,并且替代地,控制传回到框2010。
否则,如果所计算的最终热余量超过该滞后范围,则控制传到框2050。在框2050处,可以计算脉冲宽度调制(PWM)值的改变。在实施例中,该PWM值可以是风扇速度的指示(例如,百分比值)以使得一个或多个风扇根据该给定的风扇速度来操作。在实施例中,比例-积分-微分(PID)控制技术可用于至少部分基于最终热余量来计算PWM改变。
接下来,控制传到框2060,在框2060处可计算新的PWM值。更具体地,可基于最后的PWM值(如在框2055处所回想)和所计算的PWM改变值来计算该值。此后,在框2070处,将该新的PWM值发送给一个或多个风扇,来实现风扇速度的更新,以实现本文中所描述的改进的热控制。要理解,虽然在图20的实施例中以该高层级示出,但许多变型和替换方案是可能的。
至少一个实施例的一个或多个方面可由存储在机器可读介质上的代表性代码实现,代表性代码表示和/或定义诸如处理器的集成电路内的逻辑。例如,机器可读介质可包括表示处理器内的各种逻辑的指令。当被机器读取时,指令可使机器制造逻辑以执行本文所述的技术。被称为“IP核”的这些表示是集成电路的逻辑的可重用单元,这些可重用单元可存储在有形的机器可读介质上作为描述集成电路的结构的硬件模型。可将硬件模型提供给多个客户或生产设施,客户或生产设施将硬件模型加载到制造集成电路的制造机器上。集成电路可以被制造使得该电路执行与本文所述的实施例中的任一个相关联地描述的操作。
图21是图示出根据实施例的可用于制造集成电路以执行操作的IP核开发系统2100的框图。IP核开发系统2100可用于生成可被包含在较大的设计中或用于构建整个集成电路(例如,SoC集成电路)的模块化的、可重复使用的设计。设计设施2130可以高级编程语言(例如,C/C++)生成IP核设计的软件模拟2110。软件模拟2110可用于设计、测试或验证IP核的行为。然后可以从模拟模型创建或合成寄存器传送级(RTL)设计。RTL设计2115是对硬件寄存器之间的数字信号的流动建模的集成电路的行为的抽象,包括使用被建模的数字信号执行相关联的逻辑。除了RTL设计2115之外,还可创建、设计或合成在逻辑级或晶体管级的较低级设计。因此,初始设计和模拟的特定细节可以变化。
可通过设计设施进一步将RTL设计2115或等价物合成到硬件模型2120中,硬件模型2120可以是以硬件描述语言(HDL)或物理设计数据的一些其他表示。可进一步模拟或测试HDL以验证IP核设计。可使用非易失性存储器2140(例如,硬盘、闪存、或任何非易失性存储介质)存储IP核设计以传递到第三方生产设施2165。替代地,可以在有线连接2150或无线连接2160上传送(例如,经由互联网)IP核设计。生产设施2165然后可以制造至少部分地基于IP核设计的集成电路。所制造的集成电路可配置为执行根据本文所述的至少一个实施例的操作。
下列示例涉及进一步的实施例。
在一个示例中,处理器包括:第一管芯,该第一管芯包括至少一个核以及至少一个第一管芯热传感器;第二管芯,该第二管芯包括至少一个存储器以及至少一个第二管芯热传感器;以及热控制器,该热控制器用于:接收来自至少一个第一管芯热传感器的第一热数据以及来自至少一个第二管芯热传感器的第二热数据,至少部分基于第一热数据和用于第一管芯的第一热负载线来为第一管芯计算第一热余量,并且至少部分基于第二热数据和用于第二管芯的第二热负载线来为第二管芯计算第二热余量。
在示例中,热控制器用于将第一热余量和第二热余量中的最小热余量传递到耦合到处理器的平台控制器,以使得该平台控制器能够控制冷却方案。
在示例中,第一管芯包括功率控制器,该功率控制器包括热控制器,并且其中,功率控制器用于:如果从第一热数据获取的最大操作温度超过第一扼制阈值,则扼制第一管芯和第二管芯中的至少一者的活动。
在示例中,功率控制器用于控制至少第一管芯的一个或多个操作参数,以将第一管芯的温度维持在低于用于第一管芯的第一热负载线。
在示例中,处理器进一步包括非易失性存储,该非易失性存储用于存储用于第一管芯的第一热负载线的至少一些信息,第一热负载线至少部分基于第一管芯的最大操作温度、针对第一管芯的第一热设计功率、第一管芯的第一所测量的功率以及第一管芯的第一热阻来确定。
在示例中,该至少一些信息包括最大操作温度和第一热阻。
在示例中,热控制器用于基于第一管芯的所测量的功率从用于第一管芯的第一热负载线获取至少一个热值,并且将第一热余量计算为该至少一个热值与第一热数据中的第一所测量的操作温度的差。
在示例中,热控制器用于:访问非易失性存储的条目以获取第一管芯的最大操作温度和第一管芯的第一热阻,并且基于最大操作温度、第一热阻、针对第一管芯的热设计功率以及所测量的功率来计算至少一个热值。
在示例中,热控制器用于:访问非易失性存储的条目以获取用于第一管芯的热控制值,并且将该热控制值传递到耦合到处理器的平台控制器,以使得该平台控制器能够控制冷却方案。
在示例中,处理器进一步包括:第三管芯,该第三管芯包括结构电路和至少一个第三管芯热传感器,其中,热控制器用于:接收来自至少一个第三管芯热传感器的第三热数据,并且至少部分基于该第三热数据和用于第三管芯的第三热负载线来为该第三管芯计算第三热余量,其中,第一热负载线、第二热负载线和第三热负载线包括具有存储在处理器的非易失性存储中的负载线生成信息的独立的热负载线。
注意,可以使用各种方法来实现以上处理器。
在示例中,处理器包括合并在用户装备启用触摸的设备中的SoC。
在另一示例中,系统包括显示器和存储器,并且包括如以上示例中的一个或多个示例所述的处理器。
在另一示例中,方法包括:使得针对处理器的多个管芯执行所选择的管芯工作负荷;测量所选择的管芯工作负荷执行期间的多个管芯的温度和功率;至少部分基于所测量的温度和功率来为多个管芯中的每一个管芯计算热负载线;以及将多个管芯中的每一个管芯的热负载线存储在处理器的非易失性存储中。
在示例中,该方法进一步包括:进一步基于针对对应管芯的热设计功率和热阻值来计算热负载线。
在示例中,该方法进一步包括:将热阻值存储在非易失性存储中。
在示例中,存储用于第一管芯的热负载线的步骤包括存储第一管芯的所测量的温度和针对第一管芯的热阻值,其中,所测量的温度包括在所选择的管芯工作负荷执行期间第一管芯的最大的所测量的操作温度。
在示例中,存储热负载线的步骤包括将热负载线存储在处理器的融合存储中。
在示例中,方法进一步包括:至少部分基于针对对应管芯的热设计功率、空闲功率和热阻值来为多个管芯中的每一个管芯计算热控制值,并且将多个管芯中的每一个管芯的热控制值存储在非易失性存储中。
在另一示例中,计算机可读介质包括指令,该指令用于执行如以上示例中的任一项所述的方法。
在另一示例中,计算机可读介质包括数据,该数据用于由至少一个机器使用以制造至少一个集成电路来执行如以上示例中的任一项所述的方法。
在另一示例中,设备包括用于执行如以上示例中的任一项所述的方法的装置。
在又一示例中,一种系统包括:多个处理器,该多个处理器中的至少一个处理器包括多芯片封装,该多芯片封装包括第一管芯、第二管芯和热控制器,该热控制器用于:接收来自第一管芯的第一热传感器的第一热数据以及来自第二管芯的第二热传感器的第二热数据,至少部分基于第一热数据和用于第一管芯的第一热负载线来为第一管芯计算第一热余量,至少部分基于第二热数据和用于第二管芯的第二热负载线来为第二管芯计算第二热余量,并且确定第一热余量和第二热余量中的最小热余量;网络电路,耦合到多个处理器;冷却方案,包括至少一个风扇;以及平台控制器,用于:接收最小热余量和来自多个处理器中的其他处理器的热余量信息,以及至少部分基于该最小热余量和热余量信息来为至少一个风扇计算控制值。
在示例中,平台控制器包括比例积分控制器以计算控制值。
在示例中,控制值包括脉冲宽度调制信号。
在示例中,平台控制器用于基于最小热余量、热余量信息和偏移值来计算第一热余量。
在示例中,平台控制器用于:如果第一热余量超过范围值,则计算控制值;并且否则,则维持当前的控制值。
在示例中,热控制器用于基于第一管芯的所测量的功率从针对第一管芯的第一热负载线获取至少一个热值,并且将第一热余量计算为该至少一个热值与第一热数据中的第一所测量的操作温度的差。
应理解,以上示例的各种组合是可能的。
实施例可在许多不同类型的系统中使用。例如,在一个实施例中,可以将通信设备布置为用于执行本文中所描述的各种方法与技术。当然,本发明的范围不限于通信设备,并且相反,其他实施例可以涉及用于处理指令的其他类型的装置、或者一种或多种机器可读介质,该机器可读介质包括指令,响应于在计算设备上执行这些指令,这些指令使该设备实行本文中所描述的方法与技术中的一者或多者。
实施例可实现在代码中,并且可存储在非暂态存储介质上,该非暂态存储介质具有存储于其上的指令,该指令可以用于将系统编程为用于执行指令。实施例还可实现在数据中,并且可存储在非暂态存储介质上,该非暂态存储介质如果被至少一个机器使用,则使得该至少一个机器制造至少一个集成电路以执行一个或多个操作。更进一步的实施例可实现在计算机可读存储介质中,该计算机可读存储介质包括信息,该信息当被制造到SoC或其他处理器中时,用于配置该SoC或其他处理器以执行一个或多个操作。该存储介质可包括但不限于:任何类型的盘,包括软盘、光盘、固态驱动器(SSD)、紧致盘只读存储器(CD-ROM)、紧致盘可重写(CD-RW)以及磁光盘;半导体器件,诸如,只读存储器(ROM)、诸如动态随机存取存储器(DRAM)与静态随机存取存储器(SRAM)的随机存取存储器(RAM)、可擦除可编程只读存储器(EPROM)、闪存、电可擦除可编程只读存储器(EEPROM);磁卡或光卡;或适用于存储电子指令的任何其他类型的介质。
尽管已参照有限数量的实施例描述了本发明,但是本领域技术人员将从其中领会很多修改和变型。所附权利要求旨在涵盖落入本发明的真实精神与范围的所有此类修改与变型。

Claims (21)

1.一种多芯片封装,包括:
第一管芯,包括至少一个核以及至少一个第一管芯热传感器;
第二管芯,包括至少一个存储器以及至少一个第二管芯热传感器;以及
功率控制器,包括热控制器,所述热控制器用于:接收来自所述至少一个第一管芯热传感器的第一热数据以及来自所述至少一个第二管芯热传感器的第二热数据,至少部分基于所述第一热数据和用于所述第一管芯的第一热负载线来为所述第一管芯计算第一热余量,并且至少部分基于所述第二热数据和用于所述第二管芯的第二热负载线来为所述第二管芯计算第二热余量,其中所述热控制器用于将所述第一热余量和所述第二热余量中的最小热余量,而不是所述第一热余量和所述第二热余量中的最大热余量,传递到平台控制器以使得所述平台控制器能够控制冷却方案,所述平台控制器耦合到所述多芯片封装。
2.如权利要求1所述的多芯片封装,其中,所述功率控制器用于:如果从所述第一热数据获取的最大操作温度超过第一扼制阈值,则扼制所述第一管芯和所述第二管芯中的至少一者的活动。
3.如权利要求2所述的多芯片封装,其中,所述功率控制器用于控制至少所述第一管芯的一个或多个操作参数,以将所述第一管芯的温度维持在低于用于所述第一管芯的所述第一热负载线。
4.如权利要求1所述的多芯片封装,进一步包括非易失性存储,所述非易失性存储用于存储用于所述第一管芯的所述第一热负载线的至少一些信息,所述第一热负载线至少部分基于所述第一管芯的最大操作温度、针对所述第一管芯的第一热设计功率、所述第一管芯的第一所测量的功率以及所述第一管芯的第一热阻来确定。
5.如权利要求4所述的多芯片封装,其中,所述至少一些信息包括所述最大操作温度和所述第一热阻。
6.如权利要求1所述的多芯片封装,其中,所述热控制器用于基于所述第一管芯的所测量的功率从用于所述第一管芯的所述第一热负载线获取至少一个热值,并且将所述第一热余量计算为所述至少一个热值与所述第一热数据中的第一所测量的操作温度的差。
7.如权利要求6所述的多芯片封装,其中,所述热控制器用于访问非易失性存储的条目以获取所述第一管芯的最大操作温度和所述第一管芯的第一热阻,并且基于所述最大操作温度、所述第一热阻、针对所述第一管芯的热设计功率以及所测量的功率来计算所述至少一个热值。
8.如权利要求1所述的多芯片封装,其中,所述热控制器用于访问非易失性存储的条目以获取用于所述第一管芯的热控制值,并且将所述热控制值传递到平台控制器以使得所述平台控制器能够控制冷却方案,所述平台控制器耦合到所述多芯片封装。
9.如权利要求1所述的多芯片封装,进一步包括第三管芯,所述第三管芯包括结构电路和至少一个第三管芯热传感器,其中,所述热控制器用于接收来自所述至少一个第三管芯热传感器的第三热数据并且至少部分基于所述第三热数据和用于所述第三管芯的第三热负载线来为所述第三管芯计算第三热余量,其中,所述第一热负载线、所述第二热负载线和所述第三热负载线包括具有存储在所述多芯片封装的非易失性存储中的负载线生成信息的独立的热负载线。
10.一种用于执行热控制的方法,包括:
使得针对处理器的多个管芯执行所选择的管芯工作负荷;
在所选择的管芯工作负荷执行期间测量所述多个管芯的温度和功率;
至少部分基于所测量的温度和功率来为所述多个管芯中的每一个管芯计算热负载线,其中计算热负载线包括进一步基于针对对应管芯的热设计功率和热阻值来计算所述热负载线;以及
将所述多个管芯中的每一个管芯的热负载线存储在所述处理器的非易失性存储中。
11.如权利要求10所述的方法,进一步包括:将所述热阻值存储在所述非易失性存储中。
12.如权利要求10所述的方法,其中,存储用于第一管芯的所述热负载线的步骤包括存储所述第一管芯的所测量的温度和针对所述第一管芯的热阻值,其中,所测量的温度包括在所选择的管芯工作负荷执行期间所述第一管芯的最大的所测量的操作温度。
13.如权利要求10所述的方法,其中,存储所述热负载线的步骤包括将所述热负载线存储在所述处理器的融合存储中。
14.如权利要求10所述的方法,进一步包括:至少部分基于针对对应管芯的热设计功率、空闲功率和热阻值来为所述多个管芯中的每一个管芯计算热控制值,并且将所述多个管芯中的每一个管芯的热控制值存储在所述非易失性存储中。
15.一种计算机可读存储介质,包括计算机可读指令,所述计算机可读指令在被执行时用于实现如权利要求10至14中任一项所述的方法。
16.一种用于执行热控制的系统,包括:
多个处理器,所述多个处理器中的至少一个处理器包括多芯片封装,所述多芯片封装包括第一管芯、第二管芯和热控制器,所述热控制器用于:接收来自所述第一管芯的第一热传感器的第一热数据以及来自所述第二管芯的第二热传感器的第二热数据,至少部分基于所述第一热数据和用于所述第一管芯的第一热负载线来为所述第一管芯计算第一热余量,至少部分基于所述第二热数据和用于所述第二管芯的第二热负载线来为所述第二管芯计算第二热余量,并且确定所述第一热余量和所述第二热余量中的最小热余量;
网络电路,耦合到所述多个处理器;
冷却方案,包括至少一个风扇;以及
平台控制器,用于接收所述最小热余量和来自所述多个处理器中的其他处理器的热余量信息,并且至少部分基于所述最小热余量和所述热余量信息来为所述至少一个风扇计算控制值。
17.如权利要求16所述的系统,其中,所述平台控制器包括用于计算所述控制值的比例积分控制器。
18.如权利要求17所述的系统,其中所述控制值包括脉冲宽度调制信号。
19.如权利要求16所述的系统,其中,所述平台控制器用于基于所述最小热余量、所述热余量信息和偏移值来计算第一热余量。
20.如权利要求19所述的系统,其中,所述平台控制器用于:如果所述第一热余量超过范围值,则计算所述控制值;并且否则,则维持当前的控制值。
21.如权利要求16所述的系统,其中,所述热控制器用于基于所述第一管芯的所测量的功率从用于所述第一管芯的所述第一热负载线获取至少一个热值,并且将所述第一热余量计算为所述至少一个热值与所述第一热数据中的第一所测量的操作温度的差。
CN201780021309.0A 2016-03-31 2017-01-25 确定多管芯处理器中的热余量 Active CN108885483B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/086,387 US10248173B2 (en) 2016-03-31 2016-03-31 Determining thermal margins in a multi-die processor
US15/086,387 2016-03-31
PCT/US2017/014835 WO2017171998A1 (en) 2016-03-31 2017-01-25 Determining thermal margins in a multi-die processor

Publications (2)

Publication Number Publication Date
CN108885483A CN108885483A (zh) 2018-11-23
CN108885483B true CN108885483B (zh) 2023-03-10

Family

ID=59961549

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780021309.0A Active CN108885483B (zh) 2016-03-31 2017-01-25 确定多管芯处理器中的热余量

Country Status (4)

Country Link
US (2) US10248173B2 (zh)
CN (1) CN108885483B (zh)
DE (1) DE112017001805T5 (zh)
WO (1) WO2017171998A1 (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10248173B2 (en) * 2016-03-31 2019-04-02 Intel Corporation Determining thermal margins in a multi-die processor
US10281975B2 (en) * 2016-06-23 2019-05-07 Intel Corporation Processor having accelerated user responsiveness in constrained environment
KR102701849B1 (ko) * 2017-01-26 2024-09-02 삼성전자주식회사 적응적 열 저항 및 열 용량을 사용하는 열 관리 장치 및 방법
US11042681B1 (en) * 2017-03-24 2021-06-22 Ansys, Inc. Integrated circuit composite test generation
US10238011B1 (en) * 2017-10-10 2019-03-19 Baidu Usa Llc Optimal controller for hybrid liquid-air cooling system of electronic racks of a data center
US11137807B2 (en) 2018-03-28 2021-10-05 Intel Corporation System, apparatus and method for controllable processor configuration based on a temperature specification
US10838471B2 (en) * 2019-02-08 2020-11-17 Dell Products, L.P. System for estimating airflow exiting an information handling system and method therefor
CN111142598B (zh) * 2019-12-30 2021-06-25 广州享药户联优选科技有限公司 一种智能药箱的内部环境控制方法及装置
JP7500263B2 (ja) 2020-04-27 2024-06-17 キオクシア株式会社 メモリデバイス、および温度センサのキャリブレーション方法
US11722138B2 (en) 2020-10-20 2023-08-08 Micron Technology, Inc. Dynamic power and thermal loading in a chiplet-based system
US11500436B2 (en) * 2020-11-12 2022-11-15 Dell Products L.P. System and method for predictive fan speed control and management
CN114489235B (zh) * 2022-01-18 2024-09-27 上海天数智芯半导体有限公司 一种用于异常温度处理的芯片频率动态调节方法及系统
US11886260B2 (en) * 2022-05-19 2024-01-30 Western Digital Technologies, Inc. Thermal management of storage devices increasing host write performance

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5838578A (en) * 1993-09-21 1998-11-17 Intel Corporation Method and apparatus for programmable thermal sensor for an integrated circuit
CN101114187A (zh) * 2006-07-26 2008-01-30 国际商业机器公司 用于监视和控制多核心处理器中的发热的方法和设备

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7878016B2 (en) 2004-12-30 2011-02-01 Intel Corporation Device and method for on-die temperature measurement
US7421598B2 (en) * 2005-02-09 2008-09-02 International Business Machines Corporation Dynamic power management via DIMM read operation limiter
US7225100B2 (en) * 2005-07-05 2007-05-29 Via Technologies, Inc. Apparatus and method for dynamic configuration of temperature profile in an integrated circuit
US8260474B2 (en) 2009-09-25 2012-09-04 Intel Corporation Sensor-based thermal specification enabling a real-time metric for compliance
US8793512B2 (en) 2010-10-29 2014-07-29 Advanced Micro Devices, Inc. Method and apparatus for thermal control of processing nodes
US9490003B2 (en) * 2011-03-31 2016-11-08 Intel Corporation Induced thermal gradients
US9037882B2 (en) 2013-02-27 2015-05-19 Qualcomm Incorporated System and method for thermal management in a portable computing device using thermal resistance values to predict optimum power levels
US9285278B2 (en) 2013-05-09 2016-03-15 Apple Inc. System and methods for thermal control using sensors on die
US20150094875A1 (en) * 2013-09-30 2015-04-02 Yacov Duzly Temperature-Controlled Storage Module that Cools Memory Prior to a Data Burst
US10248173B2 (en) * 2016-03-31 2019-04-02 Intel Corporation Determining thermal margins in a multi-die processor

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5838578A (en) * 1993-09-21 1998-11-17 Intel Corporation Method and apparatus for programmable thermal sensor for an integrated circuit
CN101114187A (zh) * 2006-07-26 2008-01-30 国际商业机器公司 用于监视和控制多核心处理器中的发热的方法和设备

Also Published As

Publication number Publication date
US10248173B2 (en) 2019-04-02
US10908660B2 (en) 2021-02-02
DE112017001805T5 (de) 2019-02-07
WO2017171998A1 (en) 2017-10-05
CN108885483A (zh) 2018-11-23
US20170285699A1 (en) 2017-10-05
US20190204885A1 (en) 2019-07-04

Similar Documents

Publication Publication Date Title
US11782492B2 (en) Techniques to enable communication between a processor and voltage regulator
CN108885483B (zh) 确定多管芯处理器中的热余量
US11435816B2 (en) Processor having accelerated user responsiveness in constrained environment
US9983644B2 (en) Dynamically updating at least one power management operational parameter pertaining to a turbo mode of a processor for increased performance
CN107077175B (zh) 提供针对多芯片封装的热参数报告的装置和方法
CN107533354B (zh) 控制处理器的处理引擎的性能状态
CN109564526B (zh) 使用封装和线程提示信息的组合来控制处理器的性能状态
US11481013B2 (en) Multi-level loops for computer processor control
US10324519B2 (en) Controlling forced idle state operation in a processor
CN109791427B (zh) 使用滑动平均值的处理器电压控制
US11016916B2 (en) Generation of processor interrupts using averaged data

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant