CN104049715B - 平台不可知的功率管理 - Google Patents

平台不可知的功率管理 Download PDF

Info

Publication number
CN104049715B
CN104049715B CN201410231203.1A CN201410231203A CN104049715B CN 104049715 B CN104049715 B CN 104049715B CN 201410231203 A CN201410231203 A CN 201410231203A CN 104049715 B CN104049715 B CN 104049715B
Authority
CN
China
Prior art keywords
functional block
power
request
block
power controller
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.)
Active
Application number
CN201410231203.1A
Other languages
English (en)
Other versions
CN104049715A (zh
Inventor
D·R·莫兰
A·R·扎哈尔
W·诺拉
H·辛格
V·比比卡
S·S·加哈吉达
M·T·克林格史密斯
I·J·瓦兹
V·乔治
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 CN104049715A publication Critical patent/CN104049715A/zh
Application granted granted Critical
Publication of CN104049715B publication Critical patent/CN104049715B/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/3234Power saving characterised by the action undertaken
    • 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/3243Power saving in microcontroller unit
    • 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
    • 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
    • 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
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

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)
  • Power Sources (AREA)

Abstract

本申请公开了平台不可知的功率管理。在一个实施例中,处理器包括至少一个功能块和一个中央功率控制器。该至少一个功能块可包括至少一个块组件和块功率逻辑。块功率逻辑可接收在该至少一个功能块中启动第一降低功率模式的第一请求,并且响应于该第一请求,发送通知信号给中央功率控制器。中央功率控制器可响应于该通知信号,存储该至少一个功能块的第一状态,并在该至少一个功能块中启动第一降低功率模式。也描述和要求保护其他实施例。

Description

