CN104115093A - 包括多个处理元件之间的功率和性能平衡的用于能效和节能的方法、装置和*** - Google Patents

包括多个处理元件之间的功率和性能平衡的用于能效和节能的方法、装置和*** Download PDF

Info

Publication number
CN104115093A
CN104115093A CN201280069930.1A CN201280069930A CN104115093A CN 104115093 A CN104115093 A CN 104115093A CN 201280069930 A CN201280069930 A CN 201280069930A CN 104115093 A CN104115093 A CN 104115093A
Authority
CN
China
Prior art keywords
core
performance
working load
activity
response
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
CN201280069930.1A
Other languages
English (en)
Other versions
CN104115093B (zh
Inventor
T·T·施吕斯列尔
R·J·芬格
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=47354713&utm_source=***_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=CN104115093(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Intel Corp filed Critical Intel Corp
Priority to CN201710115292.7A priority Critical patent/CN106843430B/zh
Publication of CN104115093A publication Critical patent/CN104115093A/zh
Application granted granted Critical
Publication of CN104115093B publication Critical patent/CN104115093B/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/16Constructional details or arrangements
    • G06F1/20Cooling means
    • G06F1/206Cooling means comprising thermal management
    • 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/325Power saving in peripheral device
    • G06F1/3253Power saving in bus
    • 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/329Power saving characterised by the action undertaken by task scheduling
    • 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]
    • G06F9/5094Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria
    • 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
    • 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)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Power Sources (AREA)

Abstract

本文描述了基于所测得的工作负荷在处理元件之间有效率地平衡性能和功率的装置和***。如果处理元件的工作负荷指示它是瓶颈,那么可提高其性能。然而,如果包括该处理元件的平台或集成电路已在功率或热限制下工作,那么其性能的提高将由另一处理元件性能的降低或给定上限来抵销,以维持符合功率或热限制。因此,即使当多个处理元件在功率或热限制下操作时,也通过平衡功率分配来标识和缓和瓶颈。

Description

