CN107250946A - 执行对平台装置的动态功率控制 - Google Patents

执行对平台装置的动态功率控制 Download PDF

Info

Publication number
CN107250946A
CN107250946A CN201680010794.7A CN201680010794A CN107250946A CN 107250946 A CN107250946 A CN 107250946A CN 201680010794 A CN201680010794 A CN 201680010794A CN 107250946 A CN107250946 A CN 107250946A
Authority
CN
China
Prior art keywords
power
processor
power level
core
level
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.)
Granted
Application number
CN201680010794.7A
Other languages
English (en)
Other versions
CN107250946B (zh
Inventor
A.瓦尔马
K.V.西斯特拉
V.斯里尼瓦桑
E.格巴托夫
A.D.亨罗伊德
B.库珀
D.W.布朗宁
G.M.特里恩
N.W.松格
J.G.赫默丁二世
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of CN107250946A publication Critical patent/CN107250946A/zh
Application granted granted Critical
Publication of CN107250946B publication Critical patent/CN107250946B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3287Power saving characterised by the action undertaken by switching off individual functional units in the computer system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3296Power saving characterised by the action undertaken by lowering the supply or operating voltage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02BCLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO BUILDINGS, e.g. HOUSING, HOUSE APPLIANCES OR RELATED END-USER APPLICATIONS
    • Y02B70/00Technologies for an efficient end-user side electric power management and consumption
    • Y02B70/10Technologies improving the efficiency by using switched-mode power supplies [SMPS], i.e. efficient power electronics conversion e.g. power factor correction or reduction of losses in power supplies or efficient standby modes
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Power Sources (AREA)

Abstract

在一个实施例中,处理器包含:至少一个核,用来执行指令,还包含功率控制逻辑,用来从多个装置接收功率能力信息以耦合到处理器并向所述装置分配平台功率预算,设置分配对应装置被供电所在的装置的第一功率级别,向所述装置传递第一功率级别,并且动态降低要分配给第一装置的第一功率,并响应于来自第二装置对于较高功率级别的请求而增大要分配给第二装置的第二功率。描述了其它实施例并要求了权利。

Description

执行对平台装置的动态功率控制
技术领域
实施例涉及系统的功率管理,并且更具体地说,涉及多核处理器的功率管理。
背景技术
半导体工艺和逻辑设计中的进步已经允许在集成电路器件上可存在的逻辑量增大。作为结果,计算机系统配置已经从系统中的单个或多个集成电路演进成多个硬件线程、多核、多装置和/或各个集成电路上的完整系统。此外,随着集成电路的密度已经增长,对于计算系统(从嵌入式系统到服务器)的功率要求也已经逐步升级。更进一步,软件无效性以及其对硬件的要求也已经引起在计算装置能耗上的增大。实际上,一些研究指示,计算装置消耗了一个国家(诸如美利坚合众国)的整个电力供应的相当大的百分比。因此,存在对于与集成电路关联的能量效率和能量节约的关键需要。这些需要将随着服务器、台式计算机、笔记本、Ultrabooks™、平板计算机、移动电话、处理器、嵌入式系统等变得愈加流行(从包含在典型的计算机、汽车和电视中到生物技术)而增大。
附图说明
图1是按照本发明实施例的系统一部分的框图。
图2是按照本发明实施例的处理器的框图。
图3是按照本发明另一实施例的多域处理器的框图。
图4是包含多核的处理器的实施例。
图5是按照本发明一个实施例的处理器核的微架构的框图。
图6是按照另一实施例的处理器核的微架构的框图。
图7是按照还有的另一实施例的处理器核的微架构的框图。
图8是按照仍有的进一步实施例的处理器核的微架构的框图。
图9是按照本发明另一实施例的处理器的框图。
图10是按照本发明实施例的代表性SoC的框图。
图11是按照本发明实施例的另一示例SoC的框图。
图12是能使用实施例的示例系统的框图。
图13是可使用实施例的另一示例系统的框图。
图14是代表性计算机系统的框图。
图15是按照本发明实施例的系统的框图。
图16是按照实施例的系统一部分的框图。
图17是按照本发明实施例用于动态控制系统装置的功率限制的方法的流程图。
图18是按照本发明实施例的功率控制逻辑的框图。
图19是按照本发明另一实施例的方法的流程图。
具体实施方式
许多平台诸如便携式、连接的、电池操作的装置(示例包含蜂窝电话诸如智能电话、平板计算机、膝上型电脑、健康跟踪器、全球定位系统(GPS)单元和可穿戴装置或其它物联网(IoT)装置)具有消耗突发的较高活动性的组件。此类组件的示例包含无线通信组件(例如3G/4G/LTE调制解调器、局域和广域无线网络装置、近场通信装置、其它无线电)、GPS传感器和摄像机,及其它。
系统或平台设计成具有最大功率规范,其中功率递送系统设计成提供此类功率。然而,将平台功率递送系统设计成基于所有平台组件的最坏情况功耗之和来递送最大功率在价格、大小(空间容积)、重量和复杂性方面是成本高的。代替对于组件的最坏情况功耗之和级别来设计功率递送系统,降额某一静态量,能导致其中降额不是在所有时间都有效(并且从而平台不能如期望地操作)的情况。
实施例可提供具有减小的大小、成本等的平台设计,因为功率控制实体可配置成动态地使平台的一个或更多装置进入(和退出)较高功耗模式,本文称为装置turbo模式,以对于使用较高功耗的装置能够实现使用情况的动态执行。
尽管参考特定集成电路中(诸如在计算平台或处理器中)的能量节约和能量效率描述了如下实施例,但其它实施例可应用于其它类型集成电路和逻辑器件。本文描述的实施例的类似技术和教导可应用于其它类型电路或半导体器件,它们也可受益于更好的能量效率和能量节约。例如,所公开的实施例不限于任何具体类型的计算机系统。也就是,所公开的实施例能用在许多不同系统类型中,范围从服务器计算机(例如塔、架、刀片、微服务器等等)、通信系统、存储系统、任何配置的台式计算机、膝上型电脑、笔记本、和平板计算机(包含2:1平板计算机、平板手机等等),并且还可用在其它装置中,诸如手持装置、片上系统(SoC)和嵌入式应用。手持装置的一些示例包含蜂窝电话(诸如智能电话)、因特网协议装置、数字摄像机、个人数字助理(PDA)和手持PC。嵌入式应用通常可包含微控制器、数字信号处理器(DSP)、网络计算机(NetPC)、机顶盒、网络集线器、广域网(WAN)交换机、可穿戴装置或者能执行下面教导的功能和操作的任何其它系统。更是如此,实施例可实现在具有标准语音功能性的移动终端(诸如移动电话、智能电话和平板手机)中,和/或实现在没有标准无线语音功能通信能力的非移动终端(诸如许多可穿戴、平板、笔记本、台式、微服务器、服务器等等)中。而且,本文描述的设备、方法和系统不限于物理计算装置,而且还可涉及用于能量节约和效率的软件优化。正如将在下面描述中变得容易显而易见的是,本文描述的方法、设备和系统的实施例(不管是关于硬件、固件、软件或是它们的组合)对“绿色技术”未来诸如对于涵盖大部分美国经济的产品上的功率节约和能量效率都是至关重要的。
现在参考图1,示出的是按照本发明实施例的系统一部分的框图。如图1中所示,系统100可包含各种组件,包含处理器110,处理器110如所示是多核处理器。处理器110可经由外部电压调节器160耦合到电源150,外部电压调节器160可执行第一电压转换以向处理器110提供初级调节电压。
如所看到的,处理器110可以是包含多核120a-120n的单管芯处理器。此外,每个核可与集成电压调节器(IVR)125a-125n关联,其接收初级调节电压并生成操作电压以提供给与IVR关联的处理器的一个或更多代理。相应地,可提供IVR实现以允许对电压且因而每个单独核的功率和性能的细粒度控制。像这样,每个核能操作在独立的电压和频率下,能够实现很大的灵活性,并给予广泛的机会以便平衡功耗与性能。在一些实施例中,使用多个IVR能够实现组件分组到单独的功率平面中,使得功率被调节,并由IVR仅提供给该组中的那些组件。在功率管理期间,当处理器被置于某一低功率状态时,可使一个IVR的给定功率平面掉电或停电,而另一IVR的另一功率平面保持活动,或者完全供电。
仍参考图1,在处理器内可存在附加组件,包含输入/输出接口132、另一接口134和集成存储器控制器136。如所看到的,这些组件中的每个可由另一集成电压调节器125x供电。在一个实施例中,接口132可能够实现Intel®快速路径互连(QPI)互连的操作,其提供在包含多层(包含物理层、链路层和协议层)的高速缓存一致性协议中的点对点(PtP)链路。进而,接口134可经由外围组件互连高速(PCIe™)协议进行通信。
还示出了功率控制单元(PCU)138,其可包含硬件、软件和/或固件以执行有关处理器110的功率管理操作。如所看到的,PCU 138经由数字接口向外部电压调节器160提供控制信息以使电压调节器生成适当的调节电压。PCU 138还经由另一数字接口向IVR 125提供控制信息,以控制生成的操作电压(或使对应IVR在低功率模式下被禁用)。在各种实施例中,PCU 138可包含各种各样的功率管理逻辑单元以执行基于硬件的功率管理。此类功率管理可整个是处理器控制的(例如由各种处理器硬件,并且其可由工作负载和/或功率、热或其它处理器约束所触发),和/或功率管理可响应于外部源(诸如平台或管理功率管理源或系统软件)被执行。
进一步如本文所描述的,PCU 138可包含附加功率控制逻辑以辅助耦合到处理器100的装置(诸如移动系统的一个或更多组件)的功率管理活动,用来使给定装置进入增大性能状态持续有限的持续时间以使该装置能够执行具体操作或功能,并且然后返回到较低性能(和功率)状态。此外,此类功率控制逻辑可在系统的多个装置之间协调功率管理,以使装置能够进入增大功率(和性能)状态以执行具体使用情况,而同时使一个或更多其它装置进入较低功率(和性能)状态以能够实现该使用情况,如本文进一步所描述的。
虽然为了易于说明而未被示出,但要理解到,在处理器110内可存在附加组件,诸如非核逻辑,以及其它组件,诸如内部存储器,例如高速缓存存储器层级的一级或更多级,等等。更进一步,虽然在图1的实现中示出具有集成电压调节器,但实施例不被如此限制。
要指出,本文描述的功率管理技术可独立于基于操作系统(OS)的功率管理(OSPM)机制,以及作为其的补充。根据一个示例OSPM技术,处理器能操作在各种性能状态或级别,所谓的P状态,即从P0到PN。一般而言,P1性能状态可对应于OS能请求的最高保证的性能状态。除了这个P1状态,OS能进一步请求较高性能状态,即P0状态。这个P0状态从而可以是机会型或turbo模式状态,其中当功率和/或热预算可用时,处理器硬件能将处理器或至少其部分配置成操作在高于保证的频率。在许多实现中,处理器能包含在P1保证的最大频率以上的多个所谓格频率(bin frequency),其超过如在制造期间熔合的或以其它方式写入处理器的具体处理器的最大峰值频率。此外,根据一个OSPM机制,处理器能操作在各种功率状态或级别。关于功率状态,OSPM机制可规定不同的功耗状态,一般称为C状态,C0、C1至Cn状态。当核活动时,它运行在C0状态,而当核空闲时,它可处于核低功率状态中,也称为核非零C状态(例如C1-C6状态),其中每个C状态在较低功耗级别(使得C6是比C1更深的低功率状态,等等)。
要理解到,在不同实施例中可单独或组合使用许多不同类型的功率管理技术。作为代表性示例,功率控制器可以控制处理器按照某一形式的动态电压频率定标(DVFS)来受功率管理,其中一个或更多核或其它处理器逻辑的操作电压和/或操作频率可被动态控制以在某些情形下降低功耗。在一个示例中,DVFS可使用从英特尔公司,Santa Clara,CA可得到的增强英特尔SpeedStep™技术来被执行,以提供在最低功耗级别的最优性能。在另一示例中,DVFS可使用英特尔TurboBoost™技术来被执行,以使一个或更多核或其它计算引擎能够基于条件(例如工作负载和可用性)操作在高于保证的操作频率。
在某些示例中可使用的另一功率管理技术是在不同计算引擎之间的工作负载的动态调换。例如,处理器可包含操作在不同功耗级别的不对称核或其它处理引擎,使得在功率受限的情形下,一个或更多工作负载能被动态切换以在较低功率核或其它计算引擎上执行。另一示范功率管理技术是硬件工作循环(HDC),其可使核和/或其它计算引擎根据工作循环定期被启用和禁用,使得一个或更多核在工作循环的不活动周期期间变得不活动,并且在工作循环的活动周期期间变得活动。尽管用这些具体示例进行了描述,但要理解,在具体实施例中可使用许多其它功率管理技术。
实施例能在各种市面上的处理器中被实现,包含服务器处理器、台式处理器、移动处理器等等。现在参考图2,示出的是按照本发明实施例的处理器的框图。如图2中所示,处理器200可以是多核处理器,包括多个核210a -210n。在一个实施例中,每个此类核可具有独立功率域,并且能配置成基于工作负载进入和退出活动状态和/或最大性能状态。各种核可经由互连215耦合到包含各种组件的系统代理或非核220。如所看到的,非核220可包含可以是末级高速缓存的共享高速缓存230。此外,非核可包含集成存储器控制器240以例如经由存储器总线与系统存储器(图2中未示出)通信。非核220还包含各种接口250和功率控制单元255,其可包含执行本文描述的功率管理技术的逻辑。在所示出的实施例中,功率控制单元255包含功率控制逻辑256,其可配置成执行对于耦合的装置的功率管理操作,以使一个或更多此类装置能够适时地进入装置turbo模式以执行期望使用情况的具体操作或功能。
此外,通过接口250a-250n,能进行到各种片外(off-chip)组件诸如外围装置、大容量存储装置等的连接。虽然在图2的实施例中用这个具体实现示出,但本发明的范围不受限在这个方面中。
现在参考图3,示出了按照本发明另一实施例的多域处理器的框图。如在图3的实施例中所示出的,处理器300包含多域。具体地说,核域310能包含多个核3100-310n,图形域320能包含一个或更多图形引擎,并且可进一步存在系统代理域350。在一些实施例中,系统代理域350可不同于核域而执行在独立的频率,并且可总是保持上电,以处置功率控制事件和功率管理,使得能控制域310和320动态地进入和退出高功率及低功率状态。域310和320中的每个都可在不同电压和/或功率下操作。要指出,虽然仅用三个域示出,但要理解,本发明的范围不限于这方面,并且在其它实施例中能存在附加域。例如,可存在多个核域,每个包含至少一个核。
一般而言,每个核310除了各种执行单元和附加处理元件之外可进一步包含低级高速缓存。进而,各种核可耦合到彼此以及由多个末级高速缓存(LLC)3400-340n单元形成的共享高速缓存存储器。在各种实施例中,LLC 340可在核与图形引擎以及各种媒体处理电路之间被共享。如所看到的,环形互连330从而将核耦合在一起,并提供核、图形域320与系统代理电路350之间的互连。在一个实施例中,互连330能是核域的部分。然而,在其它实施例中,环形互连能具有它自己的域。
如进一步所看到的,系统代理域350可包含显示器控制器352,其可提供对关联显示器的控制及对关联显示器的接口。如进一步所看到的,系统代理域350可包含功率控制单元355,其能包含执行本文描述的功率管理技术的逻辑。在所示出的实施例中,功率控制单元355包含功率控制逻辑356,其可配置成执行对耦合的装置的功率管理操作,以使一个或更多此类装置能够适时地进入装置turbo模式来执行期望使用情况的具体操作或功能。
如图3中所进一步看到的,处理器300能进一步包含集成存储器控制器(IMC)370,其能提供到系统存储器(诸如动态随机存取存储器(DRAM))的接口。可存在多个接口3800-380n以能够实现处理器与其它电路之间的互连。例如,在一个实施例中,可提供至少一个直接媒体接口(DMI)接口以及一个或更多PCIe™接口。更进一步,为了提供其它代理诸如附加处理器或其它电路之间的通信,还可提供一个或更多QPI接口。尽管图3的实施例中在这个高级别示出,但要理解,本发明的范畴不受限在这个方面中。
参考图4,示出了包含多核的处理器的实施例。处理器400包含任何处理器或处理装置,诸如微处理器、嵌入式处理器、数字信号处理器(DSP)、网络处理器、手持处理器、应用处理器、协处理器、片上系统(SoC)或执行代码的其它装置。在一个实施例中,处理器400包含至少两个核——核401和核402,它们可包含不对称核或对称核(所示出的实施例)。然而,处理器400可包含任何数量的处理元件,它们可以是对称的或不对称的。
在一个实施例中,处理元件指的是支持软件线程的硬件或逻辑。硬件处理元件的示例包含:线程单元、线程槽、线程、处理单元、上下文、上下文单元、逻辑处理器、硬件线程、核、和/或任何其它元件,其能够保持处理器的状态,诸如执行状态或架构状态。换言之,处理元件在一个实施例中指的是能够与代码(诸如软件线程、操作系统、应用或其它代码)独立关联的任何硬件。物理处理器通常指的是集成电路,其潜在地包含任何数量的其它处理元件,诸如核或硬件线程。
核经常指的是位于集成电路上能够维持独立架构状态的逻辑,其中每个独立维持的架构状态与至少一些专用执行资源相关联。与核相比,硬件线程通常指的是位于集成电路上能够维持独立架构状态的任何逻辑,其中独立维持的架构状态共享对执行资源的访问。如能够看到的,当某些资源被共享并且其它资源专用于架构状态时,核与硬件线程的命名之间的线路交叠。不过,核和硬件线程被操作系统视为单独逻辑处理器,其中操作系统能够在每个逻辑处理器上单独地调度操作。
如图4中所示出的物理处理器400包含两个核,核401和402。在此,核401和402被视为对称核,即,具有相同配置、功能单元和/或逻辑的核。在另一实施例中,核401包含无序(out-of-order)处理器核,而核402包含有序(in-order)处理器核。然而,核401和402可各自选自任何类型核,诸如原生核、软件管理核、适合于执行原生指令集架构(ISA)的核、适合于执行转换的ISA的核、协同设计的核或其它已知核。然而为了推进论述,下面更详细描述在核401中示出的功能单元,因为核402中的单元以类似方式操作。
如所描绘的,核401包含两个硬件线程401a和401b,它们也可被称为硬件线程槽401a和401b。因此,软件实体(诸如操作系统)在一个实施例中潜在地将处理器400视为四个单独处理器,即,能够同时执行四个软件线程的四个逻辑处理器或处理元件。如上面所影射的,第一线程与架构状态寄存器401a关联,第二线程与架构状态寄存器401b关联,第三线程可与架构状态寄存器402a关联,并且第四线程可与架构状态寄存器402b关联。在此,每一个架构状态寄存器(401a、401b、402a和402b)可被称为处理元件、线程槽或线程单元,正如上面所描述的。如所示出的,在架构状态寄存器401b中复制架构状态寄存器401a,因此各个架构状态/上下文能够被存储用于逻辑处理器401a和逻辑处理器401b。在核401中,对于线程401a和401b,也可复制其它较小资源,诸如分配器和重命名块430中的重命名逻辑和指令指针。通过分区可共享一些资源,诸如重新排序器/隐退单元435中的重新排序缓冲器、ILTB420、负载/存储缓冲器以及队列。其它资源,诸如通用内部寄存器、页表基础寄存器、低级数据高速缓存和数据TLB 415、执行单元440、和部分无序单元435,潜在地被完全共享。
处理器400经常包含其它资源,它们可被完全共享、通过分区共享或者由处理元件专用/专用于处理元件。在图4中,示出了具有处理器的说明性逻辑单元/资源的纯示范性处理器的实施例。要指出,处理器可包含或省略这些功能单元中的任何单元,以及包含未描绘的任何其它已知功能单元、逻辑、或固件。如所示出的,核401包含简化的、代表性的无序(OOO)处理器核。但是在不同实施例中可利用有序处理器。OOO核包含用来预测要执行/采取的分支的分支目标缓冲器420以及用来存储用于指令的地址转换条目的指令转换缓冲器(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包含调度器单元以调度执行单元上的指令/操作。例如,在具有可用浮点执行单元的执行单元端口上调度浮点指令。还包含与执行单元相关联的寄存器文件以存储信息指令处理结果。示范执行单元包含浮点执行单元、整数执行单元、跳跃执行单元、负载执行单元、存储执行单元、和其它已知执行单元。
较低级数据高速缓存和数据转换缓冲器(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可包含取单元501、指令高速缓存503和指令解码器505。在一些实现中,前端单元510可进一步包含痕迹高速缓存,连同微代码存储装置以及微操作存储装置。取单元501例如可从存储器或指令高速缓存503取宏指令,并将它们馈送到指令解码器505,以将它们解码成基元,即,用于由处理器执行的微操作。
耦合在前端单元510与执行单元520之间的是无序(OOO)引擎515,其可用于接收微指令,并且准备它们以用于执行。更具体地说,OOO引擎515可包含各种缓冲器用以对微指令流重新排序并分配对于执行所需的各种资源,以及用以提供将逻辑寄存器重命名到各种寄存器文件(诸如寄存器文件530和扩展寄存器文件535)内的存储位置上。寄存器文件530可包含用于整数和浮点操作的单独寄存器文件。为了配置、控制和附加操作的目的,一组机器特定寄存器(MSR)538也可存在,并且对核500内(以及核外部)的各种逻辑可访问。例如,功率限制信息可被存储在一个或更多MSR中,并且动态地被更新,如本文所描述的。
在执行单元520中可存在各种资源,例如除了其它专用硬件包含各种整数、浮点、和单指令多数据(SIMD)逻辑单元。例如,此类执行单元可包含一个或更多算数逻辑单元(ALU)522和一个或更多向量执行单元524,以及其它此类执行单元。
来自执行单元的结果可被提供给隐退逻辑,即,重新排序缓冲器(ROB)540。更具体地说,ROB 540可包含用来接收与被执行的指令关联的信息的各种阵列和逻辑。这个信息然后由ROB 540检查以确定指令是否能有效隐退,并且结果数据是否能提交给处理器的架构状态,或者是否发生了防止指令正当隐退的一个或更多例外。当然,ROB 540可处置与隐退关联的其它操作。
如图5中所示,ROB 540耦合到高速缓存550,其在一个实施例中可以是低级高速缓存(例如L1高速缓存),尽管本发明的范畴不受限于这个方面。执行单元520也能够直接耦合到高速缓存550。从高速缓存550,数据通信可同较高级高速缓存、系统存储器等进行。虽然在图5的实施例中用这个高级别示出,但要理解,本发明的范畴不受限于这个方面。例如,虽然图5的实现有关诸如Intel® x86指令集架构(ISA)的无序机器,但本发明的范畴不限于这个方面。也就是,其它实施例可在有序处理器、精简指令集计算(RISC)处理器(诸如基于ARM的处理器)或者能经由仿真引擎及关联的逻辑电路仿真不同ISA的指令和操作的另一类型ISA的处理器中实现。
现在参考图6,示出了按照另一实施例的处理器核的微架构的框图。在图6的实施例中,核600可以是不同微架构的低功率核,诸如具有设计成降低功耗的相对有限管线深度的基于Intel® Atom™的处理器。如所看到的,核600包含耦合的用来向指令解码器615提供指令的指令高速缓存610。分支预测器605可耦合到指令高速缓存610。要指出,指令高速缓存610可进一步耦合到高速缓存存储器的另一级,诸如L2高速缓存(在图6中为了便于说明未示出)。进而,指令解码器615将解码的指令提供到发布队列620以便存储并递送到给定执行管线。微代码ROM 618耦合到指令解码器615。
浮点管线630包含浮点寄存器文件632,其可包含具有诸如128位、256位或512位的给定位的多个架构寄存器。管线630包含浮点调度器634以调度指令以便在管线的多个执行单元之一上执行。在所示的实施例中,此类执行单元包含ALU 635、混洗单元636和浮点加法器638。进而,在这些执行单元中生成的结果可被提供回寄存器文件632的寄存器和/或缓冲器。当然要理解,虽然用这几个示例执行单元示出了,但在另一实施例中可存在附加或不同的浮点执行单元。
也可提供整数管线640。在所示的实施例中,管线640包含整数寄存器文件642,其可包含具有诸如128位或256位的给定位的多个架构寄存器。管线640包含整数调度器644以调度指令以便在管线的多个执行单元之一上执行。在所示的实施例中,此类执行单元包含ALU 645、混洗单元646和跳跃执行单元648。进而,在这些执行单元中生成的结果可被提供回寄存器文件642的寄存器和/或缓冲器。当然要理解,虽然用这几个示例执行单元示出了,但在另一实施例中可存在附加或不同的整数执行单元。
存储器执行调度器650可以调度存储器操作以便在地址生成单元652中执行,地址生成单元652还耦合到TLB 654。如所看到的,这些结构可耦合到数据高速缓存660,其可以是L0和/或L1数据高速缓存,其进而耦合到高速缓存存储器层级的另外级,包含L2高速缓存存储器。
为了提供对于无序执行的支持,可提供分配器/重命名器670,还有重新排序缓冲器680,其配置成对无序执行的指令重新排序以便有序隐退。尽管在图6的说明中用这个具体管线架构示出,但要理解,许多变形和备选是可能的。
要指出,在具有不对称核的处理器中,诸如按照图5和图6的微架构,工作负载可在核之间出于功率管理原因动态地被调换,因为这些核尽管具有不同管线设计和深度,但可具有相同或相关ISA。此类动态核调换可以对用户应用(并且可能还有内核)以透明的方式执行。
参考图7,示出了按照还有的另一实施例的处理器核的微架构的框图。如在图7中所示出的,核700可包含多阶段有序管线以在非常低的功耗级别执行。作为一个此类示例,处理器700可具有按照从ARM Holdings,LTD.,Sunnyvale,CA可得到的ARM Cortex A53设计的微架构。在实现中,可提供8阶段管线,其配置成执行32位和64位代码两者。核700包含取单元710,其配置成取指令并将它们提供给解码单元715(其可解码指令),例如给定ISA(诸如ARMv8 ISA)的宏指令。进一步指出,队列730可耦合到解码单元715以存储解码的指令。解码的指令被提供给发布逻辑725,其中解码的指令可被发布到多个执行单元的给定单元。
进一步参考图7,发布逻辑725可向多个执行单元之一发布指令。在所示的实施例中,这些执行单元包含整数单元735、乘法单元740、浮点/向量单元750、双发布单元760、和负载/存储单元770。这些不同的执行单元的结果可被提供给写回单元780。要理解,虽然为了便于说明而示出了单个写回单元,但在一些实现中,每个执行单元可与单独的写回单元关联。更进一步,要理解,虽然在高级别表示了图7中示出的每个单元和逻辑,但具体实现可包含更多或不同的结构。使用具有如图7中的管线的一个或更多核而设计的处理器可在许多不同末端产品(从移动装置扩展到服务器系统)中实现。
参考图8,示出了按照仍有的进一步实施例的处理器核的微架构的框图。如图8中所示出的,核800可包含多阶段多发布无序管线以在非常高的性能级别执行(其可发生在比图7的核700更高的功耗级别)。作为一个此类示例,处理器800可具有按照ARM Cortex A57设计的微架构。在实现中,可提供15(或更大)阶段管线,其配置成执行32位和64位代码两者。此外,管线可供给3(或更大)宽和3(或更大)发布的操作。核800包含取单元810,其配置成取指令并将它们提供给解码器/重命名器/分派器815,其可解码指令(例如ARMv8指令集架构的宏指令),重命名指令内的寄存器参考,并将指令(最终)分派到选择的执行单元。解码的指令可被存储在队列825中。要指出,虽然在图8中为了便于说明而示出了单个队列结构,但要理解,可为多个不同类型执行单元中的每个提供单独队列。
在图8中还示出了发布逻辑830,从其可将存储在队列825中的解码的指令发布到选择的执行单元。在具体实施例中,还可对于发布逻辑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可以是基于Intel®架构Core™的处理器,诸如i3、i5、i7或从英特尔公司可得到的另一此类处理器。然而,在其它实施例(诸如苹果A7处理器、高通骁龙处理器或德州仪器OMAP处理器)中,代替地可存在诸如从Sunnyvale,CA的Advanced Micro Devices公司(AMD)可得到的、来自ARM Holdings有限公司或其被许可方的基于ARM的设计或来自Sunnyvale,CA的MIPS技术公司或者它们的被许可方或采纳方的基于MIPS的设计的其它低功率处理器。此类SoC可用在低功率系统(诸如智能电话、平板计算机、平板手机计算机、Ultrabook™计算机或其它便携式计算装置)中。
在图9中所示的高级别视图中,处理器900包含多个核单元9100-910n。每个核单元可包含一个或更多处理器核、一个或更多高速缓存存储器以及其它电路。每个核单元910可支持一个或更多指令集(例如,x86指令集(具有已经用较新版本添加的一些扩展);MIPS指令集;ARM指令集(具有可选的附加扩展诸如NEON))或其它指令集或其组合。要指出,其中一些核单元可以是异质资源(例如具有不同设计)。此外,每个此类核可耦合到高速缓存存储器(未示出),其在实施例中可以是共享级(L2)高速缓存存储器。非易失性存储装置930可用于存储各种程序和其它数据。例如,这个存储装置可用于存储至少部分微代码、引导信息诸如BIOS、其它系统软件等。
每个核单元910还可包含接口(诸如总线接口单元)以能够实现到处理器附加电路的互连。在实施例中,每个核单元910耦合到一致性组构(fabric),其可充当初级高速缓存一致性管芯上互连,该互连进而耦合到存储器控制器935。进而,存储器控制器935控制与存储器诸如DRAM(在图9中为了便于说明未示出)的通信。
除了核单元,在处理器内存在附加处理引擎,包含至少一个图形单元920,其可包含一个或更多图形处理单元(GPU)以执行图形处理,以及可能执行图形处理器上的通用操作(所谓的GPGPU操作)。此外,可存在至少一个图像信号处理器925。信号处理器925可配置成处理从一个或更多捕获装置(或者SoC内部或片外的)接收的进来的图像数据。
还可存在其它加速计。在图9的示出中,视频译码器950可执行译码操作,包含对于视频信息的编码和解码,例如提供对于高清视频内容的硬件加速支持。可进一步提供显示器控制器955以加速显示器操作,包含提供对于系统的内部和外部显示器的支持。此外,可存在安全处理器945以执行安全操作,诸如安全引导操作、各种密码操作等等。
每个单元可经由功率管理器940控制其功耗,功率管理器940可包含控制逻辑以执行本文描述的各种功率管理技术,包含对于耦合到处理器900的外围装置的功率管理。
在一些实施例中,SoC 900可进一步包含耦合到各种外围装置可耦合到的一致性组构的非一致性组构。一个或更多接口960a-960d能够实现与一个或更多片外装置的通信。此类通信可经由各种各样的通信协议,诸如PCIe™、GPIO、USB、I2C、UART、MIPI、SDIO、DDR、SPI、HDMI,以及其它类型通信协议。尽管在图9的实施例中在这个高级别示出,但要理解,本发明的范畴不限于这方面。
现在参考图10,示出了代表性SoC的框图。在所示实施例中,SoC 1000可以是配置成用于要被优化的低功率操作的多核SoC,以便合并到智能电话或其它低功率装置中,诸如平板计算机或其它便携式计算装置。作为示例,可使用不对称或者不同类型的核(诸如较高功率和/或低功率核(例如无序核和有序核)的组合)实现SoC 1000。在不同实施例中,这些核可基于Intel® Architecture™核设计或ARM架构设计。在还有的其它实施例中,可在给定SoC中实现英特尔和ARM核的混合。
如在图10中所看到的,SoC 1000包含具有多个第一核10120—10123的第一核域1010。在示例中,这些核可以是低功率核,诸如有序核。在一个实施例中,这些第一核可实现为ARM Cortex A53核。进而,这些核耦合到核域1010的高速缓存存储器1015。此外,SoC1000包含第二核域1020。在图10的示出中,第二核域1020具有多个第二核10220-10223。在示例中,这些核可以是比第一核1012更高功耗的核。在实施例中,第二核可以是无序核,其可被实现为ARM Cortex A57核。进而,这些核耦合到核域1020的高速缓存存储器1025。要指出,虽然图10中示出的示例在每个域中包含4个核,但要理解,在其它示例中,在给定域中可存在更多或更少的核。
进一步参考图10,还提供了图形域1030,其可包含配置成独立执行图形工作负载(例如由核域1010和1020的一个或更多核提供)的一个或更多图形处理单元(GPU)。作为示例,GPU域1030可用于提供对于各种各样屏幕大小的显示支持,此外还提供图形和显示绘制操作。
如所看到的,各种域耦合到一致性互连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等中。在所示的示例中,SoC 1100包含中央处理单元(CPU)域1110。在实施例中,在CPU域1110中可存在多个单独处理器核。作为一个示例,CPU域1110可以是具有4个多线程核的四核处理器。此类处理器可以是同质或异质处理器,例如低功率和高功率处理器核的混合。
进而,提供GPU域1120来执行一个或更多GPU中的高级图形处理以处置图形和计算API。DSP单元1130可提供一个或更多低功率DSP以便处置低功率多媒体应用,诸如音乐回放、音频/视频等,还有在多媒体指令执行期间可发生的高级计算。进而,通信单元1140可包含各种组件以经由各种无线协议诸如蜂窝通信(包含3G/4G LTE)、无线局域协议诸如Bluetooth™、IEEE 802.11等提供连接性。
更进一步,多媒体处理器1150可用于执行高清视频和音频内容的捕获和回放,包含对用户手势的处理。传感器单元1160可包含多个传感器和/或传感器控制器以接口到在给定平台中存在的各种片外传感器。可给图像信号处理器1170提供一个或更多单独ISP,以执行有关从平台的一个或更多摄像机(包含静态和视频摄像机)捕获的内容的图像处理。
显示器控制器1180可提供对于到给定像素密度的高清显示器的连接的支持,包含无线地传递内容以便在此类显示器上回放的能力。更进一步,位置单元1190可包含GPS接收器,具有对于多个GPS星座的支持,以给应用提供使用此类GPS接收器获得的高度准确的定位信息。要理解,虽然在图11的示例中采用该具体组的组件来示出,但许多变形和备选是可能的。
现在参考图12,示出了能使用实施例的示例系统的框图。如所看到的,系统1200可以是智能电话或其它无线通信器。基带处理器1205配置成执行有关从系统传送或由系统接收的通信信号的各种信号处理。进而,基带处理器1205耦合到应用处理器1210,其可以是系统的主CPU,用来执行OS和其它系统软件,还有用户应用,诸如许多众所周知的社交媒体和多媒体app。应用处理器1210可进一步配置成执行装置的各种其它计算操作。
进而,应用处理器1210能耦合到用户界面/显示器1220,例如触摸屏显示器。此外,应用处理器1210可耦合到存储器系统,包含非易失性存储器(即闪速存储器1230)和系统存储器(即动态随机存取存储器(DRAM)1235)。如进一步所看到的,应用处理器1210进一步耦合到捕获装置1240,诸如能记录视频和/或静态图像的一个或更多图像捕获装置。
仍参考图12,包括订户身份模块及可能还有安全存储装置和密码处理器的通用集成电路卡(UICC)1240也耦合到应用处理器1210。系统1200可进一步包含安全处理器1250,其可耦合到应用处理器1210。多个传感器1225可耦合到应用处理器1210以能够实现各种感测信息(诸如加速计和其它环境信息)的输入。音频输出装置1295可提供用来输出声音(例如以语音通信、播放或流播音频数据等形式)的接口。
如进一步示出的,提供近场通信(NFC)无接触接口1260,其在NFC近场中经由NFC天线1265通信。虽然在图12中示出了单独天线,但要理解,在一些实现中可提供一个天线或不同组天线来能够实现各种无线功能性。
功率管理集成电路(PMIC)1215耦合到应用处理器1210以执行平台级别功率管理。为此,PMIC 1215可向应用处理器1210发布功率管理请求以进入所期望的某些低功率状态。更进一步,基于平台限制,PMIC 1215也可控制系统1200的其它组件的功率级别。在一些实施例中,本文描述的用来执行装置turbo模式的功率控制逻辑可在PMIC 1215中存在,和/或分布在PMIC 1215与应用处理器1210之间。
为了使能够传送和接收通信,在基带处理器1205与天线1290之间可耦合各种电路。具体地说,可存在射频(RF)收发器1270和无线局域网(WLAN)收发器1275。一般而言,RF收发器1270可用于根据给定无线通信协议(诸如按照码分多址(CDMA)、全球移动通信系统(GSM)、长期演进(LTE)的3G或4G无线通信协议)或其它协议接收和传送无线数据和呼叫。此外,可存在GPS传感器1280。还可提供其它无线通信,诸如无线电信号(例如AM/FM和其它信号)的接收或传送。此外,经由WLAN收发器1275,还能实现局部无线通信。
现在参考图13,示出了可使用实施例的另一示例系统的框图。在图13的示出中,系统1300可以是移动低功率系统,诸如平板计算机、2:1平板、平板手机或其它可转变或独立平板系统。如所示出的,SoC 1310存在,并且可配置成作为用于装置的应用处理器来操作。
各种装置可耦合到SoC 1310。在所示的说明中,存储器子系统包含耦合到SoC1310的DRAM 1345和闪速存储器1340。此外,触摸板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内的各种功率管理动作。在一些实施例中,本文描述的用来执行装置turbo模式的功率控制逻辑可在PMIC 1380中存在,和/或分布在PMIC 1380与SoC 1310之间。
仍参考图13,为了供给无线能力,WLAN单元1350耦合到SoC 1310,并且进而耦合到天线1355。在各种实现中,WLAN单元1350可根据一个或更多无线协议供给通信。
如进一步所示出的,多个传感器1360可耦合到SoC 1310。这些传感器可包含各种加速计、环境和其它传感器,包含用户手势传感器。最后,音频编解码器1365耦合到SoC1310以提供到音频输出装置1370的接口。当然,要理解,虽然在图13中用这个具体实现示出,但许多变形和备选是可能的。
现在参考图14,示出的是代表性计算机系统诸如笔记本、Ultrabook™或其它小形状因子系统的框图。在一个实施例中,处理器1410包含微处理器、多核处理器、多线程处理器、超低电压处理器、嵌入式处理器或其它已知处理元件。在示出的实现中,处理器1410充当主处理单元和中央集线器,以便与系统1400的各种组件中的许多组件通信。作为一个示例,处理器1400实现为SoC。
处理器1410在一个实施例中与系统存储器1415通信。作为说明性示例,系统存储器1415经由多个存储器装置或模块实现,以供给给定量的系统存储器。
为了供给诸如数据、应用、一个或更多操作系统等信息的永久存储,大容量存储装置1420也可耦合到处理器1410。在各种实施例中,为了能够实现更薄并且更轻的系统设计以及改进系统响应性,此大容量存储装置可经由SSD实现,或者大容量存储装置可主要使用具有较小量SSD存储的硬盘驱动器(HDD)实现,其中较小量SSD存储用来充当SSD高速缓存以能够实现在掉电事件期间对上下文状态和其它此类信息进行非易失性存储,使得在重新发起系统活动时能发生快速上电。还如图14中所示,闪速装置1422例如可经由串行外围接口(SPI)耦合到处理器1410。这个闪速装置可供给系统软件(包含系统的基本输入/输出软件(BIOS)以及其它系统固件)的非易失性存储。
在系统1400内可存在各种输入/输出(I/O)装置。具体地说,在图14的实施例中示出的是显示器1424,其可以是进一步供给触摸屏1425的高清LCD或LED面板。在一个实施例中,显示器1424可经由能够实现为高性能图形互连的显示器互连耦合到处理器1410。触摸屏1425可经由另一互连(其在一个实施例中能是I2C互连)耦合到处理器1410。如图14中进一步示出的,除了触摸屏1425,还能经由触摸垫1430发生通过触摸的用户输入,触摸垫1430可配置在底座内,并且也可耦合到与触摸屏1425相同的I2C互连。
为了感知的计算和其它目的,各种传感器可存在于系统内,并且可以不同方式耦合到处理器1410。某些惯性和环境传感器可通过传感器集线器1440(例如经由I2C互连)耦合到处理器1410。在图14中所示的实施例中,这些传感器可包含加速计1441、周围光传感器(ALS)1442、罗盘1443和陀螺仪1444。其它环境传感器可包含一个或更多热传感器1446,它们在一些实施例中经由系统管理总线(SMBus)总线耦合到处理器1410。
还如在图14中所看到的,各种外围装置可经由低管脚计数(LPC)互连耦合到处理器1410。在所示的实施例中,各种组件能够通过嵌入式控制器1435耦合。此类组件能包含键盘1436(例如经由PS2接口耦合)、风扇1437、和热传感器1439。在一些实施例中,触摸垫1430还可经由PS2接口耦合到EC 1435。此外,安全处理器诸如可信平台模块(TPM)1438还可经由这个LPC互连耦合到处理器1410。
系统1400能以各种各样的方式(包含无线)与外部装置通信。在图14中所示的实施例中,存在各种无线模块,它们中的每个能对应于为具体无线通信协议配置的无线电。用于短程(诸如近场)中无线通信的一种方式可经由NFC单元1445,其在一个实施例中可经由SMBus与处理器1410通信。要指出,经由这个NFC单元1445,彼此靠得很近的装置能进行通信。
如在图14中进一步看到的,附加无线单元能包含其它短程无线引擎,包含WLAN单元1450和蓝牙单元1452。使用WLAN单元1450,能实现Wi-Fi™通信,而经由蓝牙单元1452,能发生短程Bluetooth™通信。这些单元可经由给定链路与处理器1410通信。
此外,例如根据蜂窝或其它无线广域协议的无线广域通信能经由WWAN单元1456发生,WWAN单元556进而可耦合到订户身份模块(SIM)1457。此外,为了能够实现位置信息的接收和使用,也可存在GPS模块1455。要指出,在图14中所示的实施例中,WWAN单元1456和集成捕获装置诸如摄像机模块1454可经由给定链路通信。
集成摄像机模块1454能合并在机盖中。为了供给音频输入和输出,音频处理器能经由数字信号处理器(DSP) 1460实现,DSP可经由高清音频(HDA)链路耦合到处理器1410。类似地,DSP 1460可与集成编码器/解码器(CODEC)和放大器1462通信,放大器进而可耦合到输出扬声器1463,扬声器可在底座内实现。类似地,放大器和CODEC 1462能被耦合以从麦克风1465接收音频输入,麦克风1465在实施例中能经由双阵列麦克风(诸如数字麦克风阵列)实现,来供给高质量音频输入以能够实现对系统内的各种操作进行语音激活的控制。还要指出,音频输出能从放大器/CODEC 1462被提供到耳机插孔1464。尽管在图14的实施例中用这些具体组件示出,但要理解,本发明的范畴不限于这个方面。
实施例可实现在许多不同系统类型中。现在参考图15,示出了按照本发明实施例的系统的框图。如图15中所示,多处理器系统1500是点对点互连系统,并且包含经由点对点互连1550耦合的第一处理器1570和第二处理器1580。如图15中所示,处理器1570和1580中的每个可以是多核处理器,包含第一和第二处理器核(即处理器核1574a和1574b以及处理器核1584a和1584b),尽管在处理器中可存在潜在的许多更多的核。所述处理器中的每个能包含PCU或其它功率管理逻辑以执行本文所描述的基于处理器的功率管理,包含对系统1500的各种其它组件的控制以能够实现装置turbo模式操作。
仍参考图15,第一处理器1570进一步包含存储器控制器集线器(MCH)1572和点对点(P-P)接口1576和1578。类似地,第二处理器1580包含MCH 1582以及P-P接口1586和1588。如图15中所示,MCH的1572和1582将处理器耦合到相应存储器,即存储器1532和存储器1534,它们可以是局部附连到相应处理器的系统存储器(例如DRAM)的部分。第一处理器1570和第二处理器1580可分别经由P-P互连1562和1564耦合到芯片集1590。如图15中所示,芯片集1590包含P-P接口1594和1598。
更进一步,芯片集1590包含接口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。实施例能被合并到包含移动装置(诸如智能蜂窝电话、平板计算机、上网本、Ultrabook™等等)的其它类型系统中。
现在参考图16,示出的是按照实施例的系统的部分的框图。在图16的实施例中,假定系统1600是给定平台,例如移动装置,诸如智能电话、平板计算机、平板手机、电子阅读器等等。在所示的实施例中,系统1600包含处理器1610,其可以是包含本文所描述的功率控制逻辑1615的多核处理器。功率控制逻辑1615可采取许多不同形式(来自独立硬件、微控制器、PCU逻辑或其它功率控制电路,还有其它可能实现)。一般而言,功率控制逻辑1615可基于当前操作条件向系统的各种各样装置动态分配功率限制,并且从而能确保这些装置接收到用来使各种各样使用情况能够发生的具体功率级别。在各种实施例中,功率控制逻辑1615可包含或关联策略逻辑(在图16中为了便于说明而未示出),以使能够进行判定以根据需要在组件之间重新平衡功率。实施例从而可改进在固定功率包络内系统组件的性能,和/或通过主动管理对于给定组的平台组件的功率需要来降低平台功率成本和复杂性。
仍参考图6,存在多个装置16200-1620n。作为示例,这些装置可采取一个或更多集成电路(诸如GPS装置、无线接口、摄像机装置等)的形式。更进一步,装置1620中的一个或更多装置可采取其它形式,诸如与捕获装置(诸如静态或视频摄像机装置)结合使用的闪光灯装置。要指出,术语“装置”涵盖不只单个的组件,如在一些情况下,装置可以是由构成组件形成的子系统。
在所示的实施例中,每个装置1620包含接口机构以实现功率控制逻辑1615与对应装置之间的交互。在图16的实施例中,这个接口机构包含能力存储装置16220-1622n、功率限制存储装置16240-1624n和通知逻辑16260-1626n。能力存储装置1622可配置成存储用于装置的一组功率级别。这个能力存储装置在实施例中可以是非易失性存储装置以存储装置在某些状态下(以及在给定时间帧中)能按照其进行操作的一组功率级别。在一个实施例中,可对于功率可被控制的关注的每个时间帧,提供最少三个功率级别。在实施例中,所述三个功率级别包含:最大功率级别,其可对应于发生装置的最大使用情况所在的最高功耗级别;典型功率级别,其可对应于发生装置的正常使用情况所在的标称功耗级别;以及最小功率级别,其可对应于能发生装置的最小使用情况所在的最低功耗级别。此类能力存储装置1622可在装置制造期间基于设计信息、测试或特征信息等来被写。
进而,功率限制存储装置1624可配置成存储功率限制,其可以是基于当前系统操作条件装置被分配按照其被供电的当前级别的指示。可给这个功率限制存储装置提供从处理器1610接收的功率限制值(例如对应于每个置换时间帧的最大级别、最小级别或典型级别之一)。更具体地说,在实施例中,功率控制逻辑1615可传递对于要被编程(例如瞬时、中期和长期或平均)的每个时间帧的功率限制(例如选自作为功率能力信息提供的多个功率级别之一或者确定的或计算的功率限制)。仍参考图16,装置1620进一步包含通知逻辑1626。一般而言,通知逻辑1626可配置成基于有关装置的当前和将来操作的信息来通知处理器1610(并且更具体地说是功率控制逻辑1615)对于增大的功率状态诸如对于由于较高装置使用情况(例如触发闪光灯来拍照、引起较高GPS装置使用情况以锁定在当前位置上等)而引起的增大的功率状态的请求。
从而,在各种实施例中,可提供接口机构以在各种时间窗口上动态配置每个装置的功率限制。例如,装置可配置成在长时间段例如1秒(s)上平均消耗不超过1瓦特(W),在中间(例如10毫秒(ms))时间段上不超过1.5W,并且作为瞬时上限不超过2W。装置(包含关联的固件和/或装置的其它控制逻辑)可配置成施加这些功率限制。
在一些实施例中,接口机构可使装置能够传递以装置对于给定时间帧和/或使用情况要求高于当前编程的功率级别的装置通知形式的反馈信息。像这样,功率控制逻辑1615然后可实现功率管理策略以供给装置turbo模式,其中平台功率预算可动态地被重新平衡,同时允许对于较小的最大功率级别设计总体平台。当被重新平衡时,接收增大功率分配的装置从而可操作在turbo模式中,其中一个或更多操作参数(例如频率)可被增大高于标称(例如保证的)限制,使得装置可执行给定使用情况(通过具有充足功率)和/或在较高性能级别执行使用情况。
在实施例中,源装置16201发送通知以告知功率控制逻辑1615存在对于超过编程的功率限制的增大功率的暂时需要。这个通知消息可包含每个时间帧的请求功率级别以及(可选地)请求代码或用来指示请求原因的其它信息,诸如具体使用情况。
要指出,功率控制逻辑1615与装置1620之间的通信可通过握手过程,一般按照下面进行。首先,功率控制逻辑1615向每个组件分配可用的功率预算以便进行正常操作(例如至少部分基于信息或涉及OS和/或系统固件做出的确定)。这个分配可通过将每个组件的功率限制设置成那个装置的典型值来进行。当装置16201要求比配置的限制更高的功率级别时,它向功率控制逻辑1615发送通知。功率控制逻辑进而读所要求的新功率级别和关联的请求信息(例如通知的原因或使用情况)。取决于使用情况,功率控制逻辑1615然后可通过暂时配置新(较高)功率限制来准予该请求。当装置1620已经完成使用情况时,它向功率控制逻辑1615发送另一通知,通知带有较低(例如典型)请求的功率限制。功率控制逻辑1615进而将功率限制返回到正常级别,并且操作继续。
要理解,虽然在图16的实施例中在这个高级别示出,但许多变形和备选是可能的。例如,虽然在图16中在基于平台的系统(诸如具有包含多核处理器和其它集成电路(和/或耦合到那里的一个或更多外围装置)的电路板的便携式装置)的上下文中进行描述,但在其它实施例中,合并本发明实施例的系统可以是配置在具有例如不同供应商的全异IP逻辑块并具有不同功能性和能力(包含功率能力)的单个半导体管芯上的片上系统,使得能实现对不同IP块的动态使用情况的公共功率控制。更进一步,本文所描述的功率控制逻辑可被实现为平台的单独组件(例如单独的集成电路)。
在一个示例中,考虑具有处理器、GPS装置和4G数据连接装置的平台。GPS装置对于锁定在GPS卫星上的初始锁定操作可需要消耗持续几秒的附加功率,之后它能消耗较低功率来跟踪其位置。采用装置turbo模式,功率控制逻辑可配置成对于具体使用情况增大GPS装置的功率限制,以通过初始锁定操作获取其位置。为此,如果充足的功率余量不可用,则作为示例,功率控制逻辑可使4G数据通信装置(例如4G调制解调器)降低其功耗级别(以及从而数据速度)以补偿这个增大。一旦获取卫星锁定,就能将两个装置的原始功率限制返回到它们的正常级别。此操作使GPS装置能够具有突发能力以更快地获取锁定。
在另一示例中,考虑具有处理器、显示器、摄像机、闪光灯和无线调制解调器(除了别的以外)的平台。当用户拍照时,给闪光灯充电或操作闪光灯消耗了突发的电力。如果处理器忙于运行背景任务或在那时忙于下载无线数据,则平台总功耗可达到(或潜在地超过)平台功率预算。使用具有装置turbo模式能力的实施例,正好在闪光灯在点亮中消耗较高功率之前,功率控制逻辑能编程较低功率限制以用于处理器(其可通过降低操作频率来适应这个限制)和无线调制解调器(其可通过降低数据传递速度来适应这个限制),并且然后在闪光灯操作完成之后将这些装置返回到正常级别。用这种方式,降低了平台上组合的最大电负载。
实施例从而基于使用情况能够实现对装置功率限制的主动管理,从而实现了具有较低平台功率设计限制的平台。备选地,实施例可用于将较高性能组件组合在同一平台功率包络内。
现在参考图17,示出了按照本发明实施例的用于动态控制系统的装置的功率限制的方法的流程图。在实施例中,方法1700可由处理器的功率控制逻辑执行,该逻辑能使用给定硬件逻辑实现。此类逻辑范围能从一个或更多专用微控制器或硬译码逻辑到通用处理器核。如所看到的,方法1700开始于基于用于这些装置的典型功率级别向系统的所有装置分配功率(框1710)。例如,在系统上电时,每个装置可对于所关注的时间帧,向功率控制逻辑传递其操作在多个功率级别诸如最小、典型和最大级别的能力。在此类分配之后,控制传到框1720,其中可对每个装置的功率限制进行编程。为此,功率控制逻辑可将分配的功率限制(例如单位是瓦特)传递到每个装置(对于每个相关时间帧),以便存储在对应装置的功率限制存储装置中。像这样,在此时,系统的每个装置配置成开始操作在具有典型功耗级别的正常操作级别。也就是,每个装置可配置成读功率限制(例如,如用单位瓦特表达的)并将这个功率级别与适当操作条件相关联以确保装置操作在这个功率级别或以下(诸如通过适当频率和电压级别)。
方法1700在菱形框1730继续,其中确定装置是否需要较高功率级别来执行给定使用情况。此类确定可基于从一个或更多装置接收对于较高功耗级别的请求的通知。在其中接收到多个请求的情形下,此类请求可按照基于例如参考一个或更多表而确定的装置的相对优先级(或使用情况的优先级)的给定优先级次序来被处置。在实施例中,这些接收的通知可包含请求的功率级别的指示和/或使用情况的指示,诸如数据通信速度、GPS锁定操作或闪光灯点亮。如果没有装置发送如在菱形框1730所确定的对于较高功率级别的请求,则没有另外动作发生,并且控制可回环到(例如在给定间隔之后)菱形框1730。
仍参考图17,假定从第一装置接收到请求。控制从而传到框1740,在框1740中能降低一个或更多选择的装置的功率预算。更具体地说,这一个或更多装置可以是在当前使用情况期间能被置于较低操作状态中的装置。这个确定可参考将给定使用情况与在此类使用情况期间活动的装置相关联的表来做出。例如,假定对要被拍摄的照片来点亮闪光灯。在此情况下,其它操作诸如数据通信、GPS操作等不是必要的,并且从而,与此类使用相关联的装置可被置于较低功率状态(其在一些情况下可以是诸如装置在其中不主动执行操作的睡眠状态的低功率状态)中。
在一些情形下,仅单个装置可能需要使其功率级别降低以使得较高功率级别能够被分配给请求装置,因为一个装置的降低的功耗能被分配给请求装置,而整个系统保持在给定功率预算内。然而在其它情况下,多于一个其它装置可使其功率限制被降低,以使得请求的功率级别被分配给请求装置。虽然为了便于说明而未示出,但要理解,功率控制逻辑可向此类装置发送更新的功率级别信号以使功耗降低。
进一步参考图17,控制接下来传到框1750,在此可向请求装置提供功率预算增大。例如,增大的功率限制响应可从功率控制逻辑发送到装置,以使装置能够相应地更新其功率限制存储,并使装置能够操作在这个较高功率限制。像这样,控制传到框1760,在此可执行这个装置的使用情况。例如,当充足电力可用并且闪光灯被适当充电时,可点亮闪光灯。此后,控制传回到框1710,其中在使用情况完成之后,所有装置都可被分配回典型级别。要指出,从框1760返回到框1710可在经过使用情况(例如在表中所阐述的并且向装置指示的)的预定时间之后自动发生,或响应于来自装置的它已经完成其(高功耗)使用情况的指示而发生。要理解,虽然在图17的实施例中在这个高级别示出,但许多变形可发生。
现在参考图18,示出的是按照本发明的实施例的功率控制逻辑的框图。如在图18中所示的,功率控制逻辑1800包含构成组件,它们可用硬件、软件和/或固件的各种组合实现。在一实施例中,逻辑1800可使用处理器的硬件逻辑(如在图16的功率控制逻辑1615中的一样)实现,诸如包含或关联适当存储装置的一个或更多专用微控制器。
如图18中所示出的,功率控制逻辑1800包含功率分配逻辑1810、平台功率预算存储装置1820、和装置功率能力存储装置1830。一般而言,功率分配逻辑1810可配置成接收各种进来的信息,并向平台装置(包含处理器自身)分配平台功率预算。此类分配可在平台上电时执行,并且可通过使一个或更多装置进入装置turbo模式以执行具体使用情况操作来恰当地动态更新以适应各种各样的使用情况,并且此后返回到原始分配(其还可被再次更新以适应相同或其它装置的另一使用情况)。
如所看到的,功率控制逻辑1810包含(或关联)使用情况存储装置18150—1815n(各自与给定装置或装置组合的具体使用情况关联)。尽管本发明的范畴不限于这方面,但在一实施例中,每个使用情况存储装置1815可存储有关使用情况的信息,诸如初级装置(其要执行使用情况的初级操作)进行的具体使用情况操作、能够实现使用情况操作的性能的那个装置的关联功率级别、以及在使用情况情形中涉及的一个或更多其它装置的列表。此外,还可存储使用情况的一个或更多未使用装置的标识。当然,要理解,虽然在图18的示例中用这个具体信息进行了描述,但使用情况存储装置的许多变形和备选是可能的。
仍参考图18,平台功率预算存储装置1820耦合到功率分配逻辑1810。在一实施例中,存储装置1820可以是配置存储装置,诸如配置成存储总平台功率预算(例如单位是瓦特)的非易失性存储器。使用本发明的实施例,此类平台功率预算可以在比如果平台被设计用于其中平台的每个装置要同时操作在最大功率级别的最坏情况情形下要低的级别。像这样,这个平台功率预算可在设计和制造平台时设置,并且可以至少是使平台的每个装置能够同时操作在标称功率级别所在的级别,可选地,带有一定量的附加功率余量以使其中一个或更多装置能够操作在较高功耗级别。
还如图18中所示,装置功率能力存储装置1830耦合到功率分配逻辑1810。在所示的实施例中,能力存储装置1830包含多个条目18350-1835n,其中每个条目1835与平台的具体装置关联。在一实施例中,每个条目1835包含多个字段,每个字段存储装置的多个功率级别之一。如在本文中描述的示例中那样,每条目(每关注的时间帧)可存在3个字段,每个字段存储装置的最小、标称和最大功率级别之一。有关不同装置的功率能力的这个信息可在装置上电时(诸如在引导操作期间)从装置它们自身传递到存储装置1830。为此,每个装置可包含固件或其它控制逻辑二者以维持这个功率能力信息,并在引导操作期间将信息传递到功率控制逻辑1800。
如在图18中所进一步示出的,功率分配逻辑1810接收平台功率预算信息和装置功率能力信息,并基于此类信息,可在各种装置之间分配平台功率预算。在一实施例中,在上电和正常使用操作期间,每个装置可被分配其标称功率级别,并且从而,功率分配逻辑1810可向不同装置发送功率分配消息,使得每个装置都可操作在其标称功率级别。在一实施例中,此类装置分配消息可包含单位为瓦特的功率级别(例如标称功率级别),因为每个装置可配置成包含固件或其它控制逻辑以理解这个功率信息,并控制对应装置的一个或更多操作参数(例如电压和/或频率)以能够实现在分配的功率级别的操作。
此外,当在平台操作期间具体装置追求执行可要求较高功率级别的使用情况操作时,装置可向功率控制逻辑1800发布装置通知(并且更具体地说,由功率分配逻辑1810接收)。进而,功率分配逻辑1810可确定充足功率余量在平台功率预算中是否可用,以使这种使用情况能够发生。如果是,则装置turbo消息可被发送到对应装置,以使装置能够操作在较高功率级别以实现该使用情况。如果相反地不充足功率余量可用,则功率分配逻辑1810可确定是否可给一个或更多其它装置(包含处理器本身)提供降低的功率分配以使该使用情况能够发生(或不提供,这取决于平台限制,诸如热限制或电限制)。要理解,虽然在图18的实施例中在这个高级别示出,但许多变形和备选是可能的。
现在参考图19,示出了按照本发明的另一实施例的方法的流程图。如图19中所示,方法1900例如可由图18的功率分配逻辑1800执行。如所示,方法1900开始于确定平台功率预算(框1910)。作为示例,平台功率预算可从平台的配置存储装置(诸如处理器本身的配置存储装置)获得。接下来,控制传到框1915,其中功率能力信息可从平台的各种装置被接收,并存储在能力存储装置中(框1915)。如上面所论述的,这个功率能力信息可包含至少3个功率级别(每时间帧),在此给定装置可操作在不同模式。接下来,控制传到框1920,在此标称功率级别可被分配并传递到每个装置(框1920)。从而,在这点,平台配置用于正常操作,其中每个装置被分配了其标称功率级别。
仍参考图19,能确定是否接收到对于增大功率级别的装置通知(菱形框1930)。要指出,这个装置通知可包含各种信息,诸如具体使用情况的标识、此类使用情况的请求的功率级别(例如单位为瓦特)以及其它信息诸如使用情况长度等。
当接收到此类装置通知时,控制传到菱形框1940,以确定是否存在充足功率预算以将增大的功率级别分配给这个请求装置。在框1940的这个确定可基于平台功率预算与到平台各种装置的总的功率分配之间的比较。作为示例,基于到每个装置的标称级别的初始装置分配,有可能存在可用的功率余量(其可以是由功率分配逻辑跟踪和存储的动态值)。在其它情况下,可用最小功率余量设计系统,使得对于针对平台而被定大小的给定功率递送系统,如果所有装置操作在它们的标称级别,则没有附加功率余量可用。
在任何事件中,在菱形框1940,确定充足功率预算是否可用,以向请求装置分配增大的功率级别。如果是,则控制传到框1950,其中可向装置分配增大的功率级别,并且可向这个装置发送装置turbo消息。在一实施例中,装置turbo消息可包含各种信息,包含增大的功率级别(例如诸如从能力存储装置获得的装置的最大功率级别),其可以瓦特为单位传递。在装置turbo消息中可发送附加信息,诸如对于允许装置操作在这个增大的功率级别的时间长度,还有其它可能信息,诸如在装置能再次请求这个模式之前要过多久,以提供对滞后的度量,用来防止同一装置以所有其它装置为代价请求和接收装置turbo模式。
仍参考图19,假定在其中当完成具体使用情况时装置通知功率控制逻辑的实施例,控制接下来传到框1960,其中可接收对于降低的功率级别的装置通知(在一实施例中,装置可在完成使用情况时自主进入)。这个通知可采取许多不同形式,并且在一个实施例中可简单地是完成使用情况的指示。从而,在框1965,可向这个装置分配标称功率级别,其可选地可被传递给该装置。较高功耗级别与这个标称级别之间的差也可被往回加到可用功率余量量。此外,如果任何其它装置被分配了降低的功率级别以使这个使用情况能够发生(下面进行描述),则在框1965(其能被传递到装置)也可发生对此类装置的标称功率级别的重新分配,连同对可用功率余量的恰当更新。
仍参考图19,如果在菱形框1940确定不充足功率预算是可用的以向请求装置分配增大的功率级别,则控制相反传到框1970,在此能标识一个或更多装置接收降低的功率分配以使使用情况能够发生。在一实施例中,功率分配逻辑可参考使用情况表来对于由请求装置请求的具体使用情况确定在此类使用情况中要涉及的装置和/或对于该使用情况可在较低级别被适当地供电的装置(如本文所描述的)。控制接下来传到框1980,其中降低的功率消息可被发送到标识的装置。在一实施例中,这个降低的功率消息可包含对于标识的装置的降低的功率级别(例如最小功率级别),诸如从能力存储装置所获得的降低的功率级别。要理解,标识的装置在一些情况下可包含或者可以是主处理器本身,诸如当对于外围装置使用情况(诸如闪光灯装置和捕获装置的组合)需要附加功率时。在框1980进行的一个或更多降低功率消息的这个传递之后,控制传到框1950(上面论述的)。要理解,虽然在图19的实施例中在这个高级别示出,但许多变形和备选是可能的。
如下示例涉及另外的实施例。
在一个示例中,处理器包括:至少一个核,用来执行指令;以及功率控制逻辑,耦合到所述至少一个核以从耦合到所述处理器的多个装置接收功率能力信息并向所述多个装置分配平台功率预算,设置分配对应装置被供电所在的用于所述多个装置中每个装置的第一功率级别,向所述多个装置中的每个装置传递所述第一功率级别,并且动态降低要分配给第一装置的第一功率,并响应于来自第二装置的对于较高功率级别的请求而增大要分配给第二装置的第二功率。
在一示例中,响应于来自所述第二装置的所述请求,所述功率控制逻辑要向所述第一装置发送第一消息以使所述第一装置操作在比所述第一功率级别小的第三功率级别,并向所述第二装置发送第二消息以使所述第二装置操作在比所述第一功率级别要大的第二功率级别。
在一示例中,功率控制逻辑要发送所述第二消息以使所述第二装置能够执行使用情况。
在一示例中,第二装置包括闪光灯装置,并且使用情况包括所述闪光灯装置的点亮以使用户能够经由捕获装置捕获图像。
在一示例中,在执行所述使用情况之后,所述功率控制逻辑要设置所述多个装置中每个装置的所述第一功率级别,并向所述多个装置中每个装置传递所述第一功率级别。
在一示例中,功率控制逻辑要向数据通信装置发送所述第一消息以使在所述使用情况期间降低所述数据通信装置的通信频率。
在一示例中,第一功率级别对于所述多个装置中的至少一些是不同的。
在一示例中,功率能力信息包含多个时间帧中每个时间帧的所述第一功率级别、第二功率级别和第三功率级别,功率能力信息从所述多个装置中每个装置传递到所述功率控制逻辑。
在一示例中,第一功率级别包括所述对应装置要操作在的标称功率级别,所述第二功率级别包括所述对应装置要操作在的最大功率级别,并且所述第三功率级别包括所述对应装置要操作在的最小功率级别。
要指出,上面的处理器能使用各种部件实现。
在一示例中,处理器包括合并在用户设备触摸使能装置中的SoC。
在另一示例中,系统包括显示器和存储器,并且包含上面示例中一个或更多示例的处理器。
在另一示例中,方法包括:经由处理器的功率分配逻辑分配对于平台的多个装置中每个装置的标称功率级别,所述平台包含处理器;从多个装置的第一装置接收对于增大的功率级别的装置通知;以及向第一装置分配增大的功率级别,以使第一装置能够执行第一使用情况的操作。
在一示例中,所述方法进一步包括:确定是否存在可用功率余量以分配增大的功率级别,并且如果不存在,则标识所述多个装置中的一个或更多其它装置以接收降低的功率分配,并向所述一个或更多其它装置发送降低的功率消息。
在一示例中,所述方法进一步包括:向所述第一装置分配所述增大的功率级别,并在发送所述降低的功率消息之后向所述第一装置发送装置turbo消息,其中所述第一装置要更新所述第一装置的一个或更多操作参数以操作在所述增大的功率级别。
在一示例中,所述方法进一步包括:从所述多个装置接收功率能力信息,并将所述功率能力信息存储在能力存储装置中。
在一示例中,所述方法进一步包括:访问所述能力存储装置以确定所述第一装置的所述增大的功率级别,并至少部分基于所述增大的功率级别来确定是否存在可用功率余量以分配所述增大的功率级别。
在一示例中,所述方法进一步包括:接收具有所述装置通知的所述第一使用情况的指示,并且访问与所述第一使用情况关联的存储装置。
在一示例中,所述方法进一步包括:响应于存储在与所述第一使用情况关联的所述存储装置中的使用情况信息,标识所述多个装置中的至少一个装置来接收降低的功率分配。
在另一示例中,包含指令的计算机可读介质要执行上面任一示例的方法。
在另一示例中,包含数据的计算机可读介质要由至少一个机器用于制作至少一个集成电路来执行上面示例中任一个示例的方法。
在另一示例中,设备包括用于执行上面示例中任一个示例的方法的部件。
在另一示例中,系统包括:处理器,包含多个核,每个核独立执行指令,还包含功率控制单元,用来控制所述多个核的功耗;多个装置,耦合到所述处理器,所述多个装置中的每个装置包含能力存储装置,用来存储对应装置在关联的操作模式中要操作在的多个功率级别,以及控制逻辑,用来接收功率分配消息并用来控制所述对应装置的一个或更多操作参数以能够实现在与所述功率分配消息关联的功率级别的操作;以及功率控制器,包含功率分配逻辑用来从所述多个装置接收所述多个功率级别,向所述多个装置分配功率预算,向所述多个装置中的每个装置发送包含分配所述对应装置被供电所在的第一功率级别的所述功率分配消息,以及响应于来自所述第一装置的与在所述第一装置上要执行的使用情形相关的通知来动态更新要分配给第一装置的功率。
在一示例中,系统进一步包括用来存储各自与使用情形关联的多个条目的存储装置,其中所述功率控制器响应于所述通知而要访问所述存储装置的条目,并响应于存储在所述存储装置的所述条目中的使用情况信息而要标识所述多个装置中的至少一个装置来接收降低的功率分配。
在一示例中,系统进一步包括用来存储所述多个装置的所述多个功率级别的第二能力存储装置,其中响应于所述通知,所述功率分配逻辑要访问所述第二能力存储装置,获得所述第一装置的所述多个功率级别,确定对于所述使用情形的所述第一装置的更新的功率级别,并向所述第一装置发送具有所更新的功率级别的更新的功率分配消息。
在一示例中,功率控制单元包括功率控制器。
在一示例中,多个装置中的至少一些包括处理器的知识产权逻辑。
理解到,上面示例的各种组合是可能的。
实施例可被用在许多不同类型的系统中。例如,在一个实施例中,通信装置能布置成执行本文描述的各种方法和技术。当然,本发明的范畴不限于通信装置,并且相反,其它实施例能够针对用于处理指令的其它类型设备或者针对包含指令的一个或更多机器可读介质,所述指令响应于在计算装置上被执行而引起该装置实行本文中所描述的一个或更多方法和技术。
实施例可以用代码实现,并且可被存储在其上存储有指令的非暂态存储介质(其能用于对系统进行编程以执行指令)上。实施例还可用数据实现,并且可被存储在非暂态存储介质上,其如果由至少一个机器使用则使所述至少一个机器制作至少一个集成电路来执行一个或更多操作。存储介质可包含但不限于任何类型盘(包含软盘、光盘、固态驱动器(SSD)、紧致盘只读存储器(CD-ROM)、紧致盘可重写装置(CD-RW)、和磁光盘)、半导体器件诸如只读存储器(ROM)、随机存取存储器(RAM)诸如动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、可擦可编程只读存储器(EPROM)、闪速存储器、电可擦可编程只读存储器(EEPROM)、磁卡或光卡或者适合于存储电子指令的任何其它类型介质。
虽然本发明已经关于有限数量的实施例进行了描述,但本领域技术人员将领会到根据其的众多修改和改变。所附权利要求书旨在覆盖落入此呈现的发明的真实精神和范畴内的所有此类修改和改变。

Claims (23)

1.一种处理器,包括:
至少一个核,用来执行指令;以及
功率控制逻辑,耦合到所述至少一个核,用来从耦合到所述处理器的多个装置接收功率能力信息并向所述多个装置分配平台功率预算,设置分配对应装置被供电所在的所述多个装置中每个装置的第一功率级别,向所述多个装置中的每个装置传递所述第一功率级别,并且动态降低要分配给第一装置的第一功率,并响应于来自第二装置的对于较高功率级别的请求来增大要分配给所述第二装置的第二功率。
2.如权利要求1所述的处理器,其中响应于来自所述第二装置的所述请求,所述功率控制逻辑要向所述第一装置发送第一消息以使所述第一装置操作在比所述第一功率级别小的第三功率级别,并向所述第二装置发送第二消息以使所述第二装置操作在比所述第一功率级别大的第二功率级别。
3.如权利要求2所述的处理器,其中所述功率控制逻辑要发送所述第二消息以使所述第二装置能够执行使用情况。
4.如权利要求3所述的处理器,其中所述第二装置包括闪光灯装置,并且所述使用情况包括所述闪光灯装置的点亮以使用户能够经由捕获装置捕获图像。
5.如权利要求3所述的处理器,其中在执行所述使用情况之后,所述功率控制逻辑要设置所述多个装置中每个装置的所述第一功率级别,并向所述多个装置中每个装置传递所述第一功率级别。
6.如权利要求3所述的处理器,其中所述功率控制逻辑要向数据通信装置发送所述第一消息以使在所述使用情况期间降低所述数据通信装置的通信频率。
7.如权利要求1所述的处理器,其中所述第一功率级别对于所述多个装置中的至少一些将是不同的。
8.如权利要求1所述的处理器,其中所述功率能力信息包含对于多个时间帧中每个时间帧的所述第一功率级别、第二功率级别、和第三功率级别,所述功率能力信息要从所述多个装置中每个装置传递到所述功率控制逻辑。
9.如权利要求8所述的处理器,其中所述第一功率级别包括所述对应装置要操作在的标称功率级别,所述第二功率级别包括所述对应装置要操作在的最大功率级别,并且所述第三功率级别包括所述对应装置要操作在的最小功率级别。
10.一种方法,包括:
经由处理器的功率分配逻辑分配平台的多个装置中每个装置的标称功率级别,所述平台包含所述处理器;
从所述多个装置的第一装置接收对于增大的功率级别的装置通知;以及
向所述第一装置分配所述增大的功率级别,以使所述第一装置执行第一使用情况的操作。
11.如权利要求10所述的方法,进一步包括:确定是否存在可用功率余量用来分配所述增大的功率级别,并且如果不存在,则标识所述多个装置中的一个或更多其它装置来接收降低的功率分配,并向所述一个或更多其它装置发送降低的功率消息。
12.如权利要求11所述的方法,进一步包括:向所述第一装置分配所述增大的功率级别,并在发送所述降低的功率消息之后向所述第一装置发送装置turbo消息,其中所述第一装置要更新所述第一装置的一个或更多操作参数以操作在所述增大的功率级别。
13.如权利要求10所述的方法,进一步包括:从所述多个装置接收功率能力信息,并将所述功率能力信息存储在能力存储装置中。
14.如权利要求13所述的方法,进一步包括:访问所述能力存储装置以确定所述第一装置的所述增大的功率级别,并至少部分基于所述增大的功率级别来确定是否存在可用功率余量用来分配所述增大的功率级别。
15.如权利要求10所述的方法,进一步包括:接收具有所述装置通知的所述第一使用情况的指示,并且访问与所述第一使用情况关联的存储装置。
16.如权利要求15所述的方法,进一步包括:响应于存储在与所述第一使用情况关联的所述存储装置中的使用情况信息,标识所述多个装置中的至少一个装置来接收降低的功率分配。
17.一种设备,包括执行如权利要求10至16任一项中所要求保护的方法的部件。
18.一种机器可读存储介质,包含机器可读指令,所述指令当被执行时实现如权利要求10至16任一项中所要求保护的方法。
19.一种系统,包括:
处理器,包含多个核和功率控制单元,其中每个核独立执行指令,且所述功率控制单元用来控制所述多个核的功耗;
多个装置,耦合到所述处理器,所述多个装置中的每个装置包含能力存储装置用来存储对应装置在关联操作模式中要操作在的多个功率级别,还包含控制逻辑,用来接收功率分配消息和用来控制所述对应装置的一个或更多操作参数以能够实现在与所述功率分配消息关联的功率级别的操作;以及
功率控制器,包含功率分配逻辑用来从所述多个装置接收所述多个功率级别,向所述多个装置分配功率预算,向所述多个装置中的每个装置发送包含分配所述对应装置被供电所在的第一功率级别的所述功率分配消息,并响应于来自第一装置的与在所述第一装置上要执行的使用情形有关的通知来动态更新要分配给所述第一装置的功率。
20.如权利要求19所述的系统,进一步包括:存储装置,用来存储各自与使用情形关联的多个条目,其中所述功率控制器响应于所述通知要访问所述存储装置的条目,并响应于存储在所述存储装置的所述条目中的使用情况信息而标识所述多个装置中的至少一个装置来接收降低的功率分配。
21.如权利要求19所述的系统,进一步包括:第二能力存储装置,用来存储所述多个装置的所述多个功率级别,其中响应于所述通知,所述功率分配逻辑要访问所述第二能力存储装置,获得所述第一装置的所述多个功率级别,确定对于所述使用情形的所述第一装置的更新的功率级别,并向所述第一装置发送具有所述更新的功率级别的更新的功率分配消息。
22.如权利要求19所述的系统,其中所述功率控制单元包括所述功率控制器。
23.如权利要求22所述的系统,其中所述多个装置中的至少一些包括所述处理器的知识产权逻辑。
CN201680010794.7A 2015-02-17 2016-01-27 执行对平台装置的动态功率控制 Active CN107250946B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/623764 2015-02-17
US14/623,764 US9874922B2 (en) 2015-02-17 2015-02-17 Performing dynamic power control of platform devices
PCT/US2016/015075 WO2016133664A1 (en) 2015-02-17 2016-01-27 Performing dynamic power control of platform devices

Publications (2)

Publication Number Publication Date
CN107250946A true CN107250946A (zh) 2017-10-13
CN107250946B CN107250946B (zh) 2020-12-01

Family

ID=56621105

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680010794.7A Active CN107250946B (zh) 2015-02-17 2016-01-27 执行对平台装置的动态功率控制

Country Status (5)

Country Link
US (1) US9874922B2 (zh)
EP (1) EP3259652A4 (zh)
CN (1) CN107250946B (zh)
TW (1) TWI630476B (zh)
WO (1) WO2016133664A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110647232A (zh) * 2018-11-07 2020-01-03 广东高云半导体科技股份有限公司 可编程设备区域电网节能的方法与系统
CN111684391A (zh) * 2017-12-28 2020-09-18 超威半导体公司 全系统低功率管理
CN112088346A (zh) * 2018-06-14 2020-12-15 惠普发展公司,有限责任合伙企业 多端口间通用串行总线功率的委托

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105253330B (zh) * 2015-10-30 2017-04-05 中国空间技术研究院 一种基于优化的信息融合geo卫星控制系统菜单式设计方法
US10228755B2 (en) * 2016-09-30 2019-03-12 Intel Corporation Processor voltage control using running average value
US10754404B2 (en) * 2016-09-30 2020-08-25 Intel Corporation Compensation control for variable power rails
US10545560B2 (en) * 2016-10-10 2020-01-28 International Business Machines Corporation Power management and utilization detection of computing components
US10838482B2 (en) 2016-10-10 2020-11-17 International Business Machines Corporation SLA-based power management in disaggregated computing systems
US10819599B2 (en) 2016-10-10 2020-10-27 International Business Machines Corporation Energy consumption as a measure of utilization and work characterization in a system
US11169592B2 (en) 2016-10-10 2021-11-09 International Business Machines Corporation SLA-based backup power management during utility power interruption in disaggregated datacenters
US10360077B2 (en) 2016-10-10 2019-07-23 International Business Machines Corporation Measuring utilization of resources in datacenters
US10664030B2 (en) * 2017-04-19 2020-05-26 Quanta Computer Inc. System and method for dynamic power capping and load balance management for a multi-node system
US11199896B2 (en) * 2017-11-21 2021-12-14 Google Llc Low-power ambient computing system with machine learning
US10761583B2 (en) 2018-09-11 2020-09-01 International Business Machines Corporation Variation-aware intra-node power shifting among different hardware components
US10824692B2 (en) 2018-10-12 2020-11-03 Google Llc Low-power adder circuit
TWI708957B (zh) * 2019-12-12 2020-11-01 聚眾聯合科技股份有限公司 動態功率定位方法及其動態功率定位系統
TWI758672B (zh) * 2019-12-19 2022-03-21 宏正自動科技股份有限公司 電子裝置以及電源分配方法
TWI749728B (zh) * 2020-08-24 2021-12-11 和碩聯合科技股份有限公司 可攜式電子裝置
US11775185B2 (en) * 2020-09-17 2023-10-03 Micron Technology, Inc. Power budget arbitration for multiple concurrent access operations in a memory device
US20210216377A1 (en) * 2021-03-26 2021-07-15 Intel Corporation Methods and apparatus for power sharing between discrete processors
KR20240046750A (ko) * 2021-09-08 2024-04-09 엘지전자 주식회사 디스플레이 장치

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6167524A (en) * 1998-04-06 2000-12-26 International Business Machines Corporation Apparatus and method for efficient battery utilization in portable personal computers
US20070245161A1 (en) * 2006-04-15 2007-10-18 Shaw Mark E Power management system and method
US20080263373A1 (en) * 2007-04-18 2008-10-23 Advanced Micro Devices, Inc. Token based power control mechanism
US20120254633A1 (en) * 2011-03-31 2012-10-04 Vilhauer Reed D Power control manager and method
CN102844724A (zh) * 2010-03-25 2012-12-26 微软公司 管理分布式计算系统中的功率供应
US8433931B2 (en) * 2009-05-13 2013-04-30 Microsoft Corporation Integrating energy budgets for power management

Family Cites Families (88)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5163153A (en) 1989-06-12 1992-11-10 Grid Systems Corporation Low-power, standby mode computer
US5522087A (en) 1994-03-22 1996-05-28 Verifone Inc. System for selectively operating in different modes depending upon receiving signal from a host computer within a time window upon power up
US5590341A (en) 1994-09-30 1996-12-31 Intel Corporation Method and apparatus for reducing power consumption in a computer system using ready delay
US5621250A (en) 1995-07-31 1997-04-15 Ford Motor Company Wake-up interface and method for awakening an automotive electronics module
US5931950A (en) 1997-06-17 1999-08-03 Pc-Tel, Inc. Wake-up-on-ring power conservation for host signal processing communication system
US6823516B1 (en) 1999-08-10 2004-11-23 Intel Corporation System and method for dynamically adjusting to CPU performance changes
US7539885B2 (en) 2000-01-13 2009-05-26 Broadcom Corporation Method and apparatus for adaptive CPU power management
US7010708B2 (en) 2002-05-15 2006-03-07 Broadcom Corporation Method and apparatus for adaptive CPU power management
JP2001318742A (ja) 2000-05-08 2001-11-16 Mitsubishi Electric Corp コンピュータシステムおよびコンピュータ読み取り可能な記録媒体
KR100361340B1 (ko) 2000-05-15 2002-12-05 엘지전자 주식회사 씨피유 클럭 제어 방법
US6792392B1 (en) 2000-06-30 2004-09-14 Intel Corporation Method and apparatus for configuring and collecting performance counter data
US6748546B1 (en) 2000-09-26 2004-06-08 Sun Microsystems, Inc. Method and apparatus for reducing power consumption
US6829713B2 (en) 2000-12-30 2004-12-07 Intel Corporation CPU power management based on utilization with lowest performance mode at the mid-utilization range
US7058824B2 (en) 2001-06-15 2006-06-06 Microsoft Corporation Method and system for using idle threads to adaptively throttle a computer
US20030061383A1 (en) 2001-09-25 2003-03-27 Zilka Anthony M. Predicting processor inactivity for a controlled transition of power states
US7111179B1 (en) 2001-10-11 2006-09-19 In-Hand Electronics, Inc. Method and apparatus for optimizing performance and battery life of electronic devices based on system and application parameters
US6996728B2 (en) 2002-04-26 2006-02-07 Hewlett-Packard Development Company, L.P. Managing power consumption based on utilization statistics
US7051227B2 (en) 2002-09-30 2006-05-23 Intel Corporation Method and apparatus for reducing clock frequency during low workload periods
US6898689B2 (en) 2002-11-15 2005-05-24 Silicon Labs Cp, Inc. Paging scheme for a microcontroller for extending available register space
US7043649B2 (en) 2002-11-20 2006-05-09 Portalplayer, Inc. System clock power management for chips with multiple processing modules
US6971033B2 (en) 2003-01-10 2005-11-29 Broadcom Corporation Method and apparatus for improving bus master performance
CN1759368A (zh) 2003-01-23 2006-04-12 罗切斯特大学 多时钟域微处理器
JP4061492B2 (ja) 2003-02-10 2008-03-19 ソニー株式会社 情報処理装置および消費電力制御方法
US7093147B2 (en) 2003-04-25 2006-08-15 Hewlett-Packard Development Company, L.P. Dynamically selecting processor cores for overall power efficiency
US7272732B2 (en) 2003-06-30 2007-09-18 Hewlett-Packard Development Company, L.P. Controlling power consumption of at least one computer system
TW200502847A (en) 2003-07-08 2005-01-16 Benq Corp Control device and method for reducing number of interrupts in a processor
US7146514B2 (en) 2003-07-23 2006-12-05 Intel Corporation Determining target operating frequencies for a multiprocessor system
US7272730B1 (en) 2003-07-31 2007-09-18 Hewlett-Packard Development Company, L.P. Application-driven method and apparatus for limiting power consumption in a processor-controlled hardware platform
US7194643B2 (en) 2003-09-29 2007-03-20 Intel Corporation Apparatus and method for an energy efficient clustered micro-architecture
US7770034B2 (en) 2003-12-16 2010-08-03 Intel Corporation Performance monitoring based dynamic voltage and frequency scaling
US7451333B2 (en) 2004-09-03 2008-11-11 Intel Corporation Coordinating idle state transitions in multi-core processors
US20070156992A1 (en) 2005-12-30 2007-07-05 Intel Corporation Method and system for optimizing latency of dynamic memory sizing
US9001801B2 (en) 2004-09-07 2015-04-07 Broadcom Corporation Method and system for low power mode management for complex Bluetooth devices
US7941585B2 (en) 2004-09-10 2011-05-10 Cavium Networks, Inc. Local scratchpad and data caching system
US7426648B2 (en) 2004-09-30 2008-09-16 Intel Corporation Global and pseudo power state management for multiple processing elements
US7434073B2 (en) 2004-11-29 2008-10-07 Intel Corporation Frequency and voltage scaling architecture
US7502948B2 (en) 2004-12-30 2009-03-10 Intel Corporation Method, system, and apparatus for selecting a maximum operation point based on number of active cores and performance level of each of the active cores
US8041967B2 (en) 2005-02-15 2011-10-18 Hewlett-Packard Development Company, L.P. System and method for controlling power to resources based on historical utilization data
US7454632B2 (en) 2005-06-16 2008-11-18 Intel Corporation Reducing computing system power through idle synchronization
US7430673B2 (en) 2005-06-30 2008-09-30 Intel Corporation Power management system for computing platform
US8301868B2 (en) 2005-09-23 2012-10-30 Intel Corporation System to profile and optimize user software in a managed run-time environment
US20070079294A1 (en) 2005-09-30 2007-04-05 Robert Knight Profiling using a user-level control mechanism
US20070106827A1 (en) 2005-11-08 2007-05-10 Boatright Bryan D Centralized interrupt controller
US20070110360A1 (en) * 2005-11-15 2007-05-17 Linear Technology Corporation Dynamic power allocation in system for providing power over communication link
US20070245163A1 (en) 2006-03-03 2007-10-18 Yung-Hsiang Lu Power management in computer operating systems
US7437270B2 (en) 2006-03-30 2008-10-14 Intel Corporation Performance state management
US7752468B2 (en) 2006-06-06 2010-07-06 Intel Corporation Predict computing platform memory power utilization
US7529956B2 (en) 2006-07-17 2009-05-05 Microsoft Corporation Granular reduction in power consumption
US7930564B2 (en) 2006-07-31 2011-04-19 Intel Corporation System and method for controlling processor low power states
US7969746B2 (en) 2006-09-22 2011-06-28 Itt Manufacturing Enterprises, Inc. Connection of a system module to an electronic device
US7793126B2 (en) 2007-01-19 2010-09-07 Microsoft Corporation Using priorities and power usage to allocate power budget
US7793120B2 (en) * 2007-01-19 2010-09-07 Microsoft Corporation Data structure for budgeting power for multiple devices
US7730340B2 (en) 2007-02-16 2010-06-01 Intel Corporation Method and apparatus for dynamic voltage and frequency scaling
US8510581B2 (en) 2007-03-26 2013-08-13 Freescale Semiconductor, Inc. Anticipation of power on of a mobile device
JP2008257578A (ja) 2007-04-06 2008-10-23 Toshiba Corp 情報処理装置、スケジューラおよび情報処理置のスケジュール制御方法
US7971074B2 (en) 2007-06-28 2011-06-28 Intel Corporation Method, system, and apparatus for a core activity detector to facilitate dynamic power management in a distributed system
US8024590B2 (en) 2007-12-10 2011-09-20 Intel Corporation Predicting future power level states for processor cores
US20090150696A1 (en) 2007-12-10 2009-06-11 Justin Song Transitioning a processor package to a low power state
US7966506B2 (en) 2007-12-12 2011-06-21 Intel Corporation Saving power in a computer system
US8442697B2 (en) 2007-12-18 2013-05-14 Packet Digital Method and apparatus for on-demand power management
KR101459140B1 (ko) 2007-12-26 2014-11-07 엘지전자 주식회사 전원관리 제어 장치 및 방법
US9411390B2 (en) * 2008-02-11 2016-08-09 Nvidia Corporation Integrated circuit device having power domains and partitions based on use case power optimization
CN101515161A (zh) * 2008-02-18 2009-08-26 国际商业机器公司 集中能源管理方法和系统
US8156362B2 (en) 2008-03-11 2012-04-10 Globalfoundries Inc. Hardware monitoring and decision making for transitioning in and out of low-power state
US8954977B2 (en) 2008-12-09 2015-02-10 Intel Corporation Software-based thread remapping for power savings
US8700943B2 (en) 2009-12-22 2014-04-15 Intel Corporation Controlling time stamp counter (TSC) offsets for mulitple cores and threads
US8943334B2 (en) 2010-09-23 2015-01-27 Intel Corporation Providing per core voltage and frequency control
US8949637B2 (en) 2011-03-24 2015-02-03 Intel Corporation Obtaining power profile information with low overhead
US8769316B2 (en) 2011-09-06 2014-07-01 Intel Corporation Dynamically allocating a power budget over multiple domains of a processor
US9811130B2 (en) 2011-09-12 2017-11-07 The Boeing Company Power management control system
US8954770B2 (en) 2011-09-28 2015-02-10 Intel Corporation Controlling temperature of multiple domains of a multi-domain processor using a cross domain margin
US9074947B2 (en) 2011-09-28 2015-07-07 Intel Corporation Estimating temperature of a processor core in a low power state without thermal sensor information
US8832478B2 (en) 2011-10-27 2014-09-09 Intel Corporation Enabling a non-core domain to control memory bandwidth in a processor
US9026815B2 (en) 2011-10-27 2015-05-05 Intel Corporation Controlling operating frequency of a core domain via a non-core domain of a multi-domain processor
US9158693B2 (en) 2011-10-31 2015-10-13 Intel Corporation Dynamically controlling cache size to maximize energy efficiency
US8943340B2 (en) 2011-10-31 2015-01-27 Intel Corporation Controlling a turbo mode frequency of a processor
US9436245B2 (en) 2012-03-13 2016-09-06 Intel Corporation Dynamically computing an electrical design point (EDP) for a multicore processor
CN104169832B (zh) 2012-03-13 2017-04-19 英特尔公司 提供处理器的能源高效的超频操作
US9323316B2 (en) 2012-03-13 2016-04-26 Intel Corporation Dynamically controlling interconnect frequency in a processor
US9223376B2 (en) * 2012-03-23 2015-12-29 Qualcomm Incorporated Managing electrical current in a portable computing device when two or more communications overlap in drawing power during a transmission
US8984313B2 (en) 2012-08-31 2015-03-17 Intel Corporation Configuring power management functionality in a processor including a plurality of cores by utilizing a register to store a power domain indicator
US20140089699A1 (en) * 2012-09-27 2014-03-27 Advanced Micro Devices Power management system and method for a processor
US9298247B2 (en) 2012-11-27 2016-03-29 International Business Machines Corporation Distributed power budgeting
US9098280B2 (en) * 2012-12-28 2015-08-04 Intel Corporation Staged power distribution control
US9766678B2 (en) * 2013-02-04 2017-09-19 Intel Corporation Multiple voltage identification (VID) power architecture, a digital synthesizable low dropout regulator, and apparatus for improving reliability of power gates
US9665154B2 (en) 2013-05-31 2017-05-30 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Subsystem-level power management in a multi-node virtual machine environment
US9261935B2 (en) * 2013-07-01 2016-02-16 Advanced Micro Devices, Inc. Allocating power to compute units based on energy efficiency
US20160070327A1 (en) * 2014-09-08 2016-03-10 Qualcomm Incorporated System and method for peak current management to a system on a chip

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6167524A (en) * 1998-04-06 2000-12-26 International Business Machines Corporation Apparatus and method for efficient battery utilization in portable personal computers
US20070245161A1 (en) * 2006-04-15 2007-10-18 Shaw Mark E Power management system and method
US20080263373A1 (en) * 2007-04-18 2008-10-23 Advanced Micro Devices, Inc. Token based power control mechanism
US8433931B2 (en) * 2009-05-13 2013-04-30 Microsoft Corporation Integrating energy budgets for power management
CN102844724A (zh) * 2010-03-25 2012-12-26 微软公司 管理分布式计算系统中的功率供应
US20120254633A1 (en) * 2011-03-31 2012-10-04 Vilhauer Reed D Power control manager and method
CN102822761A (zh) * 2011-03-31 2012-12-12 英特尔公司 功率控制管理器及方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111684391A (zh) * 2017-12-28 2020-09-18 超威半导体公司 全系统低功率管理
CN111684391B (zh) * 2017-12-28 2024-05-14 超威半导体公司 全系统低功率管理
CN112088346A (zh) * 2018-06-14 2020-12-15 惠普发展公司,有限责任合伙企业 多端口间通用串行总线功率的委托
CN110647232A (zh) * 2018-11-07 2020-01-03 广东高云半导体科技股份有限公司 可编程设备区域电网节能的方法与系统
CN110647232B (zh) * 2018-11-07 2021-01-19 广东高云半导体科技股份有限公司 可编程设备区域电网节能的方法与系统

Also Published As

Publication number Publication date
EP3259652A4 (en) 2018-10-24
US9874922B2 (en) 2018-01-23
CN107250946B (zh) 2020-12-01
TWI630476B (zh) 2018-07-21
WO2016133664A1 (en) 2016-08-25
TW201638717A (zh) 2016-11-01
EP3259652A1 (en) 2017-12-27
US20160239068A1 (en) 2016-08-18

Similar Documents

Publication Publication Date Title
CN107250946A (zh) 执行对平台装置的动态功率控制
CN108885483B (zh) 确定多管芯处理器中的热余量
CN109564526B (zh) 使用封装和线程提示信息的组合来控制处理器的性能状态
US11481013B2 (en) Multi-level loops for computer processor control
US10620682B2 (en) System, apparatus and method for processor-external override of hardware performance state control of a processor
CN107924219A (zh) 遮蔽处理器的核的功率状态
US11775047B2 (en) System, apparatus and method for dynamically adjusting platform power and performance based on task characteristics
CN107077175A (zh) 提供针对多芯片封装的热参数报告的装置和方法
US20190041967A1 (en) System, Apparatus And Method For Power Budget Distribution For A Plurality Of Virtual Machines To Execute On A Processor
JP2022532838A (ja) プロセッサの処理回路の電流消費を動的に制御するためのシステム、装置及び方法
US11669146B2 (en) System, apparatus and method for responsive autonomous hardware performance state control of a processor
US20180181401A1 (en) Communicating via a mailbox interface of a processor
CN107567614A (zh) 用于对根据关键度被分组的指令的缕程的执行的多核处理器
CN109791427A (zh) 使用滑动平均值的处理器电压控制
CN109661637A (zh) 用于可变功率轨的补偿控制
CN109564460A (zh) 在处理器中提供用于降级控制信息的接口
CN107077180A (zh) 基于功率状态而调整电压调节器
US10860083B2 (en) System, apparatus and method for collective power control of multiple intellectual property agents and a shared power rail
CN112835443A (zh) 用于控制功率消耗的系统、装置和方法
CN108694154A (zh) 用于选择数据元素的硬件加速器
CN110998487A (zh) 现场可编程门阵列(fpga)中的自适应操作电压的系统、装置和方法
CN109478086A (zh) 至少部分地基于平台电容来控制处理器的电流消耗
CN108228484B (zh) 针对处理器中的高速缓存利用的无效读取
CN114253794A (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
GR01 Patent grant
GR01 Patent grant