平台不可知的功率管理
技术领域
实施例通常涉及电子设备的电源管理。
背景技术
通常,电子设备可包括一个或多个的降低功率模式,这表示设备的至少一个组件置于降低功率状态的操作模式。与“唤醒”或正常操作模式相比,降低功率模式的使用可减少消耗的电能量。这种降低功率模式可包括,例如,效率模式、睡眠模式、待机模式、休眠模式、挂起模式、“绿色”模式、等等。
附图说明
图1是根据一个或多个实施例的框图;
图2A-2B是根据一个或多个实施例的框图;
图3是根据一个或多个实施例的流程图;
图4是根据本发明一个实施例的处理器的框图;
图5是根据本发明另一个实施例的多域处理器的框图;
图6是包括多个核的处理器的实施例的框图;
图7是根据本发明一个实施例的系统的框图。
详细说明
根据一些实施例,功率管理体系结构可与各种平台软件(如,操作系统、设备驱动程序、固件、等)兼容。在一个或多个实施例中,功率管理体系结构可包括位于多个功能块的每个中的功率逻辑(“块功率逻辑”)以及在功能块外部的中央功率控制器。
在一些实施例中,中央功率控制器可从操作系统接收第一种类型的模式请求(即,启动一个或多个功能块中的降低功率模式的请求)。可选地,功能块的块功率逻辑可从该功能块的设备驱动程序接收第二种类型的模式请求。采用任一种类型的模式请求,中央功率控制器可保存该功能块的状态,从而使得功能块在退出降低功率模式之后恢复到它之前的状态。因此,实施例可使各种类型的平台软件能管理功能块的功率状态。
虽然下面的实施例是参考诸如计算平台或处理器这样的专用集成电路中的能量节约和能量效率来描述的,但是其他实施例可用于其他类型的集成电路和逻辑设备。此处描述的实施例的类似技术和教导可被用于其他类型的电路或半导体设备,它们也可受益于更好的能量效率和能量节约。例如,所公开的实施例不限于任何特定类型的计算机系统,并且也可被用在其他设备中,例如手持设备、芯片上系统(SoC)和嵌入式应用。手持设备的一些实例包括蜂窝电话、因特网协议设备、数字照相机、个人数字助理(PDA)和手持PC。嵌入式应用典型地包括微控制器、数字信号处理器(DSP)、网络计算机(NetPC)、机顶盒、网络中枢、广域网(WAN)交换机,或者能够执行下面教导的功能和操作的任何其他系统。
而且,此处描述的装置、方法和系统不限于物理计算设备,也可涉及用于能量节约和效率的软件优化。如在下面的描述中将变得容易显而易见的是,此处描述的方法、装置和系统的实施例(不管是否参考硬件、固件、软件或其组合)对“绿色技术”未来是很重要的,例如包括美国经济的大部分的产品中的功率节约和能量效率。
参考图1,示出了根据一个或多个实施例的系统100的框图。在一些实施例中,系统100可是电子设备或组件的全部或一部分。例如,系统100可以是蜂窝电话、计算机、服务器、网络设备、处理器、芯片上系统(SoC)、控制器、无线收发器、供电单元等。此外,在一些实施例中,系统100可是相关或互连设备的任何组合,例如,数据中心、计算集群、点对点(P2P)网络、局域网(LAN)、广域网(WAN)、无线自组织网络等。
如图1中所示,系统100可包括中央功率控制器110、平台软件150、和/或任何数量的功能块120A-120N。在其中系统100是设备的全部或一部分的实施例中,每个功能块120包括一个或多个块组件125,一个或多个块组件125被配置为执行一个特定功能(或多个功能)。例如,功能块120A-120N可表示包括在芯片上系统(SoC)中的知识产权(IP)块、包括在计算机中的硬件模块、包括在处理器中的处理核、包括在无线通信设备中的无线电接口模块等。而且,块组件125可包括逻辑单元、记忆/存储组件、接口单元、功率组件等。
而且,在其中系统100是设备组的实施例中,每个功能块120可表示这种设备中的一个。例如,在这种实施例中,功能块120A-120N可表示包括在数据中心中的计算机、包括在计算集群中的节点、包括在外壳中的刀片式服务器、包括在存储阵列中的驱动器等。
如图所示,在一个或多个实施例中,每个功能块120可包括块功率逻辑130。块功率逻辑130包括控制或管理功能块120的一个或多个降低功率模式的功能。在一些实施例中,功能块120的每个降低功率模式对应于与“唤醒”或正常操作模式相比降低的功能和/或功耗水平的特定组合。例如,在一些实施例中,块功率逻辑130提供“浅层”降低功率模式,意思是具有相对低节能水平的降低功率模式,但是其维持相对高的功能水平,或者其需要相对短的时间来恢复全部功能。而且,块功率逻辑130可提供“深层”降低功率模式,意思是具有相对高节能水平的降低功率模式(如,很少或没有功率提供给功能块)。在一些实施例中,块功率逻辑130还提供另外的降低功率模式,其具有介于浅层降低功率模式和深层降低功率模式之间的功能和/或节能水平(如,“中间”模式、“中间-浅层”模式、“中间-深层”模式、等)。
在一个或多个实施例中,块功率逻辑130包括响应于模式请求而开启功能块120中的降低功率模式的功能。第一种类型的模式请求可以是由与功能块120相关的设备驱动程序发送到块功率逻辑130的信号。响应于接收这种模式请求,块功率逻辑130可获得功能块120的状态信息。例如,在功能块120是处理器核的情况下,这种状态信息可包括核中的所有元件的状态和/或内容,包括寄存器值、累加值、缓存数据、标志设置等等。此外,块功率逻辑130可提供将要由中央功率控制器110存储的状态信息。而且,块功率逻辑130可通过开启功能块120中的降低功率模式来响应模式请求。
在一个或多个实施例中,中央功率控制器110可包括开启和/或控制功能块120中的一个或多个降低功率模式的功能。尤其是,在一些实施例中,中央功率控制器110可从操作系统接收第二种类型的模式请求,以开启给定功能块120中的降低功率模式。响应于这种模式请求,中央功率控制器110可获得功能块120的状态信息,并且可以随后开启功能块120中的降低功率模式。例如,在一些实施例中,中央功率控制器110可命令块功率逻辑130开启功能块120中的降低功率模式。在另一示例中,在一些实施例中,中央功率控制器110可执行一种或多种功率控制动作,以开启功能块120中的降低功率模式。这种功率控制动作可包括,例如,门控功能块120的功率、降低供应给功能块120的电压、修改(如,降低)功能块120的时钟频率等。
在一个或多个实施例中,块功率逻辑130还可以包括独立地(即,不是响应于外部模式请求)开启降低功率模式的功能。例如,在一些实施例中,块功率逻辑130可检测功能块120的闲置时间(如,在过去的十微秒没有网络和/或总线活动、在过去的五十微秒内没有用户交互等)。随后块功率逻辑130可通知中央功率控制器110:功能块120空闲,因此可能适于进入降低功率模式。在一些实施例中,中央功率控制器110和块功率逻辑130可随后交互,以确定开启功能块120中的降低功率模式的具体时间(如果任何可以开启的话(if any))。这种确定可基于,例如,历史数据、使用模式、系统有效性和/或响应性的所需水平、周期定时器、电池水平等。
现在参考图2A,示出了根据一个或多个实施例的图200。更具体地说,图200通常对应于图1中所示的系统100的示例实施例。
如图所示,在一些实施例中,平台软件150可包括操作系统(OS)内核152、OS驱动程序154、设备驱动程序156、和/或平台固件158。在一些实施例中,平台固件158可实施高级配置与电源接口(ACPI)标准(如,2006年10月10日公布的修订版3.0b)。
在一个或多个实施例中,功能块120的块功率逻辑130可包括一个或多个块功率逻辑(BPL)寄存器135。在一个或多个实施例中,BPL寄存器135可设置成响应于从与功能块120相关联的设备驱动程序156接收的模式请求。例如,不同的BPL寄存器135可设置成指示对于各种功率模式和/或水平的请求。然后,当BPL寄存器135被设置时,块功率逻辑130可开启功能块120中的相应功率模式。而且,在一些实施例中,块功率逻辑130还发送通知信号,以通知中央功率控制器110功能块120已经进入特定的功率模式。
在一个或多个实施例中,中央功率控制器110可包括一个或多个中央功率控制器(CPC)寄存器115和存储器112。在一个或多个实施例中,CPC寄存器115可被设置成响应从OS内核152接收的模式请求。例如,不同的CPC寄存器115可被设置成指示对于各种功率模式和/或水平的请求。在一些实施例中,可通过一个或多个OS驱动程序154(如,总线驱动程序)将模式请求从OS内核152发送到CPC寄存器115。而且,在一些实施例中,CPC寄存器115还可设置成响应于从块功率逻辑130接收的通知信号(如,在BPL寄存器135被设置后,由块功率逻辑130发送的通知信号)。中央功率控制器110可响应于相应的被设置的CPC寄存器115而开启特定的功率模式。
在一些实施例中,存储器112可包括同时存储包括在系统100中的所有功能块120A-120N的状态信息的存储容量。例如,如图2A中所示,存储器112可以是包括在中央功率控制器110中的静态随机存取存储器(SRAM)。可替换地,在其它的实施例中,存储器112可以是任何类型的存储设备,和/或可被包括在任何其它组件中。例如,在一些实施例中(未示出),存储器112可以是:包括在功能块120内而在中央功率控制器110外部的SRAM、在功能块120外部的动态随机存取存储器(DRAM)等。
在一个或多个实施例中,中央功率控制器110可包括恢复功能块120的状态的功能,其中恢复功能块120的状态作为将功能块120恢复到正常操作模式或供电状态的一部分。在一些实施例中,中央功率控制器110可使用存储器112中存储的状态信息来恢复功能块120的状态。
注意,此处描述的中央功率控制器110和/或块功率逻辑130可以独立于平台固件158的功率管理方面(例如ACPI标准),和/或与平台固件158的功率管理方面例如ACPI标准互补,。根据ACPI,处理器可以运行在各种性能状态或水平,即从P0到PN。通常,P1性能状态对应于可由OS请求的最高保证性能状态。除了这种P1状态,OS能进一步请求更高的性能状态,称为P0状态。因此该P0状态是投机(opportunistic)状态,其中,当可获得功率和/或热平衡时,处理器硬件能够配置处理器或使其至少部分运行在比保证频率更高的频率。在许多实施方式中,处理器可包括在最大保证频率之上的多个所谓的二进制频率,也称作P1频率。此外,根据ACPI,处理器可运行在各种功率状态或水平。关于功率状态,ACPI指定了不同的功耗状态,统称为C状态,C0、C1至Cn状态。当核活动时,它运行在C0状态;当核闲置时,它可被置于核低功率状态,也称为核非零C状态(如,C1-C6状态),每个C状态处于更低的功耗水平(使得C6比C1的降低功率状态更深,等等)。
现在参考图2B,示出了根据一个或更多个实施例的图250。更具体地,图250通常对应于图1所示的系统100的另一示例实施例。
在一个或更多个实施例中,中央功率控制器110可从OS内核152接收模式请求。响应于此,中央功率控制器110可与块功率逻辑130通信,以启动降低功率模式。然后块功率逻辑130在功能块120中启动降低功率模式。而且,块功率逻辑130使用织状结构(fabric)260通知其他组件(未示出)。
在一些实施例中,中央功率控制器110可与一个或多个功率门控组件270交互,以门控功能块120的电源供给。例如,在一个实施例中,功率门控组件270可包括场效应晶体管(FET),以降低或门控供应给功能块120的电压(如,Vnn)。
现在参考图3,示出了根据一个或多个实施例的用于管理降低功率模式的流程300。在一个或更多个实施例中,流程300可以是图1中所示的中央功率控制器110和/或块功率逻辑130的部分。流程300可以在硬件、软件、和/或固件中实施。在固件和软件实施例中,它可由存储在非瞬态计算机可读介质中的计算机可执行指令来实施,其中非易失性计算机可读介质例如光盘、半导体、或磁存储设备。
在步骤310,可由包括在功能块中的块功率逻辑接收启动功能块中降低功率模式的模式请求。例如,参考图1和2A,包括在功能块120中的块功率逻辑130可从设备驱动程序156接收模式请求。在一些实施例中,设备驱动程序156是与功能块120(或者包括在功能块120中的一个或多个块组件125)相关联的。该模式请求可以是基于与功能块120的功耗相关联的一个或多个特性(如,空闲时间、加载水平、阈值、定义的条件、等)而产生的信号。而且,在一些实施例中,接收模式请求可包括设置BPL寄存器135。
在步骤315,块功率逻辑可发送通知信号,以将块功率逻辑接收的模式请求通知给中央功率控制器。例如,参考图1和2A,功能块120的块功率逻辑130可向中央功率控制器110发送通知信号。
在步骤320,由块功率逻辑发送的通知信号(在步骤315)被中央功率控制器接收。可替换地,在步骤320,可由中央功率控制器接收模式请求。例如,参考图1和2A,中央功率控制器110可从块功率逻辑130接收通知信号。在一个或多个实施例中,接收通知信号可包括设置CPC寄存器115。可替换地,中央功率控制器110可从OS内核152接收模式请求。在一些实施例中,可通过使用OS驱动程序154(如,总线驱动程序)将模式请求从OS内核152传送到中央功率控制器110。此外,在一些实施例中,OS内核152可基于与一个或多个功能块120和/或作为整体的系统100的功耗相关的一个或多个特性产生模式请求。在一个或多个实施例中,由中央功率控制器110接收模式请求可包括设置CPC寄存器115。
在步骤330,可存储功能块的状态信息。例如,参考图1和2A,中央功率控制器110可获得功能块120的状态信息,并将该状态信息存储在存储器112中。在一些实施例中,状态信息可被存储在包括在中央功率控制器110内的SRAM中、包括在功能块120内但在中央功率控制器110外部的SRAM中、在功能块120外部的DRAM中等等。
在步骤340,所请求的降低功率模式可在功能块中启动。例如,参考图1和2A,块功率逻辑130可响应于与功能块120相关的设备驱动程序的模式请求,在它的功能块120中启动降低功率模式。在另一实例中,响应于操作系统的模式请求,中央功率控制器110可执行一个或多个功率控制动作,以启动功能块120中的降低功率模式。在又一示例中,中央功率控制器110可命令块功率逻辑130启动功能块120中的降低功率模式。
在步骤350,确定是否退出降低功率模式(在步骤340启动的)。例如,参考图1和2A,块功率逻辑130和/或中央功率控制器110可估计功能块120和/或系统100的运行条件,以确定是否退出降低功率模式。
如果在步骤350确定不退出降低功率模式,则流程300返回步骤350,继续确定是否退出降低功率模式。然而,如果在步骤350确定退出降低功率模式,那么在步骤360,可基于(在步骤330存储的)状态信息恢复功能块。例如,参考图1和2A,中央功率控制器110和/或块功率逻辑130可将功能块120恢复为进入降低功率模式之前的状态。功能块120的恢复可以基于存储器112中存储的状态信息。
在步骤370,可在功能块中启动正常功率模式。例如,参考图1和2A,块功率逻辑130可在功能块120中启动正常功率模式。在另一实例中,中央功率控制器110可执行一个或多个功率控制动作,以在功能块120中启动正常功率模式。在步骤370之后,流程300结束。
注意,图1、2A、2B和3中所示的实例是出于说明的目的而提供的,不是旨在限制任何实施例。例如,虽然为了清楚将实施例以简化的形式示出,但是实施例可包括任何数量和/或结构的处理器、核、和/或其他组件(如,总线、存储介质、连接器、功率组件、缓冲器、接口、等)。特别地,应当理解,除了那些示出的,一些实施例可包括与所示不同的任何数量的块、组件、或控制器,并且,示出的那些组件的不同布置也可出现在某些实施中。此外,应当理解,图1、2A、2B和3中所示的实例的细节可在一个或多个实施例中的任何地方使用。
现在参考图4,示出了根据本发明的实施例的处理器的框图。如图4中所示,处理器400可以是多核处理器,其包括第一管芯405,第一管芯405具有核区域中的多个核410a-410n。各个核410a-410n可通过互连415耦接到包括各种组件的系统代理或非核心(uncore)区域420。如图所示,非核心区域420可包括共用高速缓冲存储器430,高速缓冲存储器430可以是末级高速缓存。此外,非核心可包括集成存储器控制器440、功率控制单元(PCU)470、以及各种接口450。
虽然为了易于说明在图4中未示出,但是在一些实施例中,每个核410a-410n可包括图1中所示的中央功率控制器110和/或块功率逻辑130。可替换地,在一些实施例中,中央功率控制器110可被包括在PCU470中,并且每个内核410a-410n可包括块功率逻辑130。
进一步参考图4,处理器400可与系统存储器460通信(例如通过存储器总线)。此外,通过接口450,可与各种非封装的组件(如外围设备、大容量存储器等)进行连接。虽然在图4的实施例中示出了这种特定的实施方式,但是本发明的范围在此方面不受限制。
现在参考图5,示出了根据本发明另一实施例的多区域处理器的框图。如图5的实施例所示,处理器500包括多个区域。具体地,核区域510包括多个核510a-510n,图形区域520包括一个或多个图形引擎,并进一步存在系统代理区域550。虽然为了易于说明在图5中未示出,但是在一些实施例中,每个核510a-510n可包括参考图1的上述块功率逻辑130。注意,虽然仅示出三个区域,但是应当理解,本发明的范围在此方面不受限制,在其他实施例中可存在其他区域。例如,多核区域可被呈现为每个区域包括至少一个核。
通常,除了各种执行单元和另外的处理元件,每个核510可进一步包括低等级的高速缓存。依次,各个核可互相耦接,并耦接到共用的高速缓存,共用的高速缓存由多个单元的末级高速缓存(LLC)540a-540n形成。在各种实施例中,LLC540可在多个内核和图形引擎以及各种介质处理电路之间共享。如图所示,环形互连530因而将多个核耦接在一起,并在多个核、图形区域520、和系统代理电路550之间提供互连。在图5的实施例中,系统代理区域550可包括显示控制器552,其可为相关的显示器提供控制和接口。正如进一步看到的,系统代理区域550还可包括功率控制单元555,以将功率分配给CPU和非CPU区域。在一些实施例中,功率控制单元555可包括参考图1的上述中央功率控制器110和/或块功率逻辑130的功能中的一些或全部。
如进一步在图5中看到的,处理器500可进一步包括集成存储器控制器(IMC)570,其能够为系统存储器(例如动态随机存取存储器(DRAM))提供接口。可存在多个接口580a-580n,以实现处理器和其他电路之间的互连。例如,在一个实施例中,可提供至少一个直接媒体接口(DMI)接口以及一个或多个外围设备互连高速(PCIeTM)接口。更进一步,为了提供其他代理(如另外的处理器或其他电路)之间的通信,也可提供根据快速通道互连(QPI)协议的一个或多个接口。如进一步可看到的,外围控制器中枢(PCH)590也可存在于处理器500中,并且在一些实施例中,可被实施在单独的管芯上。可替换地,在一些实施例中,PCH590可在处理器500的外部。虽然在图5的实施例中表示为该高级别,但是应当理解,本发明的范围在此方面不受限制。
参考图6,说明了包括多核处理器的一个实施例。处理器1100包括任何处理器或处理设备,如微处理器、嵌入式处理器、数字信号处理器(DSP)、网络处理器、手持式处理器、应用处理器、协处理器、片上系统(SOC)、或者用于执行代码的其他设备。在一个实施例中,处理器1100包括至少两个核——核1101和1102,其可包括不对称的核或对称的核(该说明的实施例)。然而,处理器1100可包括任何数量的处理元件,它们可以是对称的或非对称的。虽然为了易于说明在图6中未示出,但是在一些实施例中,每个核1101和1102可包括参考图1的上述中央功率控制器110和/或块功率逻辑130。
在一个实施例中,处理元件是指支持软件线程的硬件或逻辑。硬件处理元件的示例包括:线程单元、线程槽、线程、处理单元、文本(context)、文本单元(context unit)、逻辑处理器、硬件线程、核、和/或任何其他元件,其能够维持处理器的状态,例如执行状态或体系结构状态。换句话说,在一个实施例中,处理元件是指能够独立地与代码(如软件线程、操作系统、应用、或其他代码)相关联的任何硬件。物理处理器典型地是指集成电路,其潜在地包括任何数量的其他处理元件,如核或硬件线程。
核通常是指位于能够维持独立结构状态的集成电路上的逻辑,其中每个独立维持的体系结构状态与至少某些专用的执行资源相关。和核相反,硬件线程典型地是指位于能够维持独立体系结构状态的集成电路上的任何逻辑,其中独立维持的体系结构状态共享对执行资源的访问。如所示,当共享某些资源,而另外一些资源对于体系结构状态专用时,硬件线程和核的术语之间的界限重叠。然而,通常,核和硬件线程被操作系统视为单独的逻辑处理器,其中操作系统能够单独地规划每个逻辑处理器上的操作。
如图6所示,物理处理器1100包括两个核,核1101和1102。此处,核1101和1102被考虑为对称核,即具有相同结构、功能单元、和/或逻辑的核。在另一实施例中,核1101包括无序的处理器核,而核1102包括有序的处理器核。然而,核1101和1102可从任何类型的核单独选择,如本地核、软件管理核、适于执行原生指令集体系结构(ISA)的核、适于执行转换的ISA的核、共同设计的核、或其他已知的核。如进一步讨论的,在核1101中所示的功能单元被进一步详细描述如下,因为核1102中的单元以类似方式操作。
如所示,核1101包括两个硬件线程1101a和1101b,其也可被称为硬件线程槽1101a和1101b。因此,软件实体(如操作系统)在一个实施例中潜在地将处理器1100视为四个单独的处理器,即,能够同时执行四个软件线程的四个逻辑处理器或处理元件。如上面暗示的,第一线程与体系结构状态寄存器1101a相关,第二线程与体系结构状态寄存器1101b相关,第三线程与体系结构状态寄存器1102a相关,第四线程与体系结构状态寄存器1102b相关。此处,每个体系结构状态寄存器(1101a,1101b,1102a,和1102b)可称为处理元件、线程槽、或线程单元,如上所述。
如所说明的,体系结构状态寄存器1101a在体系结构状态寄存器1101b中被复制,因此能够针对逻辑处理器1101a和逻辑处理器1101b存储单独的体系结构状态/文本。在核1101中,其他更小的资源(如分配器和重命名块1130中的指令指针和重命名逻辑)也可被复制用于线程1101a和1101b。一些资源,如重排序/引退单元1135中的重排序缓冲器、ILTB1120、加载/存储缓冲器、和队列可通过分区技术被共享。其他资源(如通用内部寄存器、页表基地址寄存器(多个页表基地址寄存器)、低级数据高速缓冲存储器和数据TLB1115、执行单元1140、以及无序单元1135的部分)潜在地完全共享。
处理器1100通常包括其他资源,其可被完全共享、通过分区技术被共享、或者被处理元件专用。在图6中,说明了纯粹示例性的处理器的一个实施例,该处理器具有处理器的说明性逻辑单元/资源。注意,处理器可包括、或省略这些功能单元中的任何一些,也可包括任何其他已知的功能单元、逻辑、或没有描绘的固件。如说明的,核1101包括简化的、典型的无序(out-of-order)(OOO)的处理器核。但是,在不同的实施例中可使用有序的处理器。OOO核包括预计要被执行/进行的支路的支路目标缓冲器1120,和存储用于指令的地址转换条目的指令转换缓冲器(I-TLB)1120。
核1101进一步包括耦接到取出单元1120的解码模块1125,用来解码所取出的要素。在一个实施例中,取出逻辑包括分别与线程槽1101a、1101b相关联的单独的序列发生器。通常核1101与第一ISA相关,第一ISA定义/指定可在处理器1100上执行的指令。通常,作为第一ISA的部分的机器代码指令包括指令(称作操作码)的一部分,其中指令(称作操作码)参考/指定要执行的指令或操作。解码逻辑1125包括这样的电路,该电路从它们的操作码识别这些指令,并且用于如第一ISA所定义的那样处理的流水线上传递该解码指令。作为解码器1125识别的结果,体系结构或内核1101采取具体的预定动作,以执行与适当的指令相关的任务(如,图3中所示的一个或多个动作)。很重要的是注意,此处描述的任何任务、块、操作和方法可响应于单个或多个指令执行;它们中的一些可以是新的或旧的指令。
在一个示例中,分配器和重命名块1130包括用于预留资源的分配器,其中资源例如用于存储指令处理结果的寄存器文件。然而,线程1101a和1101b潜在地能够无序执行,其中分配器和重命名块1130也预留其他资源,例如用于追踪指令结果的重排序缓冲器。单元1130也可包括寄存器重命名器,以用于将程序/指令参考寄存器重命名为处理器1100内部的其他寄存器。重排序/引退单元1135包括用于支持无序执行以及随后的无序执行指令的有序引退的组件,例如上面提及的重排序缓冲器、加载缓冲器、和存储缓冲器。
在一个实施例中,调度和执行单元块1140包括调度执行单元上的指令/操作的调度单元。例如,在执行单元具有可提供的浮点执行单元的部分上调度浮点指令。也包括与执行单元相关的寄存器文件,用来存储信息指令处理结果。示例性的执行单元包括浮点执行单元、整数执行单元、跳变执行单元、加载执行单元、存储执行单元、以及其他已知的执行单元。
低级数据高速缓冲存储器和数据转换缓冲器(D-TLB)1150耦接到执行单元1140。数据高速缓冲存储器用来在元件上存储最近使用/操作的数据(例如数据操作数),其可能以存储器相干状态被保持。D-TLB用来存储最近的虚拟/线性到物理地址的转换。作为具体的示例,处理器可包括页表结构,用来将物理存储器分成多个虚拟页。
此处,内核1101和1102共享对高级或更远的(further-out)高速缓存1110的访问,其中高级或更远的高速缓存1110用来高速缓存最近取出的元件。注意,更高级或更远的是指高速缓存的等级提高或更加远离执行单元。在一个实施例中,更高级高速缓存1110是末级数据高速缓存——处理器1100上的存储器层级中的最后一级高速缓存——例如,第二或第三级数据高速缓存。然而,更高级高速缓存1110不限于此,因为它可能与指令高速缓存相关或者包括指令高速缓存。跟踪高速缓存——一种类型的指令高速缓存——可作为替代耦接在解码器1125之后,用来存储最近的解码踪迹。
在说明的配置中,处理器1100还包括总线接口模块1105和功率控制器1160,其可根据本发明的实施例进行功率共享控制。在一些实施例中,功率控制器1160可包括参考图1的上述中央功率控制器110和/或块功率逻辑130的功能中的一些或全部。
过去,控制器1170已经被包括在处理器1100外部的计算系统中。在这种情形下,总线接口1105用来与处理器1100外部的设备通信,这些设备如系统存储器1175、芯片组(通常包括连接到存储器1175的存储器控制器中枢,和连接外围设备的I/O控制器中枢)、存储器控制器中枢、北桥(northbridge)、或者其他集成电路。并且在这种方案中,总线1105可包括任何已知的互连,如多支路总线、点对点互连、串行互连、并联总线、相干(高速缓存相干)总线、分层协议体系结构、差动总线、和GTL总线。
存储器1175可专用于处理器1100或者与系统中的其他设备共享。存储器1175的通用类型示例包括DRAM、SRAM、非易失性存储器(NV存储器),以及其他已知的存储设备。注意,设备1180可包括图形加速器、耦接到存储控制器中枢的处理器或卡、耦接到I/O控制器中枢的数据存储器、无线收发器、闪存设备、音频控制器、网络控制器、或者其他已知设备。
然而,应当注意,在说明的实施例中,控制器1170被说明为处理器1100的一部分。最近,随着更多的逻辑和设备集成在单个管芯(例如SOC)上,这些设备中的每个设备可被合并在处理器1100上。例如在一个实施例中,存储控制器中枢1170和处理器1100在同一个封装和/或管芯上。此处,核的一部分(在核上的部分)包括一个或多个控制器1170,用于与其他设备(如存储器1175或图形设备1180)通过接口连接。包括互连和与这种设备通过接口连接的控制器的结构通常被称为在核上(或非核心结构)。作为示例,总线接口1105包括环形互连,该环形互连具有:存储器控制器,与存储器1175通过接口连接;以及图形控制器,用于与图形处理器1180通过接口连接。进一步,在SOC环境中,甚至更多的设备(如网络接口、协处理器、存储器1175、图形处理器1180、和任何其他已知的计算机设备/接口)可被集成在单个管芯或集成电路上,以提供具有高功能性和低功耗的小形状因数。
实施例可在许多不同系统类型中实施。现在参考图7,示出了根据本发明一个实施例的系统的框图。如图7中所示,多处理器系统600是点对点互连系统,并包括通过点对点互连650耦接的第一处理器670和第二处理器680。每个处理器670和680可以是多内核处理器,虽然潜在地更多个核可存在于处理器中,但如图7中所示,包括第一和第二处理器内核(即处理器核674a和674b,以及处理器核684a和684b)。这些处理器中的每个可包括参考图1的上述中央功率控制器110和/或块功率逻辑130的任何部分。
仍然参考图7,第一处理器670进一步包括存储控制器中枢(MCH)672和点对点(P-P)接口676和678。类似地,第二处理器680包括MCH682和P-P接口686和688。如图7中所示,MCH672和682将处理器耦接到各自的存储器,即存储器632和存储器634,其可是在本地附接到各个处理器的系统存储器(例如,DRAM)的部分。第一处理器670和第二处理器680分别通过P-P接口652和654耦接到芯片组690。如图7中所示,芯片组690包括P-P接口694和698。
而且,芯片组690包括接口692,用来通过P-P互连639将芯片组690与高性能图形引擎638耦接。芯片组690又可通过接口696耦接到第一总线616。如图7中所示,各种输入/输出(I/O)设备614可连同总线桥618一起耦接到第一总线616,总线桥618将第一总线616耦接到第二总线620。各种设备可耦接到第二总线620,包括例如键盘/鼠标622、通信设备626和数据存储单元628,诸如硬盘驱动器或其他大容量存储设备,在一个实例中,数据存储单元628可包含代码630。而且,音频I/O624可耦接到第二总线620。实施例可被结合进其他类型的系统中,包括移动设备,如智能蜂窝电话、平板计算机、上网本、超级本、等。
应当理解,处理器核可支持多线程(执行两个或多个并列的操作集或线程),并且可以多种方式这样做,包括时间分割多线程、同步多线程(其中单个物理核为每个线程提供逻辑核,物理核是同步的多线程)、或其组合(如,时间分割地取出和解码,以及此后同步的多线程,例如在超线程技术中)。
此处描述的任何处理器可以是通用处理器,例如CoreTM i3,i5,i7,2Duo和Quad,XeonTM,ItaniumTM,XScaleTM或StrongARMTM处理器,他们可从加利福尼亚州圣克拉拉市的英特尔公司获得。可替换地,处理器可来自另一公司,如ARM Holdings,Ltd,MIPS等。处理器可以是专用处理器,诸如,例如,网络或通信处理器、压缩引擎、图形处理器、协处理器、嵌入式处理器、等等。处理器可以实施在一个或多个芯片上。处理器可以是一个或多个衬底的一部分,和/或可以使用任何数量的处理技术(诸如,例如BiCMOS,CMOS,或NMOS)被实施在一个或多个衬底上。
应当理解,此处描述的处理器不是用来限制任何系统或设备。本领域中已知的其他系统设计和结构也是适用的,诸如膝上型计算机、桌上型计算机、手持PC、个人数字助理、工程工作站、服务器、网络设备、网络集线器、交换机、嵌入式处理器、数字信号处理器(DSP)、图形设备、视频游戏设备、机顶盒、微控制器、蜂窝电话、便携式多媒体播放器、手持设备、以及各种其他电子设备。一般而言,能够与此处公开的处理器和/或其他执行逻辑结合的大量系统或电子设备通常都是适用的。
实施例可被实施为代码,或者可被存储在非易失性存储介质上,其上已经存储有指令,该指令可用来为一个系统编程,以执行该指令。存储介质可包括,但不限于,任何类型的硬盘、半导体设备、磁或光卡、以及适于存储电子指令的任何其他类型的介质;其中硬盘包括软盘、光盘、固态驱动器(SSD)、光盘驱动器(CD-ROM)、可重写光盘(CD-RW)、和磁光盘;其中半导体设备诸如只读存储器(ROM)、诸如动态随机存取存储器(DRAM)和静态随机存取存储器(SRAM)的随机存取存储器(RAM)、可擦可编程只读存储器(EPROM)、闪存、电可擦只读存储器(EEPROM)。
通常,此处公开的一些实施例可以OS和设备驱动程序不可知的方式实现SoC中的低功耗,同时对连接到SoC的硬件功能块(如,IP块)的改动最小。一些实施例可在SoC中实施功率管理(PM)体系结构和微体系结构,SoC提供基础结构使IP块达到它们可能的最低功率状态,包括电源关闭状态,而不引起退出导入期间的显著等待时间,并提供无缝用户体验。这种基础结构可工作在现有操作系统的PM体系结构的限制内,从而为各种操作系统提供益处。
一些实施例可包括:中央功率控制器(CPC),其与SoC中的每个IP块通信;CPC和IP块之间的标准PM接口协议,以门控每个IP块的功率;CPC中的一组控制寄存器接口,其允许任何OS与设备通话;以及CPC启动方法,用来保存和修复每个IP的状态,以允许它被功率门控,而不会丢失用于从功率降低状态无缝退出的文本。IP块可包括设备控制器,以及织状结构(fabric)片段或织状结构(fabric)桥。
在一些实施例中,可使用一种或多种技术来启动功率门控,包括:1)硬件空闲——当检测到空闲时期时,IP块决定它可被功率门控,并且它可忍受唤醒时间;2)OS请求(如,Windows RTD3请求)——PCI总线驱动程序通知CPC某个IP块是空闲的并且可被功率门控;3)设备驱动程序启动(如,Android DOix请求)——设备驱动程序将检测/估计空闲率,并且它可忍受唤醒时间,以及将在设备中写入控制位,该设备将启动功率门控。CPC将协调功率门控时的状态保存和功率非门控时的状态恢复。一些实施例可使用硬件来保存和恢复文本,这更快,并且可被有效地提供功率。还提供这样的机制,其中设备可通信等待时间需求,从而IP块可有效地进行功率门控。一些实施例还提供标准硬件块(如,图1中所示的块功率逻辑130),其允许每个IP块以标准方式被功率门控。而且,一些实施例可支持不同IP块的设备驱动程序和OS请求(如,RTD3和DOix,各自地)。一些实施例可包括用于功率门控的标准CPC和标准协议、保存和恢复每个IP块的状态的基于硬件的方法、以及允许IP块中的更低退出等待时间和更降低功率状态的设备驱动程序接口。
下面的条款和/或实例关于进一步的实施例。在一个实例中,处理器可包括至少一个功能块和一个中央功率控制器。该至少一个功能块可包括至少一个块组件和块功率逻辑。块功率逻辑可用于:接收在该至少一个功能块中启动第一降低功率模式的第一请求,并且响应于该第一请求,发送通知信号给中央功率控制器。中央功率控制器可响应于该通知信号,存储该至少一个功能块的第一状态,并在该至少一个功能块中启动第一降低功率模式。
在一个实例中,中央功率控制器可进一步接收在该至少一个功能块中启动第二降低功率模式的第二请求,并且响应于该第二请求,存储该至少一个功能块的第二状态。
在一个实例中,中央功率控制器可进一步响应于该第二请求,执行至少一个功率控制动作,以在该至少一个功能块中启动第二降低功率模式。
在一个实例中,中央功率控制器可进一步使用包括在中央功率控制器中的至少一个寄存器位接收第二请求。在一个实例中,中央功率控制器可进一步使用包括在中央功率控制器中的至少一个寄存器位接收通知信号。
在一个实例中,第二请求可由操作系统内核请求。
在一个实例中,第二请求可使用总线驱动程序发送。
在一个实例中,块功率逻辑可使用包括在块功率逻辑中的一个或多个寄存器位来接收第一请求。
在一个实例中,第一请求可由设备驱动程序发送。
在一个实例中,中央功率控制器可在中央功率控制器的存储器中存储至少一个功能块的第一状态。在一个实例中,处理器可包括多个功能块,其中存储器包括用来存储多个功能块的全部功能块的状态信息的容量。
在一个实例中,中央功率控制器可执行一个或多个功率控制动作,以启动第一降低功率模式,其中一个或多个功率控制动作包括功率门控、电压降低和时钟频率降低。
在一个实例中,处理器包括用于执行指令的处理器。
在另一实例中,一种系统可包括多个功能块和中央功率控制器。多个功能块中的每个可包括一个或多个硬件块组件和块功率逻辑。块功率逻辑可接收针对第一降低功率模式的第一请求,并发送通知信号给中央功率控制器。中央功率控制器可响应于从多个功能块中的一个接收的通知信号,存储多个功能块的一个的第一状态,并在该多个功能块的一个中启动第一降低功率模式。
在一个实例中,该系统可以是芯片上系统(SOC)。
在一个实例中,中央功率控制器可进一步接收针对多个功能块中的一个功能块中的第二降低功率模式的第二请求,并响应于该第二请求,存储多个功能块中的一个功能块的第二状态,并执行至少一个功率控制动作,以在该多个功能块的一个功能块中启动第二降低功率模式。
在一个实例中,中央功率控制器可使用包括在中央功率控制器中的至少一个寄存器位来接收第二请求。
在一个实例中,块功率逻辑可使用包括在块功率逻辑中的一个或多个寄存器位来接收第一请求。
在一个实例中,块功率逻辑可执行至少一个功率控制动作,以在多个功能块的一个功能块中启动第一降低功率模式。
在另一实例中,实施例可以是一种方法,包括:由包括在处理器的第一功能块中的块功率逻辑接收针对第一功能块中的第一降低功率模式的第一请求;响应于该第一请求,由块功率逻辑发送通知信号给处理器的中央功率控制器;使得中央功率控制器在第一存储器中存储第一功能块的第一状态,并启动第一功能块中的第一降低功率模式。
在一个实例中,该方法还可包括由中央功率控制器接收针对处理器的第二功能块中的第二降低功率模式的第二请求,并且响应于该第二请求,使得中央功率控制器在第一存储器中存储第二功能块的第二状态,并启动第二功能块中的第二降低功率模式。在一个实例中,接收第二请求包括使用包括在中央功率控制器中的至少一个寄存器位。
在一个实例中,该方法还包括基于存储的第一状态恢复第一功能块,并启动第一功能块中的正常功率模式。
在一个实例中,启动第一降低功率模式可包括由中央功率控制器执行一个或多个功率控制动作。在一个实例中,执行一个或多个功率控制动作可包括以下动作中的至少一个:为第一功能块进行功率门控,降低提供给第一功能块的电压,以及降低用于第一功能块的时钟频率。
在一个实例中,接收第一请求包括使用包括在块功率逻辑中的一个或多个寄存器位。
在一个实例中,该方法还可包括由设备驱动程序发送第一请求。
在一个实例中,该方法是一种管理处理器的功耗的方法。
在另一实例中,通信设备可被布置以执行上述实例中的任一个的方法。
在另一实例中,至少一个机器可读介质可包括多个指令,多个指令响应于在计算设备上执行使计算设备实现上述实例的任一个的方法。
在另一实例中,一种用于处理指令的装置配置用于执行上述实例的任一个的方法。
在另一实例中,一种设置包括用于执行上述实例的任一个的方法的装置。
贯穿本说明书引用“一个实施例”或“一实施例”意味着结合实施例一起描述的特定特征、结构、或特性被包括在包含在本发明中的至少一个实施例中。因此,短语“一个实施例”或“一实施例”的出现不是必然指同一个实施例。而且,除了所说明的特定实施例,特定特征、结构、或特性可以其他适当形式设置,并且所有这种形式可被包括在本申请的权利要求中。
虽然出于说明的目的,已经参考有限数量的实施例描述了本发明,但是本领域技术人员将理解从其而来的大量修改和变化。所附权利要求旨在覆盖所有这些修改和变化,只要它们落在本发明的真正实质和范围中。