包括多个处理元件之间的功率和性能平衡的用于能效和节能的方法、装置和***
技术领域
本公开涉及集成电路中的能效和节能以及在集成电路上执行的代码,更具体地但不排他地涉及平衡处理元件之间的功率和性能。
背景技术
半导体处理和逻辑设计的进步已允许在集成电路器件上可能存在的逻辑量的增加。因此,计算机***配置已经从***中的单个或多个集成电路进化至各个集成电路上的多个硬件线程、多个核、多个设备和/或完整的***。此外,随着集成电路密度增长,计算***(从嵌入式***到服务器)的功率需求也逐步提高。此外,软件低效率及其对硬件的要求也已造成了计算设备能耗的提高。实际上,一些研究表明计算机消耗了美国全部电力供应的大部分。
因此,存在对与集成电路相关联的能效和节能的关键需求。而且,随着服务器、桌面计算机、笔记本、超极本、平板、移动电话、处理器、嵌入式***等等变得更加流行(从包括在典型的计算机、汽车和电视中到生物技术),计算设备销售的影响已然超出能耗的范围而延伸至对经济***存在显著、直接的影响。
此外,随着集成电路密度增加,在单个集成电路和/或封装中合并多个器件的能力已经类似地提高。作为说明性示例,芯片上***(SOC)器件最近备受青睐。然而,通常SOC(以及类似组件)将多个器件集成到单个设备/电路中,不过它们也继承每个单独器件的功率、性能和热限制。因此,具有主控处理器和图形处理器的设备通常单独和分别地实现节能策略。即使针对整个封装定义了功率策略,它通常仅针对各个器件中的每一个构想假定的功率要求,而不会平衡不对称核之间的功率和性能以实现最大整体性能。
附图说明
本发明通过示例进行说明,而且不旨在受限于附图的各图。
图1示出包括具有多处理元件处理器和集成图形处理器的集成电路的***的逻辑表示的实施例。
图2示出计算机***配置的逻辑表示的实施例。
图3示出计算机***配置的逻辑表示的另一实施例。
图4示出计算机***配置的逻辑表示的另一实施例。
图5示出用于平衡处理元件之间的功率以实现最大整体性能的集成电路的逻辑表示的实施例。
图6示出用于平衡处理元件之间的功率以实现最大整体性能的集成电路的逻辑表示的另一实施例。
图7示出用于平衡处理器与图形处理器之间的功率以在功率限制之内实现最大性能的流程图的实施例。
图8示出用于平衡处理器与图形处理器之间的功率以在功率限制之内实现最大性能的流程图的另一实施例。
具体实施方式
在以下描述中,陈述了多个特定细节,诸如特定类型的特定处理器和***配置、特定硬件结构、特定架构和微架构细节、特定寄存器配置、用于确定工作负荷的特定结构、用于确定和设置性能/功率限制的特定模块、特定类型的性能限制、特定类型的处理器件、特定类型的程序代码、特定性能瓶颈假定、包括不对称处理器的特定器件等等的示例,以提供对本发明的透彻理解。然而,对本领域普通技术人员显而易见的是,不一定要采用这些具体细节来实施本发明。在其它实例中,未详细描述公知的组件或方法,诸如特定和替代的处理器架构、用于所描述算法的特定逻辑电路/代码、特定固件代码、特定互连操作、特定工作负荷确定、特定频率设置技术、特定功率限制确定以及实现算法以及处理器的其它特定操作细节,以免不必要地模糊本发明。
虽然参考特定集成电路中(诸如计算平台或微处理器中)的节能和能效描述了以下实施例,但其它实施例可适用于其它类型的集成电路和逻辑器件。在此描述的实施例的相似的技术和教导可适用于也可受益于更好能效和节能的其它类型的电路或半导体器件。例如,所公开的实施例不限于桌面计算机***。也可用于其它设备,诸如手持式设备、芯片上***(SOC)以及嵌入式应用。手持式设备的一些示例包括蜂窝电话、因特网协议设备、数码相机、个人数字助理(PDA)、手持式PC。嵌入式应用典型地包括微控制器、数字信号处理器(DSP)、芯片上***、网络计算机(NetPC)、机顶盒、网络集线器、广域网(WAN)交换机、或可执行以下教导的功能和操作的任何其他***。此外,本申请中描述的装置、方法和***不限于物理计算设备,而是也涉及用于节能和能效的软件优化。如将在以下描述中容易变得明显地,本申请中描述的方法、装置和***的实施例(不论是参考硬件、固件、软件还是其组合)对于与性能考虑相平衡的“绿色技术”未来是关键的。
本申请中描述的方法和装置用于平衡多个不对称器件之间的功率以实现最大整体性能。特定地,在下文中主要参考包括中央处理器/主控处理器(或其核)和图形处理器(或其核)的集成电路和/或封装来讨论功率平衡和分配。不过,本申请中描述的装置和方法不限于此,因为它们可结合包括任何类型的不对称或对称处理核的任何集成电路器件来实现。例如,可在两个主控处理核之间、处理核与存储器之间、和/或集成I/O器件之间利用如本申请中所描述的功率平衡和分配。如上所讨论,它可用于服务器、台式计算机、超极本、平板、小形状因数设备、手持式设备、SOC或嵌入式应用。
参考图1,示出了包括多个器件/核的集成电路(或封装)的实施例。集成电路(IC)100包括任何处理器或处理设备,诸如微处理器、嵌入式处理器、数字信号处理器(DSP)、网络处理器、手持式处理器、应用处理器、协处理器、或用于执行代码的其它器件。在一个实施例中,处理器100包括:至少两个中央的、主控或处理核——核101和102,这两个核可以是不对称核或对称核(所示实施例);以及输入/输出(I/O)设备180,诸如图形处理器(或它的核)。然而,IC 100可包括任何数量的处理元件,这些处理元件可以是对称的或不对称的。
在一个实施例中,处理元件指的是用于支持软件线程的硬件或逻辑。或在另一实施例中,处理元件指的是设备的核或处理逻辑,诸如图形处理器/核、网络控制器、嵌入式处理器、微控制器、等等。硬件中央处理元件的其它示例包括:线程单元、线程槽、线程、进程单元、上下文、上下文单元、逻辑处理器、硬件线程、核、和/或能保持处理器的诸如执行状态或架构状态之类的状态的任何其它元件。换言之,在一个实施例中,处理元件指的是能够与诸如软件线程、操作***、应用、或其它代码之类的代码独立地相关联的任何硬件。物理处理器通常指的是集成电路,其可能包括任意数量的诸如核或硬件线程之类的其它处理元件。
处理(或中央处理单元)核通常指的是位于集成电路上的能够维持独立架构状态的逻辑,其中每个独立维持的架构状态与至少某些专用执行资源相关联。与核相反,硬件线程通常指的是位于集成电路上的能维持独立架构状态的任何逻辑,其中独立维持的架构状态共享对执行资源的访问。可以看出,当某些资源是共享的而其它资源是架构状态专用时,硬件线程与核的术语之间的界线交叠。不过通常,核和硬件线程***作***视为各个逻辑处理器,其中操作***能够分别在每个逻辑处理器上调度操作。
如图1中所示的物理封装100包括两个处理核,即核101和102。在此,核101和102被视为对称核,即具有相同配置、功能单元和/或逻辑的核。在另一实施例中,核101包括无序处理器核,而核102包括有序处理器核。然而,可从任何类型的核中分别选择核101和102,诸如原生核、软件管理的核、适于执行原生指令集架构(ISA)的核、适于执行经转换指令集架构(ISA)的核、共同设计的核或其它已知核。不过为了进一步讨论,在下文中更详细描述了核101中示出的功能单元,因为核102中的单元以相似的方式操作。
如所描绘,核101包括两个硬件线程101a和101b,它们可被称为硬件线程槽101a和101b。因此,在一个实施例中,诸如操作***之类的软件实体可能将处理器100视为四个单独的处理器,即能够同时执行四个软件线程的四个逻辑处理器或处理元件。此外,第一线程与架构状态寄存器101a相关联,第二线程与架构状态寄存器101b相关联,第三线程可与架构状态寄存器102a相关联,以及第四线程可与架构状态寄存器102b相关联。在此,架构状态寄存器(101a、101b、102a和102b)中的每一个可被称为处理元件、线程槽或线程单元,如上所述。如上所述,架构状态寄存器101a被复制在架构状态寄存器101b中,因此能够为逻辑处理器101a和逻辑处理器101b存储各个架构状态/上下文。在核101中,也为线程101a和101b复制其它较小的资源,诸如重命名分配器逻辑130中的指令指针和重命名逻辑。诸如重排序器/引退单元135中的重排序缓冲器、ILTB 120、加载/存储缓冲器、以及队列之类的一些资源可通过分区来共享。诸如通用内部寄存器、页表基本寄存器、低级数据高速缓存和数据TLB 115、执行单元140、以及无序单元135的多个部分之类的其它资源可能被完全共享。
处理器100通常包括其它资源,这些其它资源可被完全共享、通过分区共享、或由处理元件专用/专用于处理元件。在图1中,示出了具有处理器的说明性的逻辑单元/资源的纯示例性处理器的实施例。注意,处理器可包括或省略这些功能单元中的任一个,并包括未描绘出的任何其它已知的功能单元、逻辑或固件。如所示,核101包括简化的表示性的无序(OOO)处理器核。但是,在不同实施例中可利用有序处理器。OOO核包括用于预测要执行/采用的分支的分支目标缓冲器120和用于存储指令的地址转换条目的指令转换缓冲器(I-TLB)120。
核101进一步包括耦合至取出单元120的解码模块125,用于解码取出的元素。在一个实施例中,取出逻辑包括分别与线程槽101a、101b相关联的各个序列发生器。通常,核101与第一指令集架构(ISA)相关联,第一指令集架构(ISA)定义/指定能在处理器100上执行的指令。通常,作为第一ISA的部分的机器代码指令包括该指令的部分(称为操作码),该部分引用/指定要执行的指令或操作。解码逻辑125包括电路,所述电路根据这些指令的操作码来识别这些指令并在流水线中传递经解码的指令,以供按照第一ISA定义地那样来处理。例如,如下文更详细讨论地,在一个实施例中,解码器125包括设计成或适合于识别诸如事务性指令之类的特定指令的逻辑。作为解码器125识别的结果,架构或核101采取特定、预定义的动作以执行与适当指令相关联的任务。重要的是应注意,本申请中描述的任务、块、操作和方法中的任一个可响应于单个或多个指令来执行;它们中的一些可以是新的或旧的指令。
在一个示例中,分配器和重命名器块130包括用于预留资源的分配器,诸如用于存储指令处理结果的寄存器组。然而,线程101a和101b可能能够无序地执行,在此情况下,分配器和重命名器块130也预留其它资源,诸如用于跟踪指令结果的重排序缓冲器。单元130也可包括寄存器重命名器,用于将程序/指令引用寄存器重命名为处理器100内部的其它寄存器。重排序器/引退单元135包括诸如上述的重排序缓冲器、加载缓冲器以及存储缓冲器之类的组件,以支持无序执行和无序执行的指令的稍后有序引退。
在一个实施例中,调度器和执行单元块140包括调度器单元,用于在执行单元上调度指令/操作。例如,在具有可用的浮点执行单元的执行单元的端口上调度浮点指令。还包括与执行单元相关联的寄存器组,用于存储信息指令处理结果。示例性的执行单元包括浮点执行单元、整数执行单元、跳转执行单元、加载执行单元、存储执行单元以及其它已知的执行单元。
较低级数据高速缓存和数据转换缓冲器(D-TLB)150耦合至执行单元140。数据高速缓存用于存储诸如数据操作数之类的最近使用/操作的元素,这些元素可能以存储器一致性状态被保持。D-TLB用于存储最近的虚拟/线性至物理地址转换。作为特定示例,处理器可包括页表结构,用于将物理存储器分解成多个虚拟页。
在此,核101和102共享对较高级或进一步远离的高速缓存110的访问,较高级或进一步远离的高速缓存用于高速缓存最近取出的元素。注意,较高级或进一步远离的高速缓存指的是从执行单元提高或进一步远离执行单元的高速缓存级。在一个实施例中,较高级的高速缓存110是末级数据高速缓存——处理器100上的存储器层次中的最后一级高速缓存,诸如二级或三级数据高速缓存。然而,较高级高速缓存110不限于此,因为它可与指令高速缓存相关联或包括指令高速缓存。替代地,跟踪高速缓存——一种类型的指令高速缓存——可耦合在解码器125之后以存储最近解码的踪迹。
在所描绘的配置中,处理器100还包括总线接口模块105。在过去,下文更详细描述的控制器170已被包含在处理器100外部的计算***中。在该情形下,总线接口105用于与处理器100外部的设备通信,这些设备诸如***存储器175、芯片组(通常包括用于连接至存储器175的存储器控制器中枢和用于连接***设备的I/O控制器中枢)、存储器控制器中枢、北桥或其它集成电路。并且,在此情形下,总线105可包括任何已知的互连,诸如多分支总线、点对点互连、串行互连、并行总线、一致(例如高速缓存一致)总线、分层协议架构、差分总线以及GTL总线。
存储器175可专用于处理器100,或与***中的其它设备共享。存储器175的类型的常见示例包括动态随机存取存储器(DRAM)、静态RAM(SRAM)、非易失性存储器(NV存储器)以及其它已知的存储设备。与以上讨论类似,I/O设备180已经传统地被包括在中央处理单元外部的计算***中。在此,设备180可包括耦合至存储器控制器中枢的图形加速器、处理器或卡、耦合至I/O控制器中枢的数据储存器、无线收发机、闪存设备、音频控制器、网络控制器或其它已知设备。
然而应注意,在所描绘的实施例中,控制器170和I/O设备180被示为处理器100的部分。最近,随着更多的逻辑和器件被集成在诸如芯片上***(SOC)之类的单个管芯上,这些器件中的每一个器件可被包含在处理器100上,以形成具有多个器件的单个封装或单个集成电路。例如,在一个实施例中,存储器控制器中枢170和图形处理器/器件180被包括在与中央处理器单元相同的封装和/或管芯上以形成IC 100,该IC 100在此可被称为处理器100,该处理器100包括集成存储器控制器170和图形器件180。在此,核的部分(核上部分)包括一个或多个控制器170,用于与诸如存储器175和/或图形器件180之类的其它器件相连接。包括互连和用于与此类器件相连接的控制器的该配置通常被称为核上(或非核配置)。作为示例,总线接口105包括环形互连,该环形互连具有用于与存储器175相连接的存储器控制器,以及用于与图形处理器180相连接的图形控制器。图形处理器180甚至可直接访问高速缓存110。不过,在SOC环境下,可在单个管芯或集成电路上集成甚至更多的器件,诸如网络接口、协处理器、存储器175、图形处理器180以及任何其它已知的计算机器件/接口,以提供具有高功能性和低功耗的小形状因数。如在下文中更详细讨论,当开发用于整个IC 100的功率策略时,用于重要的集成电路(诸如核101-102和图形器件180)之间的功率平衡的技术变得更加重要。
在一个实施例中,处理器100能够执行编译器、优化和/或转换器代码177以编译、转换和/或优化应用代码176,以支持本申请中描述的装置和方法或与本申请中描述的装置和方法相连接。编译器通常包括用于将源文本/代码转换成目标文本/代码的程序或程序集合。通常,利用编译器对程序/应用代码的编译是在多个阶段和多次运行中完成的,以将高级编程语言代码转换成低级机器或汇编语言代码。不过,对于简单编译,仍可利用单次运行编译器。编译器可利用任何已知的编译技术,并执行任何已知的编译器操作,诸如词法分析、预处理、解析、语义分析、代码生成、代码转换以及代码优化。
更大的编译器通常包括多个阶段,但多数时候这些阶段被包括在两个一般阶段中:(1)前端,一般而言,即在其中可进行语法处理、语义处理以及一些转换/优化,(2)后端,一般而言,即在其中可进行分析、转换、优化以及代码生成。一些编译器指的是中端,其示出了编译器的前端与后端之间的界定的模糊。因此,对***、关联、生成或编译器的其它操作的引用可在编译器的上述阶段或运行中的任一个以及任何其它已知的阶段或运行中进行。作为说明性示例,编译器可能在编译的一个或多个阶段中***操作、调用、函数等等,诸如在编译的前端阶段***调用/操作,然后在转换阶段期间将这些调用/操作转换成较低级代码。注意,在动态编译期间,编译器代码或动态优化代码可***这样的操作/调用,并优化代码以供在运行时间期间执行。作为特定的说明性示例,可在运行时间期间动态地优化二进制代码(已经是经编译的代码)。在此,程序代码可包括动态优化代码、二进制代码或其组合。
与编译器类似,诸如二进制转换器之类的转换器将代码静态地或动态地转换以优化和/或转换代码。因此,对代码、应用代码、程序代码或其它软件环境的执行的引用可表示:(1)执行编译器程序、优化代码优化器或转换器,以动态地或静态地编译程序代码、维护软件结构、执行其它操作、优化代码或转换代码;(2)执行包括操作/调用的主程序代码,诸如已经被优化/编译的应用代码;(3)执行与主程序代码相关联的其它程序代码(诸如库),以维护软件结构、执行其它软件相关操作、或用于优化代码;或(4)上述的组合。
在一个实施例中,可包括硬件、固件、软件或其组合的功率控制模块160能够平衡和分配IC 100的器件之间的功率/频率以实现最大性能;即使IC 100在功率限制之下。此外,在一种情形下,这样的分配基于器件的实际工作负荷,而不是基于工作负荷或功耗的假定。例如,对IC 100设置功率限制(最大功率限制或在节能模式期间的降低限制)。以前,降低IC 100的所有处理元件的最大电流(以及必然也降低频率)以满足该功率限制。替代地,在本情形下,对被确定为性能瓶颈(比如从应用的角度认为的吞吐量性能)的器件分配更多电流/频率,同时定限/限制其它胜任的器件以确保仍满足功率限制。换言之,动态平衡持续保持在器件之间,以确保将这样的额外资源分配给需要更多资源以实现更好整体性能的器件,同时使其它器件“平衡”(性能降低)与满足给定的功率限制。
作为特定说明性示例,假定I/O器件180是图形处理器。在此,处理核101、102和图形器件180形成生产者和消费者关系。核101、102接收并处理指令;指令的一些被卸载至图形处理器180以进行处理(例如,CPU核101、102将像素发送至GPU 180以进行纹理处理,GPU 180计算像素的纹理以获得纹素(texel))。因此,如果CPU核101、102过度工作(即产生过多工作,使得GPU 180在当前性能水平下不能处理),则来自最大潜能的整体性能降级(CPU核101-102用来过度生产的额外性能可能已经被分配给GPU 180)。注意,即使CPU核101、102在与GPU 180相同频率或比GPU 180低的频率下工作,该过度生产情形也可能出现。反之,如果CPU核101、102生产不足(即未产生足够工作以保持GPU 180繁忙),则不可能实现最大潜在性能。此外,还可从其它角度理解该生产者-消费者关系,其中在CPU核101、102能得到进一步向前进展之前,CPU核101、102消费来自生产者180的图形输出。
因此,在一个实施例中,确定核101-102的处理工作负荷和图形器件180的图形工作负荷。例如,确定两个核101-102以及图形核180在时间份额或时间段上的活动量(例如活动循环次数)。基于那些工作负荷,平衡核101-102和图形核180的性能以实现最大整体性能。作为说明性示例,如果器件(CPU核101-102或GPU核180)之一在最大处或接近最大处工作,同时其它器件未被完全占据,则该接近最大器件被分配更多性能(例如更高频率)。
注意,当功率限制存在并且IC 100不接近功率限制时,刚刚上述的性能提高可能不包括其它器件中的抵消的降低。例如,假定GPU核180被完全占据(在一时间段期间的所有循环都是活动的)并且CPU核101-102仅在该时间段期间的70%循环中活动。在该情形下,CPU核101-102并未满负荷工作,但对于GPU 180而言仍然过度生产。在一个实施例中,当IC 100未处于设置的功率限制,则将GPU 180频率提高以满足CPU 101-102的过度生产。然而,一旦GPU 180开始以更高速率消费,CPU核101-102能够以甚至更高的速率生产。如果达到IC 100的功率或热限制,则如果GPU 180提高频率(例如根据以上相同的假定),则在一个实施例中,CPU 101-102被限制/定限以确保不超过功率限制或热限制。然而,智能地分配该限制内的功率和性能,以确保最大“经平衡”的性能。
参考图2-4,示出了适于包括用于平衡集成电路上的处理元件/核之间的性能和功率的处理器的计算机***配置的实施例。参考图2,示出双处理器***200的说明性示例,该***的每个处理器205、210中具有集成的存储器控制器和输入/输出(I/O)控制器。注意,如上所讨论,处理器205、210可各自包括集成图形处理器/核。尽管为了避免模糊本讨论而未进行详细讨论,但平台200示出用于在组件之间传输信息的多个互连。例如,在一个实施例中,点对点(P2P)互连215包括串行P2P、双向的、高速缓存一致性的总线,该总线具有能够实现高速数据传输的分层协议架构。此外,众所周知的接口(***组件互连高速,PCIE)或其变型被用于I/O设备245、250之间的接口240。但是,任何已知的互连或接口可被用于与计算***的域通信或在计算***的域内通信。
转到图3,示出四处理器平台300。像图2一样,处理器301-304通过高速P2P互连305彼此耦合。并且处理器301-304包括集成控制器301c-304c。图4描绘具有不同配置的另一四核处理器平台400。在此,代替使用处理器上I/O控制器通过I/O接口(诸如PCI-E接口)与I/O器件通信,P2P互连被用于耦合处理器和I/O控制器中枢420。然后中枢420又通过类似PCIE的接口与I/O器件通信。
接下来参考图5,其示出用于平衡多个处理元件间的功率以实现最大性能的模块的逻辑表示的实施例。尽管在图5中仅示出两个核,但是可使用任意类型和任意数量的处理元件。例如,在本文最常讨论的情形下(CPU和GPU),CPU和GPU两者可能包括多个核。因此,工作负荷确定(以下将更详细地描述)可能参考单独的核或核的分组,诸如关于所有CPU核相对于关于所有GPU核的工作负荷。
然而,为了关于图5进一步讨论,以下将核505称为CPU核(或CPU核的集合),而将核510称为GPU核(或GPU核的集合)。还值得注意的是,尽管本文的讨论主要集中在非对称核之间的功率平衡上;但在一个实施例中,这种平衡也用于相同类型的核之间。例如,假设核505和510均为CPU核并且执行相关线程(例如,生产者和消费者相关线程,诸如在核505上执行的单个应用的主线程以及在核510上执行的单个应用的领先帮助线程,其中领先帮助线程产生要由主线程消费的信息)。因此,可执行功率/频率平衡以实现线程之间的最大性能(例如,如果执行帮助线程的核510领先太远,诸如获得太多未来的块(lock)或预取太多信息,那么核510的频率被降低,而核505的频率被提高以便以更高的速率进行消费并且跟上核510的预取)。
继续图5的讨论,工作负荷模块515确定核505、核510或两者的工作负荷。确定工作负荷包括用于确定硬件活动、软件工作负荷、已执行或要执行的指令数量、或者用于确定处理元件的使用的任何其它度量的任何已知方法。作为一个示例,核505的工作负荷包括在一段时间期间核505活动的时间量。当核505处于活动性能状态(相对于睡眠或低功率状态)中或者处于执行或进行操作的多个周期中时,可以确定活动。
作为大量潜在工作负荷测量的必然结果,测量这种工作负荷的组件也可变化。为了进一步讨论用于工作负荷测量的潜在组件,以下假设工作负荷被测量为一段时间上的活动周期数(即用于测量的周期总数)。作为第一示例,与核505、510中的每一个相关联的硬件寄存器、计数器和/或累加器跟踪活动周期。并且在测量时间段届满之后,确定该时间段的活动周期数。作为另一示例,微控制器执行代码,该代码导致硬件在一段时间上跟踪活动周期。此外,可执行微代码、特权级代码、应用代码或其它代码以类似地导致硬件在测量时间段上跟踪活动周期。
在一个实施例中,功率模块520基于来自工作负荷模块515的工作负荷确定来动态地平衡核505、510之间的性能。平衡核之间的“性能”包括修改影响核性能和/或功率的任何度量或因素。例如,如果从GPU核510向CPU核505提供单独功率传输,那么功率传输或其限制可被改变以平衡它们之间的性能。然而,通常当CPU核505和GPU核510被包括在同一个封装上时,功率传输并不是单独的。因此,作为另一示例,个体的核之间的频率被平衡。在该情形下,功率模块520基于包括核505、510的集成电路或封装的功率限制以及由工作负荷模块515所确定的一个或多个工作负荷来动态地调节核505和核510之间的功率分配。注意,在一些实施例中,频率可能不是被直接改变的,而是诸如电流之类的基础度量被改变以实现频率的改变。
作为一个示例,功率模块520响应于所动态确定的核505的工作负荷大于核510的工作负荷而提高核505的频率和/或降低核510的频率。在此,如果一个核展示了由于较高工作负荷而对性能有更大需求,那么就提高它的频率。而当包括核505和510的集成电路接近功率限制时,展示出对性能要求的需求较少的核的频率被降低以抵销/补偿另一核的频率提高。在另一示例中,功率模块520响应于确定核505是性能瓶颈而提高核505的频率和/或降低核510的频率。换言之,核505正在限制整体性能,因为核510依赖于来自核505的输出以继续进一步的执行。但是核505运行的太慢。随后,提高核505的频率以确保加速整体性能。再一次,如果遭遇功率限制,那么核510的频率可被类似地降低以确保功率限制被实施。注意,在一些实施例中,滞后现象可用于避免“摇摆(see-saw)”效应,在该效应中功率/性能平衡在诸个设置之间往复。例如,CPU频率快速升高(例如在首次检测到需要更多性能/频率之后),而在多个连续(或者非连续但是紧密相关的)的测量时间段上由于需求缺乏而确定减小频率。
在一个实施例中,对潜在瓶颈的基本假设允许简化过程。例如,假设核505是CPU核的集合并且核510是GPU核的集合。在此,作为示例性基本假设,假设当GPU核510以最大性能操作时(即被完全占用),那么GPU核510是性能瓶颈(即GPU在当前限制下尽可能快地工作,但是它完成工作并不是足够地快)。作为该假设的结果,如果GPU核510在工作负荷/活动阈值以上操作,那么它被认为是瓶颈。因此,提高GPU的频率。并且如果达到了功率限制,那么GPU频率被给定上限(或降低)以确保维持功率限制。然而,如果工作负荷模块520确定GPU 505的频率低于阈值(即,没有以最大负荷进行工作/消费),那么CPU 505的任意频率上限或限制被提高以导致更多生产,使得GPU核510工作负荷相应地增大。
任何硬件、固件、微代码、软件或其组合可执行上述的平衡、调节和/或分配。作为一个示例,平衡策略在功率控制单元(PCU)中实施,该功率控制单元通常包括微控制器,该微控制器被配置成执行并置的功率代码。在此,功率代码当由微控制器执行时,加载来自工作负荷模块515的工作负荷信息,确定适当的平衡动作(例如,提高核510的频率),以及开始平衡动作(例如,指示频率提高,从而使得硬件/逻辑能够实际上提高频率)。作为另一示例,可将代码和硬件均用于平衡。在一个情形下,GPU核510的图形驱动程序加载来自工作负荷模块520(例如,硬件活动跟踪逻辑)的图形工作负荷信息。并且器件驱动程序、特权级功率服务例程(例如OS服务例程)或其它代码/硬件至少基于图形工作负荷信息来确定是否要采取平衡动作。另外,也可考虑CPU核505工作负荷信息以确定适当的平衡动作。
在一个实施例中,平衡决策者也考虑软件提示以确定如何在处理元件之间平衡性能/功率。例如,如上所讨论的,确定GPU核510工作负荷信息。并且执行应用提供未来工作负荷(即,应用的一部分)是否包括与导致已测得的工作负荷的该应用的先前部分相比较而言更大或更小图形工作负荷的软件提示。在此,如果GPU接近阈值(或接近于完全占用)并且应用提示下一时间段与更大的图形工作负荷相关联,那么功率模块520可确定GPU要被提高且CPU频率要被给定上限;即使先前活动尚未达到活动阈值。结果,该提示帮助预测未来活动;代替纯粹依赖于先前的、已测得的工作负荷信息。注意,可通过定义这种提示的指令集架构、应用程序接口(API)或用于将信息从软件传达到硬件的其它已知结构/方法来提供提示。
转到图6,其示出用于平衡处理元件间的功率以实现最大整体性能的模块的逻辑表示的另一实施例。在一个实施例中,图形处理单元(GPU)核605和中央处理单元(CPU)核610位于可能经受整体功率或性能限制的同一管芯、集成电路、封装或其它分组上。例如,通常为集成电路或封装提供热设计功率(TDP)功率限制。换言之,为集成电路的最大热耗散能力提供功率限制。然而,在另一实施例中,GPU核605和CPU核610是要被***到单个平台中的分离的诸个集成电路,该单个平台可类似地经受整体平台功率和/或热限制。
工作负荷监控器606被示为与GPU核605相关联,而工作负荷监控器611被示为与CPU核610相关联。如上所述,工作负荷监控器606和611可被实现在与GPU核605和CPU核610相关联的硬件、要由微控制器执行的工作负荷代码、和/或在GPU核605和/或CPU核610上执行的代码(例如,微代码、驱动程序代码、其它代码)中。
可在CPU核610上执行的器件驱动程序620读取/加载来自工作负荷监控器606的工作负荷信息。例如,将GPU核605活动的周期数保持在GPU 605中的寄存器、计数器和/或累加器中。器件驱动程序620加载每个时间段的计数并且确定GPU 605的活动。在此,在一个实施例中,器件驱动程序620基于来自工作负荷监控器606的图形活动做出平衡决策。在一个情形下,如果工作负荷活动大于阈值,那么驱动程序620指示GPU核605被占用(即,完全活动并且可能是瓶颈)。在该实施例中,功率管理/平衡模块630(硬件、固件、代码或其组合)接收占用指示并且执行适当的平衡动作(例如,给定CPU核610的频率上限和/或增大GPU核605的频率)。作为特定例示性示例,功率模块630包括PCU、功率代码、微代码、应用代码、特权级代码、操作***(OS)功率管理服务,等等。
在另一实施例中,功率管理模块630(例如,诸如有特权的功率管理服务)加载来自监控器611的CPU活动信息。并且利用直接来自工作负荷监控器606或器件驱动程序620的GPU核605活动信息,功率管理模块630做出平衡决策。并且模块630还直接实施平衡决策或者指示平衡将由一些其它模块、单元或实体来执行。
作为一个示例,功率管理模块630(在一些实施例中包括器件驱动程序620)为CPU核610和/或GPU核605中的一个或多个设置性能限制。在此,假设已经达到GPU核605和CPU核610的整体功率或热限制。并且在工作负荷测量期间,确定了GPU核605活动超出占用阈值。作为阈值的例示性示例,用于考虑GPU占用的周期数可从一时间段中超过50%的周期为活动到一时间段中100%的周期为活动。例如,假设活动阈值是95%活动,则如果工作负荷监控器606检测到96%-100%的活动周期,那么确定超出了活动阈值。
因此,设置性能限制(例如,CPU核610的最大操作频率、CPU核610的最大超频频率(turbo frequency)、CPU核610的最大电流、CPU核610的最大能耗)。该动作独自可能足以平衡CPU核610的生产以匹配GPU605的消费速率。然而,在另一实施例中,提高GPU核605的性能度量,该性能度量可以是与为CPU核610设限的性能度量相同或不同的性能度量。在此,智能地选择针对GPU 605的提高以与CPU核610的提高平衡,使得不会超出已经遭遇到的功率或热限制。相反地,如果GPU工作负荷低于阈值并且从先前时间段已对CPU核610给定上限/限制,那么提高或者去除该上限。本质上,如果GPU核605未被充分利用,那么认为CPU 610没有以足够快的速率进行生产以完全利用GPU 605。因此,CPU 610被提高或允许运行到完成以便为GPU核605生成更多工作。同样非常类似于以上所讨论的,如果达到了功率限制,那么GPU 605的性能度量(诸如频率)可被降低,因为它不需要全部性能来完成其低于活动阈值的工作负荷。
从上述可见,已达到限制的功耗在处理元件之间被智能地重新分配,以实现提供最佳整体性能的最优平衡。相反,如果功率并没有如本文所讨论地这样被平衡,那么功率限制被实施,但是处理元件之一可能作为限制整体性能的性能瓶颈。相反,这种智能重新分配使得瓶颈能够被缓和,甚至在功率约束之下亦可如此,这实现了最高效能耗约束下的最大性能。
转到图7,其示出用于平衡处理器和图形处理器之间的功率以实现功率限制内的最大性能的流程图的模块和/或表示的实施例。注意,以基本上串行的方式示出了流程(或模块)。然而,这些流程的串行性质以及所描绘的顺序不是必须的。同样,以基本线性方式示出流程。然而,在相同时间段上可并行执行这些流程。此外,所示出的流程或逻辑块中的任一个可在硬件、软件、固件或其组合中执行。如上和如下所述,在一个实施例中,每个流程表示模块、模块的部分或多个模块的重叠。此外,一个或多个指令或操作形式的任何程序代码在被执行时可使机器执行以下所示出和描述的流程。例如,在一个实施例中,程序代码包括:器件驱动程序,诸如图形驱动程序;有特权的服务例程;功率控制单元的功率代码的一部分;处理器的微代码的一部分;或者以上的组合。
在流程705中,从一个或多个工作负荷监控器接收(或加载)在一时间段上的图形处理器和/或中央处理器工作负荷。作为一个示例,从这些器件中的硬件寄存器读取/加载活动计数。不过,可利用用于跟踪一时间段上的工作负荷或活动的任何已知方法。
然后在流程710中,确定是否达到诸如热设计功率(TDP)限制之类的限制。尽管可能遭遇任何功率或能量限制,但是通常使用基于对包括GPU和CPU的封装的电和热限制(即封装的TDP限制)的功率限制。如果尚未达到功率限制并且CPU或GPU工作负荷指示需要提高性能(流程715),那么在流程720中增大诸如频率之类的功率或性能度量使其达到可允许的容纳工作负荷的最大值。在此,如果无需担心命中功率限制,那么通过纯粹提供更多性能来消除潜在瓶颈。相反,如果不需要性能增大,如流程705的工作负荷所指示,那么流程重置以测量工作负荷并且在后续时间段中在流程705中再次读取。注意,在流程715中,可替代地确定诸如GPU之类的器件的性能可被降低并且GPU仍将能够容纳所测得的工作负荷。因此,GPU性能降低,这又降低了功耗,同时维持工作负荷性能。
然而,如果已经遭遇限制,那么平衡功率和/或性能以尽可能多地缓和瓶颈。因此,在流程725中,确定所加载的GPU工作负荷是否大于工作负荷/活动阈值。如果GPU工作负荷在阈值以上,那么在流程730中对CPU施加性能限制。换言之,GPU过度工作且CPU的生产被给定上限。可见,缓和GPU工作负荷的一个方法是给定CPU生产的上限。然而,为了进一步缓和瓶颈,提高诸如频率之类的GPU性能。由于GPU频率的提高,因此GPU功耗提高。并且在没有降低CPU频率或给定其上限的情况下(这导致更低的CPU功耗),将会超出所遭遇的TDP限制。然而,对给定CPU性能上限以及GPU频率的类似增大的平衡确保不会超出TDP限制。但是相反,基于实际的、所测得的GPU工作负荷在GPU和CPU之间智能地重新分配可用功率以获得最佳性能。
不过,如果GPU工作负荷不大于阈值,那么在流程735中确定先前的CPU限制是否已被施加。如果尚未施加限制,那么在流程745中CPU继续根据现有策略操作。然而,如果GPU低于活动阈值并且CPU具有当前性能限制,那么在流程740中增大和/或去除该限制。如上所讨论的,在该情形下,GPU没有努力工作,因此提高CPU的生产。因此,如果没有设置CPU上限,那么低图形活动可归因于非图形密集型的应用。相反,如果已经施加CPU性能限制,那么提高该限制以潜在地同样提高用于GPU的CPU的生产。
参考图8,其示出用于平衡处理器和图形处理器之间的功率以达到功率限制内的最大性能的流程图的模块和/或表示的另一实施例。类似于图7和流程705,确定中央处理器的处理工作负荷活动以及图形处理器的图形工作负荷活动。并且在流程810中,如在流程710中一样,确定保持中央处理器和图形处理器的平台、封装、集成电路或其它形态是否已经达到功率限制、热限制或者其组合(例如TDP限制)。
在流程825中,至少基于在流程805中确定的图形工作负荷活动来确定图形处理器是否是性能瓶颈。作为一个示例,这种确定是基于图形工作负荷活动是否大于图形活动阈值。在此,如果活动大于阈值,那么认为GPU是瓶颈。然而,如果活动小于阈值,那么对流程825则认为CPU是瓶颈。然而,此类活动与阈值的比较不是必需的。例如,可直接比较工作负荷。并且如果一个高于另一个,那么这一个就被确定为瓶颈。
因此,在流程830中,响应于在流程825中确定图形处理器是性能瓶颈,将中央处理器的处理器性能限制设为低于先前的处理器性能限制。或者,在流程840中,响应于在流程835中确定中央处理器是性能瓶颈,将图形处理器的图形性能限制设为低于先前的图形处理器性能限制。并且类似于以上的讨论,可增加竞争器件以进一步缓和任何瓶颈。
尽管讨论主要集中在作为中央处理器和图形处理器的竞争器件上,但是具有生产者-消费者关系的、为功率或性能资源而竞争的、或在整体功率或热限制下被调节的任何器件之间的功率/性能可被类似地平衡。因此,可用功率在器件之间被智能地分配以从全局视角提供最佳可能性能,代替了每个个体组件用其自己的功率和性能规则来处理而不考虑它们的应用级贡献或对资源的垄断。
在本文中使用的模块指的是硬件、软件、和/或固件的任意组合。作为示例,模块包括与非瞬态介质相关联的诸如微控制器之类的硬件,该非瞬态介质用于存储适于由该微控制器执行的代码。因此,在一个实施例中,对模块的引用是指硬件,该硬件被专门配置成识别和/或执行要保存在非瞬态介质上的代码。另外,在另一实施例中,模块的使用是指包括代码的非瞬态介质,该代码专门适于由微处理器执行以进行预定操作。并且可推断,在又一实施例中,术语模块(在该示例中)可以指微控制器和非瞬态介质的组合。通常,被示为分开的模块边界一般不同而且有可能重叠。例如,第一和第二模块可共享硬件、软件、固件、或它们的组合,同时可能保留某些独立的硬件、软件或固件。在一个实施例中,术语逻辑的使用包括诸如晶体管、寄存器之类的硬件或诸如可编程逻辑器件之类的其它硬件。
如在本文中所使用的值包括数字、状态、逻辑状态、或二进制逻辑状态的任何已知表示。通常,逻辑电平、逻辑值、或多个逻辑值的使用也被称为1和0,这简单地表示了二进制逻辑状态。例如,1指的是逻辑高电平,0指的是逻辑低电平。在一个实施例中,诸如晶体管或闪存单元之类的存储单元能够保持单个逻辑值或多个逻辑值。不过,也使用了计算机***中的值的其它表示。例如,十进制数字10也可被表示为二进制值1010和十六进制字母A。因此,值包括能保持在计算机***中的信息的任何表示。
而且,状态也可由值或值的部分来表示。作为示例,诸如逻辑1之类的第一值可表示默认或初始状态,而诸如逻辑0之类的第二值可表示非默认状态。此外,在一个实施例中,术语重置和置位分别指的是默认和已更新的值或状态。例如,默认值可能包括高逻辑值,即重置,而已更新的值可能包括低逻辑值,即置位。注意,值的任何组合可用来表示任意数量的状态。
上述方法、硬件、软件、固件或代码的实施例可通过存储在机器可存取、机器可读、计算机可存取、或计算机可读介质上可由处理元件执行的指令或代码来实现。非瞬态机器可存取/可读介质包括提供(即存储和/或发送)诸如计算机或电子***之类的机器可读的形式的信息的任何机制。例如,非瞬态机器可存取介质包括:诸如静态RAM(SRAM)或动态RAM(DRAM)之类的随机存取存储器(RAM);ROM;磁或光存储介质;闪存设备;电存储设备;光存储设备;声存储设备;其它形式的用于保持从瞬态(传播)信号(例如载波、红外信号、数字信号)接收的信息的存储设备等等,这些信号与可从其接收信息的非瞬态介质相区别。
贯穿本说明书,对“一个实施例”或“一实施例”的引用意味着结合该实施例描述的特定特征、结构或特性被包括在本发明的至少一个实施例中。因此,在整个说明书的多个位置出现短语“在一个实施例中”或“在实施例中”不一定指的是同一实施例。此外,在一个或多个实施例中,特定特征、结构或特性可以以任何合适的方式组合起来。
在上述说明书中,已经参考特定示例性实施例给出了详细描述。然而,显然可对这些实施例作出各种修改和改变,而不背离如所附权利要求所述的本发明的更宽泛精神和范围。相应地,说明书和附图应被视为说明性的,而不是限制性的。而且,实施例和其它示例性语言的上述使用不一定指的是同一实施例或同一示例,而可能指的是不同和独特的实施例,也有可能是同一实施例。

