技术领域
[0001] 本公开通常涉及电子的领域。更特别地,本发明的实施例涉及总平台功率控制。
相关背景技术
[0002] 随着集成电路(IC)制作技术改进,制造商能够将额外的功能性集成到单个硅基底上。然而,随着这些功能性的数量增加,单个IC芯片上的部件的数量也同样增加。额外的部件增加额外的信号转换,进而,生成更多的热量。额外的热量可损害IC芯片,例如,通过热膨胀。而且,额外的热量可限制包含这样的芯片的计算装置的使用位置和/或使用应用。
[0003] 例如,便携式计算装置可仅依靠电池功率用于其操作。因此,随着额外的功能性被集成到便携式计算装置,降低功耗的需要变得日益重要,例如,以便将电池功率维持延长时间段。随着非便携式计算系统的IC部件使用更多的功率并且生成更多的热量,它们也面临冷却和功耗的问题。
具体实施方式
[0008] 在下文的描述中,阐述大量的具体细节以便提供各实施例的透彻理解。然而,可在没有具体细节的情况下实践本发明的各实施例。在其它实例中,没有详细地描述众所周知的方法、过程、部件以及电路以免模糊本发明的特定实施例。另外,可使用各种部件来执行本发明的实施例的各种方面,例如,集成半导体电路(“硬件”)、组织成一个或多个程序(“软件”)的计算机可读指令或硬件和软件的某个组合。为了本公开的目的,对“逻辑”的参考将意味着硬件、软件或其某个组合。
[0009] 对一般的计算性能和特别地turbo性能的主要限制之一是功率递送网络。存在可限制总功耗的功率递送网络的不同层次。目前可通过只控制CPU(中央处理单元)功率并且将固定的预算分配到具有防护频带的平台的其余部分来解决问题。如果防护频带不充分,则这导致非最佳设置或关闭的风险。此外,一些实现可在不同的时间间隔处控制CPU功耗并且可由各种方法来进行功率读取,其中一个方法可以是读取由CPU电压调节器(VR)报告的功耗。因此,这样的实现不完全解决平台级功率控制。
[0010] 通过对比,本文讨论的一些实施例目标为基于各种信息的总平台功耗,例如,包含从平台部件获得的一个或多个输入/读取、控制值(或参数)设置以及控制策略。例如,可通过使用平台功率的远程感测来补充此方法。例如,平台上的(例如,电流)传感器采样电流消耗并且将此信息馈送到CPU VR,从所述CPU VR采样并控制电流消耗。
[0011] 在一实施例中,允许总平台功耗的控制准许使用更小的电源单元、更少的设计防护频带和/或具有系统关闭的降低危险的更鲁棒的系统。这可对于例如一方面的平板计算机、电话以及超级本的小形状因子和在另一个极端的服务器尤其重要。此外,这样的技术可允许台式电源单元的成本降低。
[0012] 此外,一些实施例可被应用在包含一个或多个处理器(例如,具有一个或多个处理器核心)的计算系统中,例如,参考图1-图6讨论的那些。更特别地,图1图示根据本发明的实施例的计算系统100的框图。系统100可包含一个或多个处理器102-1到102-N(本文通常被称作为“处理器102”)。处理器102可经由互连或总线104来通信。每个处理器可包含各种部件,为了清楚,只参考处理器102-1来讨论它们中的一些。因此,剩余的处理器102-2到102-N中的每个可包含参考处理器102-1讨论的相同或类似的部件。
[0013] 在一实施例中,处理器102-1可包含一个或多个处理器核心106-1到106-M(本文被称作为“核心106”)、高速缓冲存储器108和/或路由器110。处理器核心106可实现在单个集成电路(IC)芯片上。此外,芯片可包含一个或多个共享和/或私有高速缓冲存储器(例如,高速缓冲存储器108)、总线或互连(例如,总线或互连112)、图形和/或存储器控制器(例如,参考图4-6讨论的那些)或其它部件。
[0014] 在一个实施例中,路由器110可用来在处理器102-1和/或系统100的各种部件之间通信。此外,处理器102-1可包含多于一个路由器110。此外,大量的路由器110可进行通信来允许在处理器102-1的内部或外部的各种部件之间的数据路由。
[0015] 高速缓冲存储器108可存储由处理器102-1的一个或多个部件(例如,核心106)利用的数据(例如,包含指令)。例如,高速缓冲存储器108可在本地缓存存储在存储器114中的数据,以便由处理器102的部件更快接入(例如,由核心106更快接入)。如在图1中所示,存储器114可经由互连104与处理器102通信。在一实施例中,高速缓冲存储器108(可以是共享的)可以是中级高速缓冲存储器(MLC)、末级高速缓冲存储器(LLC)等。而且,每个核心106可包含1级(L1)高速缓冲存储器(116-1)(本文通常被称作为“L1高速缓冲存储器116”)或其它级别高速缓冲存储器(例如,2级(L2)高速缓冲存储器)。此外,处理器102-1的各种部件可通过总线(例如,总线112)和/或存储器控制器或集线器与高速缓冲存储器
108直接通信。
[0016] 系统100还可包含平台功率源120(例如,直流(DC)功率源或交流(AC)功率源)来将功率提供到系统100的一个或多个部件。在一实施例中,平台功率源120可以是如本文所论述的PSU。在一些实施例中,功率源120可包含一个或多个电池组和/或电源。功率源120可通过电压调节器(VR)130而耦合到系统100的部件。此外,即使图1图示一个功率源120和一个电压调节器130,也可利用额外的功率源和/或电压调节器。例如,处理器102中的一个或多个可具有对应的电压调节器和/或功率源。而且,电压调节器130可经由单个功率平面(例如,将功率供应到所有核心106)或多个功率平面(例如,其中每个功率平面可将功率供应到不同的核心或核心组)而耦合到处理器102。
[0017] 此外,虽然图1将功率源120和电压调节器130图示为分离的部件,但是功率源120和电压调节器130可并入到系统100的其它部件中。例如,VR 130的所有或部分可并入到功率源120和/或处理器102中。
[0018] 如图1所示,处理器102还可包含功率控制逻辑140来控制到处理器102的部件(例如,核心106)的功率的供应。逻辑140可接入本文讨论的一个或多个存储装置(例如,高速缓冲存储器108、L1高速缓冲存储器116、存储器114或系统100中的另一存储器)来存储与逻辑140的操作相关的信息(例如,如此处讨论的与系统100的各种部件传递的信息)。如所示的,逻辑140可耦合到VR 130和/或系统100的其它部件(例如,核心106和/或功率源120)。
[0019] 例如,可耦合逻辑140来接收信息(例如,以一个或多个位或信号的形式)以指示一个或多个传感器150的状态。传感器150可被提供为靠近系统100(或本文讨论的其它计算系统(例如,诸如参考包含图4和图5的其它图讨论的那些))的部件(例如,核心106、互连104或112、在处理器102的外部的部件等),来感测影响系统/平台的功率/热行为的各种因素(例如,温度、操作频率、操作电流、操作电压、功耗和/或核间通信活动等)中的变化。
[0020] 逻辑140可又指导VR 130、功率源120和/或系统100的个别部件(例如核心106)修改它们的操作。例如,逻辑140可指示VR 130和/或功率源120(或PSU)调整它们的输出。在一些实施例中,逻辑140可请求核心106修改它们的操作频率、操作电流、功耗等。而且,即使部件140和150示为包含在处理器102-1中,也可在系统100中的别处提供这些部件。例如,可在VR 130中、在功率源120中、直接耦合到互连104、在处理器102的一个或多个(或备选地所有)内等提供功率控制逻辑140。此外,如图1所示,功率源120和/或电压调节器130可与功率控制逻辑140通信并且报告它们的功率规格。
[0021] 图2图示根据实施例的功率管理系统200的框图。经由通信链路204或感测电阻器(分别串联到砖块(brick)和/或串联到总系统(砖块和电池)的电阻器206以及208)从智能砖块202提供(例如,数字地)功率读取(例如,功耗值(例如,递送的)、能力和/或状态)。砖块通常指能够将AC(交流)转换为将由计算机使用的DC(直流)的电源(例如,图1的电源120)。此外,智能砖块通常指能够执行除仅功率转换以外还有的其它功能(例如,本文讨论的那些)的电源。
[0022] 如图2所示,ADC(模数转换器)210和212分别采样电阻器206和208上的电压。ADC可以是专用的(例如,ADC 212)、集成到嵌入式控制器214中、集成到VR(例如,在CPU电源216内的图1的VR 130)中和/或集成到芯片210中。控制由功率控制逻辑140(本文也被称作为PMU(功率管理单元)或PCU(功率控制单元))、嵌入式控制器214和/或节点管理器218(在一实施例中,它可允许更高层次通信)来进行。功率控制由功率控制单元执行。
[0023] 参考图2,为了简单起见,系统200将CPU/处理器102的内容划分为控制逻辑140和处理器220的剩余部分。也包含一个或多个平台电源222(例如,将功率供应到平台224的其余部分(即,例如,除了一个或多个处理器102以外))。如本文所论述的,系统200还可包含存储器和/或BIOS 226。如图2所示,在一些实施例中,还可将功率测量(例如,来自项210和212)提供到逻辑140和/或嵌入式控制器214。
[0024] 因此,在一些实施例中,可使用下文中的一个或多个:平台功率感测、感测的信息到CPU的传递和/或功率控制相关参数的动态设置。例如,在平台的板部件上(例如,在PSU(电源单元中,例如,图1的功率源120和/或电力供应216和222中的一个或多个))上的平台电流感测,其(例如,经由一个或多个传感器,诸如图1的传感器150)传递到CPU复合体(例如,处理器102、芯片组(例如,图4的芯片组406和/或图5的520(或其部分,诸如PCH(平台控制集线器))、存储器控制器(例如,图4的项410和/或图5的506、508)、GFX(图形逻辑,例如,包含集成图形(例如,在与处理器相同的IC上)、图4的项414和416和/或图5的534)和/或趋于成为最大的功率消耗者的存储器(例如,图1的存储器114)),可用来控制功耗以便满足总平台预算或目标。而且,这样的调整可包含对总平台预算有影响的参数设置的修改,例如,经由对BIOS(基本输入/输出系统)、智能PSU(例如,其中电源经由一些数据链路将其最大能力/输出传递到系统)、功率策略等的改变。
[0025] 图3图示根据一些实施例的用于控制由平台的总功耗的方法300的实施例的流程图。在一实施例中,参考图1-2和图4-6讨论的各种部件可用来执行参考图3讨论的操作中的一个或多个(例如,包含逻辑140)。
[0026] 参考图1-3,在操作302处,接受总平台功率约束(例如,设置/确定用于不同的时间间隔的最大功耗)。功率控制单元(例如,参考图2讨论的那些)需要具有功率限制来控制功耗以便满足限制。根据各实施例,可由下文中的一个或多个来设置限制:1.基于具体平台实现将BIOS作为固定的限制。
[0027] 2.经由某个数据链路的来自智能砖块(或用于台式计算机的电源的银盒)的通信。例如,砖块将其最大电流能力报告到功率控制单元。
[0028] 3.节点管理器以及更高层次。在服务器计算机机柜和数据中心中有来自电基础结构的总功率递送限制。例如,更高层次可以执行负载均衡和追踪并且将功率预算传递到机柜或数据中心中的每个平台。根据一些实施例,嵌入式控制器可以用于设置客户端产品中的限制。
[0029] 4.电池可用于辅助功率递送或递送全部系统功率。智能电池报告它们的电荷水平。电池功率状态和容量也可用来定义功率限制。
[0030] 在一实施例中,这些限制可以在运行中改变。例如,拔出AC插头和从AC到DC的改变、数据中心状态、用户策略、能源之星和调节要求等可引起对限制的改变。
[0031] 在操作304处,与由一个或多个平台部件的功耗相关的值(例如,持续地)被读取/检测(例如,由一个或多个传感器150)并且被传递到功率管理单元。在一些实施例中,通过持续地读取和将功耗传递到功率管理单元来提供控制(限制可以是A中的电流和/或W中的功率)。在一实施例中,有两个被传递的限制:1.砖块/银盒限制,它指示出自墙上插座的电源能力(例如,在电流和/或瓦特方面)。
[0032] 2.总平台限制,它是用于一些高级移动平台功率递送方案的组合的电池和砖块电流(和/或瓦特)。
[0033] 在一些实施例中,通过测量串联感测电阻器上的电压下降或使用半导体传感器(例如,霍尔效应传感器)、电流镜FET(场效应晶体管)等(例如,参考图2讨论的那些)来进行电流感测。感测功率可涉及电流和/或电压感测。有若干选项用于感测和传递上述值(电压和电流),例如,包含以下的一个或多个:1.经由充电器逻辑(例如,经由电池充电控制210)来感测输入砖块功耗。
[0034] 2.使用现存的电压调节器(例如,参考图1-2讨论的VR)来感测。
[0035] 3.使用到嵌入式控制器214的ADC输入来感测。
[0036] 4.使用平台上的专用ADC芯片(例如,图2的逻辑212)来感测。
[0037] 此外,可以使用现存的串行总线中的一个来进行读取(例如,数字)值,串行总线例如SVID(利用由Intel®公司提供的用于串行VID的通信协议)、PECI(平台环境控制接口,例如,用于热管理)、I2C(内部集成间)等。在一实施例中,比较检测的值与一个或多个阈值并且仅传递单个状态位,例如,经由现存的机制(例如,PROCHOT(它指热节流活动位,例如,用于确定处理器热状态))或备选地经由新的专用状态位。
[0038] 在操作306处,确定(例如,由PCU(例如,参考图1-图2讨论的那些))是否要调整控制,例如,基于在操作304处的检测的/传递的功耗值。如果不,则方法300回到操作304来维持如以上所论述的连续的检测/传递。然而,如果要求修改,则在操作308处控制/管理功耗,例如,以便适合参考操作302讨论的功率限制。在一实施例中,在多个时间间隔上控制功耗,例如,利用多个功率限制。更特别地,计算机系统通常具有多个功率约束并且处理器可附带有额定功耗(例如,在一些“热显著时间”上测量的)。建造计算系统的OEM(原始设备制造商)需要为整个平台的多个约束而设计。这些功率约束又在不同的时间间隔上影响系统。在一些实施例中,第一功率限制(本文被称作为PLl)用于在很多秒上的热显著时间并且在数百微秒到几毫秒中第二功率限制(本文被称作为PL2)用于电限制,在多个间隔期间使用两个功率限制(PL1和PL2)。
[0039] 图4图示根据本发明的实施例的计算系统400的框图。计算系统400可包含一个或多个中央处理单元(CPU)或处理器402-1到402-P(本文可被称作为“处理器402”)。处理器402可经由互连网络(或总线)404来通信。处理器402可包含通用处理器、网络处理器(它处理在计算机网络403上传递的数据)或其它类型的处理器(包含精简指令集计算机(RISC)处理器或复杂指令集计算机(CISC))。此外,处理器402可具有单核或多核设计。具有多核设计的处理器402可在相同的集成电路(IC)裸芯片上集成不同类型的处理器核心。而且,具有多核设计的处理器402可实现为对称或非对称的多处理器。在一实施例中,处理器402中的一个或多个可与图1的处理器102相同或类似。在一些实施例中,处理器402中的一个或多个可包含图1的核心106、逻辑140以及传感器150中的一个或多个。而且,参考图1-图6讨论的操作可由系统400的一个或多个部件执行。例如,电压调节器(例如,图1的VR 130)可在逻辑140的指引下调节供应到图4的一个或多个部件的电压。
[0040] 芯片组406还可与互连网络404通信。芯片组406可包含图形和存储器控制集线器(GMCH)408。GMCH 408可包含与存储器412通信的存储器控制器410。存储器412可存储数据,包含由处理器402或包含在计算系统400中的任何其它装置执行的指令序列。在本发明的一个实施例中,存储器412可包含一个或多个易失性存储(或存储器)装置,例如,随机存取存储器(RAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、静态RAM(SRAM)或其它类型的存储装置。还可利用非易失性存储器(例如,硬盘)。额外的装置可经由互连网络404(例如,多个CPU和/或多个系统存储器)来通信。
[0041] GMCH 408还可包含与图形加速器416通信的图形接口414。在本发明的一个实施例中,图形接口414可经由加速图形端口(AGP)与图形加速器416通信。例如,在本发明的一实施例中,显示器(例如,平板显示器、阴极射线管(CRT)、投影屏幕等)可通过信号转换器与图形接口414通信,信号转换器将存储在存储装置(例如,视频存储器或系统存储器)中的图像的数字表示翻译成由显示器解释并且显示的显示信号。由显示装置产生的显示信号在被显示器解释并且随后显示在显示器上之前可通过各种控制装置。
[0042] 集线器接口418可允许GMCH 408和输入/输出控制集线器(ICH)420通信。ICH420可提供到与计算系统400通信的I/O装置的接口。ICH 420可通过外围桥(或控制器)
424(例如,外围部件互连(PCI)桥、通用串行总线(USB)控制器或其它类型的外围桥或控制器)与总线422进行通信。桥424可在处理器402与外围装置之间提供数据路径。可利用其它类型的拓扑。而且,多个总线可与ICH 420通信,例如,通过多个桥或控制器。此外,在本发明的各实施例中,与ICH 420通信的其它外围可包含集成驱动电子(IDE)或小型计算机系统接口(SCSI)硬驱动器、USB端口、键盘、鼠标、并行端口、串行端口、软盘驱动器、数字输出支持(例如,数字视频接口(DVI))或其它装置。
[0043] 总线422可与音频装置426、一个或多个盘驱动器428以及一个或多个网络接口装置430(其与计算机网络403通信)通信。其它装置可经由总线422通信。而且,在本发明的一些实施例中,各种部件(例如,网络接口装置430)可与GMCH 408通信。此外,可组合处理器402和GMCH 408来形成单个芯片。此外,在本发明的其它实施例中,图形加速器416可包含在GMCH 408内。
[0044] 此外,计算系统400可包含易失性和/或非易失性存储器(或存储装置)。例如,非易失性存储器可包含下文中的一个或多个:只读存储器(ROM)、可编程ROM(PROM)、可擦除PROM(EPROM)、电EPROM(EEPROM)、盘驱动器(例如,428)、软盘、压缩盘ROM(CD-ROM)、数字多功能盘(DVD)、闪速存储器、磁光盘或能够存储电子数据(例如,包含指令)的其它类型的非易失性机器可读媒体。在一实施例中,系统400的部件可布置在点到点(PtP)配置中。例如,处理器、存储器和/或输入/输出装置可由多个点到点接口互连。
[0045] 图5图示根据本发明的实施例的布置在点到点(PtP)配置中的计算系统500。特别地,图5示出其中由多个点到点接口互连处理器、存储器以及输入/输出装置的系统。可由系统500的一个或多个部件来执行参考图1-图4讨论的操作。例如,电压调节器(例如,图1的VR 130)可调节供应到图5的一个或多个部件的电压。
[0046] 如在图5中图示的,系统500可包含若干处理器,为了清晰只示出它们中的两个(处理器502和504)。处理器502和504每个可包含本地存储器控制器集线器(MCH)506和508来允许与存储器510和512的通信。存储器510和/或512可存储各种数据,例如,参考图4的存储器412讨论的那些。而且,处理器502和504可包含图1的核心106、逻辑140和/或传感器150中的一个或多个。
[0047] 在一实施例中,处理器502和504可以是参考图4讨论的处理器402中的一个。处理器502和504可分别使用PtP接口电路516和518经由点到点(PtP)接口514来交换数据。而且,处理器502和504每个可使用点到点接口电路526、528、530以及532经由个别PtP接口522和524与芯片组520交换数据。芯片组520还可经由高性能图形接口536(例如,使用PtP接口电路537)与高性能图形电路534交换数据。
[0048] 在至少一个实施例中,可由处理器502或504和/或系统500的其它部件(例如,经由总线540通信的那些)来执行参考图1-图6讨论的一个或多个操作。然而,本发明的其它实施例可存在于图5的系统500内的其它电路、逻辑单元或装置中。此外,可遍及在图5中图示的若干电路、逻辑单元或装置分布本发明的一些实施例。
[0049] 芯片组520可使用PtP接口电路541来与总线540通信。总线540可具有与它通信的一个或多个装置,例如,总线桥542和I/O装置543。经由总线544,总线桥542可与其它装置通信,例如,键盘/鼠标545、通信装置546(例如,调制解调器、网络接口装置或可与计算机网络403通信的其它通信装置)、音频I/O装置和/或数据存储装置548。数据存储装置548可存储可由处理器502和/或504执行的代码549。
[0050] 在一些实施例中,本文讨论的部件中的一个或多个可以实现为片上系统(SOC)装置。图6图示根据实施例的SOC封装的框图。如在图6中图示的,SOC 602包含一个或多个中央处理单元(CPU)核心620、一个或多个图形处理器单元(GPU)核心630、输入/输出(I/O)接口640以及存储器控制器642。SOC封装602的各种部件可耦合到例如本文参考其它图讨论的互连或总线。而且,SOC封装602可包含更多或者更少的部件,例如,本文参考其它图讨论的那些。另外,SOC封装620的每个部件可包含一个或多个其它部件,例如,如本文参考其它图讨论的。在一个实施例中,在例如被封装为单个半导体装置中的一个或多个集成电路(IC)裸芯片上提供SOC封装602(及其部件)。
[0051] 如在图6中图示的,SOC封装602经由存储器控制器642而耦合到存储器660(它可与本文参考其它图讨论的存储器类似或相同)。在一实施例中,存储器660(或它的一部分)可以集成在SOC封装602上。
[0052] I/O接口640可耦合到一个或多个I/O装置670,例如,经由本文参考其它图讨论的互连和/或总线。I/O装置670可包含键盘、鼠标、触摸板、显示器、图像/视频捕获装置(例如,照相机或摄像机/视频录像机)、触摸屏、扬声器等中的一个或多个。此外,在一实施例中,SOC封装602可包含/集成逻辑140。备选地,可在SOC封装602的外部提供逻辑140(即,作为分立逻辑)。
[0053] 在本发明的各实施例中,在本文中(例如,参考图1-图6)讨论的操作可实现为可被提供为计算机程序产品的硬件(例如,逻辑电路)、软件、固件或其组合,计算机程序产品例如包含有形机器可读或计算机可读介质,所述有形机器可读或计算机可读介质具有用于对计算机进行编程以执行本文讨论的过程的存储在其上的指令(或软件过程)。机器可读介质可包含存储装置,例如,关于图1-图6讨论的那些。
[0054] 此外,这样的计算机可读媒体可被下载为计算机程序产品,其中程序可经由通信链路(例如,总线、调制解调器或网络连接)通过载波或其它传播介质中提供的数据信号从远程计算机(例如,服务器)传输到请求计算机(例如,客户端)。
[0055] 在说明书中对“一个实施例”或“一实施例”的参考意味着连同实施例描述的特定特征、结构和/或特性可包含在至少一个实现中。在说明书中的各处的短语“在一个实施例中”的出现可以或可以不都参考相同的实施例。
[0056] 而且,在说明书和权利要求中,可使用术语“耦合”和“连接”连同它们的派生词。在本发明的一些实施例中,“连接”可用来指示两个或者更多元件与彼此直接物理或电接触。“耦合”可意味着两个或者更多元件直接物理或电接触。然而,“耦合”还可意味着两个或者更多元件可与彼此不直接接触,但是仍然可与彼此合作或交互。
[0057] 因此,虽然以具体到结构特征和/或方法动作的语言来描述本发明的实施例,但是要理解要求保护的主题可不受限于描述的具体特征或动作。而是,将具体特征和动作公开为实现要求保护的主题的样本形式。