CN113448373A - 用于处理器的电压调节器的功率状态缩放的装置和方法 - Google Patents
用于处理器的电压调节器的功率状态缩放的装置和方法 Download PDFInfo
- Publication number
- CN113448373A CN113448373A CN202011377200.0A CN202011377200A CN113448373A CN 113448373 A CN113448373 A CN 113448373A CN 202011377200 A CN202011377200 A CN 202011377200A CN 113448373 A CN113448373 A CN 113448373A
- Authority
- CN
- China
- Prior art keywords
- power state
- processor
- power
- voltage regulator
- workload
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 56
- 230000015654 memory Effects 0.000 claims description 67
- 238000003860 storage Methods 0.000 claims description 31
- 238000010801 machine learning Methods 0.000 claims description 14
- 230000001276 controlling effect Effects 0.000 claims description 10
- 230000008859 change Effects 0.000 claims description 9
- 230000001105 regulatory effect Effects 0.000 claims description 7
- 230000007704 transition Effects 0.000 claims description 3
- 238000007726 management method Methods 0.000 description 38
- 238000010586 diagram Methods 0.000 description 36
- 238000012545 processing Methods 0.000 description 33
- 238000004891 communication Methods 0.000 description 30
- 238000013461 design Methods 0.000 description 25
- 239000000872 buffer Substances 0.000 description 15
- 238000007667 floating Methods 0.000 description 15
- 239000003795 chemical substances by application Substances 0.000 description 13
- 230000000694 effects Effects 0.000 description 9
- 230000001427 coherent effect Effects 0.000 description 8
- 230000002093 peripheral effect Effects 0.000 description 7
- 238000012360 testing method Methods 0.000 description 7
- 230000007613 environmental effect Effects 0.000 description 6
- 238000013507 mapping Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 239000004065 semiconductor Substances 0.000 description 5
- 229910003460 diamond Inorganic materials 0.000 description 4
- 239000010432 diamond Substances 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 4
- 238000013519 translation Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000006399 behavior Effects 0.000 description 3
- 230000001413 cellular effect Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 238000004134 energy conservation Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000005192 partition Methods 0.000 description 3
- 230000002085 persistent effect Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 230000014616 translation Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 239000007795 chemical reaction product Substances 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- QPFMBZIOSGYJDE-UHFFFAOYSA-N 1,1,2,2-tetrachloroethane Chemical compound ClC(Cl)C(Cl)Cl QPFMBZIOSGYJDE-UHFFFAOYSA-N 0.000 description 1
- FZZACAFXVBODJN-UHFFFAOYSA-N 2,2-dichloro-5-(2-phenylethyl)-4-trimethylsilylfuran-3-one Chemical compound O1C(Cl)(Cl)C(=O)C([Si](C)(C)C)=C1CCC1=CC=CC=C1 FZZACAFXVBODJN-UHFFFAOYSA-N 0.000 description 1
- 229920013660 Cellon Polymers 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 230000001351 cycling effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 238000010348 incorporation Methods 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 229910052754 neon Inorganic materials 0.000 description 1
- GKAOGPIIYCISHV-UHFFFAOYSA-N neon atom Chemical compound [Ne] GKAOGPIIYCISHV-UHFFFAOYSA-N 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 239000000047 product Substances 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000004043 responsiveness Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3296—Power saving characterised by the action undertaken by lowering the supply or operating voltage
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05F—SYSTEMS FOR REGULATING ELECTRIC OR MAGNETIC VARIABLES
- G05F1/00—Automatic systems in which deviations of an electric quantity from one or more predetermined values are detected at the output of the system and fed back to a device within the system to restore the detected quantity to its predetermined value or values, i.e. retroactive systems
- G05F1/10—Regulating voltage or current
- G05F1/46—Regulating voltage or current wherein the variable actually regulated by the final control device is dc
- G05F1/56—Regulating voltage or current wherein the variable actually regulated by the final control device is dc using semiconductor devices in series with the load as final control devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
- G06F1/3228—Monitoring task completion, e.g. by use of idle timers, stop commands or wait commands
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Electromagnetism (AREA)
- Automation & Control Theory (AREA)
- Power Sources (AREA)
- Continuous-Control Power Sources That Use Transistors (AREA)
- Control Of Electrical Variables (AREA)
- Dc-Dc Converters (AREA)
- Microcomputers (AREA)
Abstract
本公开涉及用于处理器的电压调节器的功率状态缩放的装置和方法。在一个实施例中,一种处理器包括:至少一个核心,用于执行工作负载;电压调节器,用于向至少一个核心提供操作电压;以及耦合到电压调节器的功率控制器。功率控制器可控制电压调节器来提供操作电压,并且可具有电压调节器控制电路来至少部分基于工作负载的分类来选择多个功率状态概要之一,并且根据所选择的功率状态概要引起对电压调节器的功率状态的更新。描述和要求保护了其他实施例。
Description
技术领域
实施例涉及为处理器控制电压调节器。
背景技术
半导体处理和逻辑设计中的进步已允许了可存在于集成电路器件上的逻辑的数量的增大。结果,计算机系统配置已从系统中的单个或多个集成电路演进到个体集成电路上的多个硬件线程、多个核心、多个器件和/或完整系统。此外,随着集成电路的密度增长,对于计算系统(从嵌入式系统到服务器)的功率要求也已升级了。此外,软件效率低下及其对硬件的要求也引起了计算装置能量消耗的增大。实际上,一些研究指出,计算装置消耗了对于一个国家(例如美国)的整个电力供应的相当大的百分比。结果,对于与集成电路相关联的能量效率和节约存在至关重要的需求。这些需求将随着服务器、桌面型计算机、笔记本、UltrabooksTM、平板设备、移动电话、处理器、嵌入式系统等等变得更加普遍(从包括在典型的计算机、汽车和电视中到生物技术)而增大。
当今,功率输送(power delivery,PD)损耗在例如包括视频重放在内的各种场景中贡献了总系统功率的高达20%。功率输送优化在许多不同类型的平台中在改善整体电池寿命方面正在获得重要性。
发明内容
根据本公开的一方面,提供了一种用于控制电压调节器的处理器,包括:至少一个核心,用于执行工作负载;电压调节器,用于向所述至少一个核心提供操作电压;以及耦合到所述电压调节器的功率控制器,其中所述功率控制器用于控制所述电压调节器来提供所述操作电压,所述功率控制器包括电压调节器控制电路,用于至少部分基于所述工作负载的分类来选择多个功率状态概要之一,并且根据所选择的功率状态概要引起对所述电压调节器的功率状态的更新。
根据本公开的一方面,提供了一种用于为集成电压调节器提供功率状态概要的方法,包括:识别多组截止阈值,在这些截止阈值处,平台的处理器的集成电压调节器将改变功率状态;对于所述多组截止阈值的每一者,在所述处理器上执行多个工作负载并且为所述多个工作负载获得电压调节器度量信息;并且至少部分基于所述电压调节器度量信息,为所述集成电压调节器生成多个功率状态概要,所述多个功率状态概要的每一者与至少一个工作负载类型相关联。
根据本公开的一方面,提供了一种用于控制集成电压调节器的系统,包括:多核处理器,包括:包括一个或多个核心的第一域;包括至少一个图形处理器的第二域;至少一个集成电压调节器,用于向至少所述第一域提供经调节的电压,其中所述至少一个集成电压调节器包括配置电路,用于将所述至少一个集成电压调节器从第一功率状态动态地重配置到第二功率状态;以及耦合到所述至少一个集成电压调节器的功率控制器,其中所述功率控制器包括电压调节器控制电路,用于至少部分基于电流消耗水平和在所述多核处理器上执行的工作负载的分类来从多个功率状态概要中选择功率状态概要,并且使用所选择的功率状态概要来使得所述至少一个集成电压调节器被从所述第一功率状态动态地重配置到所述第二功率状态;以及耦合到所述多核处理器的系统存储器。
根据本公开的一方面,提供了一种用于控制电压调节器装置的处理器,包括:至少一个核心装置,用于执行工作负载;电压调节器装置,用于向所述至少一个核心装置提供操作电压;以及耦合到所述电压调节器装置的功率控制装置,其中所述功率控制装置用于控制所述电压调节器装置来提供所述操作电压,所述功率控制装置包括电压调节器控制装置,用于至少部分基于所述工作负载的分类来选择多个功率状态概要之一,并且根据所选择的功率状态概要引起对所述电压调节器的功率状态的更新。
附图说明
图1是根据本发明的实施例的系统的一部分的框图。
图2是根据本发明的实施例的处理器的框图。
图3是根据本发明的另一实施例的多域处理器的框图。
图4是包括多个核心的处理器的实施例。
图5是根据本发明的一个实施例的处理器核心的微体系结构的框图。
图6是根据另一实施例的处理器核心的微体系结构的框图。
图7是根据另外一个实施例的处理器核心的微体系结构的框图。
图8是根据另外一个实施例的处理器核心的微体系结构的框图。
图9是根据本发明的另一实施例的处理器的框图。
图10是根据本发明的实施例的代表性SoC的框图。
图11是根据本发明的实施例的另一示例SoC的框图。
图12是可结合实施例使用的示例系统的框图。
图13是可结合实施例使用的另一示例系统的框图。
图14是代表性计算机系统的框图。
图15是根据本发明的实施例的系统的框图。
图16是根据实施例图示出用于制造集成电路来执行操作的IP核心开发系统的框图。
图17是电压调节器的一组效率曲线的图解示意。
图18是根据一个实施例的工作负载类别对功率状态概要映射的图示。
图19是根据一实施例执行动态功率状态概要确定的计算平台的框图。
图20是根据本发明的实施例的方法的流程图。
图21是根据本发明的另一实施例的方法的流程图。
具体实施方式
在各种实施例中,计算平台可包括一个或多个处理器,这一个或多个处理器进而可包括一个或多个处理核心和/或一个或多个其他处理单元。这种处理器可由集成电压调节器和/或平台的其他电压调节器来供电。实施例提供了对一个或多个电压调节器的配置的动态控制以使能实现改善的功率输送效率。为此,平台可配置有与其电压调节器中的一个或多个相关联的多个功率状态概要(power state profile)。然后在正常系统操作期间,一个或多个电压调节器的动态重配置可利用动态选择的功率状态概要来发生。如本文将描述的,这个动态选择可至少部分基于对处理器上的当前执行的工作负载的工作负载分类。此外,各种环境条件,包括平台是否正被AC或DC电源活跃供电,以及其他这种信息,可被用于选择适当的功率状态概要。此外,关于用户在性能和功率消耗之间的用户偏好的用户偏好信息可用于选择适当的功率状态概要。
要理解功率状态概要本身可在现场系统操作期间被动态更新。例如,不同的用户可具有不同的工作负载执行模式。这样,利用例如机器学习环境,可基于利用不同的功率状态概要执行的工作负载的运行时分析来动态确定多个功率状态概要,从而基于检测到的工作负载条件来优化这种功率状态概要的设置。这样,实施例可利用机器学习来通过至少部分基于工作负载分类和运行时预测选择适当的功率状态概要来动态优化电压调节器损耗。实施例从而可降低平台功率消耗并且延长电池寿命。利用多个功率状态概要,系统设计者可定义在电压调节器的操作范围内的截止阈值的安全值。与之不同,允许对任何给定截止阈值的随机编程可使得系统容易遭受恶意攻击。
为了更好地理解这里的实施例,考虑代表性电压调节器是有启发性的。如上所述,可联系集成电压调节器(例如可与多核处理器的核心和其他电路一起被包括在单个半导体晶粒内)来使用实施例。要理解给定的处理器可包括多个这种集成电压调节器,例如每个与不同的功率域(例如一个或多个核心功率域或者图形功率域,等等)相关联。在任何情况下,这些集成电压调节器可包括多个相位计数、调节拓扑等等。取决于电流消耗水平,可选择适当的功率状态或电压调节器配置。进而,电压调节器可包括配置电路来引起对其功率状态的动态重配置。
现在参考下面的表格1,示出了可用于特定电压调节器的功率状态的示例列表。如图所示,可以有至少五个功率状态,其中每个功率状态是针对给定的电压调节器配置的并且与截止阈值相关联。总体上,这些功率状态和相应的截止阈值形成单个功率状态概要。具体而言,使用给定的功率状态,直到电流消耗处于符合截止阈值水平的水平为止。然后可选择更高的功率状态(具有更低的编号,例如PS0是比PS1更高的功率状态)。如表格1中还示出的,每个功率状态对应于电压调节器的操作的给定配置模式,例如单相位或多相位模式、非连续导通模式(discontinuous conduction mode,DCM)或者连续导通模式(continuousconduction mode,CCM)。当然,额外的配置参数可与每个功率状态相关联。并且要理解给定的电压调节器可具有更多或更少的功率状态可用。
表格1
正如本文将进一步描述的,在实施例中,处理器的功率控制器可被配置为检测电流消耗水平(以及可能其他操作条件)并且为一个或多个电压调节器动态选择适当的功率状态。进而基于此选择,功率控制器可向电压调节器发送适当的命令以使得其从一个功率状态配置动态重配置到另一个。
虽然以下实施例是参考特定集成电路中(例如计算平台或处理器中)的能量节约和能量效率来描述的,但其他实施例适用于其他类型的集成电路和逻辑器件。本文描述的实施例的类似技术和教导可被应用到也可受益于更好的能量效率和能量节约的其他类型的电路或半导体器件。例如,公开的实施例不限于任何特定类型的计算机系统。也就是说,公开的实施例可用于许多不同的系统类型中,范围从服务器计算机(例如,塔式服务器、机架式服务器、刀片式服务器、微服务器等等)、通信系统、存储系统、任何配置的桌面计算机、膝上型电脑、笔记本电脑到平板计算机(包括2:1平板设备、平板手机等等),并且也可用于其他装置中,例如手持装置、片上系统(SoC)以及嵌入式应用。手持装置的一些示例包括蜂窝电话(例如智能电话)、互联网协议装置、数字相机、个人数字助理(personal digitalassistant,PDA)和手持PC。嵌入式应用通常可包括微控制器、数字信号处理器(digitalsignal processor,DSP)、网络计算机(NetPC)、机顶盒、网络集线器、广域网(wide areanetwork,WAN)交换机、可穿戴装置或者能够执行下面教导的功能和操作的任何其他系统。另外,实施例可实现在具有标准语音功能的移动终端(例如移动电话、智能电话和平板手机)中,和/或实现在没有标准无线语音功能通信能力的非移动终端(例如许多可穿戴设备、平板设备、笔记本电脑、桌面电脑、微服务器、服务器等等)中。另外,本文描述的装置、方法和系统不限于物理计算装置,而是也可涉及针对能量节约和效率的软件优化。正如在以下描述中将变得容易清楚的,本文描述的方法、装置和系统的实施例(无论是就硬件、固件、软件或者其组合而言)对于“绿色技术”未来,例如对于涵盖美国经济的一大部分的产品中的功率节约和能量效率,是至关重要的。
现在参考图1,示出了根据本发明的实施例的系统的一部分的框图。如图1中所示,系统100可包括各种组件,其中包括处理器110,该处理器110如图所示是多核心处理器。处理器110可经由外部电压调节器160耦合到供给电源150,该外部电压调节器160可执行第一电压转换以向处理器110提供主调节电压。
可以看出,处理器110可以是包括多个核心120a-120n的单晶粒处理器。此外,每个核心可与集成电压调节器(integrated voltage regulator,IVR)125a-125n相关联,该集成电压调节器接收主调节电压并且生成要被提供给与该IVR相关联的处理器的一个或多个代理的操作电压。因此,可提供IVR实现方式来允许对电压的细粒度控制并从而允许对每个个体核心的功率和性能的细粒度控制。这样,每个核心可按独立的电压和频率操作,使能了很大的灵活性并且提供了很宽的机会来平衡功率消耗与性能。在一些实施例中,多个IVR的使用使得能够将组件分组到分开的电源平面中,使得功率被IVR调节并且只供应给群组中的那些组件。在功率管理期间,一个IVR的给定电源平面在处理器被置于某个低功率状态中时可被掉电或断电,而另一IVR的另一电源平面保持活跃,或者被完全供电。在这里的实施例中,每个IVR 125可包括相应的配置电路126,该配置电路126如本文将要描述的,可用于配置相应的IVR在给定的功率状态操作,其中这个功率状态可以是至少部分基于在相应域上执行的分类工作负载来选择的。
仍参考图1,额外的组件可存在于处理器内,包括输入/输出接口132、另一接口134以及集成存储器控制器136。可以看出,这些组件的每一者可由另一集成电压调节器125x来供电。在一个实施例中,接口132可为快速路径互连(Quick Path Interconnect,QPI)互连使能操作,该互连提供包括多个层的缓存一致性协议中的点到点(point-to-point,PtP)链路,所述多个层包括物理层、链路层和协议层。进而,接口134可经由快速外围组件互连(Peripheral Component Interconnect Express,PCIeTM)协议通信。
还示出了功率控制单元(power control unit,PCU)138,该PCU 138可包括硬件、软件和/或固件来执行关于处理器110的功率管理操作。可以看出,PCU 138经由数字接口向外部电压调节器160提供控制信息以使得电压调节器生成适当的调节电压。PCU 138还经由另一数字接口向IVR 125提供控制信息以控制生成的操作电压(或者使得相应的IVR在低功率模式中被禁用)并且还向IVR 125传达功率状态更新。
为此,PCU 138可包括控制电路来至少部分基于在相应域上执行的工作负载为每个IVR 125确定适当的功率状态。这样,可以实现改善的电压调节器效果,如本文所述。
在各种实施例中,PCU 138可包括多种功率管理逻辑单元来执行基于硬件的功率管理。这种功率管理可以是完全处理器控制的(例如,由各种处理器硬件控制,并且可由工作负载和/或功率约束、热约束或其他处理器约束所触发),和/或功率管理可响应于外部源(例如,平台或管理功率管理源或系统软件)而执行。
此外,虽然图1示出了其中PCU 138是单独的处理引擎(其可实现为微控制器)的实现方式,但要理解在一些情况下,除了专用功率控制器以外或者取代专用功率控制器,每个核心可包括功率控制代理或者与功率控制代理相关联来更自主地独立控制功率消耗。在一些情况下,可提供层次化功率管理体系结构,其中PCU 138和与每个核心120相关联的相应功率管理代理通信。
另外,要理解虽然在图1的高级别视图中,处理器110的内部功率控制器被称为“PCU”,但在其他情况下,这个内部功率控制器可被等同地称为功率管理单元(powermanagement unit,PMU)。这里,术语“PCU”和“PMU”可被可互换地使用来指处理器内部的硬件功率控制电路,其执行各种指令序列以代表处理器及其构成组件执行功率管理活动。
虽然为了图示的容易而没有示出,但要理解在处理器110内可存在额外的组件,例如额外的控制电路,以及诸如内部存储器之类的其他组件,例如缓存存储器层次体系的一个或多个级别,等等。此外,虽然在图1的实现方式中是用集成电压调节器示出的,但实施例不限于此。
注意本文描述的功率管理技术可独立于基于操作系统(operating system,OS)的功率管理(operating system-based power management,OSPM)机制并且与其互补。根据一个示例OSPM技术,处理器可按各种性能状态或水平(所谓的P状态,即从P0至PN)操作。一般而言,P1性能状态可对应于OS可请求的最高保证性能状态。本文描述的实施例可使得能够基于多种输入和处理器操作参数对P1性能状态的保证频率进行动态改变。除了这个P1状态以外,OS还可请求更高的性能状态,即P0状态。这个P0状态从而可以是机会模式或加强模式状态,其中当功率和/或热预算可用时,处理器硬件可将处理器或者其至少一些部分配置为按高于保证频率来操作。在许多实现方式中,处理器可包括在制造期间被烧熔或以其他方式写入到处理器中的高于P1保证最大频率的多个所谓的分段频率,超出到特定处理器的最大峰值频率。此外,根据一个OSPM机制,处理器可按各种功率状态或水平操作。关于功率状态,OSPM机制可指定不同的功率消耗状态,一般称为C状态,C0、C1至Cn状态。当核心活跃时,其在C0状态运行,并且当核心空闲时,其可被置于核心低功率状态中,也称为核心非零C状态(例如,C1-C6状态),其中每个C状态处于更低的功率消耗水平(使得C6是比C1更深的低功率状态,依此类推)。
要理解,许多不同类型的功率管理技术在不同的实施例中可被单独或者组合使用。作为代表性示例,功率控制器可控制处理器被某种形式的动态电压频率缩放(dynamicvoltage frequency scaling,DVFS)进行功率管理,其中一个或多个核心或其他处理器逻辑的操作电压和/或操作频率可被动态地控制以降低某些情形中的功率消耗。在一示例中,DVFS可利用可从加州圣克拉拉的英特尔公司获得的增强型英特尔SpeedStepTM技术来执行,以在最低的功率消耗水平提供最优的性能。在另一示例中,DVFS可利用英特尔TurboBoostTM技术来执行以使得一个或多个核心或其他计算引擎能够基于条件(例如,工作负载和可用性)以高于保证操作频率操作。
在某些示例中可使用的另一个功率管理技术是不同计算引擎之间的工作负载的动态交换。例如,处理器可包括在不同的功率消耗水平操作的非对称核心或其他处理引擎,使得在功率约束情形中,一个或多个工作负载可被动态切换来在更低功率核心或其他计算引擎上执行。另一个示范性功率管理技术是硬件工作周期循环(hardware duty cycling,HDC),其可使得核心和/或其他计算引擎根据工作周期被周期性地使能和禁用,使得一个或多个核心可在工作周期的非活跃时段期间被设为不活跃并且在工作周期的活跃时段期间被设为活跃。虽然是利用这些特定示例来描述的,但要理解在特定实施例中可使用许多其他功率管理技术。
实施例可实现在针对各种市场的处理器(包括服务器处理器、桌面处理器、移动处理器等等)中。现在参考图2,示出了根据本发明的实施例的处理器的框图。如图2中所示,处理器200可以是包括多个核心210a-210n的多核心处理器。在一个实施例中,每个这种核心可以是独立的功率域的并且可被配置为基于工作负载而进入和退出活跃状态和/或最大性能状态。各种核心可经由互连215耦合到包括各种组件的系统代理220。可以看出,系统代理220可包括共享缓存230,该共享缓存230可以是最后一级缓存。此外,系统代理可包括集成存储器控制器240来例如经由存储器总线与系统存储器(图2中未示出)通信。系统代理220还包括各种接口250和功率控制单元255,功率控制单元255可包括逻辑来执行本文描述的功率管理技术。在示出的实施例中,功率控制单元255包括电压调节器控制电路258,其可至少部分基于在处理器200上执行的分类工作负载来从多个功率状态概要中动态地识别适当的功率状态概要。进而,至少部分基于检测到的电流消耗,电压调节器控制电路258可为一个或多个电压调节器选择给定的功率状态并且向这种电压调节器发送相应的命令以引起其配置到所选功率状态的更新,如本文进一步描述的。
此外,通过接口250a-250n,可进行到各种芯片外组件(例如外围装置、大容量存储装置等等)的连接。虽然在图2的实施例中是利用这个特定实现方式示出的,但本发明的范围在这个方面不受限制。
现在参考图3,示出了根据本发明的另一实施例的多域处理器的框图。如图3的实施例中所示,处理器300包括多个域。具体而言,核心域310可包括多个核心3100-310n,图形域320可包括一个或多个图形引擎,并且系统代理域350可进一步存在。在一些实施例中,系统代理域350可按与核心域独立的频率执行并且可在所有时间保持通电以应对功率控制事件和功率管理,使得域310和320可被控制来动态地进入和退出高功率和低功率状态。域310和320的每一者可按不同的电压和/或功率操作。注意虽然只示出了三个域,但要理解本发明的范围在这个方面不受限制,并且在其他实施例中可存在额外的域。例如,多个核心域可存在,每个包括至少一个核心。注意在多分区处理器中,多个域可被包括在单个分区中,而在其他实现方式中,每个域可被认为是其自己的分区。
一般而言,每个核心310除了各种执行单元和额外的处理元件以外还可包括低级别缓存。进而,各种核心可耦合到彼此并且耦合到由最后一级缓存(last level cache,LLC)3400-340n的多个单元形成的共享缓存存储器。在各种实施例中,LLC 340可被共享于核心和图形引擎之间,以及各种媒体处理电路之间。可以看出,环状互连330从而将核心耦合在一起,并且在核心、图形域320和系统代理电路350之间提供互连。在一个实施例中,互连330可以是核心域的一部分。然而,在其他实施例中,环状互连可以是其自己的域的。
还可以看出,系统代理域350可包括显示控制器352,该显示控制器352可提供对关联的显示器的控制和到关联的显示器的接口。还可以看出,系统代理域350可包括功率控制单元355,该功率控制单元355可包括逻辑来执行本文描述的功率管理技术。在示出的实施例中,功率控制单元355包括电压调节器控制单元359,其可如本文所述用于至少部分基于工作负载分类从多个功率状态概要中动态地识别适当的功率状态概要并且引起对一个或多个电压调节器的功率状态的更新。
从图3中还可看出,处理器300还可包括集成存储器控制器(integrated memorycontroller,IMC)370,该IMC 370可提供到诸如动态随机访问存储器(dynamic randomaccess memory,DRAM)之类的系统存储器的接口。多个接口3800-380n可存在来使能处理器和其他电路之间的互连。例如,在一个实施例中,可提供至少一个直接媒体接口(directmedia interface,DMI)接口,以及一个或多个PCIeTM接口。此外,为了提供诸如额外的处理器或其他电路之类的其他代理之间的通信,也可提供一个或多个QPI接口。虽然在图3的实施例中是在这个高级别示出的,但要理解本发明的范围在这个方面不受限制。
参考图4,图示了包括多个核心的处理器的实施例。处理器400包括任何处理器或处理装置,例如微处理器、嵌入式处理器、数字信号处理器(digital signal processor,DSP)、网络处理器、手持处理器、应用处理器、协处理器、片上系统(system on a chip,SoC)或者执行代码的其他装置。处理器400在一个实施例中包括至少两个核心——核心401和402,它们可包括非对称核心或对称核心(图示的实施例)。然而,处理器400可包括可以是对称或非对称的任何数目的处理元件。
在一个实施例中,处理元件指的是支持软件线程的硬件或逻辑。硬件处理元件的示例包括:线程单元、线程槽、线程、处理单元、情境、情境单元、逻辑处理器、硬件线程、核心和/或任何其他元件,其能够为处理器保持状态,例如执行状态或体系结构状态。换言之,处理元件在一个实施例中指的是能够与诸如软件线程、操作系统、应用或其他代码之类的代码独立关联的任何硬件。物理处理器通常指的是可能包括任何数目的其他处理元件(例如核心或硬件线程)的集成电路。
核心经常指能够维持独立体系结构状态的位于集成电路上的逻辑,其中每个独立维持的体系结构状态与至少一些专用执行资源相关联。与核心形成对比,硬件线程通常指能够维持独立体系结构状态的位于集成电路上的任何逻辑,其中独立维持的体系结构状态共享对执行资源的访问。可以看出,当某些资源被共享并且其他的被专用于体系结构状态时,硬件线程和核心的命名之间的线重叠。然而经常,核心和硬件线程被操作系统看作单独逻辑处理器,其中操作系统能够单独调度每个逻辑处理器上的操作。
物理处理器400如图4中所示包括两个核心,核心401和402。这里,核心401和402被认为是对称核心,即具有相同的配置、功能单元和/或逻辑的核心。在另一实施例中,核心401包括无序处理器核心,而核心402包括有序处理器核心。然而,核心401和402可以是单独从任何类型的核心(例如原生核心、软件管理核心、被适配为执行原生指令集体系结构(instruction set architecture,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中的重排序缓冲器、ILTB 420、加载/存储缓冲器以及队列。其他资源,例如通用内部寄存器、(一个或多个)页表基址寄存器、低级别数据缓存和数据TLB 415、(一个或多个)执行单元440以及无序单元435的一些部分,可能被完全共享。
处理器400经常包括其他资源,这些资源可被完全共享、通过分区被共享或者被处理元件专用或者专用于处理元件。在图4中,图示了具有处理器的说明性逻辑单元/资源的纯示范性处理器的实施例。注意处理器可包括或者省略这些功能单元中的任何一者,以及包括没有描绘的任何其他已知的功能单元、逻辑或者固件。如图所示,核心401包括简化的代表性无序(out-of-order,OOO)处理器核心。但在不同的实施例中可利用有序处理器。OOO核心包括分支目标缓冲器420来预测要执行/采取的分支,以及指令转化缓冲器(instruction-translation buffer,I-TLB)420来为指令存储地址转化条目。
核心401还包括耦合到取得单元420的解码模块425以对取得的元素解码。取得逻辑在一个实施例中包括分别与线程槽401a、401b相关联的个体定序器。通常核心401与第一ISA相关联,该第一ISA定义/指定在处理器400上可执行的指令。经常,作为第一ISA的一部分的机器代码指令包括指令的一部分(称为操作码),该部分引用/指定要执行的指令或操作。解码逻辑425包括从其操作码识别这些指令并且在管线中传递解码的指令来按第一ISA定义的那样处理的电路。例如,解码器425在一个实施例中包括被设计或适配为识别诸如事务性指令之类的特定指令的逻辑。作为解码器425进行的识别的结果,体系结构或核心401采取特定的预定动作来执行与适当的指令相关联的任务。注意以下这点是重要的:本文描述的任何任务、块、操作和方法可响应于单个或多个指令而被执行;这些指令中的一些可以是新的或者旧的指令。
在一个示例中,分配器和重命名器块430包括分配器来预留资源,例如预留寄存器文件来存储指令处理结果。然而,线程401a和401b可能能够无序执行,其中分配器和重命名器块430也预留其他资源,例如预留重排序缓冲器来跟踪指令结果。单元430还可包括寄存器重命名器来将程序/指令参考寄存器重命名到处理器400内部的其他寄存器。重排序/引退单元435包括组件,例如上文提及的重排序缓冲器、加载缓冲器和存储缓冲器,来支持被无序执行的指令的无序执行和之后的有序引退。
(一个或多个)调度器和执行单元块440在一个实施例中包括调度器单元来调度执行单元上的指令/操作。例如,在具有可用的浮点执行单元的执行单元的端口上调度浮点指令。也包括与执行单元相关联的寄存器文件来存储信息指令处理结果。示范性执行单元包括浮点执行单元、整数执行单元、跳转执行单元、加载执行单元、存储执行单元和其他已知的执行单元。
更低级别数据缓存和数据转化缓冲器(data translation buffer,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来将其解码成基元,即,供处理器执行的微操作。
耦合在前端单元510和执行单元520之间的是无序(OOO)引擎515,该OOO引擎515可用于接收微指令并且使它们为执行做好准备。更具体而言,OOO引擎515可包括各种缓冲器来重排序微指令流并且分配执行所需要的各种资源,以及提供逻辑寄存器到诸如寄存器文件530和扩展寄存器文件535之类的各种寄存器文件内的存储位置上的重命名。寄存器文件530可包括用于整数操作和浮点操作的分开的寄存器文件。扩展寄存器文件535可提供用于向量大小单元的存储,例如256或512比特每寄存器。为了配置、控制和额外的操作,一组机器特定寄存器(machine specific register,MSR)538也可存在并且是核心500内(以及核心外部)的各种逻辑可访问的。
各种资源可存在于执行单元520中,执行单元520包括例如各种整数、浮点和单指令多数据(single instruction multiple data,SIMD)逻辑单元,以及其他专门的硬件。例如,这种执行单元可包括一个或多个算术逻辑单元(arithmetic logic unit,ALU)522以及一个或多个向量执行单元524,以及其他这种执行单元。
来自执行单元的结果可被提供到引退逻辑,即重排序缓冲器(reorder buffer,ROB)540。更具体而言,ROB 540可包括各种阵列和逻辑来接收与被执行的指令相关联的信息。此信息随后被ROB 540考查来确定指令是否可被有效地引退以及提交给处理器的体系结构状态的结果数据,或者确定是否发生了阻止指令的适当引退的一个或多个异常。当然,ROB 540可应对与引退相关联的其他操作。
如图5中所示,ROB 540耦合到缓存550,缓存550在一个实施例中可以是低级别缓存(例如,L1缓存),虽然本发明的范围在这个方面不受限制。另外,执行单元520可直接耦合到缓存550。从缓存550,数据通信可与更高级别缓存、系统存储器等等发生。虽然在图5的实施例中是以这个高级别示出的,但要理解本发明的范围在这个方面不受限制。例如,虽然图5的实现方式是关于诸如 x86指令集体系结构(ISA)之类的无序机器的,但本发明的范围在这个方面不受限制。也就是说,其他实施例可实现在有序处理器、诸如基于ARM的处理器之类的精简指令集计算(reduced instruction set computing,RISC)处理器或者可经由仿真引擎和关联的逻辑电路仿真不同ISA的指令和操作的另一类型的ISA的处理器中。
现在参考图6,示出了根据另一实施例的处理器核心的微体系结构的框图。在图6的实施例中,核心600可以是不同微体系结构的低功率核心,例如具有被设计为降低功率消耗的相对有限的管线深度的基于AtomTM的处理器。可以看出,核心600包括被耦合来向指令解码器615提供指令的指令缓存610。分支预测器605可耦合到指令缓存610。注意指令缓存610还可耦合到另一级别的缓存存储器,例如L2缓存(在图6中为了图示的容易而没有示出)。进而,指令解码器615将解码的指令提供到发出队列620以便存储和输送到给定的执行管线。微代码ROM 618耦合到指令解码器615。
浮点管线630包括浮点寄存器文件632,该浮点寄存器文件632可包括诸如128、256或512比特之类的给定比特宽度的多个体系结构寄存器。管线630包括浮点调度器634来调度指令来在管线的多个执行单元之一上执行。在示出的实施例中,这种执行单元包括ALU635、打乱单元636和浮点加法器638。进而,在这些执行单元中生成的结果可被提供回到寄存器文件632的缓冲器和/或寄存器。当然要理解,虽然是以这几个示例执行单元示出的,但在另一实施例中可存在额外的或者不同的浮点执行单元。
也可提供整数管线640。在示出的实施例中,管线640包括整数寄存器文件642,该整数寄存器文件642可包括诸如128或256比特之类的给定比特宽度的多个体系结构寄存器。管线640包括整数调度器644来调度指令来在管线的多个执行单元之一上执行。在示出的实施例中,这种执行单元包括ALU 645、移位器单元646和跳转执行单元648。进而,在这些执行单元中生成的结果可被提供回到寄存器文件642的缓冲器和/或寄存器。当然要理解,虽然是以这几个示例执行单元示出的,但在另一实施例中可存在额外的或者不同的整数执行单元。
存储器执行调度器650可调度存储器操作来在地址生成单元652中执行,该地址生成单元652也耦合到TLB 654。可以看出,这些结构可耦合到数据缓存660,数据缓存660可以是L0和/或L1数据缓存,该L0和/或L1数据缓存进而耦合到缓存存储器层次体系的额外级别,包括L2缓存存储器。
为了提供对无序执行的支持,除了重排序缓冲器680以外还可提供分配器/重命名器670,该重排序缓冲器680被配置为对无序执行的指令重排序以便有序引退。虽然在图6的图示中是以这个特定的管线体系结构示出的,但要理解许多变化和替换是可能的。
注意在具有非对称核心的处理器(例如根据图5和图6的微体系结构)中,可出于功率管理原因在核心之间动态地交换工作负载,因为这些核心虽然具有不同的管线设计和深度,但可具有相同或相关的ISA。这种动态核心交换可以按对于用户应用透明(并且可能对于内核也透明)的方式来执行。
参考图7,示出了根据另外一个实施例的处理器核心的微体系结构的框图。如图7中所示,核心700可包括多阶段有序管线来以非常低的功率消耗水平执行。作为一个这种示例,处理器700可具有根据可从加州森尼维尔市的ARM控股有限公司获得的ARM Cortex A53设计的微体系结构。在一种实现方式中,可提供被配置为既执行32比特代码也执行64比特代码的8阶段管线。核心700包括取得单元710,该取得单元710被配置为取得指令并将它们提供给解码单元715,解码单元715可对指令(例如诸如ARMv8 ISA之类的给定ISA的宏指令)解码。还注意队列730可耦合到解码单元715以存储解码的指令。解码的指令被提供到发出逻辑725,在这里解码的指令可被发出到多个执行单元中的给定一个。
还参考图7,发出逻辑725可将指令发出到多个执行单元之一。在示出的实施例中,这些执行单元包括整数单元735、乘法单元740、浮点/向量单元750、双重发出单元760以及加载/存储单元770。这些不同的执行单元的结果可被提供到写回单元780。要理解虽然为了图示的容易而示出了单个写回单元,但在一些实现方式中,分开的写回单元可与每个执行单元相关联。此外,要理解虽然图7中所示的每个单元和逻辑是在高级别表示的,但特定的实现方式可包括更多的或不同的结构。利用具有如图7中所示的管线的一个或多个核心设计的处理器可实现在许多不同的最终产品(从移动装置延伸到服务器系统)中。
参考图8,示出了根据另外一个实施例的处理器核心的微体系结构的框图。如图8中所示,核心800可包括多阶段多发出无序管线来以非常高的性能水平执行(这可发生在比图7的核心700更高的功率消耗水平)。作为一个这种示例,处理器800可具有根据ARMCortex A57设计的微体系结构。在一种实现方式中,可提供被配置为既执行32比特代码也执行64比特代码的15(或更多)阶段管线。此外,管线可提供3宽(或更宽)和3发出(或更多发出)操作。核心800包括取得单元810,取得单元810被配置为取得指令并且将它们提供到解码器/重命名器/调谴器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可以是可从英特尔公司获得的基于 Architecture CoreTM的处理器,例如i3、i5、i7或另外的这种处理器。然而,其他低功率处理器(例如可从加州森尼维尔市的超微半导体公司(AMD)获得的,来自ARM控股有限公司的基于ARM的设计或者其被许可方,或者来自加州森尼维尔市的MIPS技术公司的基于MIPS的设计或者其被许可方或者采用者)可取而代之存在于其他实施例中,例如苹果A7处理器、高通骁龙处理器或者德州仪器OMAP处理器。这种SoC可用于低功率系统中,例如智能电话、平板计算机、平板手机计算机、UltrabookTM计算机或者其他便携式计算装置或连接的装置。
在图9中所示的高级别视图中,处理器900包括多个核心单元9100-910n。每个核心单元可包括一个或多个处理器核心、一个或多个缓存存储器和其他电路。每个核心单元910可支持一个或多个指令集(例如,x86指令集(带有已随着更新版本添加的一些扩展);MIPS指令集;ARM指令集(带有诸如NEON之类的可选附加扩展)或者其他指令集或者其组合。注意,核心单元中的一些可以是异构资源(例如,具有不同的设计)。此外,每个这种核心可耦合到缓存存储器(未示出),该缓存存储器在实施例中可以是共享级别(L2)缓存存储器。非易失性存储装置930可用于存储各种程序和其他数据。例如,此存储装置可用于存储微代码的至少一些部分、诸如BIOS之类的引导信息、其他系统软件,等等。
每个核心单元910还可包括接口,例如总线接口单元,来使能互连到处理器的额外电路。在一实施例中,每个核心单元910耦合到可充当主缓存一致片上互连的一致架构,该互连进而耦合到存储器控制器935。进而,存储器控制器935控制与诸如DRAM之类的存储器(在图9中为了图示的容易而没有示出)的通信。
除了核心单元以外,额外的处理引擎存在于处理器内,包括至少一个图形单元920,该图形单元920可包括一个或多个图形处理单元(graphics processing unit,GPU)来执行图形处理以及可能执行图形处理器上的通用操作(所谓的GPGPU操作)。此外,至少一个图像信号处理器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可利用非对称或不同类型的核心(例如更高功率和/或低功率核心的组合,例如无序核心和有序核心)来实现。在不同的实施例中,这些核心可基于 ArchitectureTM核心设计或者ARM体系结构设计。在另外的其他实施例中,在给定的SoC中可实现和ARM核心的混合。
从图10中可看出,SoC 1000包括具有多个第一核心10120-10123的第一核心域1010。在一示例中,这些核心可以是诸如有序核心之类的低功率核心。在一个实施例中,这些第一核心可实现为ARM Cortex A53核心。进而,这些核心耦合到核心域1010的缓存存储器1015。此外,SoC 1000包括第二核心域1020。在图10的图示中,第二核心域1020具有多个第二核心10220-10223。在一示例中,这些核心可以是比第一核心1012更高功率消耗的核心。在一实施例中,第二核心可以是无序核心,这些无序核心可实现为ARM Cortex A57核心。进而,这些核心耦合到核心域1020的缓存存储器1025。注意虽然图10中所示的示例在每个域中包括4个核心,但要理解在其他示例中在给定的域中可存在更多或更少核心。
进一步参考图10,还提供了图形域1030,该图形域1030可包括被配置为独立地执行例如由核心域1010和1020的一个或多个核心提供的图形工作负载的一个或多个图形处理单元(GPU)。作为示例,除了提供图形和显示渲染操作以外,GPU域1030还可用于为多种屏幕大小提供显示支持。
可以看出,各种域耦合到一致互连1040,该一致互连1040在一实施例中可以是缓存一致互连架构,该缓存一致互连架构进而耦合到集成存储器控制器1050。在一些示例中,一致互连1040可包括共享缓存存储器,例如L3缓存。在一实施例中,存储器控制器1050可以是直接存储器控制器来提供与片外存储器的通信的多个通道,例如DRAM的多个通道(在图10中为了图示的容易没有示出)。
在不同的示例中,核心域的数目可变化。例如,对于适合于包含到移动计算装置中的低功率SoC,例如图10中所示的有限数目的核心域可存在。此外,在这种低功率SoC中,包括更高功率核心的核心域1020可具有更少数目的这种核心。例如,在一个实现方式中,可提供两个核心1022来使能以降低的功率消耗水平的操作。此外,不同的核心域也可耦合到中断控制器来使能不同域之间的工作负载的动态交换。
在另外的其他实施例中,更大数目的核心域,以及额外的可选IP逻辑可存在,因为SoC可被缩放到更高性能(以及功率)水平,以便包含到其他计算装置(例如桌面型电脑、服务器、高性能计算系统,基站等等)中。作为一个这种示例,可提供4个核心域,每个具有给定数目的无序核心。此外,除了可选的GPU支持以外(其作为示例可采取GPGPU的形式),也可提供一个或多个加速器来提供对特定功能(例如,web服务、网络处理、交换等等)的优化硬件支持。此外,输入/输出接口也可存在来将这种加速器耦合到片外组件。
现在参考图11,示出了另一示例SoC的框图。在图11的实施例中,SoC 1100可包括各种电路来为多媒体应用、通信和其他功能使能高性能。这样,SoC 1100适合于包含到许多种便携装置和其他装置(例如智能电话、平板计算机、智能TV等等)中。在示出的示例中,SoC1100包括中央处理器单元(central processor unit,CPU)域1110。在一实施例中,多个个体处理器核心可存在于CPU域1110中。作为一个示例,CPU域1110可以是具有4个多线程核心的四核心处理器。这种处理器可以是同构或异构处理器,例如低功率和高功率处理器核心的混合。
进而,提供GPU域1120来在一个或多个GPU中执行高级图形处理以应对图形和计算API。除了在多媒体指令的执行期间可发生的高级计算以外,DSP单元1130还可提供一个或多个低功率DSP来应对低功率多媒体应用,例如音乐重放、音频/视频等等。进而,通信单元1140可包括各种组件来经由各种无线协议(例如蜂窝通信(包括3G/4G LTE)、诸如BluetoothTM之类的无线局域协议、IEEE 802.11,等等)提供连通性。
此外,多媒体处理器1150可用于执行高清晰度视频和音频内容的捕捉和重放,包括用户姿态的处理。传感器单元1160可包括多个传感器和/或传感器控制器来接口到给定平台中存在的各种片外传感器。图像信号处理器1170可具有一个或多个分开的ISP来对于来自平台的一个或多个相机的捕捉内容执行图像处理,这些相机包括静态相机和视频相机。
显示处理器1180可提供对到给定像素密度的高清晰度显示器的连接的支持,包括无线地传输内容以便在这种显示器上重放的能力。此外,位置单元1190可包括GPS接收器,该GPS接收器带有对多个GPS星座的支持以向应用提供利用这种GPS接收器获得的高度准确的定位信息。要理解虽然在图11的示例中是以这组特定的组件示出的,但许多变化和替换是可能的。
现在参考图12,示出了可结合实施例使用的示例系统的框图。可以看出,系统1200可以是智能电话或其他无线通信器。基带处理器1205被配置为对于要从系统发送或者被系统接收的通信信号执行各种信号处理。进而,基带处理器1205耦合到应用处理器1210,应用处理器1210可以是系统的主CPU来执行OS和其他系统软件,以及诸如许多公知的社交媒体和多媒体应用之类的用户应用。应用处理器1210还可被配置为为装置执行多种其他计算操作并且执行本文描述的功率管理技术。
进而,应用处理器1210可耦合到用户接口/显示器1220,例如触摸屏显示器。此外,应用处理器1210可耦合到存储器系统,包括非易失性存储器,即闪速存储器1230,以及系统存储器,即动态随机访问存储器(DRAM)1235。还可看出,应用处理器1210还耦合到捕捉装置1240,例如可记录视频和/或静态图像的一个或多个图像捕捉装置。
仍参考图12,包括订户身份模块以及可能包括安全存储装置和密码处理器的通用集成电路卡(universal integrated circuit card,UICC)1240也耦合到应用处理器1210。系统1200还可包括可耦合到应用处理器1210的安全性处理器1250。多个传感器1225可耦合到应用处理器1210以使得能够输入多种感测到的信息,例如加速度计和其他环境信息。音频输出装置1295可提供接口来输出声音,例如以语音通信、播放的或流媒体音频数据等等的形式。
如还图示的,提供了近场通信(near field communication,NFC)无接触接口1260,其经由NFC天线1265在NFC近场中通信。虽然在图12中示出了分开的天线,但要理解在一些实现方式中,可提供一个天线或者不同组天线来使能各种无线功能。
PMIC 1215耦合到应用处理器1210以执行平台级功率管理。为此,PMIC 1215可向应用处理器1210发出功率管理请求以根据需要进入某些低功率状态。此外,基于平台约束,PMIC 1215也可控制系统1200的其他组件的功率水平。
为了使得能够发送和接收通信,各种电路可耦合在基带处理器1205和天线1290之间。具体而言,射频(radio frequency,RF)收发器1270和无线局域网(wireless localarea network,WLAN)收发器1275可存在。一般而言,RF收发器1270可用于根据给定的无线通信协议接收和发送无线数据和呼叫,这些无线通信协议例如是3G或4G无线通信协议,例如根据码分多址接入(code division multiple access,CDMA)、全球移动通信系统(global system for mobile communication,GSM)、长期演进(long term evolution,LTE)或其他协议。此外,GPS传感器1280可存在。也可提供其他无线通信,例如无线电信号(例如AM/FM和其他信号)的接收或发送。此外,经由WLAN收发器1275,也可实现本地无线通信。
现在参考图13,示出了可结合实施例使用的另一示例系统的框图。在图13的图示中,系统1300可以是移动低功率系统,例如平板计算机、2:1平板设备、平板手机或其他可转换或独立平板系统。如图所示,SoC 1310存在并且可被配置为对于该装置作为应用处理器操作并且执行本文描述的功率管理技术。
多种装置可耦合到SoC 1310。在示出的图示中,存储器子系统包括耦合到SoC1310的闪速存储器1340和DRAM 1345。此外,触摸面板1320耦合到SoC 1310以提供显示能力和经由触摸的用户输入,包括在触摸面板1320的显示器上提供虚拟键盘。为了提供有线网络连通性,SoC 1310耦合到以太网接口1330。外设中枢1325耦合到SoC 1310以使能与各种外围装置相接口,例如可通过各种端口或其他连接器的任何一者耦合到系统1300。
除了SoC 1310内的内部功率管理电路和功能以外,PMIC 1380也耦合到SoC 1310以提供基于平台的功率管理,例如基于系统是被电池1390供电还是经由AC适配器1395被AC电源供电。除了这个基于电源的功率管理以外,PMIC 1380还可基于环境和使用条件执行平台功率管理活动。此外,PMIC 1380可向SoC 1310传达控制和状态信息以引起SoC 1310内的各种功率管理动作。
仍参考图13,为了提供无线能力,WLAN单元1350耦合到SoC 1310并且进而耦合到天线1355。在各种实现方式中,WLAN单元1350可根据一个或多个无线协议提供通信。
如还图示的,多个传感器1360可耦合到SoC 1310。这些传感器可包括各种加速度计、环境和其他传感器,包括用户姿态传感器。最后,音频编解码器1365耦合到SoC 1310以提供到音频输出装置1370的接口。当然要理解,虽然在图13中是以这个特定实现方式示出的,但许多变化和替换是可能的。
现在参考图14,示出了诸如笔记本、UltrabookTM或其他小外形参数系统之类的代表性计算机系统的框图。处理器1410在一个实施例中包括微处理器、多核处理器、多线程处理器、超低电压处理器、嵌入式处理器或者其他已知的处理元件。在图示的实现方式中,处理器1410充当主处理单元和中央中枢来与系统1400的各种组件中的许多通信。作为一个示例,处理器1400被实现为SoC。
处理器1410在一个实施例中与系统存储器1415通信。作为说明性示例,系统存储器1415是经由多个存储器装置或模块实现的,以提供给定量的系统存储器。
为了提供诸如数据、应用、一个或多个操作系统之类的信息的持续性存储,大容量存储装置1420也可耦合到处理器1410。在各种实施例中,为了使能更薄和更轻的系统设计以及为了改善系统响应性,这个大容量存储装置可经由SSD来实现或者大容量存储装置可主要利用硬盘驱动器(hard disk drive,HDD)来实现,其中更小量的SSD存储充当SSD缓存来使能在掉电事件期间对情境状态和其他这种信息的非易失性存储,使得在系统活动重发起时可发生快速加电。图14中还示出的是,闪速装置1422可耦合到处理器1410,例如经由串行外围接口(serial peripheral interface,SPI)。这个闪速装置可提供对系统软件(包括基本输入/输出软件(basic input/output software,BIOS)以及系统的其他固件)的非易失性存储。
各种输入/输出(I/O)装置可存在于系统1400内。具体而言,在图14的实施例中示出的是显示器1424,其可以是还提供触摸屏1425的高清晰度LCD或LED面板。在一个实施例中,显示器1424可经由可实现为高性能图形互连的显示互连耦合到处理器1410。触摸屏1425可经由另一互连耦合到处理器1410,该另一互连在一实施例中可以是I2C互连。如图14中还示出的,除了触摸屏1425以外,借由触摸的用户输入也可经由触摸板1430发生,该触摸板1430可被配置在机壳内并且也可耦合到与触摸屏1425相同的I2C互连。
为了感知计算和其他目的,各种传感器可存在于系统内并且可以不同的方式耦合到处理器1410。某些惯性和环境传感器可通过传感器中枢1440,例如经由I2C互连,耦合到处理器1410。在图14所示的实施例中,这些传感器可包括加速器计1441、环境光传感器(ambient light sensor,ALS)1442、罗盘1443和陀螺仪1444。其他环境传感器可包括一个或多个热传感器1446,该热传感器1446在一些实施例中经由系统管理总线(SMBus)总线耦合到处理器1410。
在图14中还可看出,各种外围装置可经由低引脚数(low pin count,LPC)互连耦合到处理器1410。在示出的实施例中,各种组件可通过嵌入式控制器1435耦合。这种组件可包括键盘1436(例如,经由PS2接口耦合)、风扇1437和热传感器1439。在一些实施例中,触摸板1430也可经由PS2接口耦合到EC 1435。此外,诸如可信平台模块(trusted platformmodule,TPM)1438之类的安全性处理器也可经由这个LPC互连耦合到处理器1410。
系统1400可通过多种方式与外部装置通信,包括无线地通信。在图14中所示的实施例中,存在各种无线模块,其中每一者可对应于被配置用于特定的无线通信协议的无线电装置。用于诸如近场之类的短距离中的无线通信的一种方式可经由NFC单元1445,该NFC单元1445在一个实施例中可经由SMBus与处理器1410通信。注意经由此NFC单元1445,彼此近邻的装置可通信。
从图14中还可看出,额外的无线单元可包括其他短距离无线引擎,包括WLAN单元1450和蓝牙单元1452。利用WLAN单元1450,可实现Wi-FiTM通信,而经由蓝牙单元1452,可发生短距离BluetoothTM通信。这些单元可经由给定的链路与处理器1410通信。
此外,无线广域通信,例如根据蜂窝或其他无线广域协议,可经由WWAN单元1456发生,该WWAN单元1456进而可耦合到订户身份模块(subscriber identity module,SIM)1457。此外,为了使能对位置信息的接收和使用,GPS模块1455也可存在。注意在图14中所示的实施例中,WWAN单元1456和诸如相机模块1454之类的集成捕捉装置可经由给定的链路通信。
集成相机模块1454可被包含在盖子中。为了提供音频输入和输出,音频处理器可经由数字信号处理器(digital signal processor,DSP)1460实现,该DSP 1460可经由高清晰度音频(high definition audio,HDA)链路耦合到处理器1410。类似地,DSP 1460可与集成编码器/解码器(CODEC)和放大器1462通信,该集成CODEC和放大器1462进而可耦合到输出扬声器1463,该输出扬声器1463可实现在机壳内。类似地,放大器和CODEC 1462可被耦合来从麦克风1465接收音频输入,该麦克风1465在一实施例中可经由双阵列麦克风(例如数字麦克风阵列)来实现以提供高质量音频输入来使能对系统内的各种操作的由语音激活的控制。还要注意音频输出可从放大器/CODEC 1462被提供到耳机插孔1464。虽然在图14的实施例中是以这些特定组件示出的,但要理解本发明的范围在这个方面不受限制。
实施例可实现在许多不同的系统类型中。现在参考图15,示出了根据本发明的实施例的系统的框图。如图15中所示,多处理器系统1500是点到点互连系统,并且包括经由点到点互连1550耦合的第一处理器1570和第二处理器1580。如图15中所示,处理器1570和1580的每一者可以是多核处理器,包括第一和第二处理器核心(即,处理器1574a和1574b和处理器核心1584a和1584b),虽然可能在处理器中存在多得多的核心。此外,处理器1570和1580的每一者也可包括图形处理器单元(GPU)1573、1583来执行图形操作。处理器1570、1580的每一者可包括PCU 1575、1585来执行基于处理器的功率管理,包括如本文所述至少部分基于工作负载分类来引起对一个或多个电压调节器(包括IVR 1577、1587)的功率状态的动态更新。
仍参考图15,第一处理器1570还包括存储器控制器中枢(memory controllerhub,MCH)1572和点到点(point-to-point,P-P)接口1576和1578。类似地,第二处理器1580包括MCH 1582和P-P接口1586和1588。如图15中所示,MCH 1572和1582将处理器耦合到各自的存储器,即存储器1532和存储器1534,存储器1532和存储器1534可以是在本地附接到各个处理器的系统存储器(例如,DRAM)的一部分。第一处理器1570和第二处理器1580可分别经由P-P互连1562和1564耦合到芯片集1590。如图15中所示,芯片集1590包括P-P接口1594和1598。
此外,芯片集1590包括接口1592来通过P-P互连1539将芯片集1590与高性能图形引擎1538耦合。进而,芯片集1590可经由接口1596耦合到第一总线1516。如图15中所示,各种输入/输出(I/O)装置1514可耦合到第一总线1516,以及将第一总线1516耦合到第二总线1520的总线桥1518。各种装置可耦合到第二总线1520,例如包括键盘/鼠标1522、通信装置1526和数据存储单元1528,例如盘驱动器或者其他大容量存储装置,其他大容量存储装置在一个实施例中可包括代码1530。另外,音频I/O 1524可耦合到第二总线1520。实施例可被包含到其他类型的系统(包括移动装置,比如智能蜂窝电话、平板计算机、上网本、UltrabookTM,等等)中。
图16是根据实施例图示出可用于制造集成电路来执行操作的IP核心开发系统1600的框图。IP核心开发系统1600可用于生成模块化的、可重复使用的设计,这些设计可被包含到更大的设计中或者被用于构造整个集成电路(例如,SoC集成电路)。设计设施1630可以用高级别编程语言(例如,C/C++)生成IP核心设计的软件仿真1610。软件仿真1610可用于设计、测试和验证IP核心的行为。然后可从仿真模型创建或合成寄存器传送级(registertransfer level,RTL)设计。RTL设计1615是对硬件寄存器之间的数字信号的流动(包括利用建模的数字信号执行的关联逻辑)建模的集成电路的行为的抽象。除了RTL设计1615以外,也可创建、设计或者合成在逻辑级或晶体管级的更低级别设计。从而,初始设计和仿真的特定细节可变化。
RTL设计1615或等同物还可被设计设施合成为硬件模型1620,该硬件模型1620可采取硬件描述语言(hardware description language,HDL),或者物理设计数据的某种其他表示。HDL可被进一步仿真或测试来验证IP核心设计。IP核心设计可被存储来利用非易失性存储器1640(例如,硬盘、闪速存储器或者任何其他非易失性存储介质)输送到第三方制造设施1665。或者,可通过有线连接1650或无线连接1660(例如,经由互联网)来传输IP核心设计。制造设施1665随后可制造至少部分基于该IP核心设计的集成电路。制造的集成电路可被配置为根据本文描述的至少一个实施例执行操作。
现在参考图17,示出了电压调节器的一组效率曲线的图解示意。如图17中所示,图示1700根据一实施例用图线表示电压调节器的效率对输出电流。如图所示,提供了三个示例效率曲线1710、1720、1730。每个效率曲线是针对电压调节器的给定功率状态配置的。利用这些曲线,呈现了多个交叉点1740和1750。这些交叉点的每一者是一个拐点,在该拐点处,通过从一个曲线移动到另一个,即从一个功率状态配置移动到另一个,来更好地提供效率。
由于这些效率曲线的每一者是针对电压调节器的给定功率状态配置的,所以通过在不同的电流消耗水平将电压调节器从一个功率状态配置动态重配置到另一功率状态配置,可实现功率节省机会。
更具体而言,如图17中所示,效率曲线1710是针对在第一功率状态配置(即PS2配置状态)的操作中的电压调节器的。进而,效率曲线1720是针对在第二功率状态配置(即PS1配置状态)的操作中的电压调节器的。最后,效率曲线1730是针对在第三功率状态配置(即PS0配置状态)的操作中的电压调节器的。
可以看出,通过将电压调节器配置从PS2切换到PS1,如交叉点1740处所指示,当在大约4.5安培(A)或更大的电流水平操作时,电压调节器效率可增大。类似地,通过将电压调节器配置从PS1切换到PS0,如交叉点1750处所指示,当在大约14A或更大的电流水平操作时,电压调节器效率也可增大。
从图17的这三个效率曲线,可以确定功率状态(PS)概要。这个PS概要提供了多个截止阈值来指示出操作点,在这些操作点,电压调节器可被从一个功率状态配置动态地重配置到另一功率状态配置,以改善电压调节器效率。在一个实施例中,每个阈值可对应于给定的电流水平,在该电流水平,电压调节器的给定功率状态配置将生效。
要理解图17中所示的三个效率曲线可以是针对给定的操作电压水平的。然而,因为处理器可被动态控制来在各种各样的操作电压下操作,所以要理解图17的效率曲线可能不是在所有操作条件中都是最优的。也就是说,由于效率曲线随着不同的电压而变化,所以交叉点也可变化。从而实施例提供了一组效率曲线,每一者用于多个不同操作电压(或者电压范围)中的一个或多个。利用多个效率曲线,可在宽范围的操作条件上最大化功率节省。利用这里的实施例,多个PS概要可被提供并且被使用来动态地控制一个或多个电压调节器以至少部分基于当前在处理器上执行的工作负载根据在给定PS概要中指定的截止阈值来操作。这样,利用优化的截止阈值,也可优化功率消耗。并且如本文所述,对这多个PS概要之一的选择可至少部分基于检测到的工作负载条件。
现在参考图18,示出了根据一个实施例的工作负载类别对功率状态概要映射的图示。如图18中所示,可以识别不同的工作负载类别并且可在特定工作负载类别和多个PS概要之一之间执行映射。具体而言,如图18中所示,映射体系结构1800被用于将工作负载表格1810映射到PS表格1820。在一实施例中,可基于从在平台上执行的多个工作负载获得的测试数据来确定工作负载表格1810。并且可基于对基于测试数据确定的效率曲线的分析来确定PS表格1820中的多个PS概要1822。在一实施例中,PS表格1820可被BIOS配置编程并且可被存储在功率管理配置寄存器中。例如,可以有5个PS概要槽位,每个具有PS1/PS2截止阈值字段,分配有寄存器空间来供BIOS填写。例如,每个PS概要1822可与一种类型的工作负载相关联,对于该种类型的工作负载,通过利用该概要可实现更好的功率或性能。进而,这个测试数据被分析并且被用于设置在PS概要中指定的截止阈值。在图18的高级别视图中,每个PS概要只包括两个截止阈值来表示三个不同功率状态之间的两个功率状态重配置(PS2到PS1和PS1到PS0)。当然,在其他示例中可存在更多或更少的截止阈值。
如图18中所示,工作负载表格1810包括多个条目1812,每个是针对给定的工作负载矩阵或者工作负载分类类型的。可以看出,每个工作负载分类类型可具有多个关联的截止阈值,例如由于大量的测试数据而确定的。注意某些工作负载类型,即空闲、电池寿命和突发式工作负载,具有相对相似的截止阈值。具体而言,这些工作负载具有在彼此的大约1A内的截止阈值。因此,这3个不同的工作负载分类可被映射到具有第一识别符PS概要ID 1的单个PS概要。如图所示,PS概要1提供4A的PS2截止阈值和14A的PS1截止阈值。从而,这个PS概要与多个工作负载类型相关联。
其他工作负载类型,即半活跃和持续工作负载,则分别映射到专属PS概要。具体而言,如图所示,半活跃工作负载映射到具有第二识别符(PS概要ID 2)的PS概要,并且持续工作负载映射到具有第三识别符(PS概要ID 3)的PS概要。进而,PS概要2提供5A的PS2截止阈值和12A的PS1截止阈值。最后,PS概要3提供6A的PS2截止阈值和18A的PS1截止阈值。
虽然是以这些特定映射示出的,但要理解实施例在这个方面不受限制。在其他情况下,可以有额外的PS概要,而且在工作负载类别和PS概要之间可以有不同的映射。此外,可以有额外的工作负载类别。例如,基于不同的条件可以有不同类型的工作负载类别。此外,在一些情况下,至少部分取决于操作条件,比如平台是基于AC电源还是DC电源操作、操作电压或者其他这种操作条件,单个工作负载类型可能可以映射到多个PS概要。
现在参考图19,示出了根据一实施例执行动态PS概要确定的计算平台的框图。如图19中所示,计算平台1900可以是任何类型的计算平台,例如从诸如智能电话、膝上型电脑之类的小型便携式装置到更大的客户端系统、企业系统之类的不等。计算平台1900包括工作负载分类器1910,其被配置为接收传入的工作负载度量信息。这种工作负载度量信息可包括描述工作负载的特性的信息。作为示例,这种信息可包括电压、频率、活动度量(比如CPU驻留信息、功率水平的持续时间/周期以及开/关状态)、功率、软件事件,等等。
注意在一些情况下,工作负载分类器1910可在工作负载在其上运行的那同一个处理器上执行。在其他情况下,平台1900可包括多个处理器,其中工作负载分类器1910可在与其评估的工作负载不同的处理器上执行。在一实施例中,工作负载分类器1910可实现为机器学习分类器。在一个特定实施例中,工作负载分类器1910可以是动态平台热框架(Dynamic Platform Thermal Framework,DPTF)或者动态调谐技术(DynamicTuning Technology,DTT)组件。
至少部分基于这个接收到的工作负载度量信息,工作负载分类器1910可将运行的工作负载分类为多个预定的工作负载类别类型之一。在图19中所示的实施例中,这些工作负载分类类型包括空闲工作负载1922、电池寿命工作负载1924、突发式工作负载1926、半活跃工作负载1928和持续工作负载1930。
在功率消耗在长时间段中始终较低的情况下,可选择空闲工作负载1922。在功率相对较低,但处理器在长时间段中活跃地执行诸如视频重放之类的任务的情况下,可选择电池寿命工作负载1924。电池寿命和空闲工作负载可以是相似的,因为在一段时间中对于这些工作负载消耗的功率相对较低,而没有任何突发式行为。
对于只有很少或者没有空闲时段的相对较高的功率水平,可选择持续工作负载1930。作为示例,通过这个工作负载执行,峰值功率水平预算(例如,PL2)可被耗尽并且平均功率水平预算(例如,PL1)将最终被耗尽。
突发式工作负载1926可消耗相对恒定的平均量功率;然而,活动的突发中断相对空闲的时段。突发足够短并且是间隔开的,使得功率极限PL1预算通常不被耗尽。突发可在突发之间有空闲时段的情况下发生。
在相对恒定的平均量功率被消耗,但活动的突发中断相对空闲的时段的情况下,可选择半活跃工作负载1928。突发长到足以使得一些突发可耗尽功率极限PL2预算。例如,突发可以是不规律的,但是长到足以使得PL2预算可被耗尽。当然其他工作负载分类在其他实施例中是可能的。
在某些实施例中,工作负载分类器1910也可以可选地确定平台1900是在基于电池功率还是墙壁插座功率执行,如在块1935处所确定的。在其他情况下,另一系统组件可基于其他信息识别出AC或DC电源是否活跃。
可以看出,给定的工作负载分类可被提供给判决电路1940。在这里的实施例中,判决电路1940可包括控制电路和PS表格,例如图18的PS表格1820。至少部分基于工作负载分类(以及可选地基于电源指示),判决电路1940可确定多个PS概要中的适当一个来使用。在一些实施例中,判决电路1940也可考虑关于在性能和功率消耗之间的用户偏好的用户偏好信息以确定适当的功率状态概要。如图所示,判决电路1940可向PS映射器1950输出所选概要,例如借由概要指示符输出。在一个实施例中,PS映射器1950可实现在 DPTF或DTT组件内。当然实施例在这个方面不受限制。
进而,PS映射器1950可向功率管理单元(PMU)1960提供对PS概要的更新的指示。在一个实施例中,PS映射器1950经由邮箱接口耦合到PMU 1960。注意在其他情况下,判决电路1940可直接将所选PS概要传达给PMU 1960。
PMU 1960包括电压调节器控制电路1962,其可接收PS概要更新的指示并且采取适当的动作。为此,电压调节器控制电路1962可访问相应的PS概要(例如存储在PS概要表格1964或者PMU 1960的另一配置存储装置中或者存储在另一位置中)。然后基于对处理器的电流消耗水平的确定,VRCC 1962可引起对电压调节器(图19中未示出)的功率状态配置的更新。结果,电压调节器可被控制来取决于被执行的工作负载和/或处理器的操作条件在最高效率点动态地操作。
现在参考图20,其中示出了根据本发明的实施例的方法的流程图。如图20中所示,方法2000是用于如本文所述利用工作负载分类来动态控制电压调节器配置的方法。在一实施例中,方法2000可被平台的各种组件(包括工作负载分类器和功率控制器)执行。这样,方法2000可由硬件电路、固件、软件和/或其组合来执行。
如图所示,方法2000开始于对在处理器上运行的工作负载分类(块2010)。例如,工作负载分类器可识别给定的工作负载,例如利用模式匹配等等来识别。要理解不同的工作负载分类可存在于特定实施例中。在高级别,可提供至少两个工作负载分类,例如第一工作负载分类类型来指示更性能驱动的工作负载,以及第二工作负载分类类型来指示更功率敏感的工作负载。在更典型的实施例中,多于两个不同的工作负载分类类型可用。在任何情况下,控制从块2010传递到块2020,在这里至少部分基于工作负载分类从多个这种功率状态概要中选择功率状态概要。在一实施例中,判决电路可选择功率状态概要。为此,判决电路可从工作负载分类器接收对分类的工作负载的指示,并且例如利用关于这个分类的工作负载的工作负载识别符来访问功率状态概要表格内的给定功率状态概要。在其他实施例中,要理解对功率状态概要的这个选择可在其他位置发生。例如,在一些情况下,工作负载分类器可将工作负载分类类型直接传达给功率控制器,功率控制器进而访问功率状态概要表格(例如,包括在功率控制器的配置存储装置中)来识别所选择的功率状态概要。
继续图20,在示出的实施例中,对于所选功率状态概要的指示可被传达给功率控制器(块2030)。例如,可以传达所选功率状态概要的功率状态概要识别符。从这个信息,功率控制器可从其自己的配置存储装置内访问特定的功率状态概要,来为这个所选功率状态概要识别适当的截止阈值。例如,功率控制器可获得这些截止阈值并且将它们存储在一个或多个配置寄存器中来用于执行电压调节器配置改变。
此时,功率控制器可确定工作负载的电流消耗,例如在处理器内的(块2040)。这种电流消耗可至少部分基于操作的频率、核心的数目和其他系统参数以及最坏情况电流场景来确定。还要注意这个电流消耗可以是在处理器的功率状态和/或性能状态的变化(例如,C状态和/或P状态变化)之前确定的。接下来,在菱形2050处确定电流消耗是否跨过(例如,超过或降低到低于)所选功率状态概要的截止阈值中的一个或多个。如果是,则控制传递到块2060。在块2060,功率控制器可向至少一个电压调节器发送配置消息以使得其更新其功率状态。例如,假定所确定的电流消耗超过15A,其中15A是所选功率状态概要的截止阈值,在该截止阈值处功率状态将从PS1转变到PS0。继续此示例,功率控制器发送配置消息来使得电压调节器将其功率状态更新到PS0。或者反之,如果电流消耗低于15A,则功率控制器可发送配置消息来使得电压调节器将其功率状态更新到PS1(如果处于PS0中)。注意可默认假定PS1的功率状态被选择,例如在启动时被选择,并且被维持直到确定适当的功率状态变化来在更轻的处理器活动在发生时将功率状态降低到更低功率状态,或者在高电流消耗工作负载在执行中时增大到更高功率状态。
最后参考图20,在发送此配置消息之后,控制传递到菱形2070,以确定是否有了工作负载变化。如果否,则控制传递回到块2040以进一步确定电流消耗。注意如果所确定的电流消耗没有超过或者降低到低于任何截止阈值,则也从菱形2050直接进入菱形2070。如果确定在工作负载中有变化,则控制传递回到块2010,如上所述。注意对工作负载变化的这个确定可以是作为对在处理器内执行的新工作负载的指示的结果而发生的。处理器的额外配置变化可基于工作负载分类而发生。例如,一个或多个功率水平(例如,功率预算)可基于工作负载分类被动态更新。进而,功率控制器可使得一个或多个核心或其他处理单元作为更新的功率水平的结果而在不同的电压和/或频率组合下操作。要理解虽然在图20的实施例中在这个高级别示出了,但许多变化和替换是可能的。
现在参考图21,其中示出了根据本发明的另一实施例的方法的流程图。如图21中所示,方法2100是用于利用机器学习环境来为电压调节器调谐功率状态概要的方法。如图21中所示,可对于给定的平台利用机器学习环境来执行方法2100。如图所示,方法2100通过设置截止阈值而开始(块2110)。这些截止阈值可以是一组电流消耗水平,在这些电流消耗水平上,电压调节器将被从一个功率状态动态地重配置到另一个。当识别一组阈值时,控制传递到块2120,在这里选择工作负载来开始执行。这个工作负载可以是可被执行来获得测试数据的许多不同类型的工作负载之一。如图所示,在这个工作负载的执行期间,可以收集电压调节器功率度量信息。更具体而言,如块2130处所示,可以收集VR输入/输出功率信息。虽然实施例在这个方面不受限制,但作为示例,这个功率度量信息可包括基准的性能得分、频率(P状态)驻留、CPU开/关(C状态)驻留,以及其他这种信息。然后,执行中的工作负载可被停止(块2140)。接下来,在块2150,可处理数据。在一实施例中,数据可被处理来确定VR损耗信息、性能得分,等等。
在块2160,这个信息,即经处理的数据,可被存储在数据库2165中。控制接下来传递回到块2120,在这里可利用相同的一组截止阈值来执行下一工作负载。当已利用这组阈值执行了要测试的所有工作负载时,控制传递回到块2110,在这里可识别另一组截止阈值并且使用其来再次执行多个工作负载,从块2120处开始。
这样,当所有工作负载已循环经过所有阈值组时,数据库2165包括关于功率损耗、性能得分等等的一大组经处理的数据。然后可利用这个经处理的数据执行机器学习来识别PS概要来用于平台中。这种PS概要可被填充,例如填充到BIOS中,或者以其他方式被提供给系统,使得它们可被存储在功率控制器可访问的配置存储装置中。然后在正常操作期间,功率控制器可访问适当的PS概要,例如至少部分基于工作负载分类类型来访问,并且基于电流消耗水平向电压调节器提供适当的配置消息,以引起对调节器的功率状态的动态重配置。要理解虽然在图21的实施例中在这个高级别示出了,但许多变化和替换是可能的。例如,这个机器学习技术可按某些评估间隔(例如,几星期或几月)在平台连接到AC电源并且用户没有在使用平台时被动态地使用,来动态地更新工作负载类型到功率状态概要的关联。此外,这个机器学习环境可用于动态地选择新的不同组的截止阈值,然后基于对多个工作负载的测试来识别新的功率状态概要。进而,可利用这种新的功率状态概要来动态地更新功率状态概要表格。
实施例从而认识到最优功率状态截止阈值组合随着不同的工作负载而变化。利用实施例,对于其中可为不同的工作负载缩放截止阈值的特定平台可提供多个功率状态概要。与工作负载分类相结合,可基于执行中的工作负载分类类型来选择最优功率状态概要。进而,所选的功率状态概要可用于识别操作点(例如,电流消耗水平),在这些操作点,一个或多个电压调节器的功率状态的动态重配置可发生来改善功率输送效率。
以下示例属于进一步实施例。
在一个示例中,一种处理器包括:至少一个核心,用于执行工作负载;电压调节器,用于向所述至少一个核心提供操作电压;以及耦合到所述电压调节器的功率控制器。所述功率控制器可控制所述电压调节器来提供所述操作电压,并且可包括电压调节器控制电路来至少部分基于所述工作负载的分类来选择多个功率状态概要之一,并且根据所选择的功率状态概要引起对所述电压调节器的功率状态的更新。
在一示例中,所述功率控制器还用于基于包括所述处理器的平台的活跃电源来选择所述多个功率状态概要之一。
在一示例中,所述功率控制器还用于基于在性能和功率消耗之间的用户偏好来选择所述多个功率状态概要之一。
在一示例中,所述功率控制器用于将所述工作负载的分类映射到所选择的所述多个功率状态概要之一。
在一示例中,所述处理器还包括配置存储装置来存储所述多个功率状态概要,其中所述多个功率状态概要的每一者具有功率状态识别符并且包括多个截止阈值。
在一示例中,所述处理器用于经由固件接收所述多个功率状态概要并且将所述多个功率状态概要存储在所述配置存储装置中。
在一示例中,所述多个功率状态概要的每一者包括异构的一组截止阈值。
在一示例中,所述功率控制器用于确定所述处理器的电流消耗水平,并且在所述电流消耗水平超过所选择的所述多个功率状态概要之一的多个截止阈值中的第一截止阈值时,向所述电压调节器发送功率状态更新命令以引起对所述电压调节器的功率状态的更新。
在一示例中,所述电压调节器包括配置电路来基于所述功率状态更新命令将所述电压调节器从第一功率状态重配置到第二功率状态,其中所述电压调节器用于在所述第一功率状态中在非连续导通模式中操作并且在所述第二功率状态中在连续导通模式中操作。
在一示例中,所述处理器还包括工作负载分类器来利用机器学习对所述工作负载分类。
在一示例中,所述工作负载分类器用于预测在所述至少一个核心上要执行的下一工作负载并且向所述功率控制器发送分类更新以使得所述功率控制器至少部分基于所述分类更新而选择所述多个功率状态概要中的第二者,并且根据所选择的所述多个功率状态概要中的第二者引起对所述电压调节器的功率状态的另一更新。
在另一示例中,一种方法包括:识别多组截止阈值,在这些截止阈值处,平台的处理器的集成电压调节器将改变功率状态;对于所述多组截止阈值的每一者,在所述处理器上执行多个工作负载并且为所述多个工作负载获得电压调节器度量信息;并且至少部分基于所述电压调节器度量信息,为所述集成电压调节器生成多个功率状态概要,所述多个功率状态概要的每一者与至少一个工作负载类型相关联。
在一示例中,所述方法还包括经由固件向所述处理器提供所述多个功率状态概要。
在一示例中,所述方法还包括:为第一功率状态概要选择第一组截止阈值并且将所述第一功率状态概要与第一工作负载类型相关联;并且为第二功率状态概要选择第二组截止阈值并且将所述第二功率状态概要与多个工作负载类型相关联。
在一示例中,所述方法还包括基于包括电压调节器效率信息的所述电压调节器度量信息为所述第一工作负载类型选择所述第一组截止阈值。
在一示例中,所述方法还包括利用所述多组截止阈值执行第一工作负载以找到最优功率状态概要来优化所述第一工作负载执行期间的功率输送效率。
在一示例中,所述方法还包括利用机器学习选择所述多个工作负载,其中所述多个工作负载包括所述平台的用户的频繁工作负载。
在另一示例中,一种包括指令的计算机可读介质执行如上述示例的任何一者所述的方法。
在另一示例中,一种包括数据的计算机可读介质将被至少一个机器用来制造至少一个集成电路以执行如上述示例的任何一者所述的方法。
在另外一个示例中,一种装置,包括用于执行如上述示例的任何一者所述的方法的装置。
在另外一个示例中,一种系统包括多核处理器和耦合到所述多核处理器的系统存储器。所述多核处理器可包括:包括一个或多个核心的第一域;包括至少一个图形处理器的第二域;至少一个集成电压调节器,用于向至少所述第一域提供经调节的电压,其中所述至少一个集成电压调节器包括配置电路来将所述至少一个集成电压调节器从第一功率状态动态地重配置到第二功率状态;以及耦合到所述至少一个集成电压调节器的功率控制器。进而,所述功率控制器可包括电压调节器控制电路来至少部分基于电流消耗水平和在所述多核处理器上执行的工作负载的分类来从多个功率状态概要中选择功率状态概要,并且使用所选择的功率状态概要来使得所述至少一个集成电压调节器被从所述第一功率状态动态地重配置到所述第二功率状态。
在一示例中,所述系统还包括工作负载分类器来利用机器学习对所述工作负载分类并且向所述功率控制器发送对所述工作负载的指示,其中所述功率控制器用于访问具有多个条目的表格,每个条目与功率状态概要相关联,并且利用所述工作负载指示选择所述功率状态概要,所选择的功率状态概要包括一组截止阈值,在该组截止阈值处,所述至少一个集成电压调节器的功率状态转变将发生。
在一示例中,所述系统存储器包括用于存储经处理的数据的数据库,所述经处理的数据包括针对多个工作负载的电压调节器度量信息,其中所述多个功率状态概要是至少部分利用所述经处理的数据来得出的。
要理解上述示例的各种组合是可能的。
注意在本文中可互换使用术语“电路”和“电子线路”。如本文所使用的,这些术语和术语“逻辑”用于单独地或者按任何组合提及模拟电路、数字电路、硬连线电路、可编程电路、处理器电路、微控制器电路、硬件逻辑电路、状态机电路和/或任何其他类型的物理硬件组件。实施例可用于许多不同类型的系统中。例如,在一个实施例中,通信装置可被布置为执行本文描述的各种方法和技术。当然,本发明的范围不限于通信装置,而是其他实施例可指向其他类型的用于处理指令的装置,或者包括指令的一个或多个机器可读介质,这些指令响应于在计算装置上被执行而使得该装置实现本文描述的一个或多个方法和技术。
实施例可实现在代码中并且可被存储在其上存储有指令的非暂态存储介质上,所述指令可用于将系统编程为执行这些指令。实施例还可实现在数据中并且可被存储在非暂态存储介质上,该存储介质如果被至少一个机器使用则使得该至少一个机器制造至少一个集成电路来执行一个或多个操作。还有另外的实施例可以实现在包括信息的计算机可读存储介质中,所述信息当被制造到SoC或其他处理器中时将配置该SoC或其他处理器执行一个或多个操作。存储介质可包括但不限于任何类型的盘(包括软盘,光盘,固态驱动器(solidstate drive,SSD),致密盘只读存储器(compact disk read-only memory,CD-ROM),可改写致密盘(compact disk rewritable,CD-RW),以及磁光盘),半导体装置,比如只读存储器(read-only memory,ROM),随机访问存储器(random access memory,RAM),比如动态随机访问存储器(dynamic random access memory,DRAM),静态随机访问存储器(staticrandom access memory,SRAM),可擦除可编程只读存储器(erasable programmable read-only memory,EPROM),闪速存储器、电可擦除可编程只读存储器(electrically erasableprogrammable read-only memory,EEPROM),磁卡或光卡,或者任何其他类型的适用于存储电子指令的介质。
虽然已针对有限数目的实施例描述了本发明,但本领域技术人员将会明白从这些实施例的许多修改和变化。希望所附权利要求覆盖落在本发明的真实精神和范围内的所有这种修改和变化。
Claims (25)
1.一种用于控制电压调节器的处理器,包括:
至少一个核心,用于执行工作负载;
电压调节器,用于向所述至少一个核心提供操作电压;以及
耦合到所述电压调节器的功率控制器,其中所述功率控制器用于控制所述电压调节器来提供所述操作电压,所述功率控制器包括电压调节器控制电路,用于至少部分基于所述工作负载的分类来选择多个功率状态概要之一,并且根据所选择的功率状态概要引起对所述电压调节器的功率状态的更新。
2.如权利要求1所述的处理器,其中所述功率控制器还用于基于包括所述处理器的平台的活跃电源来选择所述多个功率状态概要之一。
3.如权利要求2所述的处理器,其中所述功率控制器还用于基于在性能和功率消耗之间的用户偏好来选择所述多个功率状态概要之一。
4.如权利要求1所述的处理器,其中所述功率控制器用于将所述工作负载的分类映射到所选择的所述多个功率状态概要之一。
5.如权利要求1所述的处理器,其中所述处理器还包括配置存储装置,用于存储所述多个功率状态概要,其中所述多个功率状态概要的每一者具有功率状态识别符并且包括多个截止阈值。
6.如权利要求5所述的处理器,其中所述处理器用于经由固件接收所述多个功率状态概要并且将所述多个功率状态概要存储在所述配置存储装置中。
7.如权利要求5所述的处理器,其中所述多个功率状态概要的每一者包括异构的一组截止阈值。
8.如权利要求5所述的处理器,其中所述功率控制器用于确定所述处理器的电流消耗水平,并且在所述电流消耗水平超过所选择的所述多个功率状态概要之一的多个截止阈值中的第一截止阈值时,向所述电压调节器发送功率状态更新命令以引起对所述电压调节器的功率状态的更新。
9.如权利要求8所述的处理器,其中所述电压调节器包括配置电路,用于基于所述功率状态更新命令将所述电压调节器从第一功率状态重配置到第二功率状态,其中所述电压调节器用于在所述第一功率状态中在非连续导通模式中操作并且在所述第二功率状态中在连续导通模式中操作。
10.如权利要求1所述的处理器,还包括工作负载分类器,用于利用机器学习对所述工作负载分类。
11.如权利要求10所述的处理器,其中所述工作负载分类器用于预测在所述至少一个核心上要执行的下一工作负载并且向所述功率控制器发送分类更新以使得所述功率控制器至少部分基于所述分类更新而选择所述多个功率状态概要中的第二者,并且根据所选择的所述多个功率状态概要中的第二者引起对所述电压调节器的功率状态的另一更新。
12.一种用于为集成电压调节器提供功率状态概要的方法,包括:
识别多组截止阈值,在这些截止阈值处,平台的处理器的集成电压调节器将改变功率状态;
对于所述多组截止阈值的每一者,在所述处理器上执行多个工作负载并且为所述多个工作负载获得电压调节器度量信息;并且
至少部分基于所述电压调节器度量信息,为所述集成电压调节器生成多个功率状态概要,所述多个功率状态概要的每一者与至少一个工作负载类型相关联。
13.如权利要求12所述的方法,还包括经由固件向所述处理器提供所述多个功率状态概要。
14.如权利要求12所述的方法,还包括:
为第一功率状态概要选择第一组截止阈值并且将所述第一功率状态概要与第一工作负载类型相关联;并且
为第二功率状态概要选择第二组截止阈值并且将所述第二功率状态概要与多个工作负载类型相关联。
15.如权利要求14所述的方法,还包括基于包括电压调节器效率信息的所述电压调节器度量信息为所述第一工作负载类型选择所述第一组截止阈值。
16.如权利要求12所述的方法,还包括利用所述多组截止阈值执行第一工作负载以找到最优功率状态概要来优化所述第一工作负载执行期间的功率输送效率。
17.如权利要求12所述的方法,还包括利用机器学习选择所述多个工作负载,其中所述多个工作负载包括所述平台的用户的频繁工作负载。
18.一种包括计算机可读指令的计算机可读存储介质,所述指令在被执行时实现如权利要求12-17中任一项所述的方法。
19.一种用于控制集成电压调节器的系统,包括:
多核处理器,包括:
包括一个或多个核心的第一域;
包括至少一个图形处理器的第二域;
至少一个集成电压调节器,用于向至少所述第一域提供经调节的电压,其中所述至少一个集成电压调节器包括配置电路,用于将所述至少一个集成电压调节器从第一功率状态动态地重配置到第二功率状态;以及
耦合到所述至少一个集成电压调节器的功率控制器,其中所述功率控制器包括电压调节器控制电路,用于至少部分基于电流消耗水平和在所述多核处理器上执行的工作负载的分类来从多个功率状态概要中选择功率状态概要,并且使用所选择的功率状态概要来使得所述至少一个集成电压调节器被从所述第一功率状态动态地重配置到所述第二功率状态;以及
耦合到所述多核处理器的系统存储器。
20.如权利要求19所述的系统,还包括工作负载分类器,用于利用机器学习对所述工作负载分类并且向所述功率控制器发送对所述工作负载的指示,其中所述功率控制器用于访问具有多个条目的表格,每个条目与功率状态概要相关联,并且利用所述工作负载指示选择所述功率状态概要,所选择的功率状态概要包括一组截止阈值,在该组截止阈值处,所述至少一个集成电压调节器的功率状态转变将发生。
21.如权利要求19所述的系统,其中所述系统存储器包括用于存储经处理的数据的数据库,所述经处理的数据包括针对多个工作负载的电压调节器度量信息,其中所述多个功率状态概要是至少部分利用所述经处理的数据来得出的。
22.一种用于控制电压调节器装置的处理器,包括:
至少一个核心装置,用于执行工作负载;
电压调节器装置,用于向所述至少一个核心装置提供操作电压;以及
耦合到所述电压调节器装置的功率控制装置,其中所述功率控制装置用于控制所述电压调节器装置来提供所述操作电压,所述功率控制装置包括电压调节器控制装置,用于至少部分基于所述工作负载的分类来选择多个功率状态概要之一,并且根据所选择的功率状态概要引起对所述电压调节器装置的功率状态的更新。
23.如权利要求22所述的处理器,其中所述功率控制装置还用于基于包括所述处理器的平台的活跃电源来选择所述多个功率状态概要之一。
24.如权利要求23所述的处理器,其中所述功率控制装置还用于基于在性能和功率消耗之间的用户偏好来选择所述多个功率状态概要之一。
25.如权利要求22所述的处理器,其中所述处理器还包括配置存储装置,用于存储所述多个功率状态概要,其中所述多个功率状态概要的每一者具有功率状态识别符并且包括多个截止阈值。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/832,012 | 2020-03-27 | ||
US16/832,012 US11314299B2 (en) | 2020-03-27 | 2020-03-27 | System, apparatus and method for dynamic power state scaling of a voltage regulator for a processor |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113448373A true CN113448373A (zh) | 2021-09-28 |
Family
ID=77659254
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080097739.2A Pending CN115190989A (zh) | 2020-03-27 | 2020-07-15 | 功率管理电路 |
CN202011377200.0A Pending CN113448373A (zh) | 2020-03-27 | 2020-11-30 | 用于处理器的电压调节器的功率状态缩放的装置和方法 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080097739.2A Pending CN115190989A (zh) | 2020-03-27 | 2020-07-15 | 功率管理电路 |
Country Status (7)
Country | Link |
---|---|
US (2) | US11314299B2 (zh) |
EP (1) | EP4127856A4 (zh) |
JP (1) | JP2023518678A (zh) |
KR (1) | KR20220159362A (zh) |
CN (2) | CN115190989A (zh) |
DE (1) | DE102020130910A1 (zh) |
WO (1) | WO2021194542A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11934286B2 (en) * | 2021-04-29 | 2024-03-19 | Dell Products L.P. | Subsystem power range configuration based on workload profile |
US11803201B1 (en) | 2022-05-11 | 2023-10-31 | Stmicroelectronics S.R.L. | Dynamic current scaling of a regulator |
US20240004444A1 (en) * | 2022-06-30 | 2024-01-04 | Advanced Micro Devices, Inc. | Rest-of-chip power optimization through data fabric performance state management |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7441137B1 (en) * | 2005-07-25 | 2008-10-21 | Nvidia Corporation | Voltage regulator with internal controls for adjusting output based on feed-forward load information |
US7667447B2 (en) * | 2005-12-28 | 2010-02-23 | Intel Corporation | Load adaptive power delivery |
US7685441B2 (en) * | 2006-05-12 | 2010-03-23 | Intel Corporation | Power control unit with digitally supplied system parameters |
US8319484B2 (en) * | 2007-12-12 | 2012-11-27 | Intersil Americas Inc. | Voltage regulator system and method for efficiency optimization using duty cycle measurements |
US9824773B1 (en) * | 2008-05-29 | 2017-11-21 | Microsemi Storage Solutions, Inc. | Apparatus and method to adjust power and performance of integrated circuits |
US8028182B2 (en) * | 2008-06-04 | 2011-09-27 | Dell Products L.P. | Dynamic CPU voltage regulator phase shedding |
US8219832B2 (en) * | 2009-03-26 | 2012-07-10 | Dell Products L.P. | Methods and systems for managing a voltage regulator |
US8621246B2 (en) * | 2009-12-23 | 2013-12-31 | Intel Corporation | Power management system and method to provide supply voltage to a load |
US8463973B2 (en) * | 2010-08-31 | 2013-06-11 | Advanced Micro Devices, Inc. | Mechanism for voltage regulator load line compensation using multiple voltage settings per operating state |
US9424098B2 (en) * | 2012-08-31 | 2016-08-23 | Silicon Graphics International Corp. | Dynamic resource scheduling |
US20140173306A1 (en) * | 2012-12-19 | 2014-06-19 | Barnes Cooper | System and method for providing for power savings in a processor environment |
US8937497B1 (en) * | 2013-01-25 | 2015-01-20 | Analog Devices, Inc. | Power supply monitor |
US9136763B2 (en) * | 2013-06-18 | 2015-09-15 | Intersil Americas LLC | Audio frequency deadband system and method for switch mode regulators operating in discontinuous conduction mode |
US9577532B2 (en) * | 2013-07-25 | 2017-02-21 | Gazelle Semiconductor, Inc. | Switching regulator circuits and methods |
US9563263B2 (en) * | 2013-12-19 | 2017-02-07 | Intel Corporation | Graphics processor sub-domain voltage regulation |
JP2016025748A (ja) * | 2014-07-18 | 2016-02-08 | 株式会社東芝 | 電源システムおよび制御装置 |
US9547355B2 (en) * | 2014-08-18 | 2017-01-17 | Wisconsin Alumni Research Foundation | Voltage regulator control for improved computing power efficiency |
US9910481B2 (en) * | 2015-02-13 | 2018-03-06 | Intel Corporation | Performing power management in a multicore processor |
US11435802B2 (en) * | 2017-05-01 | 2022-09-06 | Drexel University | Work load scheduling for multi core systems with under-provisioned power delivery |
US11144110B2 (en) * | 2018-07-19 | 2021-10-12 | Apple Inc. | Computer system power monitoring |
US11199895B2 (en) | 2018-12-27 | 2021-12-14 | Intel Corporation | Classification prediction of workload thermal behavior |
US10935999B2 (en) * | 2019-08-01 | 2021-03-02 | Semiconductor Components Industries, Llc | Load line circuit for voltage regulators |
-
2020
- 2020-03-27 US US16/832,012 patent/US11314299B2/en active Active
- 2020-07-15 KR KR1020227029632A patent/KR20220159362A/ko unknown
- 2020-07-15 EP EP20927715.1A patent/EP4127856A4/en active Pending
- 2020-07-15 WO PCT/US2020/042126 patent/WO2021194542A1/en active Application Filing
- 2020-07-15 CN CN202080097739.2A patent/CN115190989A/zh active Pending
- 2020-07-15 JP JP2022550697A patent/JP2023518678A/ja active Pending
- 2020-11-23 DE DE102020130910.4A patent/DE102020130910A1/de active Pending
- 2020-11-30 CN CN202011377200.0A patent/CN113448373A/zh active Pending
-
2022
- 2022-03-17 US US17/696,928 patent/US20220206549A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
EP4127856A4 (en) | 2024-04-10 |
CN115190989A (zh) | 2022-10-14 |
KR20220159362A (ko) | 2022-12-02 |
WO2021194542A1 (en) | 2021-09-30 |
US20220206549A1 (en) | 2022-06-30 |
US11314299B2 (en) | 2022-04-26 |
US20210303045A1 (en) | 2021-09-30 |
JP2023518678A (ja) | 2023-05-08 |
DE102020130910A1 (de) | 2021-09-30 |
EP4127856A1 (en) | 2023-02-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10775873B2 (en) | Performing power management in a multicore processor | |
US10372198B2 (en) | Controlling performance states of processing engines of a processor | |
CN117873302A (zh) | 用于处理器的优化节流的系统、装置和方法 | |
US11409560B2 (en) | System, apparatus and method for power license control of a processor | |
CN109564526B (zh) | 使用封装和线程提示信息的组合来控制处理器的性能状态 | |
US11481013B2 (en) | Multi-level loops for computer processor control | |
US11442529B2 (en) | System, apparatus and method for dynamically controlling current consumption of processing circuits of a processor | |
CN112257356A (zh) | 提供针对多芯片封装的热参数报告的装置和方法 | |
CN114207597A (zh) | 用于向异构处理器中的操作系统提供硬件状态反馈的系统、装置和方法 | |
US20220206549A1 (en) | System, Apparatus And Method For Dynamic Power State Scaling Of A Voltage Regulator For A Processor | |
CN113448423A (zh) | 用于基于任务特性动态调整平台功率和性能的装置和方法 | |
US11669146B2 (en) | System, apparatus and method for responsive autonomous hardware performance state control of a processor | |
US20240028101A1 (en) | System, apparatus and method for globally aware reactive local power control in a processor | |
CN109791427B (zh) | 使用滑动平均值的处理器电压控制 | |
CN113366458A (zh) | 用于自适应互连路由的系统、装置和方法 |
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 |