Claims (54)

1.一种用于高效能耗的装置,包括:集成电路,包括,
一个或多个处理单元核;
一个或多个图形处理单元核;
图形工作负载监控器,被配置成确定一时间量上的所述一个或多个图形处理单元核的图形活动;以及
功率管理模块,适于响应于所述集成电路达到功率相关限制且所述图形工作负荷监控器确定所述时间量上的所述一个或多个图形处理单元的图形活动大于活动阈值,为所述一个或多个处理单元核设置性能限制。
2.如权利要求1所述的装置,其特征在于,所述功率管理模块还适于响应于所述图形工作负荷监控器确定在随后时间量上的所述一个或多个图形处理单元核的随后图形活动小于所述活动阈值,在所述随后时间量之后提高所述一个或多个处理单元核的性能限制。
3.如权利要求2所述的装置,其特征在于,所述功率管理模块还适于:
响应于所述图形工作负荷监控器确定在所述时间量上的所述一个或多个图形处理单元核的图形活动大于所述活动阈值,提高所述一个或多个图形处理单元核的图形性能限制,以及
响应于所述图形工作负荷监控器确定在所述随后时间量上的所述一个或多个图形处理单元核的随后图形活动小于所述活动阈值,在所述随后时间量之后降低所述一个或多个处理单元核的图形性能限制。
4.如权利要求1所述的装置,其特征在于,所述图形工作负荷监控器包括活动逻辑,所述活动逻辑被配置成确定在所述时间量上的所述一个或多个图形处理单元核的活动周期数,并且其中所述活动阈值包括在所述时间量上的周期的阈值数。
5.如权利要求4所述的装置,其特征在于,所述功率管理模块包括保存在非瞬态介质上的图形器件驱动程序代码,所述代码当被所述一个或多个处理单元核执行时,响应于所述集成电路达到功率相关限制且所述图形工作负荷监控器确定在所述时间量上的所述一个或多个图形处理单元的图形活动大于活动阈值,为所述一个或多个处理单元核设置性能限制。
6.如权利要求5所述的装置,其特征在于,所述保存在非瞬态介质上的、当被所述一个或多个处理单元核执行时响应于所述集成电路达到功率相关限制且所述图形工作负荷监控器确定在所述时间量上的所述一个或多个图形处理单元的图形活动大于活动阈值为所述一个或多个处理单元核设置性能限制的图形器件驱动程序代码包括:器件驱动程序代码,所述器件驱动程序代码当被执行时执行以下操作:
从所述活动逻辑加载活动周期数;
确定所述活动周期数是否大于在所述时间量上的周期的阈值数;以及
向功率服务例程提供性能限制指示器,所述性能限制指示器响应于确定所述活动周期数大于在所述时间量上的周期的阈值数而为所述一个或多个处理单元核设置性能限制。
7.如权利要求5所述的装置,其特征在于,所述一个或多个处理单元核的性能限制包括从由以下各项组成的组中选择的性能限制:所述一个或多个处理单元核的最大操作频率,所述一个或多个处理单元核的最大超频频率,所述一个或多个处理器核的最大电流,以及所述一个或多个处理器核的最大能耗。
8.一种用于高效能耗的装置,包括:集成电路,包括,
第一核和第二核,所述第一核和所述第二核是非对称核;
工作负荷监控器,其适于动态确定所述第一核的第一工作负荷以及所述第二核的第二工作负荷;以及
平衡模块,其适于基于所述集成电路的功率限制以及至少所述第二工作负荷来动态调节所述第一核和所述第二核之间的频率分配。
9.如权利要求8所述的装置,其特征在于,所述第一核包括主机处理核,并且所述第二核包括图形处理核。
10.如权利要求8所述的装置,其特征在于,适于动态确定所述第一核的第一工作负荷以及所述第二核的第二工作负荷的工作负荷监控器包括:用于跟踪在一时间段期间所述第一核是活动的周期的第一数目的第一硬件以及用于跟踪在所述时间段期间所述第二核是活动的周期的第二数目的第二硬件。
11.如权利要求8所述的装置,其特征在于,适于动态确定所述第一核的第一工作负荷以及所述第二核的第二工作负荷的工作负荷监控器包括:微控制器,所述微控制器被配置成执行保存在非瞬态介质上的代码以使所述微控制器跟踪在一时间段期间所述第一核是活动的周期的第一数目以及在所述时间段期间所述第二核是活动的周期的第二数目。
12.如权利要求8所述的装置,其特征在于,适于基于所述集成电路的功率限制以及至少所述第二工作负荷来动态调节所述第一核和所述第二核之间的频率分配的所述平衡模块包括:所述平衡模块,适于响应于所述集成电路以所述功率限制操作:
响应于所述第一工作负荷大于所述第二工作负荷,提高所述第一核的频率并且降低所述第二核的频率,以及
响应于所述第二工作负荷大于所述第一工作负荷,降低所述第一核的频率并且提高所述第二核的频率。
13.如权利要求8所述的装置,其特征在于,适于基于所述集成电路的功率限制以及至少所述第二工作负荷来动态调节所述第一核和所述第二核之间的频率分配的所述平衡模块包括:所述平衡模块,适于响应于所述集成电路以所述功率限制操作:
响应于确定所述第二核是性能瓶颈,提高所述第二核的频率并且降低所述第一核的频率;以及
响应于确定所述第二核不是性能瓶颈,提高所述第一核的频率并且降低所述第二核的频率。
14.如权利要求13所述的装置,其特征在于,所述平衡模块包括驱动程序代码,所述驱动程序代码当由所述第一核执行时,使所述集成电路响应于确定所述第二核是性能瓶颈而提高所述第二核的频率并且降低所述第一核的频率;以及响应于确定所述第二核不是性能瓶颈而提高所述第一核的频率并且降低所述第二核的频率。
15.如权利要求13所述的装置,其特征在于,所述平衡模块包括功率控制单元,所述功率控制单元包括微控制器,所述微控制器执行并置的功率代码,以响应于确定所述第二核是性能瓶颈而提高所述第二核的频率并且降低所述第一核的频率;以及响应于确定所述第二核不是性能瓶颈而提高所述第一核的频率并且降低所述第二核的频率。
16.如权利要求9所述的装置,其特征在于,适于动态调节所述主机处理核和所述图形处理核之间的频率分配的所述平衡模块还基于来自软件的软件提示,所述软件提示指示与所述图形处理核相关联的未来图形工作负荷。
17.如权利要求16所述的装置,其特征在于,来自软件的指示与所述图形处理核相关联的未来图形工作负荷的所述软件提示包括:对所述未来图形工作负荷是大于还是小于所述工作负荷监控器所动态确定的所述第二工作负荷的软件指示。
18.一种包含代码的非瞬态介质,所述代码在被执行时导致机器执行以下能效操作:
接收在包括主控处理器的封装上的图形处理器在一时间段上的图形工作负荷活动;
确定所述封装是否已达到热设计功率(TDP)限制;
响应于确定所述封装已达到所述TDP限制,
指示所述主控处理器的性能相关限制将响应于在所述时间段上的所述图形工作负荷活动大于活动阈值而被降低;
指示所述主控处理器的先前性能相关限制将响应于在所述时间段上的所述图形工作负荷活动小于所述活动阈值而被提高。
19.如权利要求18所述的非瞬态介质,其特征在于,所述代码包括所述图形处理器的图形器件代码,并且所述非瞬态介质还包括特权级功率服务代码,所述特权级功率服务代码在被执行时导致所述机器响应于指示所述主控处理器的所述性能相关限制要被降低而降低所述主控处理器的所述性能相关限制,并且响应于指示所述主控处理器的先前性能相关限制要被提高而提高所述主控处理器的所述先前性能相关限制。
20.如权利要求18所述的非瞬态介质,其特征在于,接收在包括主控处理器的封装上的图形处理器在一时间段上的图形工作负荷活动包括:在所述时间量结束时从与所述图形处理器相关联的活动硬件加载所述图形工作负荷活动。
21.如权利要求18所述的非瞬态介质,其特征在于,所述TDP限制包括基于对所述封装的电和热限制的功率限制,并且其中所述性能相关限制包括频率限制。
22.如权利要求18所述的机器可读介质,其特征在于,所述代码在被机器执行时导致机器进一步执行以下操作:
确定所述图形处理器能否在更低的图形性能相关限制下容纳所述时间段上的图形工作负荷活动;以及
响应于确定所述图形处理器能够在所述更低的图形性能相关限制下容纳所述时间段上的图形工作负荷活动,指示当前图形性能相关限制将被降低到所述更低的图形性能相关限制。
23.一种用于高效能耗的方法,包括:
确定封装上的中央处理器的处理工作负荷活动;
确定所述封装上的图形处理器的处理工作负荷活动;
确定所述封装是否已达到热限制或功率限制;以及
响应于确定所述封装已达到所述热限制或功率限制,
至少基于所述图形工作负荷活动来确定是所述中央处理器还是所述图形处理器是性能瓶颈,
响应于确定所述图形处理器是性能瓶颈,将所述中央处理器的处理器性能限制设置成低于先前的处理器性能限制,以及
响应于确定所述中央处理器是性能瓶颈,将所述图形处理器的图形性能限制设置成低于先前的图形处理器性能限制。
24.如权利要求23所述的方法,其特征在于,至少基于所述图形工作负荷活动来确定是所述中央处理器还是所述图形处理器是性能瓶颈包括:
确定所述图形工作负荷活动是否大于图形活动阈值;
响应于确定所述图形工作负荷活动大于所述图形活动阈值,确定所述图形处理器是性能瓶颈;以及
响应于确定所述图形工作负荷活动不大于所述图形活动阈值,确定所述中央处理器是性能瓶颈。
25.如权利要求23所述的方法,其特征在于,至少基于所述图形工作负荷活动来确定是所述中央处理器还是所述图形处理器是性能瓶颈包括:
确定所述图形工作负荷活动是否大于所述处理工作负荷活动;
响应于确定所述图形工作负荷活动大于所述处理工作负荷活动,确定所述图形处理器是性能瓶颈;以及
响应于确定所述图形工作负荷活动不大于所述处理工作负荷活动,确定所述中央处理器是性能瓶颈。
26.如权利要求23所述的方法,其特征在于,所述处理器性能限制包括处理器频率限制并且所述图形性能限制包括图形频率限制。
27.如权利要求23所述的方法,其特征在于,进一步包括:
响应于确定所述中央处理器是性能瓶颈,将所述中央处理器的处理器性能限制设置成高于先前的处理器性能限制,以及
响应于确定所述图形处理器是性能瓶颈,将所述图形处理器的图形性能限制设置成高于先前的图形处理器性能限制。
28.一种包含代码的非瞬态机器可读介质,所述代码在被执行时致使机器执行如权利要求23-27中任一项所述的方法。
29.一种执行能量效率操作的方法,包括:
接收在包括主控处理器的封装上的图形处理器在一时间段上的图形工作负荷活动;
确定所述封装是否已达到热设计功率(TDP)限制;
响应于确定所述封装已达到所述TDP限制,
指示所述主控处理器的性能相关限制将响应于在所述时间段上的所述图形工作负荷活动大于活动阈值而被降低;
指示所述主控处理器的先前性能相关限制将响应于在所述时间段上的所述图形工作负荷活动小于所述活动阈值而被提高。
30.如权利要求29所述的方法,其特征在于,进一步包括:响应于指示所述主控处理器的所述性能相关限制要被降低而降低所述主控处理器的所述性能相关限制,并且响应于指示所述主控处理器的先前性能相关限制要被提高而提高所述主控处理器的所述先前性能相关限制。
31.如权利要求29所述的方法,其特征在于,接收在包括主控处理器的封装上的图形处理器在一时间段上的图形工作负荷活动包括:在所述时间量结束时从与所述图形处理器相关联的活动硬件加载所述图形工作负荷活动。
32.如权利要求29所述的方法,其特征在于,所述TDP限制包括:基于对所述封装的电和热限制的功率限制,并且其中所述性能相关限制包括频率限制。
33.如权利要求29所述的方法,其特征在于,进一步包括:
确定所述图形处理器能否在更低的图形性能相关限制下容纳所述时间段上的图形工作负荷活动;以及
响应于确定所述图形处理器能够在所述更低的图形性能相关限制下容纳所述时间段上的图形工作负荷活动,指示当前图形性能相关限制将被降低到所述更低的图形性能相关限制。
34.一种包含代码的非瞬态机器可读介质,所述代码在被执行时致使机器执行如权利要求29-33中任一项所述的方法。
35.一种用于高效能耗的装置,包括:
处理工作负荷装置,其用于确定封装上的中央处理器的处理工作负荷活动;
图形工作负荷装置,其用于确定所述封装上的图形处理器的图形工作负荷活动;
热和功率限制装置,其用于确定所述封装是否已达到热或功率限制;以及
性能限制装置,响应于确定所述封装已达到所述热或功率限制,用于:
至少基于所述图形工作负荷活动来确定是所述中央处理器还是所述图形处理器是性能瓶颈,
响应于确定所述图形处理器是性能瓶颈,将所述中央处理器的处理器性能限制设置成低于先前的处理器性能限制,以及
响应于确定所述中央处理器是性能瓶颈,将所述图形处理器的图形性能限制设置成低于先前的图形处理器性能限制。
36.如权利要求35所述的装置,其特征在于,至少基于所述图形工作负荷活动来确定是所述中央处理器还是所述图形处理器是性能瓶颈包括:
确定所述图形工作负荷活动是否大于图形活动阈值;
响应于确定所述图形工作负荷活动大于所述图形活动阈值,确定所述图形处理器是性能瓶颈;以及
响应于确定所述图形工作负荷活动不大于所述图形活动阈值,确定所述中央处理器是性能瓶颈。
37.如权利要求35所述的装置,其特征在于,至少基于所述图形工作负荷活动来确定是所述中央处理器还是所述图形处理器是性能瓶颈包括:
确定所述图形工作负荷活动是否大于所述处理工作负荷活动;
响应于确定所述图形工作负荷活动大于所述处理工作负荷活动,确定所述图形处理器是性能瓶颈;以及
响应于确定所述图形工作负荷活动不大于所述处理工作负荷活动,确定所述中央处理器是性能瓶颈。
38.如权利要求35所述的装置,其特征在于,所述处理器性能限制包括处理器频率限制并且所述图形性能限制包括图形频率限制。
39.根据权利要求35所述的装置,其中,进一步包括:
响应于确定所述中央处理器是性能瓶颈,将所述中央处理器的处理器性能限制设置成高于先前的处理器性能限制,以及
响应于确定所述图形处理器是性能瓶颈,将所述图形处理器的图形性能限制设置成高于先前的图形处理器性能限制。
40.一种执行能量效率操作的装置,包括:
工作负荷装置,用于接收在包括主控处理器的封装上的图形处理器在一时间段上的图形工作负荷活动;
热设计功率限制装置,其用于确定所述封装是否已达到热设计功率(TDP)限制;
性能相关限制装置,响应于确定所述封装已达到所述TDP限制,用于:
指示所述主控处理器的性能相关限制将响应于在所述时间段上的所述图形工作负荷活动大于活动阈值而被降低;
指示所述主控处理器的先前性能相关限制将响应于在所述时间段上的所述图形工作负荷活动小于所述活动阈值而被提高。
41.如权利要求40所述的装置,其特征在于,还包括所述性能相关装置,用于:响应于指示所述主控处理器的所述性能相关限制要被降低而降低所述主控处理器的所述性能相关限制,并且响应于指示所述主控处理器的先前性能相关限制要被提高而提高所述主控处理器的所述先前性能相关限制。
42.如权利要求40所述的装置,其特征在于,接收在包括主控处理器的封装上的图形处理器在一时间段上的图形工作负荷活动包括:在所述时间量结束时从与所述图形处理器相关联的活动硬件加载所述图形工作负荷活动。
43.如权利要求40所述的装置,其特征在于,所述TDP限制包括基于对所述封装的电和热限制的功率限制,并且所述性能相关限制包括频率限制。
44.如权利要求40所述的装置,其特征在于,所述性能相关限制装置还用于:
确定所述图形处理器能否在更低的图形性能相关限制下容纳所述时间段上的图形工作负荷活动;以及
响应于确定所述图形处理器能够在所述更低的图形性能相关限制下容纳所述时间段上的图形工作负荷活动,指示当前图形性能相关限制将被降低到所述更低的图形性能相关限制。
45.一种用于高效能耗的装置,包括:集成电路,包括,
第一核和第二核,所述第一核和所述第二核是非对称核;
工作负荷装置,用于动态确定所述第一核的第一工作负荷以及所述第二核的第二工作负荷;以及
平衡装置,用于基于所述集成电路的功率限制以及至少所述第二工作负荷来动态调节所述第一核和所述第二核之间的频率分配。
46.如权利要求45所述的装置,其特征在于,所述第一核包括主机处理核,并且所述第二核包括图形处理核。
47.如权利要求45所述的装置,其特征在于,用于动态确定所述第一核的第一工作负荷以及所述第二核的第二工作负荷的工作负荷装置包括:第一跟踪装置,用于跟踪在一时间段期间所述第一核是活动的周期的第一数目;以及第二跟踪装置,用于跟踪在所述时间段期间所述第二核是活动的周期的第二数目。
48.如权利要求45所述的装置,其特征在于,用于动态确定所述第一核的第一工作负荷以及所述第二核的第二工作负荷的工作负荷装置包括微控制器,所述微控制器被配置成执行保存在非瞬态介质上的代码以使所述微控制器跟踪在一时间段期间所述第一核是活动的周期的第一数目以及在所述时间段期间所述第二核是活动的周期的第二数目。
49.如权利要求45所述的装置,其特征在于,用于基于所述集成电路的功率限制以及至少所述第二工作负荷来动态调节所述第一核和所述第二核之间的频率分配的平衡装置包括:所述平衡装置,响应于所述集成电路以所述功率限制操作,用于:
响应于所述第一工作负荷大于所述第二工作负荷,提高所述第一核的频率并且降低所述第二核的频率,以及
响应于所述第二工作负荷大于所述第一工作负荷,降低所述第一核的频率并且提高所述第二核的频率。
50.如权利要求45所述的装置,其特征在于,用于基于所述集成电路的功率限制以及至少所述第二工作负荷来动态调节所述第一核和所述第二核之间的频率分配的平衡装置包括:所述平衡装置,响应于所述集成电路以所述功率限制操作,用于:
响应于确定所述第二核是性能瓶颈,提高所述第二核的频率并且降低所述第一核的频率;以及
响应于确定所述第二核不是性能瓶颈,提高所述第一核的频率并且降低所述第二核的频率。
51.如权利要求50所述的装置,其特征在于,所述平衡装置包括驱动程序代码,所述驱动程序代码当由所述第一核执行时,使所述集成电路响应于确定所述第二核是性能瓶颈而提高所述第二核的频率并且降低所述第一核的频率;以及响应于确定所述第二核不是性能瓶颈而提高所述第一核的频率并且降低所述第二核的频率。
52.如权利要求50所述的装置,其特征在于,所述平衡装置包括功率控制单元,所述功率控制单元包括微控制器,所述微控制器执行并置的功率代码,以响应于确定所述第二核是性能瓶颈而提高所述第二核的频率并且降低所述第一核的频率;以及响应于确定所述第二核不是性能瓶颈而提高所述第一核的频率并且降低所述第二核的频率。
53.如权利要求46所述的装置,其特征在于,用于动态调节所述主控处理核和所述图形处理核之间的频率分配的所述平衡装置还基于来自软件的软件提示,所述软件提示指示与所述图形处理核相关联的未来图形工作负荷。
54.如权利要求53所述的装置,其特征在于,来自软件的所述软件提示指示与所述图形处理核相关联的未来图形工作负荷包括:对所述未来图形工作负荷是大于还是小于所述工作负荷监控器所动态确定的所述第二工作负荷的软件指示。
CN201280069930.1A 2011-12-15 2012-12-12 包括多个处理元件之间的功率和性能平衡的用于能效和节能的方法、装置和*** Active CN104115093B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710115292.7A CN106843430B (zh) 2011-12-15 2012-12-12 用于能效和节能的方法、装置和***

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/327,670 US9304570B2 (en) 2011-12-15 2011-12-15 Method, apparatus, and system for energy efficiency and energy conservation including power and performance workload-based balancing between multiple processing elements
US13/327,670 2011-12-15
PCT/US2012/069164 WO2013090379A1 (en) 2011-12-15 2012-12-12 A method, apparatus, and system for energy efficiency and energy conservation including power and performance balancing between multiple processing elements

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN201710115292.7A Division CN106843430B (zh) 2011-12-15 2012-12-12 用于能效和节能的方法、装置和***

