首页> 中国专利> 用于具有非同构性能状态的多核处理器的热扼制的自适应算法

用于具有非同构性能状态的多核处理器的热扼制的自适应算法

摘要

本申请公开了用于具有非同构性能状态的多核处理器的热扼制的自适应算法。在实施例中,处理器包括:多个核,每个核用于执行指令;多个热传感器,其中的至少一个与多个核中的每一个相关联;以及耦合至这些核的功率控制单元(PCU)。该PCU包括热控制逻辑,其用于:当第二核的温度超出至少一个热阈值时,抢先地对第一核扼制第一扼制量。注意,可独立于对第二核的扼制来抢先地扼制该第一核,并且可使该第一核的温度不超出任何热阈值。描述了其他实施例,并要求它们的权利。

著录项

  • 公开/公告号CN107368174A

    专利类型发明专利

  • 公开/公告日2017-11-21

    原文格式PDF

  • 申请/专利权人 英特尔公司;

    申请/专利号CN201710487225.8

  • 申请日2015-06-25

  • 分类号G06F1/32(20060101);G06F1/20(20060101);

  • 代理机构31100 上海专利商标事务所有限公司;

  • 代理人黄嵩泉

  • 地址 美国加利福尼亚州

  • 入库时间 2023-06-19 03:47:06

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-06-05

    授权

    授权

  • 2017-12-15

    实质审查的生效 IPC(主分类):G06F1/32 申请日:20150625

    实质审查的生效

  • 2017-11-21

    公开

    公开

说明书

本申请是申请日为2015年6月25日申请号为第201510362396.9号发明名称为“用于具有非同构性能状态的多核处理器的热扼制的自适应算法”的中国专利申请的分案申请。

技术领域

多个实施例涉及系统的功率管理和热管理,更具体而言,涉及多核处理器的功率管理和热管理。

背景技术

半导体处理和逻辑设计的进步已允许可存在于集成电路器件上的逻辑数量的增长。结果,计算机系统配置已从系统中的单个或多个集成电路演进到单个集成电路上的多个硬件线程、多个核、多个设备和/或多个完整系统。另外,随着集成电路的密度增长,对计算系统(从嵌入式系统到服务器)的功率要求也逐步升高。此外,软件的低效率以及其对硬件的要求也已导致计算设备能耗的增加。事实上,一些研究指出,计算设备消耗了诸如美国之类的国家的全部电力供应中相当大的百分比。结果,具有与集成电路相关联的能效和节能的迫切需求。随着服务器、台式计算机、笔记本、超极本TM、平板、移动电话、处理器、嵌入式系统等变得越来越流行(从被包括在典型的计算机、汽车和电视机中到生物技术中),这些需求将增长。

附图说明

图1是根据本发明的一个实施例的系统的框图。

图2是根据本发明的实施例的配置方法的流程图。

图3A是根据实施例的用于执行自适应热控制技术的方法的流程图。

图3B是根据另一实施例的自适应热控制方法的流程图。

图4是根据本发明实施例的热控制逻辑的框图。

图5是根据本发明的实施例的处理器的框图。

图6是根据本发明的另一实施例的多域处理器的框图。

图7是根据本发明的实施例的包括多个核的处理器的框图。

图8是根据本发明的实施例的系统的框图。

图9是根据本发明的另一实施例的处理器的框图。

图10是根据本发明的实施例的代表性SoC的框图。

图11是根据本发明的另一实施例的另一示例系统SoC的框图。

图12是可利用其来使用多个实施例的示例系统的框图。

图13是可利用其来使用多个实施例的另一示例系统的框图。

具体实施方式

在各实施例中,诸如多核处理器、片上系统(SoC)或其他此类处理器之类的处理器可提供一个或多个热机制的自适应控制。结果,可独立地对处理器的每个处理逻辑(例如,处理器核、图形处理器和/或其他此类处理引擎)进行热控制。按此方法,多个实施例可避免处理器中热点的创建,并且/或者可对此类热点的发生快速反应以维持高性能等级,同时减少可能导致性能降级的热事件。

每个核的性能状态(P状态)使多核处理器的不同核能够在不同的操作电压/频率点运行,这具有导致在不同的核中发生不同等级的硅加热的副作用。由于由有效地将功率预算分配给不同的核的机制动态地调节各个核的操作点,因此,当给定的核升温并且受到热扼制(throttle)时,功率预算的增长对其他核可用,从而潜在地导致其他核升温并扼制。在这段时间期间,首先受到热扼制的核已冷却,并且随后可能产生P状态(和功率) 的提升,并且再次过热。取决于每个核的工作负荷,当多个核全都以混乱的方式升温,热扼制并再次升温时,该情形可能横跨这些核发生。将这类情形通俗地称为“打鼹鼠”(“whack-a-mole”)问题,因为不同核的温度“突然升高”(“pop up”),需要热扼制,却使其他核突然升高,并且可能导致利用多核处理器的系统性能不稳定。

使用本文中所述的自适应热扼制技术,实现了提升的性能,因为每个核的P状态并不严格地受最热的核的限制;经由使其响应适应于处理器的总体温度轮廓的协调算法来管理核温度。处理器的较热的热轮廓导致较激进的扼制,最剧烈的扼制用于最热的核。反过来,具有较冷的热轮廓的处理器(但是其中仍然有至少一个核在最低的温度阈值之上)导致较不激进的扼制,但是较剧烈的扼制仍用于最热的核。相反,当所有核低于最低的温度阈值时,温和地退出扼制以避免快速返回到热扼制状态。此类行为通过改动扼制等级而不是调节温度阈值提供了滞后(hysteresis)。

由此,在多个实施例中,可独立地扼制微处理器的所有核,并且当任何核高于热阈值时,至少轻微地扼制微处理器的所有核。反过来,可较激进地扼制较热的核,这可有效抑制其中多个核突然进入或脱离扼制状态的不稳定的固有响应。

根据各实施例,可至少部分地基于多个核或其他处理引擎中的每一个的热状态来执行多遍的(multi-pass)自适应技术以确定这些引擎中的一个或多个是否已超出多个热阈值中的一个。如果是,则可在冒犯性(offending) 引擎(即超出给定热阈值的那些引擎)和非冒犯性(non-offending)引擎(即不超出任何热阈值的那些引擎)两者上执行独立的以及潜在不同的扼制技术。注意,对非冒犯性引擎的扼制因此是抢先式(preemptive)扼制。此外,相比不超出任何热阈值的较冷的引擎,可更激进地扼制较热的引擎。

现在参考图1,所示是根据本发明的实施例的系统的部分的框图。如图1所示,系统100可以包括各种组件,其包括所示为多核处理器的处理器110。处理器110可经由外部电压调节器160耦合至电源150,该外部电压调节器160可执行第一电压转换以将主调节电压提供给处理器110。

如所看到的那样,处理器110可以是包括多个核120a-120n的单管芯处理器。每一个核120可包括用于使温度或其他热信息用于如本文中所述的热控制的一个或多个对应的热传感器1220-122n。此外,每一个核可与集成的调压器(IVR)125a-125n相关联,这些集成的调压器接收主调节电压,并生成操作电压,以提供给与IVR相关联的处理器的一个或多个代理。相应地,可提供IVR实现以允许对每一个单个核的电压进而对功率和性能进行细粒度的控制。由此,每一个核都可在独立的电压和频率下操作,从而允许极大的灵活性,并提供平衡功耗与性能的广泛机会。

仍参考图1,附加的组件可存在于处理器内,包括输入/输出接口132、另一接口134以及集成存储器控制器136。如所看到的那样,这些组件中的每一个都可以由另一集成的电压调节器125X来供电。在一个实施例中,接口132可符合快速路径互连(QPI)协议,该协议在包括多个层的高速缓存一致性协议中提供点对点(PtP)链路,多个层包括物理层、链路层和协议层。接口134转而可符合外围组件互连快速(PCIeTM)规范,例如,PCI快速TM规范基础规范版本2.0(2007年1月17日发布)。

还示出了功率控制单元(PCU)138,其可包括用于针对处理器110执行功率管理操作的硬件、软件和/或固件。如所看到的那样,PCU 138经由数字接口将控制信息提供给外部电压调节器160以使该电压调节器生成合适的经调节电压。PCU 138也经由另一数字接口将控制信息提供给多个IVR 125以控制所生成的操作电压(或使对应的IVR在低功率模式下被禁用)。在各实施例中,PCU 138可包括热控制逻辑,该热控制逻辑用于独立地且自适应地控制对具有不同性能状态的一个或多个核的扼制。

尽管为了易于说明,没有示出诸如非核(uncore)逻辑和其他组件(诸如,内部存储器(例如,一个或多个层级的高速缓存存储器层次结构等)) 之类的附加组件可存在于处理器110内,但可理解这一点。此外,尽管在图1的实现中示出为具有集成的调压器,但是,多个实施例不限于此。

虽然参考在诸如计算平台或处理器之类的特定集成电路中的节能和能效描述了以下多个实施例,但是其他实施例也适用于其他类型的集成电路和逻辑设备。可将本文中所描述的多个实施例的类似技术和教导应用于也可受益于更佳的能效和节能的其他类型的电路或半导体器件。例如,所公开的多个实施例不限于任何特定类型的计算机系统,并且也可用于诸如手持式设备、SoC和嵌入式应用之类的其他设备中。手持式设备的一些示例包括,蜂窝电话、网际协议设备、数码相机、个人数字助理(PDA)和手持式PC。嵌入式应用通常包括微控制器、数字信号处理器(DSP)、网络计算机(NetPC)、机顶盒、网络集线器、广域网(WAN)交换机,或能够执行以下所教导的功能和操作的任何其他系统。此外,本文中描述的装置、方法和系统不限于物理计算设备,而也可涉及用于节能和能效的软件优化。如将在以下描述变得显而易见的那样,本文中描述的方法、装置和系统的多个实施例(无论是关于硬件、固件、软件还是它们的组合)对于“绿色技术”的未来(诸如,对于涵盖美国经济大部分的产品的节能和能效)是至关重要的。

注意,本文中所描述的自适应热控制可独立于基于操作系统(OS)的机制(诸如,高级配置和平台接口(ACPI)标准(例如,2006年10月10 日发布的Rev.3.0b)),并与其互补。根据ACPI,处理器可在各种性能状态或等级(所谓的P状态,即从P0到PN)上操作。一般而言,P1性能状态可对应于可由OS请求的最高保证的性能状态。除此P1状态之外,OS 可进一步请求更高的性能状态,即,P0状态。该P0状态因此可以是机会型状态或超频模式状态,在该状态中,当功率和/或热预算是可用的时候,处理器硬件可配置处理器或其至少多个部分,以便以高于保证频率的频率进行操作。在许多实现中,处理器可包括高于P1保证的最大频率的多个所谓的元(bin)频率,该频率超出特定处理器的最大峰值频率,在制造期间融合或以其他方式写入到处理器中。此外,根据ACPI,处理器也可在各种功率状态或等级上进行操作。对于功率状态,ACPI指定不同的功耗状态,一般将其称为C状态(C0、C1到Cn状态)。当核是活动的时候,它以C0 状态运行,而当该核是空闲的时候,可将其置于核低功率状态,也将其称为核非零C状态(例如,C1-C6状态),每一个C状态都处于更低的功耗等级(使得C6是比C1更深的低功率状态,等等)。当处理器受约束(例如,功率和/或热约束)时,可采用附加的功耗等级。在实施例中,此类状态可包括具有最小操作频率和/或电压的C0状态(在本文中被称为Pn或Pm 状态)。

多个实施例可监测对横跨处理器或SoC的核或其他处理引擎的热轮廓的总体评估,并且采取合适的扼制动作,其中扼制的严重度是总体热轮廓的函数。热核是被最剧烈地扼制的,但是一旦任何核已超出温度阈值,则抢先地稍微扼制所有核。如果热轮廓继续升温,则对已超出所指定的热阈值的最热的核采取更激进的动作,但是也更多地稍微扼制较冷的核以防止它们越过热阈值并需要激进的扼制,那样当然降低了性能。通过抢先地稍微扼制不超过任何热阈值的多个核扼制,多个实施例可将最高可能的性能维持在热预算或热包络下。

在实施例中,可使用多遍(multiple-pass)的方法,按此方法,可分配多个核或基于它们的温度和/或最热核的温度对这些核估值。然后,基于该经评估的值,可热扼制一个或多个核,经由性能状态降低使经扼制的核实现冷却的益处。取决于温度,可产生不同等级的扼制,其中,在一个实施例中,一个P状态的降低对应于使操作频率减少一个频率元(bin),并且将操作电压减少到电压/频率表中对应的电压。取决于配置值的值,如果指示了更高等级的扼制,则可将P状态降低到Pn(最小电压(Vmin)处的最大频率)或Pm(最小频率)。

现在参考图2,所示为根据本发明的实施例的配置方法的流程图。如图2中所示,在实施例中,可由可以是诸如PCU之类的功率控制器的部分的热控制逻辑来执行方法200。当然会理解,在其他实施例中,可由硬件、软件和/或固件的组合来执行该方法200。

如所看到的那样,方法200可通过配置多个热阈值(框210)开始。在一个实施例中,有4个热阈值,它们全都基于解决由其他配置参数引入的偏移的有效扼制温度阈值(tprochot_eff)。在实施例中,Tprochot_eff是经融合、保护带化的(guardbanded)温度阈值,其用于与在热传感器位置处的实际测量的温度比较以保证由产品的热分析和可靠性分析所确定的最大操作温度规范。

TP0=Tprochot_eff–0.5℃–&EARLY_THROTTLE_OFFSET(早期扼制偏移)

TP1=Tprochot_eff

TP2=Tprochot_eff+1.0℃

TP3=Tprochot_eff+&OFFSET_AT_MAX_THROTTLE(最大扼制处的偏移)

在实施例中,这些偏移项是可配置的,以便可调节。作为示例,默认值为:对于&EARLY_THROTTLE_OFFSET(早期扼制偏移)是0.25℃,对于&OFFSET_AT_MAX_THROTTLE(最大扼制处的偏移)是3℃,并且对于&THERMAL_LIMIT_FORMAT(热极限格式)(以上的“n”)是4。附加的0.5℃用于确保对所报告的温度(当报告为整数时)向下取整为少 1℃,因此,在外部报告Tprochot_eff之前就启用扼制。当然会理解,在其他实施例中,可提供附加的或不同的阈值。

然后,在框215处,可将标记(tick)值与超出(exceeding)核和非超出(non-exceeding)核的每一个热阈值相关联(框215)。也就是说,如上所述,在第一遍中,如果核高于给定阈值,则可对该核评估某个标记量或计数量。此外,在第二遍中,只要至少一个核超出给定阈值,则也可对所有这些核评估标记值。

仍然参考图2,然后,控制传递到框220,在框220处,可将这些标记值存储在可由热控制逻辑访问的表中。例如,可将该标记评估表存储在热控制逻辑或PCU的存储设备中。然后,在框230处,可配置最大扼制性能状态。该最大扼制性能状态可以是当一个或多个核超出最大热阈值时可将所有核置于其中的预定的最低性能状态,并且在实施例中,可以是Pn或 Pm状态。最后,可进一步使用方法200来配置部分元(fractional bin)尺寸(框240)。在实施例中,该部分元尺寸可对应于经评估数量的标记值(在此标记值处,将产生性能状态改变)的值。使用部分元减少,则基于多个核的热条件和/或最热处理引擎的热条件,对这些核评估所选择数量的计数值或标记。

在实施例中,实现自适应的热N击(N-strike)算法,使得当对引擎评估N个部分元时,性能改变(例如,元等级的性能改变)可能发生。在实施例中,可配置常数根据2-n来设置该部分元尺寸。通过在两遍中对核评估多个标记来完成扼制:在第一遍中,评估热核;并且如果在第一遍中找到任何热核,则在第二遍中对所有核评估标记。如上文所讨论的那样,在N>N或16个标记或2N或16击。

按所选择的评价间隔(例如,每毫秒一次),自适应热算法的这两遍可分析每个核的温度,并且在第一遍中对符合第一热阈值(例如,TP0)或更高的每一个核评估标记。在第二遍中,基于在第一遍期间所超出的最高的热阈值,对所有核(包括具有低于TP0的温度的那些核)评估多个标记。跨越多个评价间隔累积这些标记,并且当核达到2n个标记(默认为16)时,该核将降低一个P状态(频率元)。参考表1,表1是根据本发明的一个实施例的示例标记评估表。

表1

TP0TP1TP2TP3热核1312到PM/PN所有核114到PM/PN

注意,在两遍中都对热核评估标记,而仅在第二遍中对具有低于TP0 的温度的核评估标记。将该评估表中的标记值实现为可配置变量以便调节,因此可适应不同部分的配置(封装、集成的散热器(spreader)、管芯尺寸等)。作为示例,可将“TP0”字段处的“所有核”条目设置为零,使得直到至少一个核已超出至少TP1热阈值时才对冷核评估任何标记。在表1的实施例中,该标记评估表的默认值确保了超出TP2的核将各自降低一个元 (由于每个标记的元的2-4=1/16,并且每个评价间隔对超出TP2的核评估>

本文中所述的自适应技术确保了将稍微(缓慢地)扼制暖的(warm) (例如,接近于Tprochot_eff)核,而将更剧烈地扼制较热的核,从而最迫切地解决单个热点,但也扼制其他核以避免“打鼹鼠”型问题,即当热核已降低了足够的元使P-状态的提升发生在其他核上而导致不同的核突然上升为热的。

如果所有的核都低于最低的热阈值(例如,TP0),则在每一个评价间隔(默认值是4)期间,每一个核恢复预定的标记数量(其是可配置的,并且在实施例中可以是4)。当恢复原始的标记计数时,释放扼制,并且性能状态提升可以开始。

示例#1(参考表1):核A在TP1和TP2之间,核B在TP0和TP1 之间,所有其他核低于TP0。所得到的每个评价间隔的标记评估为:

核A=4个标记(1/4个元)

核A=2个标记(1/8个元)

所有其他核=1个标记(1/16个元)

示例#2(参考表1):核A在TP2和TP3之间,所有其他核低于TP0。所得到的每个评价间隔的标记评估为:

核A=16个标记(1个元)

所有其他核=4个标记(1/4个元)

现在参考图3A,所示为根据实施例的用于执行自适应热控制技术的方法的流程图。在实施例中,可至少部分地由热控制逻辑来执行方法250。也可由PCU或其他功率控制器执行这些操作中的一些。如所看到的那样,通过在第一遍中确定给定的核具有超出任何热阈值的温度(菱形260),方法 250开始。如以上的讨论中那样,可以有多个此类阈值,例如,4个阈值。如果为“是”,则控制传到框265,在框265处,可更新核的计数或标记值。更具体地说,可根据该核已超出的最高热阈值(例如,参照标记评估表) 来更新该计数值。当处理器正变得更热,并且多个核超出更高的热阈值时,可将该更新递减合适的标记值(并且在递减的实现中,反之亦然)。然后,控制传到菱形270以确定是否将分析附加核。如果给定的核不超出任何热阈值,则控制也直接从菱形260传到菱形270。对于该处理器的附加核,第一遍的该循环继续。此外,会理解虽然为了易于讨论,参考多核处理器的多个核进行了引用,但是可对处理器的任何处理引擎执行相同的操作。

仍然参考图3A,在上述第一遍之后,可将附加的多个操作作为该自适应热控制技术的第二遍来执行,在该第二遍中,可基于其他核的温度来进行附加的评估。更具体地说,在菱形275处,确定是否有任何核具有高于热阈值中的一个或多个的温度。如果没有核高于任何阈值,则方法250可作出结论:没有扼制是需要的。

然后,在菱形276处,可确定是否有任何核具有超过最高热阈值的温度。如果有,则控制传到框278,在框278处,可调节所有核的性能状态。更具体地说,可将所有的核调节到对应于所配置的最大扼制性能等级的预定性能状态,例如,Pn或Pm。

否则,控制传到框280,在框280处,可基于(由任何核)超出的最高热阈值来更新核的计数值。如上所述,该更新可基于标记评估表中的信息(并且在实施例中,当核变得更热时,可以是递减)。然后,控制传到菱形285以确定是否将在该第二遍中分析附加的核。如果是,则控制往回传到框280。如果不是,则控制传到框290,在框290处,可基于计数值与计数阈值的比较来调节核的性能状态。更具体地说,热控制逻辑可将扼制信号发布给功率控制器以在符合计数阈值时(例如,在递减的实现中,当该计数值为零时)导致扼制例如元值。在多个实施例中,与处理器正在冷却并且完全重新加载原始的计数值时不同,增加元值(例如)可能发生。为此目的,可将性能提升信号发布给功率控制器。尽管在图3A的实施例中的该高层级中示出,但是会理解,本发明的范围并不限于这方面,并且自适应扼制技术的许多变型和替代是可能的。

现在参考图3B,所示是根据另一实施例的自适应热控制方法的流程图。可由扼制控制逻辑和/或功率控制器来执行方法300。如所看到的那样,方法300可通过获取多个处理引擎的热信息(框310)开始。可从处理器内的各种传感器接收该热信息。例如,在多核处理器中,每一个核或其他处理引擎可具有(例如,在该核自身中或接近于该核的)的与之相关联的一个或多个热传感器。然后,控制传到框315,在框315处,执行该控制方法的第一遍。更具体地说,在该第一遍中,可对具有超出热阈值中的一个或多个的温度的处理引擎评估标记值。如上文所讨论的那样,对这些标记值的评估可基于标记评估表中的信息以及已由处理引擎超出的给定的热阈值。

仍然参考图3B,控制接着传到框320,在框320处,执行该控制方法的第二遍。更具体地说,可根据已超出一个或多个阈值的最热的处理引擎,对每一个核评估标记值。同样,该评估可参考标记评估表和最热的处理引擎已超出的给定阈值。最后,在框325处,可独立地扼制处理引擎中的一个或多个。更具体地说,基于对应的处理引擎的计数值,可为具有符合扼制准则的值的任何处理引擎生成扼制信号。例如,在递减的实现中,可为具有零或更小的计数值的任何处理引擎触发扼制信号。相反,在递增的实现中,可在计数器值溢出或超出给定阈值时,为给定核触发扼制信号。理解,可将该扼制信号发送到附加的功率控制逻辑,该功率控制逻辑可响应于该扼制信号而引起性能状态改变,例如,递减性能状态(诸如,递减1 个元值)。相反,当处理器冷却时,可在满足性能提升准则时(例如,在递减的实现中,重新加载原始的计数值;或在递增的实现中,零或负值发生)发送性能提升信号。理解,虽然在图3B的实施例中的高层级处示出,但是许多变型和替代是可能的。

现在参考图4,所示为根据本发明实施例的热控制逻辑的框图。如图4 中所示,可在处理器的电路中(例如,在功率控制单元或其他处理器电路内)实现热控制逻辑350。如所看到的那样,配置存储设备360存在,并且可配置成用于存储可编程或可融合的各种配置信息。在一些实施例中,可经由BIOS接收存储在配置存储设备360中的信息中的至少一些。在所示实施例中,存储设备360包括最低性能状态存储设备362,其可存储最低性能状态(上文中也被描述为最大扼制性能状态)的指示,当由一个或多个核超出最高的热阈值时,将一个或多个核或其他处理引擎置于该状态中。配置存储设备360还包括多个热阈值存储设备3640–364x。作为示例,可将热阈值TP0-TP3存储在这里。替代地或附加地,融合温度存储设备365可存储最大指定温度,允许处理器在此温度处操作,并且可由原始的设备制造商设置此温度。此外,多个热偏移存储设备3660–366y可以存在。在使用存储在存储设备365中的融合温度与在偏移存储设备366中的偏移的组合的一些实施例中,可独立地生成热阈值。也就是说,在一些实施例中,可使用融合值和偏移来生成热阈值,而不需要在配置存储设备中的它们独立的存储设备。配置存储设备360也包括元值存储设备368,其可存储例如对应于多个标记值(在该标记值处性能元改变将发生)的元值(其可以是上述的部分元尺寸或计数阈值)。

如在图4中进一步所示的那样,提供标记评估表370。在实施例中,标记评估表370可包括多个条目372和374。每个条目可包括各自与给定的热阈值相关联的多个标记值。在一些实施例中,可使用从BIOS或另一系统软件接收到的配置信息来填充标记评估表370中的信息。或者在一些实施例中,可将此类值融合进标记评估表370。注意,条目372存储将对超出给定热阈值的核评估的标记评估值,而条目374存储将在至少一个核超出热阈值中给定的一个热阈值时对所有核评估的标记评估值。

仍然参考图4,热控制逻辑350还包括多个计数器3800–380n。这些标记计数器中的每一个可与核或其他处理引擎相关联,并且在递减的实现中,当核不超出任何热阈值时,可以用原始的计数值来配置每一个标记计数器。在操作中,热分析逻辑390可在一个或多个核超出热阈值中的一个或多个时,使用标记评估表370中的信息来更新对应的标记计数器。在递减的实现中,当给定的核具有小于计数阈值(例如,0)的计数值时,可将扼制信号从热分析逻辑390传递到例如功率控制器以导致对应的核被扼制。相反,当为对应核的计数器恢复原始的计数值时,可发送性能提升信号。尽管以图4中的该特定实现示出,但是会理解,本发明的范围不限于这方面。

可在用于各种市场的处理器(包括服务器处理器、台式机处理器、移动处理器等)中实现多个实施例。现在参考图5,所示为根据本发明实施例的处理器的框图。如图5中所示,处理器400可以是包括多个核410a–410n的多核处理器。在一个实施例中,每一个此类核可以是独立的功率域中的,并且可配置成基于工作负进入或退出活动状态和/或最大性能状态。可经由互连415将各种核耦合到包括各种组件的系统代理或非核420。如所看到的那样,该非核420可包括共享高速缓存430,其可以是末级高速缓存。此外,该非核可包括集成存储器控制器440、各种接口450和功率控制单元455。在各实施例中,功率控制单元455可包括根据本发明的实施例的热控制逻辑459。可独立地或自适应地对核或其他引擎进行热控制,从而较激进地扼制较热的核,并且较不激进地扼制较冷的核。此外,当处理器的至少一个其他核已超出热阈值时,即便一个或多个核没有超出任何热阈值,逻辑459>

进一步参考图5,处理器400可例如经由存储器总线与系统存储器460 通信。此外,通过接口450,可完成向诸如外围设备、大容量存储设备等的各种芯片外组件的连接。尽管在图5的实施例中以此特定实现示出,但是本发明的范围不限于该方面。

现在参考图6,所示出的是根据本发明的另一实施例的多域处理器的框图。如图6的实施例中所示,处理器500包括多个域。具体而言,核域 510可包括多个核5100–510n,图形域520可包括一个或多个图形引擎,并且系统代理域550也可存在。在一些实施例中,系统代理域550能以独立于核域的独立频率执行,并且可在全部的时刻保持被供电以处理功率控制事件和功率管理,使得可控制域510和520动态地进入或退出高功率状态和低功率状态。域510和520中的每一个能以不同的电压和/或功率操作。注意,虽然仅以三个域示出,但是会理解,本发明的范围不限于这方面,并且附加的域可存在于其他实施例中。例如,多个核域可存在,每一个包括至少一个核。

一般而言,每个核510除各种执行单元和附加的处理元件之外,还包括多个低层级高速缓存。各种核可转而彼此耦合,并且耦合到共享高速缓存存储器,该共享高速缓存存储器由末级高速缓存(LLC)5400–540n的多个单元形成。在各实施例中,可在多个核与图形引擎以及各种媒体处理电路之间共享LLC>

如进一步所看到的那样,系统代理域550可包括显示控制器552,该显示控制器552可提供对相关联的显示器的控制以及到它的接口。如进一步所看到的那样,该系统代理域550可包括功率控制单元555,其可包括根据本发明的实施例的自适应热控制逻辑559,该自适应热控制逻辑559用于如本文中所述那样,基于热信息,以独立和自适应方式动态地控制一个或多个核的性能状态。在各实施例中,该逻辑可执行以上图2、图3A和图3B中所描述的算法。

如图6中进一步所看到的那样,处理器500还可包括集成存储器控制器(IMC)570,它可向诸如动态随机存取存储器(DRAM)之类的系统存储器提供接口。多个接口5800–580n可以存在,以便启用处理器和其他电路之间的互连。例如,在一个实施例中,可提供至少一个直接媒体接口(DMI)接口以及一个或多个外围组件互连高速(PCI快速TM(PCIeTM))接口。更进一步地,为了在诸如附加的处理器或其他电路之类的其他代理之间提供通信,也可提供符合快速路径互连(QPI)协议的一个或多个接口。尽管在图6的实施例中在该高层级示出,但是会理解,本发明的范围不限于该方面。

参考图7,示出了包括多个核的处理器的实施例。处理器1100包括任何处理器或处理设备,诸如,微处理器、嵌入式处理器、数字信号处理器 (DSP)、网络处理器、手持式处理器、应用处理器、协处理器、芯片上系统(SOC)或用于执行代码的其他设备。在一个实施例中,处理器1100 包括至少两个核——核1101和1102,它们可包括非对称核或对称核(所示实施例)。然而,处理器1100可包括可以是对称的或非对称的任何数量的处理元件。

在一个实施例中,处理元件指的是用于支持软件线程的硬件或逻辑。硬件处理元件的示例包括:线程单元、线程槽、线程、进程单元、上下文、上下文单元、逻辑处理器、硬件线程、核和/或能够保持处理器的诸如执行状态或架构状态之类的状态的任何其他元件。换言之,在一个实施例中,处理元件指的是能够与诸如软件线程、操作系统、应用、或其他代码之类的代码独立地相关联的任何硬件。物理处理器通常指的是集成电路,其潜在地包括诸如核或硬件线程之类的任意数量的其他处理元件。

核通常指的是位于集成电路上的能够维持独立架构状态的逻辑,其中每个独立维持的架构状态与至少一些专用执行资源相关联。与核相反,硬件线程通常指的是位于集成电路上的能够维持独立架构状态的任何逻辑,其中独立维持的架构状态共享对执行资源的访问。如所看到的那样,当某些资源是共享的而其他资源是专用于架构状态的时候,硬件线程与核的术语之间的界线交叠。但核和硬件线程常常被操作系统视为单个的逻辑处理器,其中,操作系统能够分别在每一个逻辑处理器上调度操作。

如图7中所示,物理处理器1100包括两个核——核1101和1102。在此,核1101和1102被认为是对称核,即,这些核具有相同的配置、功能单元和/或逻辑。在另一实施例中,核1101包括无序处理器核,而核1102 包括有序处理器核。然而,核1101和1102可以是从任何类型的核中单独地选出的,诸如原生核、受软件管理的核、适于执行原生指令集架构(ISA) 的核、适于执行经转换ISA的核、协同设计的核或其他已知核。不过,为进一步讨论,以下将更详细地描述在核1101中所示的多个功能单元,因为核1102中的多个单元以类似方式操作。

如所描绘的那样,核1101包括两个硬件线程1101a和1101b,它们也可被称为硬件线程槽1101a和1101b。因此,在一个实施例中,诸如操作系统之类的软件实体潜在地将处理器1100视为四个单独的处理器,即能够并发地执行四个软件线程的四个逻辑处理器或处理元件。如上文所暗指的那样,第一线程与架构状态寄存器1101a相关联,第二线程与架构状态寄存器1101b相关联,第三线程可与架构状态寄存器1102a相关联,并且第四线程可与架构状态寄存器1102b相关联。在此,如上所述,可将架构状态寄存器(1101a、1101b、1102a和1102b)中的每一个称为处理元件、线程槽或线程单元。如所示出的那样,架构状态寄存器1101a被复制在架构状态寄存器1101b中,因此能够为逻辑处理器1101a和逻辑处理器1101b存储单独的架构状态/上下文。在核1101中,也可复制用于线程1101a和1101b 的其他较小资源,诸如,指令指针以及分配器和重命名块1130中的重命名逻辑。可通过分区来共享诸如重排序器/引退单元1135中的重排序缓冲器、 ILTB 1120、加载/存储缓冲器和队列之类的一些资源。可潜在地完全共享诸如通用内部寄存器、页表基寄存器、低层级数据高速缓存和数据TLB 1115、执行单元1140和无序单元1135的多个部分之类的其他资源。

处理器1100通常包括其他资源,它们可被完全共享,可通过分区被共享,或可由处理元件专用/专用于处理元件。在图7中,示出具有处理器的说明性逻辑单元/资源的纯示例性处理器的实施例。注意,处理器可包括或省略这些功能单元中的任何单元,并包括未描绘出的任何其他已知的功能单元、逻辑或固件。如所示出的那样,核1101包括简化的、代表性的无序 (OOO)处理器核。但是,在不同实施例中,可利用有序处理器。OOO核包括用于预测要被执行/进行的分支的分支目标缓冲器1120以及用于存储指令的地址转换条目的指令转换缓冲器(I-TLB)1120。

核1101还包括耦合至取出单元1120以用于解码所取出的元素的解码模块1125。在一个实施例中,取出逻辑包括分别与线程槽1101a、1101b 相关联的单个的序列发生器。通常,核1101与第一ISA相关联,该第一ISA 定义/指定在处理器1100上可执行的指令。作为第一ISA的部分的机器代码指令常包括引用/指定要被执行的指令或操作的指令的部分(被称为操作码)。解码逻辑1125包括从这些指令的操作码识别出这些指令并在流水线上传递经解码的指令以进行第一ISA所定义的处理的电路。例如,在一个实施例中,解码器1125包括被设计成用于或适于识别诸如事务性指令之类的特定指令的逻辑。作为由解码器1125识别的结果,架构或核1101采取特定的、预定的动作以执行与适当指令相关联的任务。重要的是应注意,本文中所描述的任务、块、操作和方法中的任何一个可响应于单条或多条指令来执行;它们中的一些可以是新指令或旧指令。

在一个示例中,分配器和重命名器块1130包括用于预留资源的分配器,诸如,用于存储指令处理结果的寄存器组。然而,线程1101a和1101b 潜在地能够进行无序执行,其中,分配器和重命名器块1130还保留其他资源(诸如,用于跟踪指令结果的重排序缓冲器)。单元1130还可包括寄存器重命名器,其用于将程序/指令引用寄存器重命名为处理器1100内部的其他寄存器。重排序/引退单元1135包括用于支持被无序执行的指令的无序执行和稍后的有序引退的、诸如上述的重排序缓冲器、加载缓冲器和存储缓冲器之类的组件。

在一个实施例中,调度器和执行单元块1140包括调度器单元,其用于在多个执行单元上调度指令/操作。例如,在具有可用的浮点执行单元的执行单元的端口上调度浮点指令。还包括与执行单元相关联的寄存器组,其用于存储信息指令处理结果。示例性的执行单元包括浮点执行单元、整数执行单元、跳转执行单元、加载执行单元、存储执行单元以及其他已知的执行单元。

较低层级的数据高速缓存和数据转换缓冲器(D-TLB)1150耦合至执行单元1140。数据高速缓存用于存储最近使用/操作的元素(诸如,数据操作数),潜在地在存储器一致性状态下保持这些元素。D-TLB用于存储最近的虚拟/线性至物理地址转换。作为特定示例,处理器可包括用于将物理存储器分解成多个虚拟页的页表结构。

在此,核1101和1102共享对用于对最近被取出元素进行高速缓存的、较高层级或进一步远离的高速缓存1110的访问。注意,较高层级或进一步远离指的是高速缓存层级增加或进一步远离执行单元。在一个实施例中,较高层级高速缓存1110是末级数据高速缓存(处理器1100上的存储器层次结构中的末级高速缓存),诸如,第二或第三级数据高速缓存。然而,较高层级高速缓存1110不限于此,因为它可与指令高速缓存相关联或包括指令高速缓存。替代地,跟踪高速缓存(指令高速缓存的类型)可耦合在解码器1125之后,用于存储最近经解码的跟踪。

在所描绘的配置中,处理器1100还包括总线接口模块1105和可执行根据本发明的实施例的功率共享控制的功率控制器1160。历史上,已将控制器1170包括在处理器1100外部的计算系统中。在该场景中,总线接口 1105用于与处理器1100外部的多个设备通信,处理器100外部的多个设备诸如系统存储器1175、芯片组(通常包括用于连接到存储器1175的存储器控制器中枢以及用于连接到外围设备的I/O控制器中枢)、存储器控制器中枢、北桥或其他集成电路。并且在该场景中,总线1105可包括任何已知的互连,诸如,多分支总线、点对点互连、串行互连、并行总线、一致性 (例如,高速缓存一致性)总线、分层协议架构、差分总线以及GTL总线。

存储器1175可专用于处理器1100或可由处理器1100与系统中的其他设备共享。存储器1175的类型的常见示例包括DRAM、SRAM、非易失性存储器(NV存储器)以及其他已知的存储设备。注意,设备1180可包括耦合到存储器控制器中枢的图形加速器、处理器或卡,耦合到I/O控制器中枢的数据存储设备,无线收发机,闪存设备,音频控制器,网络控制器或其他已知设备。

然而,注意,在所描绘的实施例中,控制器1170示出为处理器1100 的部分。最近,随着更多的逻辑和设备被集成在单个管芯上(诸如,SOC),这些设备中的每一个可被合并在处理器1100上。例如,在一个实施例中,存储器控制器中枢1170与处理器1100在同一封装和/或管芯上。在此,核的部分(核上部分,on-core portion)包括用于与诸如存储器1175或图形设备1180之类的其他设备对接的一个或多个控制器1170。通常将包括互连和用于与此类设备对接的控制器的配置称为核上(或非核配置)。作为示例,总线接口1105包括与环形互连,其与用于对接存储器1175的存储器控制器和用于对接图形处理器1180的图形控制器相连。然而,在SOC环境中,可将诸如网络接口、协处理器、存储器1175、图形处理器1180以及任何其他已知计算机设备/接口之类的甚至更多设备集成到单个管芯或集成电路上,以提供具有高功能和低功耗的小形状因子。

可在许多不同的系统类型中实现多个实施例。现在参考图8,所示为根据本发明的实施例的系统的框图。如图8所示,多处理器系统600是点对点互连系统,并包括经由点对点互连650而被耦合的第一处理器670和第二处理器680。如图8所示,处理器670和680中的每一个都可以是多核处理器,包括第一和第二处理器核(即,处理器核674a和674b以及处理器核684a和684b),但是潜在地,多得多的核可存在于这些处理器中。处理器中的每一个都可包括PCU或其他逻辑,其用于当至少一个其他核已超出给定的热阈值时独立地且抢先地扼制一个或多个核的性能。此外,如本文中所描述的那样,当核中的至少一个的温度已超出最高的热阈值等级时,此类逻辑可将所有的核扼制到最低性能状态。

仍参考图8,第一处理器670还包括存储器控制器中枢(MCH)672 和点对点(P-P)接口676和678。类似地,第二处理器680包括MCH 682 和P-P接口686和688。如图8所示,MCH672和682将多个处理器耦合到相应的存储器(即,存储器632和存储器634),这些存储器可以是本地附连到相应处理器的系统存储器(例如,DRAM)的多个部分。第一处理器670和第二处理器680可分别经由P-P互连662和664耦合至芯片组690。如图8中所示,芯片组690包括P-P接口694和698。

此外,芯片组690包括用于通过P-P互连639将芯片组690与高性能图形引擎638耦合的接口692。芯片组690可转而经由接口696耦合到第一总线616。如图8所示,各种输入/输出(I/O)设备614以及总线桥接器618 可耦合到第一总线616,总线桥接器618将第一总线616耦合到第二总线 620。在一个实施例中,各种设备可耦合到第二总线620,包括例如,键盘/ 鼠标622、通信设备626以及诸如可包括代码630的盘驱动器或者其他大容量存储设备之类的数据存储单元628。此外,音频I/O 624可耦合至第二总线620。可将多个实施例合并到其他类型的系统中,包括诸如智能蜂窝电话、平板计算机、上网本、超极本TM等之类的移动设备。

现在参考图9,所示是根据本发明的另一实施例的处理器的框图。在图9的实施例中,处理器1000可以是包括多个域的芯片上系统(SoC),可控制其中的每一个域在独立的操作电压和操作频率下进行操作。作为特定的说明性示例,处理器1000可以是基于架构核TM的处理器(诸如,i3、i5、i7)或可从美国加利福尼亚州圣克拉拉市的英特尔公司得到的另一个此类处理器。然而,诸如可从加利福尼亚州桑尼威尔的超微半导体有限公司(AMD)得到的、来自ARM控股有限公司或其客户的基于ARM>TM计算机或其他便携式计算设备之类的低功率系统中。

在图9所示的高层级视图中,处理器1000包括多个核单元10100->n。每一个核单元都可包括一个或多个处理器核、一个或多个高速缓存存储器和其他电路。每一个核单元1010都可支持一个或多个指令集(例如,x86指令集(带有与较新的版本一起添加的一些扩展);加利福尼亚州桑尼威尔的MIPS技术公司的MIPS指令集;加利福尼亚州桑尼威尔的ARM控股有限公司的ARM指令集(带有诸如NEON之类的可选的附加扩展))>

每一个核单元1010还可包括诸如总线接口单元之类的接口,其用于启用向处理器的附加电路的互连。在实施例中,每一个核单元1010都耦合到一致性结构,该一致性结构可充当进而耦合到存储器控制器1035的主高速缓存一致性管芯上互连。存储器控制器1035转而控制与诸如动态随机存取存储器(DRAM)之类的存储器(为了易于说明,没有在图9中示出)之间的通信。

除这些核单元之外,附加的处理引擎也存在于该处理器内,包括至少一个图形单元1020,该图形单元1020可包括用于执行图形处理以及可能在图形处理器上执行通用操作(所谓的GPGPU操作)的一个或多个图形处理单元(GPU)。此外,至少一个图像信号处理器1025可以存在。信号处理器1025可配置成用于处理从一个或多个捕捉设备(无论是SoC内部的还是芯片外的)接收到的传入的图像数据。其他加速器也可以存在。在图9的示图中,视频译码器1050可执行译码操作,包括对于视频信息的编码和解码,例如,提供对高清晰度视频内容的硬件加速支持。可进一步提供显示控制器1055以加速显示操作,包括提供对系统的内部和外部显示器的支持。此外,安全处理器1045可以存在,其用于执行诸如安全引导操作、各种加密操作等的安全操作。

这些单元中的每一个都可经由功率管理器1040使其功耗受控。如本文中所述,功率管理器1040包括用于执行对多个核和其他处理引擎的独立的和自适应的热控制的自适应热控制逻辑。

在一些实施例中,SoC 1000还可包括耦合到一致性结构(各种外围设备可耦合到该一致性结构)的非一致性结构。一个或多个接口1060a-1060d 启用与一个或多个芯片外设备的通信。此类通信可以根据各种通信协议,诸如,PCIeTM、GPIO、USB、I2C、UART、MIPI、SDIO、DDR、SPI、HDMI>

现在参考图10,所示为代表性SoC的框图。在所示实施例中,SoC 1200 可以是针对低功率操作所配置的多核SoC,该多核SoC待优化以便结合进智能电话或诸如平板计算机或其他便携式计算设备之类的低功率设备中。作为示例,可使用诸如较高功率核和/或低功率核(例如,无序核和有序核) 的组合之类的非对称核或不同类型核来实现SoC 1200。在不同的实施例中,这些核可基于架构TM核设计或可从加利福尼亚州桑尼威尔的ARM>

如图10中所看到的那样,SoC 1200包括具有多个第一核12120–12123的第一核域1210。在示例中,这些核可以是诸如有序核之类的低功率核。在一个实施例中,可将这些第一核实现为ARM>0–12223。在示例中,这些核可以是比第一核1212消耗更高功耗的核。在实施例中,这些第二核可以是可实现为ARM>

进一步参考图10,也提供图形域1230,其可包括一个或多个图形处理单元(GPU),这些图形处理单元配置成用于独立地执行例如由域1210和 1220中的一个或多个核所提供的图形工作负荷。作为示例,可使用GPU域 1230,以便除了提供图形和显示渲染操作之外,还提供对各种屏幕尺寸的显示支持。

如所看到的那样,各种域耦合至一致性互连1240,在实施例中,该一致性互连可以是转而耦合至集成存储器控制器1250的高速缓存一致性互联结构。一致性互连1240可包括共享高速缓存存储器,诸如,L3高速缓存等一些示例。在实施例中,存储器控制器1250可以是用于提供与芯片外存储器进行的通信的多个通道(诸如,DRAM的多个通道(在图10中为了易于说明,没有示出))的直接存储器控制器。

在不同的示例中,核域的数量可以发生变化。例如,对于适用于结合进移动计算设备的低功率SoC,诸如图10中所示的有限数量的核域可以存在。更进一步地,在此类低功率SoC中,包括较高功率核的核域1220可具有较少数量的此类核。例如,在一个实现中,可提供两个核1222以允许以降低的功耗等级进行的操作。此外,也可将不同的核域耦合到中断控制器以便启用在不同域之间的工作负荷的动态交换。

在另一些实施例中,可以存在更大量的核域以及附加可选的IP逻辑,如此,可按比例将SoC放大到更高的性能(和功率)等级,以便结合进诸如台式机、服务器、高性能计算系统、基站等的其他计算设备中。作为一个此类示例,可提供各自具有给定数量的无序核的4个核域。更进一步地,除了可选的GPU支持(作为示例,其可采取GPGPU的形式)之外,还可提供用于提供对特定功能(例如,web服务、网络处理、交换等)的优化的硬件支持的一个或多个加速器。此外,用于将此类加速器耦合到多个芯片外组件的输入/输出接口可以存在。

现在参考图11,所示为另一示例SoC的框图。在图11的实施例中, SoC 1300可包括用于允许多媒体应用、通信和其他功能的高性能的各种电路。由此,SoC 1300适于结合进多种便携式和其他设备,诸如,智能电话、平板计算机、智能电视等。在所示示例中,SoC 1300包括中央处理器单元 (CPU)域1310。在实施例中,多个单独的处理器核可存在于CPU域1310中。作为一个示例,CPU域1310可以是具有4个多线程核的四核处理器。此类处理器可以是同构或异构处理器,例如,低功率和高功率处理器核的混合。

可转而提供GPU域1320以在一个或多个GPU中提供高级图形处理,从而处理图形并计算API。DSP单元1330可提供一个或多个低功率DSP,这些低功率DSP除了处理可在多媒体指令的执行期间发生的高级计算之外,还处理诸如音乐回放、音频/视频等的低功率多媒体应用。通信单元1340 转而可包括用于经由各种无线协议提供连接性的各种组件,各种无线协议诸如蜂窝通信(包括3G/4G LTE)、诸如蓝牙TM之类的无线局域技术、IEEE>

更进一步地,可使用多媒体处理器1350来执行对高清晰度视频和音频内容的捕捉和回放,包括对用户姿势的处理。传感器单元1360可包括多个传感器和/或用于对接到存在于给定平台中的各种芯片外传感器的传感器控制器。可向图形信号处理器1370提供一个或多个分开的ISP,其用于参照从平台的一个或多个相机(包括静止相机和视频相机)捕捉到的内容来执行图像处理。

显示处理器1380可提供对向给定像素密度的高清晰度显示器的连接的支持,包括无线地传递内容以在此类显示器上回放的能力。更进一步地,位置单元1390可包括具有对多个GPS星座图的支持的GPS接收机,以便向应用提供使用此类GPS接收机所获取的高精度定位信息。会理解,虽然在图11的示例中以该特定的一组组件示出,但是许多变型和替代是可能的。

现在参考图12,所示为可利用其来使用多个实施例的示例系统的框图。如所看到的那样,系统1400可以是智能电话或其他无线通信器。基带处理器1405配置成用于参照将从该系统传送的或将由该系统接收的通信信号来执行各种信号处理。基带处理器1405耦合至可以是系统的主CPU的应用处理器1410,该系统的主CPU除了执行诸如许多公知的社交媒体和多媒体应用之外,还执行OS和其他系统软件。应用处理器1410可进一步配置成用于执行针对设备的各种其他计算操作。

应用处理器1410可转而耦合至用户接口/显示器1420(例如,触屏显示器)。此外,应用处理器1410可耦合至包括非易失性存储器(即,闪存 1430和系统存储器(即,动态随机存取存储器(DRAM)1435))的存储器系统。如进一步所看到的那样,应用处理器1410进一步耦合至诸如可记录视频和/或静止图像的一个或多个图像捕捉设备之类的捕捉设备1440。

仍然参考图12,也将包括订户身份模块和可能的安全存储设备和加密处理器的通用集成电路卡(UICC)1440耦合到应用处理器1410。系统1400 还可包括可耦合至应用处理器1410的安全处理器1450。多个传感器1425 可耦合至应用处理器1410以启用诸如加速度计和其他环境信息之类的各种经传感信息的输入。音频输出设备1495可提供接口,以便例如以语音通信、播放的或流音频数据等的形式输出声音。

如进一步所示出的那样,提供经由近场通信(NFC)天线1465在NFC 近场中通信的NFC无接触接口1460。虽然图12中示出分开的天线,但是会理解,在一些实现中,可提供一根天线或不同组的天线以启用各种无线功能。

功率管理集成电路(PMIC)1415耦合至应用处理器1410以执行平台等级功率管理。为此目的,PMIC 1415可在需要时将进入某些低功率状态的功率管理请求发布给应用处理器1410。此外,基于平台约束,PMIC 1415 也可控制系统1400的其他组件的功率等级。

为了使通信能够被传送和接收,可在基带处理器1405和天线1490之间耦合各种电路。具体而言,射频(RF)收发机1470和无线局域网(WLAN) 收发机1475可以存在。一般而言,可使用RF收发机1470以根据诸如3G 或4G无线通信协议之类的给定的无线通信协议(诸如,根据码分多址 (CDMA)、全球移动通信系统(GSM)、长期演进(LTE)或其他协议) 接收并传送无线数据和呼叫。此外,GPS传感器1480可以存在。也可提供诸如对无线电信号(例如,AM/FM和其他信号)的接收或传送之类的其他无线通信。此外,经由WLAN收发机1475,也能够实现诸如根据蓝牙TM标准或IEEE>

现在参考图13,所示为可利用其来使用多个实施例的另一示例系统的框图。在图13的示图中,系统1500可以是诸如平板计算机、2:1平板、平板手机或其他转换式或独立式平板系统之类的移动低功率系统。如所示出的那样,SoC 1510存在,并且可配置成作为设备的应用处理器进行操作。

各种设备可耦合至SoC 1500。在所示示图中,存储器子系统包括耦合至SoC 1510的闪存1540和DRAM 1545。此外,触板1520耦合至SoC 1510 以提供显示能力和经由触摸的用户输入,包括在触板1520的显示器上提供虚拟键盘。为了提供有线网络连接性,SoC 1510耦合至以太网接口1530。外围中枢1525耦合至SoC 1510以启用与各种外围设备的对接,诸如,可通过各种端口或其他连接器中的任何一个而被耦合到系统1500。

除了SoC 1510中的内部功率管理电路和功能之外,PMIC 1580也耦合至SoC 1510以提供基于平台的功率管理,例如,基于该系统是由电池1590 供电还是经由交流适配器1595由交流电供电。除了该基于功率源的功率管理之外,PMIC 1580还执行基于环境和使用条件的功率管理活动。更进一步地,PMIC 1580可将控制和状态信息传递给SoC 1510以引起SoC 1510 中的各种功率管理动作。

仍然参考图13,为了提供无线能力,将WLAN单元1550耦合至SoC 1510,并转而耦合至天线1555。在各种实现中,WLAN单元1550可根据一个或多个无线协议(包括IEEE 802.11协议、蓝牙TM协议或任何其他无线协议)提供通信。

如进一步所示出的那样,多个传感器1560可耦合至SoC 1510。这些传感器可包括各种加速度计、环境和其他传感器,包括用户姿势传感器。最后,将音频编解码器1565耦合至SoC 1510以向音频输出设备1570提供接口。当然会理解,虽然以图13中的该特定实现示出,但是许多变型和替代是可能的。

由于存在与因扼制或增加的功率预算而改变P状态的核相关联的开销,因此具有自适应热控制的多个实施例可减小此类P状态改变,并由此减小可能导致增加的开销负担并进一步对处理器性能不利的快速的性能状态改变。注意,在例如在处理器的非核部中发起热扼制事件的一些情况下,可绕过所述自适应热扼制算法,并且可使一个或多个核立即进入最大扼制状态(例如,与符合TP3阈值时相同的行为)。

本文中所公开的自适应热N击算法因此评估多个标记或多击,其中, N表示触发P状态改变的自适应值。可高效地实现评估标记的该多遍方法,并且该方法具有相比独立地对每个核管理热并执行横跨核的扼制机制的更佳的稳定性。此外,使用实施例,可控制处理器接近高温扼制阈值进行操作,并且继续看得到功率管理技术的益处并不会由于进入热不稳定状态而不必要地损失性能。按此方法,通过在温度达到热阈值时允许用户较不激进地加速诸如消耗许多平台功率的风扇之类的其他平台组件而不引起繁重的性能代价,可提升总体系统功率/性能效率。更进一步地,利用绕过技术,多个实施例也不对响应于更严重的过温情形所采取的热保护和失效保护妥协。

以下示例涉及进一步的实施例。

在一个实施例中,处理器包括:多个核,每一个核用于执行指令;多个热传感器,其中的至少一个与多个核中的每一个相关联;以及耦合至这多个核的PCU。该PCU可包括热控制逻辑,该热控制逻辑用于:当第二核的温度超出至少一个热阈值时,抢先地对第一核扼制第一扼制量,并且即便当该第一核的温度未超出任何热阈值时,也可独立于对第二核的扼制而抢先地扼制该第一核。

在示例中,热控制逻辑用于对第二核扼制第二扼制量,该第二扼制量比第一扼制量更激进。

在示例中,热控制逻辑用于基于第二核的温度超出的多个热阈值中的最高热阈值,利用第一标记值更新与第一核相关联的第一计数器。

在示例中,热控制逻辑用于:基于第一计数器的值与阈值的比较,导致第一核的性能状态降低。

在示例中,热控制单元用于:如果第一计数器的值达到原始值,则引起第一核的性能状态提升。

在示例中,热控制逻辑用于:基于第二核的温度超出的最高热阈值,利用第一标记值和第二标记值更新与第二核相关联的第二计数器。

在示例中,处理器还包括表,该表用于存储各自与多个热阈值中的一个相关联的多个第一标记值以及各自与多个热阈值中的一个相关联的多个第二标记值。

在示例中,热控制逻辑用于:当核的温度超出对应的热阈值时,利用多个第一标记值中的一个更新与该核相关联的计数器;并且当多个核中最热的核的温度超出多个热阈值中的一个热阈值时,利用多个第二标记值中的一个更新该计数器。

在示例中,热控制逻辑用于:如果多个核中的至少一个的温度超出多个热阈值中的最高热阈值,则将这多个核扼制到最低性能状态。

在示例中,处理器还包括配置存储设备,该配置存储设备用于存储最低性能状态的控制指示符,以使最低性能状态是最小操作频率和最小操作电压下的最大操作频率中的一个。

注意,可使用各种方式来实现上述处理器。

在示例中,处理器包括被结合在用户装备触控设备中的SoC。

在另一示例中,系统包括显示器和存储器,并且包括以上示例中的一个或多个中的处理器。

在另一示例中,方法包括:获取处理器的多个处理引擎的热信息;对具有超出一个或多个热阈值的温度的多个处理引擎中的每一个评估第一组多个标记值中的一个;根据由多个处理引擎中最热的一个超出的多个热阈值中的最高热阈值,对多个处理引擎中的每一个评估第二组多个标记值中的一个;以及基于对应的处理引擎的经评估的标记值,独立地扼制多个处理引擎中的一个或多个。

在示例中,该方法还包括:通过将第一处理引擎的性能状态降低至少一个性能等级来扼制第一处理引擎,并且通过经由对第二处理引擎评估第二组多个标记值中的一个而降低第二处理引擎的性能状态来扼制第二处理引擎,其中,第一处理引擎超出一个或多个热阈值中的至少一个,并且第二处理引擎不超出一个或多个热阈值中的任何热阈值。

在示例中,该方法还包括:当与第一处理引擎相关联的原始计数值被恢复时,使第一处理引擎的性能状态提升性能等级。

在示例中,该方法还包括:当第二处理引擎超出第一热阈值时,对第一处理引擎评估第一标记值;以及当第二处理引擎超出第一热阈值时,对第二处理引擎评估第一标记值和第二标记值。

在示例中,扼制第一处理引擎包括:基于第一处理引擎的经评估的标记值的计数和阈值的比较降低第一处理引擎的性能状态和/或将该性能状态降低元值。

在示例中,扼制第一处理引擎包括:当已对第一处理引擎评估了对应于2-n的部分击数量时,使性能状态降低元值。

在示例中,该方法还包括:基于标记评估表的第一条目中的信息,评估第一组多个标记值中的一个;以及基于标记评估表的第二条目中的信息,评估第二组多个标记值中的一个。

在示例中,该方法还包括:当至少一个处理引擎超出多个热阈值中的最高热阈值时,将多个处理引擎的性能等级降低到最低性能等级。

在示例中,该方法还包括:对第一处理引擎扼制第一扼制量,并且对第二处理引擎扼制第二扼制量,该第二扼制量大于第一扼制量,其中,第二处理引擎超出一个或多个热阈值中的至少一个热阈值,并且第一处理引擎不超出一个或多个热阈值中的任何热阈值。

在另一示例中,包括指令的计算机可读介质用于执行上述示例中任何一项所述的方法。

在另一示例中,设备包括用于执行上述示例中任意一项所述的方法的装置。

在另一示例中,系统包括:处理器,其具有:多个处理引擎,包括多个核和至少一个图形引擎;配置存储设备,用于存储多个热阈值;评估表,用于存储第一组多个评估值和第二组多个评估值;多个计数器,其各自与多个处理引擎中的一个相关联;以及热分析逻辑,其用于:如果第一处理引擎超出多个热阈值中的至少一个,则根据第一组多个评估值中的一个来更新多个计数器中与第一处理引擎相关联的计数器;并且基于由多个处理引擎中最热的处理引擎的温度超出的最高的热阈值根据第二组多个评估值中的一个来更新该计数器。该系统还包括耦合至处理器的DRAM。

在示例中,该系统还包括功率控制器,其用于:如果多个处理引擎中的至少一个的温度超出多个热阈值中的最高热阈值,则将多个处理引擎扼制到最低性能状态。

在示例中,功率控制器用于:当第二核的温度超出多个热阈值中的一个时,抢先地对第一核扼制第一扼制量,其中,第一核的温度不超出多个热阈值中的任何热阈值。

在示例中,功率控制器用于:对第一核扼制第一扼制量,并对第二核扼制第二扼制量,该第二扼制量大于第一扼制量。

会理解,上述示例的各种组合是可能的。

可在许多不同的类型的系统中使用多个实施例。例如,在一个实施例中,可安排通信设备以执行本文中所描述的各种方法和技术。当然,本发明的范围不限于通信设备,相反,其他实施例可专用于:用于处理指令的其他类型的设备;或一个或多个机器可读介质,其包括指令,响应于在计算设备上执行这些指令,这些指令使该设备实施本文中所描述的方法和技术中的一个或多个。

可将多个实施例实现在代码中,并且可存储在非暂态存储介质中,该非暂态存储介质具有存储于其上的指令,可使用这些指令对系统编程以执行这些指令。存储介质可包括但不限于,任何类型的盘,包括软盘、光盘、固态驱动器(SSD)、紧致盘只读存储器(CD-ROM)、紧致盘可重写(CD-RW) 和磁光盘;半导体器件,诸如,只读存储器(ROM)、诸如动态随机存取存储器(DRAM)和静态随机存取存储器(SRAM)之类的随机存取存储器 (RAM)、可擦可编程只读存储器(EPROM)、闪存、电可擦可编程只读存储器(EEPROM);磁卡或光卡;或适用于存储电子指令的任何其他类型的介质。

虽然已参照有限数量的实施例描述了本发明,但是本领域技术人员将从中领会很多修改和变型。所附权利要求旨在涵盖落入本发明的真实精神和范围的所有此类修改和变型。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号