Claims (39)

1.一种用于执行指令的处理器,包括:
至少一个功能块;
中央功率控制器,
其中所述至少一个功能块包括:
至少一个块组件;
块功率逻辑单元,用于:
接收来自设备驱动程序的在所述至少一个功能块中启动第一降低功率模式的第一请求,并且
响应于该第一请求,发送通知信号给中央功率控制器;以及
其中所述中央功率控制器用于接收来自块功率逻辑单元的所述通知信号,其中所述中央功率控制器还用于接收来自操作系统内核的在所述至少一个功能块中启动第二降低功率模式的第二请求,所述中央功率控制器用于:
响应于来自所述块功率逻辑单元的所述通知信号,存储所述至少一个功能块的状态,或
响应于来自所述操作系统内核的所述第二请求,存储所述至少一个功能块的所述状态。
2.根据权利要求1的处理器,其特征在于,所述中央功率控制器进一步用于:
响应于所述第二请求,向所述块功率逻辑单元发送命令以在所述至少一个功能块中启动所述第二降低功率模式。
3.根据权利要求1的处理器,其特征在于,所述中央功率控制器进一步用于:响应于所述第二请求,执行至少一个功率控制动作,以在所述至少一个功能块中启动第二降低功率模式。
4.根据权利要求1的处理器,其特征在于,所述中央功率控制器用于使用包括在中央功率控制器中的至少一个寄存器位来接收第二请求。
5.根据权利要求1的处理器,其特征在于,所述中央功率控制器进一步用于使用包括在中央功率控制器中的至少一个寄存器位接收通知信号。
6.根据权利要求1的处理器,其特征在于,所述块功率逻辑单元用于,响应于来自设备驱动程序的所述第一请求,在所述至少一个功能块中启动所述第一降低功率模式。
7.根据权利要求2的处理器,其特征在于,所述块功率逻辑单元进一步用于,在没有外部模式请求的情况下,在所述至少一个功能块中启动第三降低功率模式。
8.根据权利要求1的处理器,其特征在于,所述块功率逻辑单元用于使用包括在块功率逻辑单元中的一个或多个寄存器位来接收来自所述设备驱动程序的第一请求。
9.根据权利要求1的处理器,其特征在于,所述中央功率控制器用于在中央功率控制器的存储器中存储所述至少一个功能块的所述状态。
10.根据权利要求9的处理器,其特征在于,所述处理器包括多个功能块,并且其中所述存储器包括用来存储所述多个功能块的全部功能块的状态信息的容量。
11.根据权利要求1的处理器,其特征在于,所述中央功率控制器用于执行一个或多个功率控制动作,以启动第一降低功率模式,其中所述一个或多个功率控制动作包括功率门控、电压降低和时钟频率降低。
12.一种用于管理处理器的功耗的方法,包括:
由包括在处理器的第一功能块中的块功率逻辑单元接收来自设备驱动程序的针对第一功能块中的第一降低功率模式的第一请求;
响应于所述第一请求,由块功率逻辑单元发送通知信号给处理器的中央功率控制器,其中所述中央功率控制器用于接收来自块功率逻辑单元的所述通知信号,其中所述中央功率控制器还用于接收来自操作系统内核的在所述第一功能块中启动第二降低功率模式的第二请求;
响应于来自所述块功率逻辑单元的所述通知信号或响应于来自所述操作系统内核的所述第二请求,由中央功率控制器在第一存储器中存储第一功能块的状态。
13.根据权利要求12的方法,其特征在于,进一步包括:
响应于所述第二请求:
由所述中央功率控制器向所述块功率逻辑单元发送命令以启动所述第一功能块中的第二降低功率模式。
14.根据权利要求12的方法,其特征在于,接收第二请求包括使用包括在中央功率控制器中的至少一个寄存器位。
15.根据权利要求12的方法,其特征在于,进一步包括:
基于存储的第一状态恢复第一功能块,以及
启动第一功能块中的正常功率模式。
16.根据权利要求12的方法,其特征在于,还包括:响应于所述第二请求,由中央功率控制器执行一个或多个功率控制动作以在所述第一功能块中启动所述第二降低功率模式。
17.根据权利要求16的方法,其特征在于,执行一个或多个功率控制动作包括以下动作中的至少一个:为第一功能块进行功率门控、降低提供给第一功能块的电压、以及降低用于第一功能块的时钟频率。
18.根据权利要求12的方法,其特征在于,接收第一请求包括使用包括在块功率逻辑单元中的一个或多个寄存器位。
19.根据权利要求12的方法,其特征在于,进一步包括由设备驱动程序发送第一请求。
20.一种通信设备,包括:
处理器,所述处理器包括:
至少一个功能块;
中央功率控制器,
其中所述至少一个功能块包括:
块功率逻辑单元,用于:
接收来自设备驱动程序的在所述至少一个功能块中启动第一降低功率模式的第一请求,并且
响应于该第一请求,发送通知信号给中央功率控制器;以及
其中所述中央功率控制器用于接收来自块功率逻辑单元的所述通知信号,其中所述中央功率控制器还用于接收来自操作系统内核的在所述至少一个功能块中启动第二降低功率模式的第二请求,其中所述中央功率控制器用于:
响应于来自所述块功率逻辑单元的所述通知信号,存储所述至少一个功能块的状态,或
响应于来自所述操作系统内核的所述第二请求,存储所述至少一个功能块的所述状态。
21.根据权利要求20的通信设备,其特征在于,所述中央功率控制器进一步用于:
响应于所述第二请求,向所述块功率逻辑单元发送命令以在所述至少一个功能块中启动所述第二降低功率模式。
22.根据权利要求20的通信设备,其特征在于,所述中央功率控制器进一步用于使用包括在中央功率控制器中的至少一个寄存器位来接收第二请求。
23.根据权利要求20的通信设备,其特征在于,所述中央功率控制器进一步用于:
基于存储的第一状态恢复第一功能块,以及
启动第一功能块中的正常功率模式。
24.根据权利要求20的通信设备,其特征在于,所述中央功率控制器进一步用于执行一个或多个功率控制动作来启动第一降低功率模式。
25.根据权利要求24的通信设备,其特征在于,一个或多个功率控制动作包括以下动作中的至少一个:为第一功能块进行功率门控、降低提供给第一功能块的电压、以及降低用于第一功能块的时钟频率。
26.根据权利要求20的通信设备,其特征在于,所述中央功率控制器进一步用于使用包括在块功率逻辑单元中的一个或多个寄存器位来接收第一请求。
27.根据权利要求20的通信设备,其特征在于,所述第一请求是由设备驱动程序发送的。
28.一种计算设备,包括:
存储单元;
处理器,与所述存储单元耦合,所述处理器包括:
至少一个功能块;
中央功率控制器,
其中所述至少一个功能块包括:
块功率逻辑单元,用于:
接收来自设备驱动程序的在所述至少一个功能块中启动第一降低功率模式的第一请求,并且
响应于该第一请求,发送通知信号给中央功率控制器;以及
其中所述中央功率控制器用于接收来自块功率逻辑单元的所述通知信号,其中所述中央功率控制器还用于接收来自操作系统内核的在所述至少一个功能块中启动第二降低功率模式的第二请求,其中所述中央功率控制器用于:
响应于来自所述块功率逻辑单元的所述通知信号,存储所述至少一个功能块的状态,或
响应于来自所述操作系统内核的所述第二请求,存储所述至少一个功能块的所述状态。
29.根据权利要求28的计算设备,其特征在于,所述中央功率控制器进一步用于:
响应于所述第二请求:
向所述块功率逻辑单元发送命令以启动所述至少一个功能块中的第二降低功率模式。
30.根据权利要求28的计算设备,其特征在于,所述中央功率控制器进一步用于使用包括在中央功率控制器中的至少一个寄存器位来接收第二请求。
31.根据权利要求28的计算设备,其特征在于,所述中央功率控制器进一步用于:
基于存储的第一状态恢复所述至少一个功能块,以及
启动所述至少一个功能块中的正常功率模式。
32.根据权利要求28的计算设备,其特征在于,所述中央功率控制器进一步用于执行一个或多个功率控制动作来启动第一降低功率模式。
33.根据权利要求32的计算设备,其特征在于,一个或多个功率控制动作包括以下动作中的至少一个:为所述至少一个功能块进行功率门控、降低提供给所述至少一个功能块的电压、以及降低用于所述至少一个功能块的时钟频率。
34.根据权利要求28的计算设备,其特征在于,所述中央功率控制器进一步用于使用包括在块功率逻辑单元中的一个或多个寄存器位来接收第一请求。
35.根据权利要求28的计算设备,其特征在于,所述第一请求是由设备驱动程序发送的。
36.一种用于管理处理器的功耗的装置,执行如权利要求12-19中的任一项所述的方法。
37.一种用于管理处理器的功耗的设备,包括用于执行如权利要求12-19中的任一项所述的方法的装置。
38.一种计算机实现的系统,包括用于执行如权利要求12-19中的任一项所述的方法的装置。
39.一种计算机可读存储介质,其上存储有指令,所述指令响应于被执行而导致计算设备执行如权利要求12-19中的任一项所述的方法。
CN201410231203.1A 2013-03-13 2014-03-13 平台不可知的功率管理 Active CN104049715B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/799,524 US9690353B2 (en) 2013-03-13 2013-03-13 System and method for initiating a reduced power mode for one or more functional blocks of a processor based on various types of mode request
US13/799,524 2013-03-13