Publications (2)

Publication Number Publication Date
CN104115093A true CN104115093A (zh) 2014-10-22
CN104115093B CN104115093B (zh) 2017-03-29

Family

ID=47354713

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201280069930.1A Active CN104115093B (zh) 2011-12-15 2012-12-12 包括多个处理元件之间的功率和性能平衡的用于能效和节能的方法、装置和***
CN201710115292.7A Expired - Fee Related CN106843430B (zh) 2011-12-15 2012-12-12 用于能效和节能的方法、装置和***

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201710115292.7A Expired - Fee Related CN106843430B (zh) 2011-12-15 2012-12-12 用于能效和节能的方法、装置和***

Country Status (5)

Country Link
US (6) US9304570B2 (zh)
CN (2) CN104115093B (zh)
DE (1) DE202012011944U1 (zh)
TW (1) TWI610165B (zh)
WO (1) WO2013090379A1 (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106293927A (zh) * 2015-06-01 2017-01-04 联想(北京)有限公司 控制方法和电子设备
CN106557367A (zh) * 2015-09-30 2017-04-05 联想(新加坡)私人有限公司 用于为计算资源提供粒度化服务质量的装置、方法和设备
CN107193660A (zh) * 2017-05-25 2017-09-22 深信服科技股份有限公司 一种numa架构下cpu频率的调整方法及其装置
CN107636636A (zh) * 2015-07-13 2018-01-26 谷歌有限责任公司 调节处理器核操作
CN107852413A (zh) * 2015-08-26 2018-03-27 英特尔公司 用于将网络分组处理卸载到gpu的技术
CN108509018A (zh) * 2018-03-27 2018-09-07 联想(北京)有限公司 一种控制方法及电子设备、存储介质
CN109313585A (zh) * 2016-07-22 2019-02-05 英特尔公司 用于管理工作负荷执行效率的技术
WO2019205172A1 (zh) * 2018-04-28 2019-10-31 华为技术有限公司 一种图像处理器的功率分配的方法、装置及***
CN110442224A (zh) * 2019-09-17 2019-11-12 联想(北京)有限公司 电子设备的电源功率分配方法、电子设备和可读存储介质
CN110709800A (zh) * 2017-06-19 2020-01-17 超威半导体公司 基于吞吐量的工作负载中的功率效率优化
CN113366409A (zh) * 2019-01-08 2021-09-07 惠普发展公司,有限责任合伙企业 稳定处理设备的性能

Families Citing this family (76)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10817043B2 (en) * 2011-07-26 2020-10-27 Nvidia Corporation System and method for entering and exiting sleep mode in a graphics subsystem
US9304570B2 (en) 2011-12-15 2016-04-05 Intel Corporation Method, apparatus, and system for energy efficiency and energy conservation including power and performance workload-based balancing between multiple processing elements
JP5942416B2 (ja) * 2011-12-21 2016-06-29 富士通株式会社 情報処理装置の制御プログラム、制御方法及び情報処理装置
US9035956B1 (en) * 2012-05-08 2015-05-19 Apple Inc. Graphics power control with efficient power usage during stop
US9946319B2 (en) * 2012-11-20 2018-04-17 Advanced Micro Devices, Inc. Setting power-state limits based on performance coupling and thermal coupling between entities in a computing device
US10585801B2 (en) 2012-11-26 2020-03-10 Advanced Micro Devices, Inc. Prefetch kernels on a graphics processing unit
US9087146B2 (en) * 2012-12-21 2015-07-21 Intel Corporation Wear-out equalization techniques for multiple functional units
US9235252B2 (en) 2012-12-21 2016-01-12 Intel Corporation Dynamic balancing of power across a plurality of processor domains according to power policy control bias
US20140181539A1 (en) * 2012-12-21 2014-06-26 Advanced Micro Devices, Inc. System for adaptive -power consumption design in ultrathin computing devices
US9152473B2 (en) * 2012-12-29 2015-10-06 Intel Corporation Table driven multiple passive trip platform passive thermal management
US9383790B2 (en) * 2013-03-11 2016-07-05 Intel Corporation Internal communication interconnect scalability
US9727345B2 (en) 2013-03-15 2017-08-08 Intel Corporation Method for booting a heterogeneous system and presenting a symmetric core view
US9377841B2 (en) * 2013-05-08 2016-06-28 Intel Corporation Adaptively limiting a maximum operating frequency in a multicore processor
US10223156B2 (en) 2013-06-09 2019-03-05 Apple Inc. Initiating background updates based on user activity
US9449362B2 (en) * 2013-09-06 2016-09-20 Intel Corporation Techniques for reducing accesses for retrieving texture images
US9405575B2 (en) 2013-09-09 2016-08-02 Apple Inc. Use of multi-thread hardware for efficient sampling
US9799087B2 (en) 2013-09-09 2017-10-24 Apple Inc. Shader program profiler
US20150170317A1 (en) * 2013-12-18 2015-06-18 Eric C. Samson Load Balancing for Consumer-Producer and Concurrent Workloads
US20150188765A1 (en) * 2013-12-31 2015-07-02 Microsoft Corporation Multimode gaming server
US10114431B2 (en) 2013-12-31 2018-10-30 Microsoft Technology Licensing, Llc Nonhomogeneous server arrangement
US9244747B2 (en) * 2014-03-13 2016-01-26 Qualcomm Incorporated System and method for providing dynamic clock and voltage scaling (DCVS) aware interprocessor communication
US9703611B1 (en) * 2014-03-21 2017-07-11 Amazon Technologies, Inc. Isolating resources for utilization by tenants executing in multi-tenant software containers
US9582012B2 (en) * 2014-04-08 2017-02-28 Qualcomm Incorporated Energy efficiency aware thermal management in a multi-processor system on a chip
US9432796B2 (en) 2014-05-30 2016-08-30 Apple Inc. Dynamic adjustment of mobile device based on peer event data
US9694281B2 (en) 2014-06-30 2017-07-04 Microsoft Technology Licensing, Llc Data center management of multimode servers
US9811355B2 (en) * 2014-07-23 2017-11-07 Intel Corporation Method and apparatus for selecting an interconnect frequency in a computing system
US20160077565A1 (en) * 2014-09-17 2016-03-17 Advanced Micro Devices, Inc. Frequency configuration of asynchronous timing domains under power constraints
US9703358B2 (en) * 2014-11-24 2017-07-11 Intel Corporation Controlling turbo mode frequency operation in a processor
CN104461849B (zh) * 2014-12-08 2017-06-06 东南大学 一种移动处理器上cpu与gpu软件功耗测量方法
US10101786B2 (en) 2014-12-22 2018-10-16 Intel Corporation Holistic global performance and power management
US10466754B2 (en) * 2014-12-26 2019-11-05 Intel Corporation Dynamic hierarchical performance balancing of computational resources
CN104778113B (zh) * 2015-04-10 2017-11-14 四川大学 一种矫正功率传感器数据的方法
US9704217B2 (en) 2015-04-20 2017-07-11 Intel Corporation Apparatus and method for non-uniform frame buffer rasterization
WO2016185599A1 (ja) * 2015-05-21 2016-11-24 株式会社日立製作所 計算機システム及び計算機
US10491708B2 (en) 2015-06-05 2019-11-26 Apple Inc. Context notifications
CN104932659B (zh) * 2015-07-15 2020-01-07 京东方科技集团股份有限公司 图像显示方法及显示***
CN106407143B (zh) * 2015-07-29 2020-07-31 南京中兴新软件有限责任公司 控制移动终端中cpu的热插拔操作的方法和装置
KR102452154B1 (ko) * 2015-10-27 2022-10-07 삼성전자주식회사 영상 처리 장치 및 이를 포함하는 표시 시스템
US9864423B2 (en) * 2015-12-24 2018-01-09 Intel Corporation Mitigating component performance variation
US9874917B2 (en) 2016-01-04 2018-01-23 International Business Machines Corporation Adaptive power capping in a chip
TWI605719B (zh) * 2016-01-12 2017-11-11 晨星半導體股份有限公司 配合遙控器之電視管理裝置及電視管理方法
US10296067B2 (en) * 2016-04-08 2019-05-21 Qualcomm Incorporated Enhanced dynamic clock and voltage scaling (DCVS) scheme
US9900424B2 (en) * 2016-04-13 2018-02-20 Mediatek Inc. Chip aware thermal policy
US10331195B2 (en) 2016-06-06 2019-06-25 Qualcomm Incorporated Power and performance aware memory-controller voting mechanism
US10281975B2 (en) * 2016-06-23 2019-05-07 Intel Corporation Processor having accelerated user responsiveness in constrained environment
US11054884B2 (en) 2016-12-12 2021-07-06 Intel Corporation Using network interface controller (NIC) queue depth for power state management
US10649518B2 (en) * 2017-01-26 2020-05-12 Ati Technologies Ulc Adaptive power control loop
US10460415B2 (en) 2017-04-10 2019-10-29 Intel Corporation Contextual configuration adjuster for graphics
US10497084B2 (en) 2017-04-24 2019-12-03 Intel Corporation Efficient sharing and compression expansion of data across processing systems
US10310830B2 (en) 2017-06-02 2019-06-04 Apple Inc. Shader profiler
US10983581B2 (en) 2017-12-31 2021-04-20 Intel Corporation Resource load balancing based on usage and power limits
US10545568B2 (en) * 2018-01-26 2020-01-28 Dell Products L.P. Modified sleep state graphics processing system
US10761592B2 (en) * 2018-02-23 2020-09-01 Dell Products L.P. Power subsystem-monitoring-based graphics processing system
EP3572909A1 (en) * 2018-05-25 2019-11-27 Nokia Solutions and Networks Oy Method and apparatus of reducing energy consumption in a network
CN108733195A (zh) * 2018-05-29 2018-11-02 郑州易通众联电子科技有限公司 基于设备运行能效的计算机运行方法及装置
WO2020027806A1 (en) 2018-07-31 2020-02-06 Hewlett-Packard Development Company, L.P. Power limit alterations of component types
CN110955499B (zh) * 2018-09-26 2022-11-18 Oppo广东移动通信有限公司 处理器核心配置方法、装置、终端及存储介质
KR20200069905A (ko) * 2018-12-07 2020-06-17 삼성전자주식회사 스토리지 시스템 및 스토리지 시스템의 동작 방법
US11140243B1 (en) * 2019-03-30 2021-10-05 Snap Inc. Thermal state inference based frequency scaling
CN110008143A (zh) * 2019-04-11 2019-07-12 苏州浪潮智能科技有限公司 一种缓存优化方法、装置、设备及计算机可读存储介质
US11442513B1 (en) 2019-04-16 2022-09-13 Snap Inc. Configuration management based on thermal state
US11886878B2 (en) 2019-12-12 2024-01-30 Advanced Micro Devices, Inc. Distributing power shared between an accelerated processing unit and a discrete graphics processing unit
US11520628B2 (en) * 2020-05-20 2022-12-06 Qualcomm Incorporated Cooperative dynamic clock and voltage scaling (DCVS) between two processor systems
US11256488B1 (en) 2020-07-29 2022-02-22 Bank Of America Corporation Graph-based vectorization for software code optimizations
US11301218B2 (en) 2020-07-29 2022-04-12 Bank Of America Corporation Graph-based vectorization for software code optimization references
KR20220079196A (ko) * 2020-12-04 2022-06-13 삼성전자주식회사 Dvfs 동작을 수행하는 집적 회로 및 이의 동작 방법
US11797713B2 (en) 2020-12-16 2023-10-24 International Business Machines Corporation Systems and methods for dynamic control of a secure mode of operation in a processor
US12008149B2 (en) 2020-12-16 2024-06-11 International Business Machines Corporation Method and system for on demand control of hardware support for software pointer authentification in a computing system
US20220317747A1 (en) * 2021-03-31 2022-10-06 Advanced Micro Devices, Inc. Power shifting based on bottleneck prediction
CN113867963A (zh) * 2021-09-30 2021-12-31 联想(北京)有限公司 一种电子设备及处理方法
US11747882B2 (en) * 2021-10-26 2023-09-05 Dell Products L.P. Central processor/accelerator power management system
US20230214000A1 (en) * 2022-01-06 2023-07-06 Nvidia Corporation Techniques for controlling computing performance for power-constrained multi-processor computing systems
US20230341921A1 (en) * 2022-04-26 2023-10-26 Western Digital Technologies, Inc. Data Storage With Real Time Dynamic Clock Frequency Control
US20240094796A1 (en) * 2022-06-10 2024-03-21 Nvidia Corporation Techniques to modify processor performance
US20240004444A1 (en) * 2022-06-30 2024-01-04 Advanced Micro Devices, Inc. Rest-of-chip power optimization through data fabric performance state management
US20240004453A1 (en) * 2022-06-30 2024-01-04 Advanced Micro Devices, Inc. Techniques for reducing processor power consumption

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030210248A1 (en) * 2002-05-08 2003-11-13 Wyatt David A. Method and system for optimally sharing memory between a host processor and graphics processor
US20050060594A1 (en) * 2003-08-22 2005-03-17 Barr Andrew H. Bus clock frequency management based on device load
CN101794167A (zh) * 2008-12-23 2010-08-04 英特尔公司 用于处理器的功率管理的方法和装置
US20110022857A1 (en) * 2009-07-24 2011-01-27 Sebastien Nussbaum Throttling computational units according to performance sensitivity
CN102110013A (zh) * 2009-12-23 2011-06-29 英特尔公司 用于有效生成处理器体系结构模型的方法和设备

Family Cites Families (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5502838A (en) * 1994-04-28 1996-03-26 Consilium Overseas Limited Temperature management for integrated circuits
US5758133A (en) * 1995-12-28 1998-05-26 Vlsi Technology, Inc. System and method for altering bus speed based on bus utilization
US7162279B2 (en) * 2002-12-20 2007-01-09 Intel Corporation Portable communication device having dynamic power management control and method therefor
US7640446B1 (en) * 2003-09-29 2009-12-29 Marvell International Ltd. System-on-chip power reduction through dynamic clock frequency
US7173450B2 (en) * 2004-06-01 2007-02-06 Hewlett-Packard Development Company, L.P. Bus controller
US7558966B2 (en) 2004-06-09 2009-07-07 Intel Corporation Notifying remote administrator of platform integrity determination
US7596638B2 (en) * 2004-06-21 2009-09-29 Intel Corporation Method, system, and apparatus to decrease CPU temperature through I/O bus throttling
US7437581B2 (en) * 2004-09-28 2008-10-14 Intel Corporation Method and apparatus for varying energy per instruction according to the amount of available parallelism
US7426648B2 (en) * 2004-09-30 2008-09-16 Intel Corporation Global and pseudo power state management for multiple processing elements
US20060143486A1 (en) 2004-12-28 2006-06-29 Oren Lamdan System and method to profile an unconstrained power of a processor
US20060137377A1 (en) 2004-12-29 2006-06-29 Samson Eric C Method and apparatus for external processor thermal control
US7412353B2 (en) * 2005-09-28 2008-08-12 Intel Corporation Reliable computing with a many-core processor
US7487371B2 (en) 2005-12-16 2009-02-03 Nvidia Corporation Data path controller with integrated power management to manage power consumption of a computing device and its components
US7650518B2 (en) * 2006-06-28 2010-01-19 Intel Corporation Method, apparatus, and system for increasing single core performance in a multi-core microprocessor
US7685445B2 (en) 2006-06-29 2010-03-23 Intel Corporation Per die voltage programming for energy efficient integrated circuit (IC) operation
JP2008026948A (ja) * 2006-07-18 2008-02-07 Renesas Technology Corp 半導体集積回路
US8212840B2 (en) * 2006-10-23 2012-07-03 Qualcomm Incorporated 3-D clipping in a graphics processing unit
US7844838B2 (en) * 2006-10-30 2010-11-30 Hewlett-Packard Development Company, L.P. Inter-die power manager and power management method
WO2008056489A1 (fr) * 2006-11-09 2008-05-15 Sony Computer Entertainment Inc. Système à processeurs multiples, son procédé de commande et support d'enregistrement d'informations
US7818596B2 (en) 2006-12-14 2010-10-19 Intel Corporation Method and apparatus of power management of processor
US7579905B2 (en) * 2007-03-05 2009-08-25 Intel Corporation Reduced jitter amplification methods and apparatuses
US8185215B2 (en) * 2007-03-28 2012-05-22 Nytell Software LLC Electronic device and method determining a workload of an electronic device
US8813080B2 (en) 2007-06-28 2014-08-19 Intel Corporation System and method to optimize OS scheduling decisions for power savings based on temporal characteristics of the scheduled entity and system workload
US7917789B2 (en) 2007-09-28 2011-03-29 Intel Corporation System and method for selecting optimal processor performance levels by using processor hardware feedback mechanisms
US8284205B2 (en) 2007-10-24 2012-10-09 Apple Inc. Methods and apparatuses for load balancing between multiple processing units
GB0808948D0 (en) 2008-05-16 2008-06-25 Shire Llc Substituted quinazolines
US8199158B2 (en) * 2008-06-11 2012-06-12 Intel Corporation Performance allocation method and apparatus
EP2294499A1 (en) * 2008-06-25 2011-03-16 Nxp B.V. Electronic device, a method of controlling an electronic device, and system on-chip
US7958381B2 (en) 2008-06-27 2011-06-07 International Business Machines Corporation Energy conservation in multipath data communications
US7692457B2 (en) 2008-06-30 2010-04-06 Intel Corporation Dual-path clocking architecture
US8200905B2 (en) * 2008-08-14 2012-06-12 International Business Machines Corporation Effective prefetching with multiple processors and threads
GB0817041D0 (en) 2008-09-17 2008-10-22 Smith & Nephew Power generation
US8707060B2 (en) * 2008-10-31 2014-04-22 Intel Corporation Deterministic management of dynamic thermal response of processors
US8402290B2 (en) 2008-10-31 2013-03-19 Intel Corporation Power management for multiple processor cores
US8984309B2 (en) 2008-11-21 2015-03-17 Intel Corporation Reducing network latency during low power operation
US8447994B2 (en) * 2009-07-24 2013-05-21 Advanced Micro Devices, Inc. Altering performance of computational units heterogeneously according to performance sensitivity
US9311245B2 (en) * 2009-08-13 2016-04-12 Intel Corporation Dynamic cache sharing based on power state
US20110131427A1 (en) 2009-12-02 2011-06-02 Jorgenson Joel A Power management states
US20110153984A1 (en) * 2009-12-21 2011-06-23 Andrew Wolfe Dynamic voltage change for multi-core processing
US8312305B2 (en) * 2010-02-04 2012-11-13 International Business Machines Corporation Power management for systems on a chip
US8640005B2 (en) 2010-05-21 2014-01-28 Intel Corporation Method and apparatus for using cache memory in a system that supports a low power state
JP2012006167A (ja) * 2010-06-22 2012-01-12 Konica Minolta Business Technologies Inc 画像処理装置、画像処理装置の制御方法、および画像処理装置の制御プログラム
KR101740338B1 (ko) * 2010-10-20 2017-05-26 삼성전자주식회사 디지털 시스템에서 동적 클럭 제어 장치 및 방법
US8793512B2 (en) * 2010-10-29 2014-07-29 Advanced Micro Devices, Inc. Method and apparatus for thermal control of processing nodes
US8812746B2 (en) 2010-12-16 2014-08-19 Intel Corporation Dynamically configurable device host controller
US8631256B2 (en) * 2010-12-22 2014-01-14 Via Technologies, Inc. Distributed management of a shared power source to a multi-core microprocessor
US20130003559A1 (en) * 2011-06-30 2013-01-03 Broadcom Corporation Adaptive Power Savings for Aggregated Resources
US8862918B2 (en) 2011-07-01 2014-10-14 Intel Corporation Efficient frequency boost operation
US8769316B2 (en) * 2011-09-06 2014-07-01 Intel Corporation Dynamically allocating a power budget over multiple domains of a processor
US9196013B2 (en) * 2011-10-31 2015-11-24 Apple Inc. GPU workload prediction and management
US9304570B2 (en) 2011-12-15 2016-04-05 Intel Corporation Method, apparatus, and system for energy efficiency and energy conservation including power and performance workload-based balancing between multiple processing elements

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030210248A1 (en) * 2002-05-08 2003-11-13 Wyatt David A. Method and system for optimally sharing memory between a host processor and graphics processor
US20050060594A1 (en) * 2003-08-22 2005-03-17 Barr Andrew H. Bus clock frequency management based on device load
CN101794167A (zh) * 2008-12-23 2010-08-04 英特尔公司 用于处理器的功率管理的方法和装置
US20110022857A1 (en) * 2009-07-24 2011-01-27 Sebastien Nussbaum Throttling computational units according to performance sensitivity
CN102110013A (zh) * 2009-12-23 2011-06-29 英特尔公司 用于有效生成处理器体系结构模型的方法和设备

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106293927A (zh) * 2015-06-01 2017-01-04 联想(北京)有限公司 控制方法和电子设备
CN107636636A (zh) * 2015-07-13 2018-01-26 谷歌有限责任公司 调节处理器核操作
CN107636636B (zh) * 2015-07-13 2021-01-08 谷歌有限责任公司 调节处理器核操作
CN107852413B (zh) * 2015-08-26 2022-04-15 英特尔公司 用于将网络分组处理卸载到gpu的网络设备、方法与存储介质
CN107852413A (zh) * 2015-08-26 2018-03-27 英特尔公司 用于将网络分组处理卸载到gpu的技术
CN106557367A (zh) * 2015-09-30 2017-04-05 联想(新加坡)私人有限公司 用于为计算资源提供粒度化服务质量的装置、方法和设备
CN109313585A (zh) * 2016-07-22 2019-02-05 英特尔公司 用于管理工作负荷执行效率的技术
CN107193660A (zh) * 2017-05-25 2017-09-22 深信服科技股份有限公司 一种numa架构下cpu频率的调整方法及其装置
CN110709800A (zh) * 2017-06-19 2020-01-17 超威半导体公司 基于吞吐量的工作负载中的功率效率优化
CN108509018A (zh) * 2018-03-27 2018-09-07 联想(北京)有限公司 一种控制方法及电子设备、存储介质
WO2019205172A1 (zh) * 2018-04-28 2019-10-31 华为技术有限公司 一种图像处理器的功率分配的方法、装置及***
CN112005218B (zh) * 2018-04-28 2024-01-30 华为技术有限公司 一种图像处理器的功率分配的方法、装置及***
CN112005218A (zh) * 2018-04-28 2020-11-27 华为技术有限公司 一种图像处理器的功率分配的方法、装置及***
US11301029B2 (en) 2018-04-28 2022-04-12 Huawei Technologies Co., Ltd. Method, apparatus, and system for allocating power to graphics processing unit
CN113366409A (zh) * 2019-01-08 2021-09-07 惠普发展公司,有限责任合伙企业 稳定处理设备的性能
CN110442224A (zh) * 2019-09-17 2019-11-12 联想(北京)有限公司 电子设备的电源功率分配方法、电子设备和可读存储介质

Also Published As

Publication number Publication date
WO2013090379A1 (en) 2013-06-20
US20150046730A1 (en) 2015-02-12
US20170364133A1 (en) 2017-12-21
US9703352B2 (en) 2017-07-11
US20210373638A1 (en) 2021-12-02
US10317976B2 (en) 2019-06-11
CN104115093B (zh) 2017-03-29
US9304570B2 (en) 2016-04-05
CN106843430B (zh) 2020-05-22
US11106262B2 (en) 2021-08-31
TWI610165B (zh) 2018-01-01
US20190354160A1 (en) 2019-11-21
US20120324248A1 (en) 2012-12-20
TW201337540A (zh) 2013-09-16
US8898494B2 (en) 2014-11-25
DE202012011944U1 (de) 2013-05-13
CN106843430A (zh) 2017-06-13
US20130159741A1 (en) 2013-06-20

Similar Documents

Publication Publication Date Title
CN104115093A (zh) 包括多个处理元件之间的功率和性能平衡的用于能效和节能的方法、装置和***
CN104081315B (zh) 包括线程合并的用于能效和节能的方法、装置和***
CN107209548B (zh) 在多核处理器中执行功率管理
EP3155521B1 (en) Systems and methods of managing processor device power consumption
CN107209545B (zh) 在多核处理器中执行功率管理
US9430242B2 (en) Throttling instruction issue rate based on updated moving average to avoid surges in DI/DT
EP2894542B1 (en) Estimating scalability of a workload
CN105009101A (zh) 提供与数据缓冲器相关联的监听滤波
CN104583896A (zh) 向处理器的异构计算元件分配功率
EP3314431A1 (en) Adaptive hardware acceleration based on runtime power efficiency determinations
CN104205077A (zh) 包括可配置最大处理器电流的针对能效和节能的方法、装置和***
US20130173933A1 (en) Performance of a power constrained processor
US20190370060A1 (en) Multi-processor system, multi-core processing device, and method of operating the same
Cohen et al. Intel embedded hardware platform
WO2023225991A1 (en) Dynamic establishment of polling periods for virtual machine switching operations

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant