管理计算系统中的电流和功耗的制作方法

文档序号:6361436阅读:247来源:国知局
专利名称:管理计算系统中的电流和功耗的制作方法
技术领域
本发明涉及计算系统,更具体来说,涉及有效的管芯功耗管理。
背景技术
现代集成电路(IC)的功耗对于每一代半导体芯片来说已日益成为一个设计问题。由于功耗增加,用来控制环境温度的成本更高的冷却系统(如更大的风扇、更大的散热片和系统)被用来移除过多的热量和防止IC故障。然而,冷却系统增加了系统成本。IC功率消耗约束不但对于便携式计算机和移动通信装置是问题,而且对于可包括多个处理器核心或核心以及核心内的多个管线的高性能超标量体系结构的微处理器也是问题。为了管理功耗,芯片级功耗管理系统可将功耗信用从第一管芯上的组件转移到第二管芯上的组件。在这种情况下,第一管芯上的组件可以对应于给定的正常或高功耗的模式操作。相比之下,第二管芯上的组件可具有低于给定的阈值的活动级别。在一些情况下,这些管芯上的组件可耦接到单独的电压层。将功耗从活动的第二组件转移到相对不活动的第一组件可允许第二组件进一步增加其活动级别或在更长的持续时间内维持其当前的活动级别。在这种情况下,芯片上的性能可提高,而无需冷却系统的进一步冷却操作。然而,将功耗转移到第二管芯上的组件可能会加重用于第二组件的支持系统(如稳压器)的负担。如本领域中众所周知的,处理器能够消耗最大的功率,其大于热设计功耗(TDP)。TDP为冷却系统可消耗的功耗量。因此,为防止故障,处理器通常在TDP值内操作。该TDP值可在组件中的逻辑内用来选择工作模式。例如,可至少基于TDP值来选择工作电压和频率组合。相似地,稳压器能够供应峰值电流,其大于热设计电流(TDC)。TDC为对于给定工作条件(如正常到高工作条件)供应的电流的量。在一些情况下,TDC的值可能不足以支持上述的第二组件的增加的活动(其中增加的活动由功耗转移来促使)。尽管通过允许组件之间的功耗转移可提高芯片上的性能,但更改稳压器来支持更高的TDC的成本可观。鉴于以上所述,需要用于有效的管芯功耗管理的有效方法和机构。发明概述构思了用于管芯上的有效功耗转移的系统和方法。在一个实施方案中,半导体芯片包括两个或更多个计算单元(⑶)以及功耗管理器。在一些实施方案中,每个CU可利用不同的稳压器。至少两个CU以数个离散的功耗性能状态(P状态)中的任何一个操作。也可以使指示每个CU的活动级别的数据可用。例如,在一个实施方案中,CU测量相应的活动级别并将指示测量的级别的数据传递到(或以其它方式使该数据可用于)功耗管理器。在一个实施方案中,功耗管理器检测给定的CU的活动级别何时低于给定的阈值。然后,功耗管理器可选择给定的CU之外的多个CU中的一个或多个CU来接收给定的CU捐助的功耗信用。功耗管理器可至少部分基于相应的活动级别来确定捐助给选定的CU的功耗信用的数量。功耗管理器将相应数量的功耗信用传递给选定的CU。响应于接收到额外的(捐助的)功耗信用,选定的CU可过渡到不同的P状态。此外,构思了一个或多个选定的CU中的特定CU在其工作负载增加时可在更高的性能P状态下操作的实施方案。在一些实施方案中,通过改变工作电压和频率,特定的⑶可维持对应于更高的P状态的平均功耗,而不管变化的工作负载。例如,当工作电压降低时,特定CU获取的电流可增加以大体上维持相对恒定的平均功耗。在一些实施方案中,可建立给定的组件(如稳压器)的热设计电流(TDC)。已建立的TDC可表示最大电流获取,高于最大电流获取则无法保证安全和稳定的操作。在各种实施方案中,功耗信用的转移可导致超过TDC的增加的电流。在这种情况下,功耗管理器或其它组件可检测此状况并促使超过TDC的组件减少其电流获取。在一个实施方案中,功耗管理器通过移除先前捐助给组件的功耗信用来促使组件减少其电流获取。移除此类功耗信用从而可促使组件操作所在的P状态的降低、降低功耗并减少组件的电流获取。参照以下描述和附图,这些和其它实施方案将被进一步理解。附图简述

图1为半导体芯片的一个实施方案的一般化的框图。图2为半导体芯片的功耗性能状态过渡的一个实施方案的一般化示意图。图3为半导体芯片的功耗性能状态过渡的另一实施方案的一般化框图。图4为功耗借调降低额定值表的一个实施方案的一般化框图。图5为对应于功耗管理系统的电气特征的一个实施方案的一般化框图。图6为功耗管理单元的一个实施方案的一般化框图。图7为用于管芯上的有效功耗转移的方法的一个实施方案的流程图。图8为具有管芯上的功耗管理的处理器的一个实施方案的一般化框图。尽管可对本发明进行各种修改和使用替代形式,附图中以举例地方式示出了特定实施方案,且本文中详细地描述了这些实施方案。然而,应理解,附图及对附图的详细描述不是为了将本发明限于所公开的特定形式,相反,本发明将涵盖落入由随附权利要求书所定义的本发明的精神和范围内的所有修改、等同形式和替代形式。
具体实施方案在以下描述中,阐述了大量特定的细节以提供对本发明的彻底理解。然而,本领域的普通技术人员应认识到,可以在没有这些特定细节的情况下实施本发明。在一些实例中,未详细示出众所周知的电路、结构和技术,以避免使本发明晦涩难懂。参照图1,示出了半导体芯片100的一个实施方案的一般化框图。为了便于说明,未示出用于与其它组件(如存储器控制器、网络接口卡(NIC)、外围装置等)通信的管芯102的接口。管芯102可包括耦接到功耗管理单元130的处理块160。处理块160可包括计算单元120a - 120d。如本文所使用的,由后接字母的参考数字指示的元件可由单独的该数字来总体指示。例如,计算单元120a — 120d可统称为计算单元120。可使用任何晶体管系列来实现管芯102。实例包括金属氧化物半导体场效应晶体管(MOSFET)和双极结晶体管(BJT)0每个计算单元120可在单独的电压层上操作。相应地,每个计算单元120可耦接到单独的稳压器110。例如,计算单元120a耦接到稳压器110a。计算单元120d耦接到稳压器 IlOd0在一个实施方案中,计算单元120可为处理器。每个计算单元120可为通用处理器、图形处理器、专用协处理器等之一。或者,每个计算单元120可为专用集成电路(ASIC)。可将功耗目标指派给管芯102。功耗目标为管芯102的热设计功耗值。热设计功耗(TDP)也称为热设计功耗值,其表示计算机中的冷却系统能够消耗的最大功耗量。例如,膝上型处理器的冷却系统可被设计为20瓦TDP。因此,确定了冷却系统能够消耗20瓦而不超过处理器内的晶体管的最大结温。在一个实施方案中,在管芯102的硅前模型上执行的功耗模型可执行功耗测量。随后,在设计周期中,可在检测阶段和调适阶段期间对实际制造的硅片执行功耗测量。管芯102的峰值功耗值可通过在核心上执行高功耗病毒应用的管芯102的功能故障来界定。高功耗病毒应用的非额定形式可用于设定管芯102的热设计功耗(TDP)。此非额定代码及其对应的功耗可用于设定每个计算单元120的工作电压和频率,以用于重新分级目的。功耗管理单元130可将用于管芯102的功耗信用的总数与管芯102的给定TDP值相关联。功耗管理单元130可向每个计算单元120分配单独的给定数量的功耗信用。关联的功耗信用的总和等于用于管芯102的功耗信用的总数。功耗管理单元130可被配置来随时间调整用于每个计算单元120的功耗信用的数量。这些调整可基于从每个计算单元120向功耗管理单元130传递的功耗配置文件。例如,每个计算单元120可确定每个给定的时间间隔期间的相应功耗数。可利用多种技术中的任何一种来确定给定计算单元的功耗,下文将进一步讨论这些技术。在一些实施方案中,给定的计算单元可利用置于管芯102的各部分的对应于给定的计算单元120的模拟或数字热传感器。热传感器提供关于管芯何时由于增加的计算活动而在特定区域中变热的信息。然而,这些传感器对每个热变化作出响应,不论变化是由给定的计算单元120中功耗的计算相关的提升还是由外部环境因素(如环境温度的升高)而驱动。即使当给定计算单元内切换电容的量在时间间隔内未发生变化时,传感器也可以报告由于环境温度升高而造成的更高的热状况。此外,通常在功耗的计算相关的提升和温度提高之间存在时间延迟。因此,热传感器可能不是功耗的准确测量仪器。在各种实施方案中,给定的计算单元120可利用电流传感器。在一些实施方案中,此类电流传感器可测量单元内的电路获取的电流量,但可以具有与读数相关的相对较大的不准确性。此外,这些传感器可报告一组多个核心或逻辑块而不是每个个体组件的电流使用情况。因此,可能难以得知的是,组件之中的任何一个和哪一个是否已进入功耗的计算相关的提升。在其它实施方案中,给定的计算单元可采集一定数量的预先选择的信号样本并从采样的信号来确定功耗使用值。在特定时钟周期期间选择哪些信号来采样可对应于该选择与给定的计算单元120内切换节点电容的量相关的程度。例如,在一个实施方案中,路由到本地时钟分布块的时钟启用信号可为被选择来采样和提供可靠且准确的功耗使用值的信号。可在每个给定的间歇周期期间获取对应于采样的信号的采样的数据点。要使用的间歇周期的数目的确定可取决于所需的准确度和对采样的数据的信任程度。可使用应用的真实功耗和从采样估计的功耗的统计分析和测量值来产生电子数据表或查找表。可选择信任级别和误码率来进一步发展统计分析。实时功耗估计方法的实例包括于2008年4月11日提交的序列号为 12/101,598、标题为 “Sampling Chip Activity for Real Time PowerEstimation”的申请,该申请的全部内容通过引用方式并入本文。当给定的计算单元120确定对应的功耗使用值时,该值被传递到功耗管理单元130。该值可通过上述方法中的任何一种或任何其它可用的方法来确定。功耗管理单元130可具有响应于接收到功耗使用值而改变分配给每个计算单元120的功耗信用的数量的能力。在一个实施方案中,热信用的值可表示为在模拟和测试期间确定的给定单位的值。例如,如果管芯102包括三个计算单元120且每个计算单元在高工作负载期间产生相似的热能量,则每个计算单元可具有分配的十个热功耗信用。与上述实例相对,三个计算单元可在高工作负载期间产生不同的热能级别。在高工作负载下,第一计算单元可产生第三计算单元产生的热能的三倍。第二计算单元在高工作负载下可产生第三计算单元产生的热能的两倍。因此,功耗管理单元130可最初将15个热功耗信用指派(或“分配”)给第一计算单元,将10个热功耗信用指派(或“分配”)给第二计算单元,并将5个热功耗信用指派(或“分配”)给第三计算单元。或者,功耗管理单元130可将单独的TDP值指派给每个计算单元,其中每个计算单元120在对应的指派的TDP值下并发地操作使得管芯102的热能达到但不超过其被给定的总体TDP值。当给定的计算单元不具有高或中等的工作负载时,其活动级别可降低到给定的阈值之下。相应地,其测量的功耗使用值也下降。所导致的下降的功耗使用值被传递至功耗管理单元130。响应于降低的功耗使用值,功耗管理单元130可重新分发管芯102的功耗信用。例如,功耗管理单元130可将确定的不活动的计算单元的功耗信用借给被确定为高度活动的计算单元。在一个实施方案中,功耗管理单元130可提高高度活动的计算单元的TDP,从而促使该单元维持或甚至提高其高的活动级别。此高度活动的计算单元产生的额外的热能可在管芯的体硅之间、在管芯的背面上的金属之间、通过散热片以及通过由系统风扇冷却的周围环境消散。相对不活动的计算单元有助于额外产生的热能的消散,从而允许高度活动的计算单元维持高性能。将现代微处理器内的核心作为计算单元120的实例,这些核心允许有关其工作模式的灵活性。可在核心处理工作负载(软件应用的指令)时实时选择工作频率和工作电压的组合。此实时调整的原因是试图在限制功耗的同时维持高性能,对于每一代的微处理器,功耗是越来越高的。诸如现代的互补金属氧化物半导体(CMOS)芯片的集成电路(IC)的功耗与表达式afCV2成比例。符号α为切换因子,或节点在时钟周期期间充电或放电的可能性。符号f为芯片的工作频率。符号C为将在时钟周期中被充电或放电的等效电容或切换电容。符号V为芯片的工作电压。为了降低芯片的功耗并减少晶体管内的静电场,可在工作期间降低电源电压V。然而,对电源电压的降低有限制。该降低减少了可流经晶体管的电流的量,且因此增大了通过晶体管的传播延迟。如果降低阈值电压以便更早地打开晶体管并用于维持性能,则晶体管泄漏电流增加。晶体管泄漏电流增加使功耗和逻辑故障的可能性都增加了。 除了实时调整工作电压以尝试降低功耗之外,也考虑功耗表达式中的其它因素。例如,每一代核心上装置和金属线的几何尺寸都在减小。超标量体系结构的设计增加了具有多个管线、更大的高速缓存以及更复杂的逻辑的管芯上集成电路的密度。因此,可每时钟周期切换的节点的数量显著增加了。工作频率也已随着每一代而提高。可通过在非使用时段期间对芯片中的某些块或单元禁用时钟信号来降低针对这些区域的切换因子α。因此,虽然可调整工作电压和切换因子以使其随着每一代IC下降,但IC功耗表达式中的其它项增大了并造成功耗的总体增加。对于此功耗增加,一些解决方案包括微体系结构和电路级技术。用于平衡功耗和性能的微体系结构和电路级设计技术借助于实时估计功耗的尝试。前文描述了用于实时估计功耗的某些方法。运行应用时,如果计算单元120内的核心的实时功耗不但已知(或已被估计)而且已传递到功耗管理单元130,则在一个实施方案中,功耗管理单元130可从几个给定的离散的P状态中选择一个离散的功耗性能状态(P状态)。选定的P状态可介于最闻性能状态和最低功耗状态之间。最闻性能状态包括最闻工作频率,而最低功耗状态包括最低工作频率。中间的离散的功耗性能状态(P状态)包括工作频率和工作电压的组合的给定标度值。下文提供了在P状态之间过渡的说明。应注意,计算单元120中的一个或多个可能不测量活动级别或功耗估计。因此,这些计算单元不向功耗管理单元130报告对应的值。然而,如果两个或更多个计算单元测量并向计算单元报告这些值,则功耗管理单元被配置来在管芯102的计算单元之间转移功耗。现在转到图2,示出了半导体芯片的功耗性能状态过渡200的一个实施方案。在示意图中示出了两个曲线,其表示功率与电压和频率与电压之间的非线性(三次或二次方)关系。在示意图中示出了标示为PO至P4的五个离散的功耗性能状态(P状态)。为简化示意图,示出了少量的离散P状态。尽管只示出了五个离散的P状态,应知晓可支持另一些数目的离散P状态。在示出的示意图中,P状态P4可对应于所有支持的离散状态中具有最低性能的离散状态,并包括最低的工作频率。此外,P状态P4可对应于所有支持的离散状态中具有最低功耗的离散状态,并包括最低的工作功耗。另一方面,P状态Ptl可对应于所有支持的离散状态中具有最高性能的离散状态,并包括最高的工作频率。此外,P状态Ptl可对应于所有支持的离散状态中具有最高功耗的离散状态,并包括最高的工作电压。通常,由P状态Ptl和P4表示的端点离散状态界定可估计的性能的区域。因此,配置处理器来支持沿非线性的频率与电压曲线的多个P状态或工作点可提供稳定、最优的半导体芯片(如处理器)的功耗利用和性能交付。P状态的管理可遵循行业标准,如高级配置和电源接口(ACPI),其最初由IntelCorp. , Microsoft Corp.,和 Toshiba Corp.,开发,但现在开发也包括 Hewlett-PackardCorp.和Phoenix Corp.。该标准最近一次于2010年4月5日发布为Revision4. Oa(修订版 4. Oa)。如图所示,可为芯片选择功耗目标i,其中功耗目标i表示芯片的TDP的初始值。如前文所述,热设计功耗(TDP)可表示在不超过芯片内的晶体管的最大结温的情况下冷却系统可以消耗的功耗的量。图2中的值功耗目S1可表示当前指派的TDP值。如图2所示,功耗目S1对应于功率与电压非线性曲线上的数据点A。数据点A对应于工作电压V2。将数据点A相对于工作电压V2投影到非线性频率与电压曲线上提供数据点A’。数据点A’对应于工作频率F2。由工作电压V2和工作频率F2的组合表示的工作点可提供芯片的最优的功耗利用和性能交付。如上文所述且如图所示,数据点A’识别功耗目标i的工作点。然而,功率与频率曲线上的离散P状态不表示该工作点。数据点A’位于P状态P1和P2之间。为了降低功耗,可选择P状态P2作为对应芯片的初始工作点。工作电压V1和工作频率F1的对应组合可为得到的所选的工作点。诸如处理器的芯片可继续利用初始指派的P状态来处理工作负载直至下列情况之一发生(i)工作负载显著变化,从而使报告的活动级别明显变化;(i i)功耗跟踪值达到给定的阈值初始TDP值发生变化,从而改变了如图所示的功耗目标值。例如,如果处理器在执行促使随时间推移一致的活动级别的工作负载的指令,则工作负载的累积作用可导致处理器内的功耗检测系统达到给定的高阈值。该阈值可指示处理器在产生显著的热量并且应降低功耗。在一个实施方案中,可位于处理器内的功耗管理器可检测此状况并相应地选择对应于低功耗性能工作点的不同的P状态。P状态的“缩减”包括将当前选择的P状态降低一个P状态至更低的功耗P状态。相比之下,P状态的“提升”包括将当前选择的P状态提高一个P状态至更高的性能P状态。缩减P状态P2包括将当前选择的P状态P2过渡到更低的功耗性能状态P3。图2示出了提升和缩减给定的P状态(如以P状态P2为例)的简单图示。在一些实施方案中,每个提升操作和每个缩减操作可促使将当前选择的P状态过渡两个或更多个P状态(如果逻辑支持此增加的复杂性的话)。P状态过渡可由处理器内的逻辑控制,且因此是独立的系统。然而,诸如功耗管理单元130的外部单元可基于来自管芯102上的每个计算单元120的功耗反馈来改变处理器的TDP值,从而改变图中的功耗目标值。继续P状态的过渡,在接收到来自计算单元120的功耗估计之后,功耗管理单元130可将诸如新的TDP值的参数传递到计算单元120。新的TDP值可对应于新的分配的功耗信用的数量。可向相对不活动的计算单元分配少于其被分配的信用的当前值的功耗信用。基本上,相对不活动的计算单元捐助信用。相反,高度活动的计算单元可被分配多于其被分配的信用的当前值的功耗信用。基本上,高度活动的计算单元接收捐助的功耗信用。在从功耗管理单元130接收到新的TDP值之后,每个计算单元120可相应地选择新的对应P状态。在一个实施方案中,选择可包括选择给定数量的支持的离散P状态中的任何一个。在另一实施方案中,选择可包括确定是提升、缩减还是维持当前选择的P状态。在一个实施方案中,给定的计算单元可在每个给定的时间间隔结束时捕获测量的活动级别。测量的活动级别可对应于与被选择来在时间间隔期间采样的给定信号相关的值。例如,在一个实施方案中,路由到本地时钟分配块的时钟启用信号可为被选择来采样的信号。对在特定时钟周期期间采样哪些信号的选择可对应于该选择与切换节点电容的量相关的程度。在给定的时间间隔期间可获取多个采样。在计算活动级别前对要使用的间歇时钟周期的数目的确定可取决于采样数据所需的准确度和信任度。可使用应用的真实功耗和从采样估计的功耗的统计分析和测量值来产生电子数据表或查找表。可选择信任级别和误码率来进一步发展统计分析。实时功耗估计方法的一个实例包括于2008年4月11日提交的序列号为 12/101,598、标题为 “Sampling Chip Activity for Real Time PowerEstimation” 的申请。在一个实施方案中,在给定的时间间隔结束时,给定的计算单元可计算测量的活动级别和功耗目标之间的签名运行累积差异。另外,功耗目标可为热设计功耗值(TDP)。可在每个给定的时间间隔结束时将累积差异计算为AccTdpDeIta=AccTdpDeIta+ (TDP -RcvdActLeve 1+de-rated BrrwValue)。在这里,变量AccTdpDelta为签名的运行累积差异。变量TDP为指派的热设计功耗,或等量的功耗信用。变量RcvdActLevel为在计算单元的功能块中从采样的信号确定的活动级别。变量de-rated BrrwValue为如功耗管理单元所确定的允许计算单元借调的功耗信用的数量的非额定值。此功耗信用的数量的降低额定值是基于至少借调功耗信用的计算单元的活动级别。随后更详细地描述该过程。或者,功耗管理单元可发送新的TDP值至计算单元,而不是上面讨论的值de-rated BrrwValue。新的TDP值可结合计算单元的初始TDP值和允许计算单元借调的功耗信用的数量的非额定值。因此,功耗管理单元可发送值TDPli且可在每个给定的时间间隔结束时将累积差异计算为AccTdpDelta=AccTdpDelta+(TDP新-RcvdActLevel)。如果由变量RcvdActLevel表示的测量的活动级别高于TDP (或TDP新),则累积的值AccTdpDelta向负值漂移。如果测量的活动级别低于TDP,则累积的值AccTdpDelta向正值漂移。当累积的值达到正的给定阈值时,计算单元可决定缩减当前的P状态。当累积的值达到负的给定阈值时,计算单元可决定提升当前的P状态。现在参照图3,示出了半导体芯片的功耗性能状态过渡300的另一实施方案。与图2所示的示意图类似,两条非线性的曲线表明了对于芯片的功率与电压和频率与电压之间的关系。图中示出了相同的五个离散功耗性能状态(P状态),其标示为PO至P4。继续上述关于图2的实例,功耗管理单元130可基于来自管芯102上的每个计算单元120的功耗估计确定一个或多个计算单元的TDP值。例如,对于给定的计算单元,可将当前的TDP值增加到更高的TDP值,其中该给定的单元将接收到从不同的不活动的计算单元捐助的功耗信用。TDP的增加被示为新的功耗目标2,其具有比当前的功耗目标i更高的值。如图3所示,功耗目标2对应于功率与电压非线性曲线上的数据点B。数据点B对应于工作电压v4。对于工作电压V4将数据点B投影到非线性频率与电压曲线上提供数据点B’。数据点B’对应于工作频率F4。由工作电压V4和工作频率F4的组合表示的工作点可提供对于芯片的最佳功耗利用和性能交付。由工作电压V4和工作频率F4的组合表示的工作点可能不被功率与频率曲线上的离散P状态支持。数据点B’位于P状态Pc^PP1之间。为了降低功耗,可选择P状态Pdt为对应的芯片的新的工作点。工作电压`V3和工作频率F3的对应组合可为得到的所选工作点。应注意,可以使用某些条件来确定计算单元的活动级别之外的功耗目标2的值。例如,稳压器能够提供峰值电流,其大于热设计电流(TDC)。然而,TDC为对于给定的正常到高工作状态提供的电流的量。用于TDC值的设计约束也可以最小化平台成本。当在没有事先检查的情况下捐助功耗信用给给定的计算单元并将功耗目标i提高到功耗目标2时,TDC的值可能不足以支持给定的计算单元的增加的活动。尽管芯片上的性能可通过允许计算单元之间的功耗转移来提高,但更改稳压器以支持更高的TDC的成本也是可观的。因此,在将新的TDP值(直接或经由一定数量的功耗信用)分配给计算单元120之前,功耗管理单元130可执行检查。这些检查可确定没有计算单元将取得比相应的稳压器的对应TDC表示的量更多的电流。针对可能被提高的TDP值所影响的设计约束的其它检查也是可能的且被构想。应注意,对于捐助功耗信用的计算单元也存在如上述的类似讨论。在这种情况下,可表示为功耗目标3 (未示出)的由功耗管理单元指派的新的TDP值具有比功耗目标i低的值。用来找到所得工作点的步骤将按照上述的步骤。在功耗管理单元130再次在给定的时间间隔接收到来自计算单元120的新的功耗估计并确定新的TDP值之后,可重复上述的过程。当确定新的TDP值和/或对应的功耗信用时,功耗管理单元可将指派给接收计算单元的最终值基于每个计算单元的活动级别。现在参照图4,示出了功耗借调降低额定值表400的一个实施方案。计算单元可向功耗管理单元报告活动级别。或者,计算单元可报告测量的功耗估计(以瓦或内部测量单位为单位)、温度测量值、电流获取测量值等。每种选择包括设计者可在管芯102的设计期间构想的对成本和报告准确度的权衡。对于本讨论,活动级别用来描述选择功耗借调值,尽管其它测量值也是可能的且被构想。在表400的一列中,存储了活动级别的范围。来自给定的计算单元的报告的活动级别可用来给该表编索引和选择表内的行。在所示实施方案中,将接收到的活动级别与三个阈值相比较。尽管表400中示出了三个阈值,但选择或多或少的阈值也是可能的且被构想。表400中的第二列存储给定的功耗借调值的值。功耗借调值基于报告的活动级别和阈值的比较。给定的功耗借调值可表示为功耗信用,即与TDP值相关的瓦数或以其它方式。功耗借调值可基于TDP值和被确定为相对不活动的捐助计算单元的活动级别。在一个实施方案中,计算单元可基于该计算单元否则可被授权来使用或可能使用而当前未使用的电量来使给定的功耗借调值可用于捐助。可如上面所讨论的那样报告或估计给定的计算单元的功耗。或者,可使用类似于表400的表来基于与两个或更多个阈值相比较的接收单元的活动级别的比较确定从计算单元捐助的非额定功耗值。此外,功耗管理单元130可具有带有针对管芯102上的每个计算单元的对应列的一个大表。此大表可被配置来跟踪每个计算单元的报告的活动级别、将报告的活动级别与对应的阈值进行比较、确定哪些计算单元能够捐助功耗信用、确定每个有资格的捐助计算单元能够捐助的功耗信用的量、确定哪些计算单元能够接收功耗信用以及确定每个有资格的接收计算单元能够接收的功耗信用的量。可通过设计权衡(如至少被分配用于确定的总时间和管芯上用于存储该信息的和用于组合逻辑的区域)来确定表的复杂度和细节粒度。应注意,每个有资格的接收计算单元能够接收的功耗信用的量可取决于发热限制和电气限制。例如,如前文所述的额定的热设计功耗值(TDP)可设定发热限制。如前文所述的对应的稳压器的额定热设计电流(TDC)可设定电气限制。再次,在将新的TDP值(直接或经由一定数量的功耗信用)分配至计算单元120之前,功耗管理单元130可执行检查。这些检查可确定接收功耗信用的计算单元将不获取比相应的稳压器的对应TDC表示的量更多的电流。针对可能被提高的TDP值所影响的设计约束的其它检查也是可能的且被构想。这些检查可设定存储在表400中的值。现在转到图5,示出了对应于功耗管理系统的测量的电气特征500的一个实施方案。应注意,所示的值不意图精确。相反,提供图5中的图表是为了讨论目的,以便(大体上)示出所示的各个值之间的相对关系。在所示的实例中,描绘了随着时间推移工作电压210和测量的活动级别220的变化。此外,示出了随着时间推移的功耗230。如图5所示,在活动级别经历显著变化时和在活动级别恒定时都可能存在P状态过渡。在图中,P状态过渡与工作电压210的变化相关。图中标出了一些P状态值。例如,在具有恒定的活动级别220的情况下,P状态Pl过渡到P状态P2,其具有更低的工作电压,如图所示。可例如通过P状态过渡来调整功耗230,以便跟踪第一功耗目标(PTl )。在一个实施方案中,芯片可利用P状态抖动来维持对应于功耗目标的虚拟工作点。抖动是一种方法,通过该方法,芯片可在较高和较低的离散P状态之间交替,以便实现对应于该较高和较低的离散P状态之间的中间值的平均值。用于执行抖动的方法和机构在序列号待定(TBD)的申请中被进一步描述,该申请的全文通过引用方式并入本文。在图5中,示出了随着时间推移芯片获取的电流240。对于同一功耗值,电流240随着工作电压的下降而增加(I =Ρ/ν)。此同一功耗值可为随时间推移通过在P状态之间切换而获得的平均值。P状态抖动可用来维持芯片上的平均功耗和功耗目标(如PTl值)之间的接近于一的比率。在一个实施方案中,可选择针对PTl值的热设计功耗值(TDP)。通过维持这样的接近于一的比率,芯片可寻求在仍然消耗期望的电量(如由对应的冷却系统消耗的电量)的同时使性能最大化。然而,即使P状态抖动不发生(例如,在稳定状态提升期间),工作负载变化也可能导致过量的电流被获取,如下文所述。从第一管芯上的组件到第二管芯上的组件的功耗转移可转移一定数量的可用功耗信用,以便提供最大(或提高)的总体芯片性能。在一些实施方案中,第一管芯上的组件可利用第一电压层且因此利用第一稳压器。第二管芯上的组件可利用单独的第二电压层且因此利用单独的第二稳压器。再次参照图3,最大数量的功耗信用可对应于最大的新功耗目标值。相应地,如图3所示,接收第二组件的工作点可增加,其中相比于点A’点B’是更高性能的工作点。新的更高工作点的平均工作电压是转移的功耗和接收第二组件的工作负载的函数。一般来说,转移到给定的接收组件的功耗信用的量可通过用该接收组件的当前活动级别为降低额定值表400编索引来找到。至少接收组件的发热限制和电气限制可用来产生非额定表条目值。例如,给定接收组件可在P状态P4工作,如图3所示。对应P状态P4,工作电压较低。P状态P4可能由于高活动级别已被选择为用于接收组件。相应地,接收组件获取的电流的量较高(I = P/V)且这个量可接近于对应的TDC限制。因此,当接收组件的高活动级别用来为降低额定值表400编索引时,最大功耗借调值可为非额定的(除以4、除以2、设为O)。当接收组件接收到功耗信用的非额定值时,功耗可增加,工作电压可增加,且获取的电流的量可增加。然而,这些增加受接收到的功耗信用的数量的降低额定值的限制。因此,接收组件可不超过对应的TDC限制,因为未转移最大数量的功耗信用。功耗信用的数量的降低额定值可用来防止可能地超过对应的TDC限制。
`
再次参照图5,当如上所述第二组件在功耗转移后在更高的工作点工作时,第二组件的工作负载可在一段时间维持其当前的活动级别。例如,如图5所示,第二组件可正在由PTl标示的工作点工作。工作点PTl可为先前的功耗转移(未示出)之后的新的更高的工作点。第二组件可在此时间段期间在离散的支持的P状态之间抖动,如图5所示。工作电压被示出为抖动发生时过渡。标记了在抖动期间达到的一些P状态值,如P1、P2、P0和P3。在第二组件工作期间,执行软件应用的指令可改变第二组件将执行的操作的类型、可改变第二组件将执行的特定类型的操作的数量、可改变第二组件将执行的操作的总数或可执行这些变化的组合。因此,第二组件的工作负载可随时间推移而改变,与功耗信用的转移无关,但基于执行的软件应用。如图5所示,活动级别开始于第一级别并在第一段时间内维持该第一级别。之后,活动级别下降到新的级别并在第二时间段内维持该新的更低的级别。接下来,活动级别上升到新的提高的级别。增加的工作负载而不是降低的工作负载可引起设计问题,如接下来进一步所述。继续由于执行的软件应用内的变化而导致的第二组件的增加的工作负载的描述,芯片获取的电流240可增加。芯片获取的电流240的增加可能是由于与更高的工作负载相关的更高的活动级别和更多的切换电容。更高的被第二组件获取的电流240可能违背对应的稳压器的热设计电流(TDC)限制。通常,芯片获取的电流240的量不达到TDC限制。然而,现在第二组件在与工作负载增加之前的较旧且较小的工作负载相关的P状态工作。芯片可进一步尝试维持相同的平均功耗性能级别。随着工作负载增加,芯片获取的电流240的量增加且功耗增加。因此,芯片缩减P状态以降低工作频率和工作电压。如图5所示,工作电压由于P状态随着活动级别上升而缩减而下降。如上文所述,芯片获取的电流240可能超过给定的限制。由于从另一管芯上的芯片或组件接收到捐助的功耗信用,芯片可在更高的性能P状态操作。当芯片在更高的性能P状态操作时,功耗和被获取的电流的量增加。降低额定值表400可用来限制转移的功耗信用的数量。因此,可安全地控制功耗和被获取的电流的量所增加的量。随后,由于应用的新的需求,活动级别可显著增加。在维持相对稳定的功耗的同时工作电压的后续下降可使芯片获取的电流240超过限制。芯片获取的电流240超过限制,如图5所示。在一个实施方案中,电流限制可为对应的稳压器的热设计电流(TDC)。工作电压可在P状态的缩减期间下降,如图2、图3和图5所示。如图5所示,尽管转移功耗信用可产生芯片的总体性能提升,但可执行对特定状况的监视以避免超过设计约束。例如,在给定的组件接收到功耗信用之后,在随后的时间,工作负载可能由于软件应用所导致的变化而发生变化。增加的工作负载可导致给定的组件的功耗表达式中的两项(a、C)增大。众所周知,集成电路的功耗与afCV2成比例,其中a表示切换因子,f表示频率,C表示电容,而V表示电压。一般来说,更高的工作负载使切换因子a和电容C增大。相应地,响应于增加的功耗,给定的组件可开始P状态缩减。通常,若功耗增加到给定的阈值之上,可缩减P状态,以便维持相对稳定的功耗值。P状态缩减又可与工作频率f和工作电压V的下降相关。继续接收功耗信用的给定组件的上述实例,P状态缩减可使给定的组件的上述功耗表达式中的两项(f、V)下降。现在,给定组件获取的电流240由于以下两个原因而增加
(i)切换因子a和等价电容C的增大;以及(ii)工作电压的下降(I = P/V)。芯片获取的电流240的量的增加可能超过TDC限制。图5示出了此情形。因此,为了避免违背TDC限制,可监视并检测此情况。当检测到此情况时,可能发生功耗转移的后续调制。在一个实例中,响应于检测到违背了 TDC限制,可将一部分捐助的功耗信用从第二组件返回到捐助的第一组件。再次参照图3,在一个实施方案中,将一部分捐助的功耗信用返回可导致第三功耗目标,即功耗目标3 (未示出),其位于图中的功耗目S1和功耗目标2之间。在确定从第一组件向第二组件捐助的功耗信用的数量期间,可使用允许的最大数量的可用功耗信用。然而,随后的监视可能显示部分或所有捐出的功耗信用的后续返回可在接收第二组件上的更高的功耗工作负载使被获取的电流240的平均值超过诸如对应的TDC限制的限制时发生。可通过新的且更低的第二功耗目标(PT2)示出捐助的功耗信用的部分或全部的后续返回。如图5所示,芯片获取的电流240的量在返回部分或全部捐助的功耗信用后不超过TDC限制。现在参照图6,示出了功耗管理单元130的一个实施方案。输入/输出(I/O)接口 550可与管芯102上的每个计算单元120通信。当报告了新的活动级别时,可更新功耗转移表500内的条目510。表500可包括针对管芯102上的每个计算单元120的单独的条目510。每个条目510可包括几个字段,如图5所示。计算单元标识符(ID)字段520可标识管芯102上的哪个计算单元120对应于特定条目510。初始TDP值字段522可存储对于相应的计算单元额定的对应的TDP值。当前TDP值字段524可存储相应的计算单元的当前TDP值。由于管芯上的功耗转移,存储在字段524中的当前TDP值可不同于存储在字段522中的初始TDP值。或者,表500可存储表示字段522和524中的功耗信用的对应的值。表500中的字段526和528可存储对应的计算单元是接收功耗信用还是捐助功耗信用的指示。此外,这些字段可存储被接收或捐助的对应的功耗信用的数量。表500中的字段530和532可分别存储对应于低和高使用率的一个或多个阈值。可将这些阈值与可存储在表500的字段534中的报告的活动级别值比较。在每个给定的时间间隔,可将活动级别报告给功耗管理单兀130。表500中的字段536可存储针对接收和捐助功耗信用的优先级值。例如,第一计算单元被检测到能够捐助3个功耗信用。第二和第三计算单元各可以接收2个功耗信用。优先级方案可用来确定是第二计算单元还是第三计算单元仅接收一个热信用。类似的优先级方案可用来确定多个计算单元中的每个可如何捐助功耗信用。表500中的字段538可存储针对每个管芯上的稳压器的TDC限制。可将存储的TDC值与从每个稳压器获取的电流的估计值比较。在一个实施方案中,每个稳压器内的管芯上的电流传感器可向功耗管理单兀130提供获取的电流的估计值。在另一实施方案中,每个管芯上的计算单元可提供获取的电流的估计值。当任何测量的估计值超过对应的存储的TDC限制时,功耗管理单元130可调整功耗信用向管芯上的计算单元的分配。功耗信用的重新分配可减少违背限制的计算单元的电流消耗。例如,计算单元可能已接收捐助的功耗信用。后来,可能更高的功耗工作负载在计算单元上运行,导致平均被获取的电流超过对应的TDC限制。当功耗管理单元130检测到该超出的状况时,可将部分或全部被捐助的功耗信用返回给捐助计算单元。尽管以该特定的顺序示出了字段520 - 538,但其它组合也是可能的,并且其它或额外的字段也可被利用。存储字段520 - 538的信息的位可以是连续的,也可以不是连续的。电路540可包括用来执行比较操作(如比较报告的活动级别与对应的阈值)的逻辑。另夕卜,电路540可确定用于捐助的热信用量并确定如何分配可用的功耗信用。此外,电路540可监视每个计算单元的状态并确定何时捐助计算单元应当具有返回的功耗信用以及选择哪个或哪些接收计算单元来返回功耗信用。现在转到图7,示出了用于管芯上的有效功耗转移的方法600的一个实施方案。为了讨论目的,按顺序示出了此实施方案和随后描述的方法的后续实施方案中的步骤。然而,某些步骤可以不同于所示顺序的顺序发生,某些步骤可并发地执行,某些步骤可与其它步骤组合,并且某些步骤在另一实施方案中可能不存在。在块602中,一个或多个软件应用在包括一个或多个计算单元的管芯上执行。在一个实施方案中,功耗管理单元监视管芯上的计算单元的电气特征。例如,可向功耗管理单元报告活动级别、获取的电流的量等。可将这些值与表(如图6中所示的表500)中存储的对应值比较。每个计算单元可测量相应的活动级别。这些活动级别可报告给控制单元,如功耗管理单元。另外,每个计算单元可测量或估计从对应的稳压器获取的电流的量。或者,外部电流传感器可测量获取的电流的量。对于每个计算单元,可将获取的电流的量的值传递到功耗管理单元,以用于以后的比较。再次参照图5,给定的计算单元获取的电流240的平均值可能在如下情况下超过TDC限制(i)当该计算单元接收到将对应的P状态改变为更高的性能P状态的功耗信用时;和/或(ii)当该计算单元后来接收到更高的功耗工作负载时。如果功耗管理单元检测到一个或多个计算单元获取大于对应的限制(如TDC限制)的电流(条件块604),则在块606中,功耗管理单元可将相应数量的功耗信用从每个违背限制的计算单元返回给一个或多个先前的捐助计算单元。再次,诸如图6中所示的表500的表可用于确定转移的功耗信用的量。或者,功耗管理单元可包括确定可将从违背限制的计算单元移除的功耗信用传递给可能仍然为不活动的先前的捐助计算单元之外的其它有资格的活动计算单元的逻辑。例如,其它有资格的计算单元可能正对工作负载进行操作,而捐助计算单元可能仍然空闲。功耗管理单元130可利用表500和电路540来管理在管芯上的计算单元间的功耗信用的分配的记录保留。如果功耗管理单元检测到管芯上的(接收)计算单元具有低于给定的阈值的活动级别(条件块608),则在块610中,功耗管理单元将相应数量的功耗信用从捐助计算单元转移到该接收计算单元。确定捐助的功耗信用的量可包括利用如前文所述的表。例如,可使用图6中所不的表(如表500)。如果管芯已重新指派功耗信用且功耗管理单元检测到捐助计算单元大致上提高了其活动级别(条件块612)或以其它方式需要额外的功耗,则在块614中,功耗管理单元可在管芯上的计算单元间重新分配功耗信用。功耗管理单元可监视捐助计算单元(如通过表),以确定先前低于相应的阈值的捐助计算单元的相应活动级别现在是否高于阈值。如果相应的活动级别已上升到阈值之上,则功耗管理单元可将相应数量的功耗信用从每个先前的接收计算单元转移到先前的捐助计算单元。可使用表来确定转移的功耗信用的量。现在参照图8,示出了示例性处理器700的一个实施方案。处理器700可包括存储器控制器122 ;接口逻辑140 ;—个或多个处理单元115,其可包括一个或多个处理器核心112和对应的高速缓冲存储器子系统114 ;包处理逻辑116 ;以及共享高速缓冲存储器子系统118。另外,处理器700可包括一个或多个图形处理单元(GPU) 170。GPU170可包括具有并行体系结构的处理器核心172,如单指令多数据(SMD)核心。SMD核心的实例包括图形处理单元(GPU)、数字信号处理(DSP)核心等。在一个实施方案中,GPU170可包括一个或多个图形处理器核心172和数据存储缓冲器174。GPU可为用于个人计算机、工作站或视频游戏控制台的专用图形绘制装置。在一个实施方案中,图示的处理器700的功能包括在单个管芯上的单个集成电路上。处理器核心112包括用于根据预定义的指令集执行指令的电路。例如,可选择 SPARC {g 指令集体系结构(ISA)。或者,可选择 x86、x86_64 、Alpha 、PowerPC 、MIPS 、PA-RISC(f或任何其它指令集体系结构。通常,处理器核心112分别为了数据和指令而访问高速缓冲存储器子系统114。如果在高速缓冲存储器子系统114或共享高速缓冲存储器子系统118中找不到所请求的块,则可产生读请求并将其传输到缺少的块映射到的节点内的存储器控制器。现代的GPU170在操纵和显示计算机图形方面非常有效,并且高度并行的结构使其对于一些复杂算法比通用中央处理单元(CPU)(如处理单元115)更有效。GPU通常执行对于图形和视频所需的计算,而CPU执行用于比单独的图形多得多的系统进程的计算。常规的GPU 170使用非常宽的单指令多数据(SIMD)体系结构来实现图像绘制应用中的高吞吐量。此类应用通常需要对大量对象(顶点或像素)执行相同的程序,如顶点着色器或像素着色器。由于对每个对象的处理独立于其它对象,而使用相同的操作序列,SMD体系结构提供可观的性能增强。在一个实施方案中,CPU 115和GPU 170可为不同设计中心的专属核心。此外,GPU170可现在能够经由存储器控制器122直接访问本地存储器114和118以及主存储器,而不是经由接口 140在芯片外执行存储器访问。该实施方案可降低GPU 170的存储器访问的延时,从而可转化为更高的性能。继续描述处理器700的组件,高速缓存子系统114和118可包括被配置来存储数据块的高速缓冲存储器。高速缓冲存储器子系统114可集成在相应的处理器核心112内。或者,高速缓冲存储器子系统114可根据需要耦接到后端高速缓存配置或内联配置中的处理器核心114。更进一步地,高速缓冲存储器子系统114可实现为高速缓存的层级结构。如果需要的话,(层级结构内)位置更接近于处理器核心112的高速缓存可集成到处理器核心112中。在一个实施方案中,每个高速缓冲存储器子系统114表示二级(L2)高速缓存结构,而共享高速缓存子系统118表示三级(L3)高速缓存结构。高速缓冲存储器子系统114和共享高速缓冲存储器子系统118均可包括耦接到对应的高速缓存控制器的高速缓冲存储器。通常,包处理逻辑116被配置来对在处理节点110耦合到的链路上接收到的控制包进行响应、响应于处理器核心112和/或高速缓冲存储器子系统114而产生控制包、响应于存储器控制器120为服务选择的事务而产生探查命令和响应包以及通过接口逻辑140将包路由至其它节点(其中对于所述包来说节点110为中间节点)。接口逻辑140可包括用来接收包并将包同步到包处理逻辑116所使用的内部时钟的逻辑。如图8所示,CPU 115共享同一稳压器110a。或者,一个或多个CPU 115可耦接到单独的稳压器。GPU 170耦接到CPU 115的单独的稳压器110d。每个CPU 115内的每个核心112和GPU 170内的每个核心172可监视并测量对应的活动级别。每个CPU 115和GPU170可将相应的活动级别聚合并向功耗管理单元130报告结果。该报告可在每个给定的时间间隔结束时发生。功耗管理单元130可确定使用前述方法在CPU 115和GPU 170之间转移功耗。应注意,以上描述的实施方案可包括软件。在这样的一个实施方案中,实现上述方法和/或机构的程序指令可借助于计算机可读介质来转移或存储。被配置来存储程序指令的各种类型的介质可用且包括硬盘、软盘、⑶_R0M、DVD、闪存、可编程ROM (PR0M)、随机存取存储器(RAM)以及各种其它形式的易失性或非易失性存储器。一般来说,计算机可访问的存储介质可包括计算机在使用期间可访问以向计算机提供指令和/或数据的任何存储介质。例如,计算机可访问的存储介质可包括诸如磁或光学介质的存储介质,如磁盘(固定或可移动)、磁带、CD-ROM 或 DVD-ROM、CD-R、CD-RW、DVD-R、DVD-Rff 或蓝光(Blu-Ray)。存储介质可进一步包括易失性或非易失性存储介质,如RAM (例如同步动态RAM (SDRAM)、双数据速率(DDR、DDR2、DDR3 等)SDRAM、低功耗 DDR (LPDDR2 等)SDRAM、存储器总线 DRAM (RDRAM)、静态RAM (SRAM)等)、ROM、闪存、可通过外围设备接口(如通用串行总线(USB)接口)访问的非易失性存储器(例如闪存)等。存储介质可包括微机电系统(MEMS)以及可通过诸如网络和/或无线链路的通信介质访问的存储介质。另外,程序指令可包括以高级别编程语言(如C或诸如Verilog、VHDL或数据库格式(如⑶S II流格式(⑶SII))的设计语言(HDL))的硬件功能的行为级描述或寄存器传送级(RTL)描述。在一些情况下,描述可由可综合描述以产生包括来自综合库的门的列表的网表的综合工具来读取。网表包括也表示包括系统的硬件的功能的一组门。从而,可以将网表放置并路由以产生描述将应用到掩膜的几何形状的数据集合。然后,可在各种半导体制造步骤中使用掩膜来产生对应于上述系统的半导体电路。或者,根据需要,计算机可访问的存储介质上的指令可为网表(带有或不带有综合库)或数据集合。另外,可将指令用于仿真目的。仿真可通过来自Cadence 、EVE 和Mentor Graphics⑧等供应商的基于硬件类型的仿真器来实现。尽管已相当详细地描述了上述实施方案,但一旦上述公开被完全理解,各种变化和修改对于本领域的技术人员将变得显而易见。旨在使以下权利要求书被解释为包括所有的此类变化和修改。
权利要求
1.一种微处理器,其包括 至少一个第一计算单元(CU)和第二 CU,每个CU均被指派了相应的初始数量的功耗信用;以及 功耗管理器; 其中,响应于检测到所述第一 CU获取的电流量超过给定的电流限制,所述功耗管理器被配置来减少当前分配给所述第一 CU的功耗信用的数量。
2.如权利要求1所述的微处理器,其中所述当前分配给所述第一CU的功耗信用的数量超过分配给所述第一 CU的初始功耗信用数量给定数量的功耗信用,所述给定数量的功耗信用已从所述第二 CU借调过来。
3.如权利要求1所述的微处理器,其中所述给定的电流限制为所述第一CU利用的稳压器的热设计电流(TDC)值。
4.如权利要求2所述的微处理器,其中所述功耗管理器被配置来将所述给定数量的功耗信用返回给所述第二 CU,以便减少当前分配给所述第一 CU的功耗信用的数量。
5.如权利要求1所述的微处理器,其中所述第一⑶被配置来 在具有从所述第二 CU借调过来的功耗信用的情况下,以比不具有从所述第二 CU借调过来的功耗信用的情况下更高的功耗性能状态(P状态)操作;以及 通过在至少两个不同的工作电压之间交替维持所述更高的P状态,而不管变化的工作负载。
6.如权利要求1所述的微处理器,其中所述当前分配给所述第一CU的功耗信用的数量超过分配给所述第一 CU的初始功耗信用的数量从所述第二 CU借调过来的一定数量的功耗信用,且其中响应于检测到所述第一 CU获取的电流的量超过所述限制,所述功耗管理器被配置来将少于从所述第二 CU借调过来的全部功耗信用的功耗信用量返回给所述第二 CU。
7.如权利要求4所述的微处理器,其中响应于检测到所述第二CU的活动级别低于给定的阈值,所述功耗管理器还被配置来 至少部分基于所述第一 CU的活动级别来确定捐助给所述第一 CU的功耗信用的数量;以及 从所述第二 CU借调相应数量的功耗信用来供所述第一 CU使用。
8.如权利要求7所述的微处理器,其中响应于检测到所述第二CU的活动级别已上升到高于给定的阈值,所述功耗管理器还被配置来 至少部分基于所述第二 CU的活动级别来确定要返回给所述第二 CU的用于所述第一 CU的功耗信用的数量;以及 促使所述第一 CU将先前借调的功耗信用返回给所述第二 CU。
9.一种用于管芯上的有效功耗转移的方法,所述方法包括 测量第一计算单元(CU)和第二 CU中的至少一个的活动级别,每个CU均被指派了相应的初始数量的功耗信用; 响应于检测到给定的所述第一 CU获取的电流的量超过给定的电流限制,减少当前分配给所述第一 CU的功耗信用的数量。
10.如权利要求9所述的方法,其中所述当前分配给所述第一CU的功耗信用的数量超过分配给所述第一 CU的初始功耗信用数量给定数量的功耗信用,所述给定数量的功耗信用已从所述第二⑶借调过来。
11.如权利要求9所述的方法,其中所述给定的电流限制为所述第一CU利用的稳压器的热设计电流(TDC)值。
12.如权利要求10所述的方法,其中所述功耗管理器被配置来将所述给定数量的功耗信用返回给所述第二 CU,以便减少当前分配给所述第一 CU的功耗信用的数量。
13.如权利要求12所述的方法,其还包括 以比所述第一 CU仅使用相应的初始数量的功耗信用时所利用的P状态更高的P状态来操作所述第一⑶;以及 通过在至少两个不同的工作电压之间交替来维持所述更高的P状态,而不管变化的工作负载。
14.如权利要求9所述的方法,其中所述当前分配给所述第一CU的功耗信用的数量超过分配给所述第一 CU的初始功耗信用数量从所述第二 CU借调过来的一定数量的功耗信用,且其中响应于检测到所述第一 CU获取的电流的量超过所述限制,所述方法包括将比从所述第二 CU借调过来的全部功耗信用少的功耗信用量返回给所述第二 CU。
15.如权利要求12所述的方法,其中响应于检测到所述第一CU的活动级别低于给定的阈值,所述方法还包括 至少部分基于所述第一 CU的活动级别来确定捐助给所述第一 CU的功耗信用的数量;以及 从所述第二 CU借调相应数量的功耗信用来供所述第一 CU使用。
16.如权利要求15所述的方法,其中响应于检测到所述第二CU的活动级别已上升到高于所述给定的阈值,所述方法还包括 至少部分基于所述第二 CU的活动级别来确定返回给所述第二 CU的用于所述第一 CU的功耗信用的数量;以及 促使所述第一 CU将先前借调的功耗信用返回给所述第二 CU。
17.一种计算机可读存储介质,其存储程序指令,所述指令可操作来有效地在管芯上转移功耗,其中所述程序指令可执行来 测量第一计算单元(⑶)和第二⑶中的至少一个的活动级别,所述第一⑶和所述第二CU各自被指派相应的初始数量的功耗信用; 响应于检测到给定的所述第一 CU获取的电流的量超过给定的电流限制,减少当前分配给所述第一 CU的功耗信用的数量。
18.如权利要求17所述的存储介质,其中所述当前分配给所述第一CU的功耗信用的数量超过分配给所述第一 CU的初始功耗信用的数量给定数量的功耗信用,所述给定数量的功耗信用已从所述第二 CU借调过来。
19.如权利要求18所述的存储介质,其中所述给定的电流限制为所述第一CU利用的稳压器的热设计电流(TDC)值。
20.如权利要求18所述的存储介质,其中所述程序指令还可执行来将所述给定数量的功耗信用返回给所述第二 CU,以便减少当前分配给所述第一 CU的功耗信用的数量。
全文摘要
一种用于管芯上的有效功耗转移的系统和方法。半导体芯片包括位于管芯上的两个或更多个计算单元(CU),其利用至少两个不同的稳压器和功耗管理器。所述功耗管理器在检测到给定CU的活动级别低于给定阈值时在所述管芯上重新分配功耗信用。响应于接收到对应数量的捐助的功耗信用,一个或多个选定CU中的每一个维持具有高性能P状态的高活动级别。当对应的工作负载增加时,通过在至少两个不同的工作电压之间交替,每个CU维持对应于所述高性能P状态的操作和平均功耗。当所述工作电压在交替期间下降时,特定CU所获取的电流可超过给定的电流限制。所述功耗管理器检测该电流限制被超过并相应地在所述管芯上重新分配所述功耗信用。
文档编号G06F1/26GK103069359SQ201180040320
公开日2013年4月24日 申请日期2011年7月14日 优先权日2010年7月21日
发明者塞缪尔·D·纳夫齐格, 塞巴斯蒂安·J·努斯鲍姆 申请人:超威半导体公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1