Publications (2)

Publication Number Publication Date
CN104049715A CN104049715A (zh) 2014-09-17
CN104049715B true CN104049715B (zh) 2017-12-15

Family

ID=50634698

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410231203.1A Active CN104049715B (zh) 2013-03-13 2014-03-13 平台不可知的功率管理

Country Status (7)

Country Link
US (1) US9690353B2 (zh)
JP (1) JP5865931B2 (zh)
KR (1) KR101569610B1 (zh)
CN (1) CN104049715B (zh)
BR (1) BR102014008299B1 (zh)
DE (1) DE102014003704B4 (zh)
GB (1) GB2512492B (zh)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9043632B2 (en) * 2012-09-25 2015-05-26 Apple Inc. Security enclave processor power control
US9047471B2 (en) 2012-09-25 2015-06-02 Apple Inc. Security enclave processor boot control
US8873747B2 (en) 2012-09-25 2014-10-28 Apple Inc. Key management using security enclave processor
WO2014178826A1 (en) * 2013-04-30 2014-11-06 Hewlett-Packard Development Company, L.P. Governing bare metal guests
DE112015002911T5 (de) * 2014-06-20 2017-03-09 Semiconductor Energy Laboratory Co., Ltd. Halbleitervorrichtung
US20160091957A1 (en) * 2014-09-26 2016-03-31 Suketu R. Partiwala Power management for memory accesses in a system-on-chip
US9547778B1 (en) 2014-09-26 2017-01-17 Apple Inc. Secure public key acceleration
KR102325453B1 (ko) * 2014-12-04 2021-11-11 삼성전자주식회사 반도체 장치의 동작 방법
US11399344B2 (en) 2015-01-26 2022-07-26 Apple Inc. System and method for SoC idle power state control based on I/O operation characterization
US10078356B2 (en) * 2015-08-20 2018-09-18 Intel Corporation Apparatus and method for saving and restoring data for power saving in a processor
JP6455382B2 (ja) * 2015-09-24 2019-01-23 富士通株式会社 制御装置および制御プログラム
US10554519B2 (en) * 2016-02-08 2020-02-04 Cray Inc. System and method for dampening power swings in distributed computer environments
JP2017177573A (ja) * 2016-03-30 2017-10-05 キヤノン株式会社 PCI(Peripheral Component Interconnect)バスに接続されたPCIデバイスを備える情報処理装置及び情報処理装置の制御方法
US10133341B2 (en) * 2016-06-06 2018-11-20 Arm Limited Delegating component power control
DE102017217239A1 (de) 2017-09-27 2019-03-28 Audi Ag Verfahren zum Steuern eines Niedrigverbrauchsmodus einer elektronischen Schaltungseinheit sowie Steuergerät und Kraftfahrzeug
US10761584B2 (en) 2018-03-16 2020-09-01 Vigyanlabs Innovations Private Limited System and method to enable prediction-based power management
US20200388319A1 (en) 2019-06-07 2020-12-10 Semiconductor Energy Laboratory Co., Ltd. Semiconductor device, electronic component, and electronic device
CN111143275A (zh) * 2019-12-27 2020-05-12 南方电网科学研究院有限责任公司 一种ip管理和功耗优化系统及方法
US20220147636A1 (en) * 2020-11-12 2022-05-12 Crowdstrike, Inc. Zero-touch security sensor updates

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100381978C (zh) * 2005-01-07 2008-04-16 戴尔产品有限公司 多个信息处理系统的功率管理的系统和方法

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6785826B1 (en) 1996-07-17 2004-08-31 International Business Machines Corporation Self power audit and control circuitry for microprocessor functional units
US6678831B1 (en) * 1997-12-11 2004-01-13 Hewlett-Packard Development Company, L.P. Managing power states in a computer system
US6802014B1 (en) * 2000-10-26 2004-10-05 Apple Computer, Inc. Method and apparatus for managing power in computer systems
JP3666744B2 (ja) * 2001-10-04 2005-06-29 松下電器産業株式会社 電源遮断制御装置
US6834353B2 (en) 2001-10-22 2004-12-21 International Business Machines Corporation Method and apparatus for reducing power consumption of a processing integrated circuit
JP3910902B2 (ja) 2002-10-02 2007-04-25 松下電器産業株式会社 集積回路装置
US7664970B2 (en) * 2005-12-30 2010-02-16 Intel Corporation Method and apparatus for a zero voltage processor sleep state
EP1715405A1 (en) 2005-04-19 2006-10-25 STMicroelectronics S.r.l. Processing method, system and computer program product for dynamic allocation of processing tasks in a multiprocessor cluster platforms with power adjustment
JP4555140B2 (ja) * 2005-04-22 2010-09-29 株式会社日立製作所 複合型計算機装置およびその管理方法
US7900069B2 (en) 2007-03-29 2011-03-01 Intel Corporation Dynamic power reduction
US8286014B2 (en) * 2008-03-25 2012-10-09 Intel Corporation Power management for a system on a chip (SoC)
KR101197591B1 (ko) 2008-12-22 2012-11-08 한국전자통신연구원 저전력 프로세서
US8405505B2 (en) * 2009-05-26 2013-03-26 Qualcomm Incorporated Power management of sensors within a mobile device
US9086875B2 (en) * 2009-06-05 2015-07-21 Qualcomm Incorporated Controlling power consumption of a mobile device based on gesture recognition
US8458499B2 (en) 2009-08-07 2013-06-04 International Business Machines Corporation Method for reducing power state in a computer system out-of-band when a request for reducing the power state is not immediately serviceable in band according to a priority of the request
JP5750862B2 (ja) 2010-01-15 2015-07-22 カシオ計算機株式会社 測位装置、測位方法およびプログラム
WO2012014014A2 (en) 2010-07-27 2012-02-02 Freescale Semiconductor, Inc. Multi-Core Processor and Method of Power Management of a Multi-Core Processor
US8438416B2 (en) * 2010-10-21 2013-05-07 Advanced Micro Devices, Inc. Function based dynamic power control
US8949637B2 (en) * 2011-03-24 2015-02-03 Intel Corporation Obtaining power profile information with low overhead
JP5994157B2 (ja) * 2011-07-26 2016-09-21 マーベル ワールド トレード リミテッド 即座にonになるゼロ電力のハイバーネイトモード
US10817043B2 (en) 2011-07-26 2020-10-27 Nvidia Corporation System and method for entering and exiting sleep mode in a graphics subsystem
US9383801B2 (en) * 2012-12-21 2016-07-05 Advanced Micro Devices, Inc. Methods and apparatus related to processor sleep states

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100381978C (zh) * 2005-01-07 2008-04-16 戴尔产品有限公司 多个信息处理系统的功率管理的系统和方法

Also Published As

Publication number Publication date
DE102014003704A1 (de) 2014-09-18
CN104049715A (zh) 2014-09-17
BR102014008299A2 (pt) 2015-10-13
GB201404478D0 (en) 2014-04-30
GB2512492A (en) 2014-10-01
JP2014179080A (ja) 2014-09-25
US9690353B2 (en) 2017-06-27
JP5865931B2 (ja) 2016-02-17
BR102014008299B1 (pt) 2022-03-03
KR101569610B1 (ko) 2015-11-16
KR20140112454A (ko) 2014-09-23
DE102014003704B4 (de) 2016-12-22
US20140281616A1 (en) 2014-09-18
GB2512492B (en) 2016-03-23

Similar Documents

Publication Publication Date Title
CN104049715B (zh) 平台不可知的功率管理
CN104137024B (zh) 包括使用深降电模式的高能效处理器热节流的用于高能效且节能的方法、装置和系统
TWI524184B (zh) 用於在分散式記憶體組織架構中處理位址衝突之方法、設備及系統
US8782456B2 (en) Dynamic and idle power reduction sequence using recombinant clock and power gating
CN106489108A (zh) 控制系统存储器的温度
US20120166852A1 (en) Method, apparatus, and system for energy efficiency and energy conservation including improved processor core deep power down exit latency by using register secondary uninterrupted power supply
CN107368174A (zh) 用于具有非同构性能状态的多核处理器的热扼制的自适应算法
CN107077175A (zh) 提供针对多芯片封装的热参数报告的装置和方法
CN104115093A (zh) 包括多个处理元件之间的功率和性能平衡的用于能效和节能的方法、装置和系统
US8806232B2 (en) Systems and method for hardware dynamic cache power management via bridge and power manager
CN104081315A (zh) 包括线程合并的用于能效和节能的方法、装置和系统
CN107924219A (zh) 遮蔽处理器的核的功率状态
CN106537285A (zh) 处理器温度的平衡控制
TWI670602B (zh) 電子器件及省電快取記憶體使用之方法
CN104011624A (zh) 包括设备中自主的基于硬件的深度掉电的用于能效和节能的方法、装置和系统
CN105492989B (zh) 用于管理对时钟进行的门控的装置、系统、方法和机器可读介质
CN108027785A (zh) 用于对链路拆分进行去偏斜的方法、设备和系统
CN107003971A (zh) 用于高性能互连中的嵌入式流通道的方法、装置、系统
CN105009101A (zh) 提供与数据缓冲器相关联的监听滤波
CN107533354A (zh) 控制处理器的处理引擎的性能状态
CN104813283A (zh) 处理器核保留状态的独立控制
CN107003709A (zh) 包括实现指令集架构不同部分的多个不同处理器内核的处理器
CN109564526A (zh) 使用封装和线程提示信息的组合来控制处理器的性能状态
CN107567614A (zh) 用于对根据关键度被分组的指令的缕程的执行的多核处理器
CN106293894A (zh) 执行事务性功率管理的硬件设备和方法

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