CN104583896A - 向处理器的异构计算元件分配功率 - Google Patents
向处理器的异构计算元件分配功率 Download PDFInfo
- Publication number
- CN104583896A CN104583896A CN201380044085.7A CN201380044085A CN104583896A CN 104583896 A CN104583896 A CN 104583896A CN 201380044085 A CN201380044085 A CN 201380044085A CN 104583896 A CN104583896 A CN 104583896A
- Authority
- CN
- China
- Prior art keywords
- territory
- processor
- power
- frequency
- power bias
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/324—Power saving characterised by the action undertaken by lowering clock frequency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3296—Power saving characterised by the action undertaken by lowering the supply or operating voltage
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Power Sources (AREA)
Abstract
在一个实施例中,本发明包括处理器,该处理器具有带有第一计算引擎的第一域和带有第二计算引擎的第二域,其中,这些域中的每一个都可以在独立电压和频率下操作。可以存在第一逻辑,以至少部分地基于所述第二域的繁忙度,更新用于控制所述第一和第二域之间的功率的动态分配的功率偏置值。第二逻辑又可以至少部分地基于此功率偏置值,动态地在域之间分配处理器的功率预算的至少一部分。描述并要求保护其他实施例。
Description
背景技术
随着半导体领域的技术进步,诸如处理器之类的设备包括越来越多的电路。随着时间的推移,处理器设计从独立集成电路(IC)的集合发展到单一集成电路,到在单一IC封装内包括多个处理器核的多核处理器。随着时间的推移,越来越多的核以及相关的电路正在被包括到处理器及其他半导体中。
多核处理器正在被扩展以通过在处理器内合并其他功能单元来包括额外的功能。产生的一个问题是,不同的电路会基于它们的工作负荷消耗不同的电量。然而,目前不存在确保这些不同的单元具有足够的功率的合适的机制。
例如,包括不同的计算元件的处理器将消耗的总功率量限制到叫做热设计功率(TDP)极限的级别除处理器的配置的TDP极限之外,初始设备制造厂家(OEM)可能会对于不同的形状因子等,将处理器的TDP限制到更低,以实现比较长的电池使用时间。当在这些系统上运行功率消耗大的工作负荷时,在不同的计算元件之间拆分可用功率(直到TDP极限)。拆分功率的方式会影响系统的性能。当前对此功率分配问题的解决方法是对于所有工作负荷和TDP,使用固定比率,意味着,功率的某一部分被分配给处理器的不同的单元。然而,此方法不是对于所有工作负荷都最佳的。
附图简述
图1是根据本发明的一个实施例的用于在处理器的不同的域之间控制功率偏置的方法的流程图。
图2是根据本发明的一个实施例的处理器的一部分的框图。
图3是根据本发明的一个实施例的处理器的框图。
图4是根据本发明的另一实施例的多域处理器的框图。
图5是包括多个核的处理器的一个实施例的框图。
图6是根据本发明的一个实施例的系统的框图。
详细描述
在各实施例中,可以提供功率偏置技术,并可以将其用于包括多个域的处理器的功率预算的分配。另外,在运行时,还可以动态地更新功率偏置值本身。如此处所使用的,术语“域”被用来表示在相同电压和频率点操作的硬件和/或逻辑的集合。作为示例,多核处理器还可以包括其他非核处理引擎,诸如固定功能单元、图形引擎等等。其他计算元件可包括数字信号处理器、处理器通信互连(总线、环等等)以及网络处理器。处理器可包括多个独立域,包括与核相关联的第一域(此处被称为核或中央处理单元(CPU)域)以及与图形引擎相关联的第二域(此处被称为图形或图形处理单元(GPU)域)。虽然可以在单一半导体管芯上形成多域处理器的许多实现,但是,其他实现可以通过其中不同的域可以存在于单一封装的不同的半导体管芯上的多芯片封装来实现。进一步的实施例可以适用于在由许多单个芯片封装构成的单一系统的计算元件之间平衡功率。例如,如此处所描述的,可以管理一个封装上的CPU和不同的封装上的GPU,且整个系统功率极限为50瓦特。
在多域处理器中,多个域共同地共享单一功率预算。相应地,例如,核域操作所在的频率越高,由核域消耗的功率越高。由核域消耗的功率越高,留给图形域消耗的功率越小,反之亦然。
对于在处理器上执行的许多应用,核域可以充当生成要被图形域执行的工作负荷数据的生产者,如此,该图形域充当消费者。例如,对于许多应用,诸如基于3维(3D)的应用,处理器可以操作以从存储器访问数据,向存储器写入命令和指令,并将数据提供到图形域,图形域用于执行图形操作,诸如各种着色、呈现及其他操作,以如此生成像素数据,供显示在相关联的显示器上。
在这样的应用中,根据本发明的一个实施例的智能偏置控制(IBC)可以基于工作负荷需求,动态地调整图形域和核域之间的功率的分配。各实施例可以特别适合于低功率环境,诸如处理器正在在诸如热设计功率(TDP)级别(或甚至诸如由OEM设置的较低级别)之类的热极限操作的情况。在某些处理器中,可以诸如由基本输入/输出系统(BIOS),例如,作为系统的配置的一部分,设置多个域之间共享功率的预定值。虽然这样的设置可以适合于许多工作负荷,但是,对于某些应用,特别是在处理器被配置成仅限于低于TDP极限的操作的情况下,例如,为了功率管理等等,性能会受到影响。相反,根据本发明的一个实施例,通过使用IBC,可以基于工作负荷动态地控制功率偏置值,该功率偏置值可用于控制不同的域之间的功率分配。
更具体而言,各实施例可以监视各种域(包括核域、图形域和互连域)的操作,以便判断这些域中的一个或多个是否需要比它当前正在接收的功率多一些或少一些的功率。如果核和互连域需要比它们当前正在接收的较少的功率以便使图形域维持十分忙,可以使功率分配更多地偏向图形域,例如,通过调整此功率偏置值。相反,如果核域和/或互连域需要比它们当前正在接收的功率更多的功率以使图形域维持全部占用,则可以使功率分配更多地朝核域和/或互连域偏向,例如,通过对功率偏置值的反向控制。
一般而言,根据本发明的一个实施例的IBC可以一般性地按如下方式进行操作。首先,可以测量给定应用正在为核、图形和互连域创建的工作量。如果基于这些测量值判断图形域空闲,例如,大于评估间隔内的给定阈值时间量,可以向核域方向移动功率平衡,例如,通过对功率偏置值的控制。相反,如果图形域在评估间隔中正在被完全使用,则可以向图形域方向移动功率平衡。
为便于讨论,此处所描述的各实施例关于包括可以共享功率预算的核域和图形域的多域处理器。然而,应理解,本发明的范围在这方面不受限制,可以存在额外的域。作为另一个示例,可以将每一个核分配给不同的域,可以给域中的每一个提供功率预算的动态地重新可分割的量。此外,除核域和图形域之外,可以理解,可以存在额外的域。例如,另一个域可以由诸如固定功能单元、加速器等其他处理单元构成。可以为处理器的某些管理代理提供更进一步的域,这些域可以接收总功率预算的固定部分。
注意,如此处所描述的执行智能偏置控制的各实施例可以独立于基于操作系统(OS)的功率管理。例如,根据基于OS的机制,即,高级配置和平台接口(ACPI)标准(例如,2006年10月10日发布的Rev.3.0b),处理器可以在各种性能状态或级别操作,即,从P0到PN。一般而言,P1性能状态可以对应于可以由OS请求的最高保证的性能状态。除此P1状态之外,OS还可以请求较高性能状态,即,P0状态。如此,此P0状态可以是机会性状态,其中,当有电能和/或热预算可用时,处理器硬件可以配置处理器或其至少一些部分,以便以高于保证的频率操作。在许多实现中,处理器可包括多个所谓的高于此P1频率的元(bin)频率。另外,根据ACPI,处理器还可以在各种功率状态或级别下操作。相对于功率状态,ACPI指定不同的功率消耗状态,一般被称为C状态,C0,C1到Cn状态。当核活跃时,它在C0状态运行,而当核空闲时,它可以被置于核低功率状态,也叫做核非零C状态(例如,C1-C6状态)。当多核处理器的所有核都处于核低功率状态时,可以将处理器置于封装低功率状态,诸如封装C6低功率状态。
现在参考图1,所示是根据本发明的一个实施例的用于在处理器的不同的域之间控制功率偏置的方法的流程图。如图1所示,在不同的实施例中,方法100可以以各种硬件、软件和/或固件来实现。例如,在一个实施例中,方法100可以在诸如功率控制单元(PCU)之类的处理器的功率控制器的功率共享逻辑中实现。在另一个实施例中,方法100可以在诸如内核模式驱动程序(KMD)之类的设备驱动程序中实现,例如,对于图形域。注意,图1中所描述的各实施例关于CPU域和图形域之间的功率偏置的分析和控制。虽然在图1的实施例中被描述为在这些特定域之间共享功率,但是,可以理解,本发明的范围在这方面不受限制,在其他实施例中,动态功率共享可以在具有异构计算元件的其他类型的域之间。
如图1所示,可以为在评估间隔过程中呈现的图形的每一个帧执行方法100的某些部分(一般性地,通过菱形150)。可以看出,方法100从确定CPU域和互连域的目标频率开始(框110)。在所示出的实施例中,此互连域可以具有基于环形的互连,下面将进一步讨论其细节。在一个实施例中,对这些目标频率的确定可以基于从处理器的各种位置接收到的某些度量。一般而言,这些度量可以对应于图形域的繁忙度和互连域的繁忙度。即,由于通常图形域是由CPU域(如此,它是生产者域)处理的数据的消费者,因此,使用图形域繁忙度(以及环形域繁忙度)作为代理,可以允许确定CPU域(以及互连域)的合适的目标频率。在所示实施例中,可以基于图形域和互连域的微架构内的各种组件或位置的活动级别,测量繁忙度。或者,在另一个实施例中,可以基于这些组件的利用率,确定繁忙度。
仍参考图1,接下来,控制进入框120,在那里,可以将目标频率设置为下一评估间隔的CPU域频率以及互连域频率的上限。在一个实施例中,可以通过将目标频率存储在最大频率存储器中,诸如,例如,存在于PCU中的或与PCU相关联的配置寄存器,作出此设置。可以设置单一目标频率,或可以设置CPU以及互连域的独立的目标频率。
如下文所描述的,可以在下一评估间隔(例如,通过PCU)中控制这些域,以在或低于此目标频率下操作。注意,在确定要降低目标频率时(如当CPU/互连没有被完全使用时),在一个实施例中,降低量可以是第一量(例如,200MHz),以逐步降低目标频率。相反,在确定要提高目标频率时(如当CPU/互连被完全使用时),在一个实施例中,增大量可以是第二较高量(例如,500MHz),以更快速地增大目标频率。
接下来,控制进入菱形130,在那里,可以判断CPU是否在此目标频率的防护频带内运行(例如,在当前评估间隔中)。注意,如此,防护频带提供过滤短频率变化(例如,由于处理器使用率的短暂的尖峰和下降)以及性能和功率状态变化(分别是P状态和C状态变化)的度量。如此,由于这样的可能的效果,可能会产生处于分析中的时间间隔内的低于被请求的CPU频率。通过使用防护频带来引导功率偏置更新,可以防止基于CPU频率的这样的正常的节奏而朝CPU域增大功率偏置值太远。在一个实施例中,防护频带可以是目标频率的预定的百分比,例如,5-10%,虽然本发明的范围在这方面不受限制。
如果判断CPU在此防护频带内运行,则控制进入框140,在那里,可以增大与图形域相关联的计数器。更具体而言,可以增大图形偏置滞后计数器,该计数器可以是位于处理器的逻辑中的计数器。否则,如果CPU频率比目标频率低大于防护频带,则这是CPU频率太低的标志,如此,没有实现从CPU到图形域的足够的吞吐量。相应地,控制进入框135,在那里,可以增大CPU计数器,该CPU计数器可以是位于处理器的逻辑中的另一个计数器。更具体而言,可以增大CPU偏置滞后计数器。注意,通过经由这些计数器提供滞后的度量,可以消除偏置变化。如此,一次性异常帧发生会避免在一个方向移动偏置太远,导致总体性能减退。
虽然未示出,但是,在某些实施例中,还可以增大帧计数器。如此,此计数器可以提供呈现的帧的数量的计数(如此,经由方法100的此部分的循环的数量)。然后,从框135和140,控制进入菱形150,在那里,可以判断自从最后一次功率偏置变化以来是否消逝了足够的时间。虽然本发明的范围在这方面不受限制,但是,在一个实施例中,此阈值时段或时间窗口可以大致250毫秒(ms)。注意,此基于时间窗口的分析可以被用来处理具有不同的帧速率的应用。当调整根据本发明的一个实施例的功率共享以利用低帧速率应用最佳地运行时,由于偏置超过最佳值,可能会导致高帧速率应用中的帧速率振荡。相反,通过使用恒定值时间窗口,可以归一化偏置变化的速率以独立于执行中的给定应用的帧速率。
仍参考图1,如果自从最后一次功率偏置变化以来消逝了足够的时间,则控制进入菱形160,在那里,可以判断GPU偏置滞后计数器是否超出第一阈值级别。虽然本发明的范围在这方面不受限制,但是,在一个实施例中,此第一阈值级别可以被设置为给定计数值,在某些实施例中,该值可以设置为2。还可以判断为其作出更大的GPU功率的确定的帧的数量(在一个实施例中,可以等于GPU偏置计数器值)是否超出帧的第一阈值百分比。在一个实施例中,百分比可以在分析的帧的数量的大致55%和65%之间。如此,如果GPU偏置计数器超出阈值级别并且大于分析的帧的预定的百分比指出需要更大的图形域功率,则控制进入框165,在那里,可以朝图形域增大功率偏置值。虽然是利用该多次判断描述的,但是,在其他实施例中,可以只执行这些判断中的一次(例如,需要将计数与阈值或指出更大的功率消耗级别的帧的百分比进行比较)。
在某些实施例中,可以提供对此功率偏置值的可变增长量。然而,为便于实现,在其他实施例中,可以实现的固定的增大值。在特定实施例中,增大可以以百分比表示,并可以对应于,例如,在大致1-2%之间。注意,此功率偏置值可以是配置寄存器,例如,存在于PCU中的允许PCU在不同的域之间动态地分配功率预算的配置寄存器。在某些实施例中,由于图形域是CPU域活动的主要消费者,因此,此偏置值可以被设置为大致80-90%之间的初始水平,以有利于图形域,这意味着,对于在图形域和CPU域之间分配的功率预算,对应于功率偏置值的给定百分比可以被分配给图形域。
如果相反在菱形160判断GPU偏置滞后计数器不超出GPU(第一)阈值并且寻求更大的GPU功率的帧的数量不超出帧的第一阈值数量,则控制进入菱形170,在那里,可以判断CPU偏置滞后计数器是否超出第二阈值级别(在不同的实施例中,该值与第一阈值级别相同或不同),为其作出更大的CPU功率的确定的帧的数量(在一个实施例中,可以等于CPU偏置计数器值)是否超过帧的第二阈值百分比(在不同的实施例中,可以与帧的第一阈值百分比相同或不同)。如果这两个判断是肯定的,则控制进入框175,在那里,可以朝核域增大功率偏置值。否则,对于此组帧,方法结束,而不必对功率偏置值进行任何调整。尽管在图1的实施例以这样高级别地表示,然而要理解本发明的范围不限于此方面。例如,在其他实施例中,提供滞后的度量或对功率偏置值减少调整的某些技术可以不存在。如此,在其他实施例中,可以消除滞后计数器、防护频带分析、时间窗口判断以及帧分析的百分比中的一项或多项。
作为判断的示例,假设已经消逝了11个帧,其中六个指出需要更多CPU功率,五个指出较少(如此,CPU偏置计数器等于6,GPU偏置计数器等于5)。还假设两个偏置计数器阈值都被设置为2,百分比阈值被设置为60%。在这些情况下,偏置值没有发生变化,尽管两个滞后计数器都越过两个帧阈值。这样做以减少最佳偏置点周围的振荡。
现在参照图2,其中示出了根据本发明一实施例的处理器的一部分的框图。如图2所示,处理器200可以包括内核模式驱动程序210。更具体而言,此驱动程序可被配置成图形域的设备驱动程序,如此,将图形域与在处理器上执行的OS连接。可以看出,驱动程序210可以包括功率节省逻辑215,该功率节省逻辑215可以包括各种组件,以分析处理器性能的不同的度量(更具体而言,关于图形域),在可能时,实现功率节省。
在所示出的实施例中,功率节省逻辑215可以包括动态频率逻辑216,该动态频率逻辑216可以被用来基于由图形域执行的工作负荷,确定最佳核和互连频率。如此,可以看出,逻辑216可以输出核域和互连域两者的频率的上限值。
如图2的实施例所示,可以向PCU 230提供这些值,PCU 230可以包括各种硬件、软件和/或固件以响应于来自功率节省逻辑215的输入以及基于其他输入,诸如由OS指示的各种操作模式,执行功率管理操作。
在图2中进一步可以看出,功率节省逻辑215还可以包括根据本发明的一个实施例的智能偏置控制(IBC)逻辑218。一般而言,逻辑218可以根据上文的图1的算法操作,以控制功率偏置值,该功率偏置值可以被传递到PCU 230。如此,此功率偏置值向PCU指出,核域和图形域之间的共享的功率预算如何将被共享。
仍参考图2,注意,可以响应于各种输入,执行在功率节省逻辑内执行的操作,包括由动态频率逻辑216执行的频率分析和由IBC逻辑218执行的功率偏置分析。更具体而言,如图2所示,功率节省逻辑215(以及如此,其构成逻辑216和218)可以接收来自处理器内的若干个位置的输入。在所示实施例中,这些位置可以包括核机器特有寄存器(MSR)220、非核或系统代理MSR 222、PCU寄存器224,在一个实施例中,它们可以使用存储器映射的IO(MMIO)寄存器,以及图形寄存器226来实现。
可以接收各种类型的信息,包括,例如,来自核MSR 220的各种计数器值。在一个实施例中,这些计数器值可以包括时间戳计数器(TSC)值,以及其他基于时间的计数器值,诸如实际计数(ACNT)和最大计数(MCNT)。例如,这些值的比率可以指出评估间隔内的平均频率。可以从系统代理MSR 222接收各种平台信息,诸如存储器利用率、L3缓存利用率/命中/漏失计数器,等等,并用于估计环形繁忙度。从PCU寄存器224接收到的信息又可以包括各种熔断值,诸如操作的最大频率等等。另外,还可以提供诸如CPU、图形和互连域之类的各种域操作所处的当前频率。最后,GPU寄存器226可以提供活动计数及表示图形域的繁忙度的其他信息。然后,IBC逻辑可以使用关于实际平台行为/繁忙度的全部此数据来计算最佳功率偏置值。
对于PCU 230,基于为CPU域和互连域标识的上限,以及请求的功率偏置(对应于确定的功率偏置值),可以确定要分配给核域和图形域的功率的合适的混合。基于此判断,PCU 230可以为这些独立域设置合适的电压和频率组合。如此,如图2所示,PCU 230可以输出电压和频率值。这些值可以被,例如,域、时钟发生器、电压调节器等等的内部控制逻辑用来以指示的级别操作。虽然在图2的实施例中以此高级别示出的,但是,可以理解,本发明的范围在这方面不受限制。即,尽管图2所示出的示例是关于IBC在内核模式驱动程序内执行,但是,可以理解,在其他实施例中,这样的控制可以在PCU本身内实现或作为处理器内的其他位置处的逻辑门。
现在参照图3,其中示出了根据本发明一实施例的处理器的框图。如图3所示,处理器300可以是多核处理器,包括核域310中的多个核310a-310n。在一个实施例中,每个这样的核都可以是独立功率域并可被配置成在独立电压和/或频率下工作,并当存在可用净空时进入超频模式,或可以作为单独的域,均匀地控制核。如在图3中进一步示出的那样,一个或多个GPU 3120-312n可以存在于图形域312中。这些独立图形引擎中的每一个都还可以被配置成在独立电压和/或频率下操作,或可以作为单个域来一起控制它们。这些各个计算元件可经由互连315耦合到系统代理或非核部分320,非核部分320包括各个组件。如所见那样,非核320可包括共享的缓存330,它可以是最末级缓存。另外,非核可包括集成的存储器控制器340、各种接口350和功率控制单元355。
在各实施例中,功率控制单元355可以包括功率共享逻辑359,该逻辑可以是在处理器的多个独立域之间执行可用功率预算的动态控制和重新分配的逻辑。在图3的实施例中,功率共享逻辑359可以包括IBC逻辑357,以在核域310和图形域312之间动态地设置功率偏置值,例如,基于这些组件的繁忙度以及互连315的繁忙度。为此,PCU 355可以包括各种寄存器或其他存储,两者都存储功率偏置值,以及存储有关核频率和互连频率的上限,如由IBC逻辑或PCU的其他这样的逻辑确定的。虽然在图3的实施例中在此位置示出,但是,可以理解,本发明的范围在这方面不受限制,此逻辑的存储可以位于其他位置。
进一步参见图3,处理器300可经由例如存储器总线与系统存储器360通信。另外,通过接口350可对诸如外围设备、海量存储器等多种芯片外组件作出连接。虽然在图3的实施例中示出具有该特定实现,但本发明的范围不限于此方面。
现在参照图4,其中示出了根据本发明另一实施例的多域处理器的框图。如图4的实施例所示,处理器400包括多个域。具体地说,核域410可包括多个核4100–410n,图形域420可包括一个或多个图形引擎,并且可进一步存在系统代理域450。在各实施例中,系统代理域450可在所有时间保持加电以应对功率控制事件和功率管理,以使这些域410和420可被控制以动态地进入和退出低功率状态。另外,这些域可以至少部分地基于根据本发明的一个实施例确定的功率偏置值,在它们之间动态地共享功率预算。每个域410、420可工作在不同电压和/或功率下。
注意,尽管仅示出了三个域,然而要理解本发明的范围不限于这个方面并且其它实施例中可存在附加的域。例如,可存在多核域,其每一个包括至少一个核。如此,可以实现对可以以给定的频率执行的处理器核的量的更精细粒度的控制。
一般地说,除了各执行单元和附加的处理元件外,每个核410可进一步包括低级缓存。进而,各核可彼此耦合并耦合至由末级缓存(LLC)4400–440n的多个单元形成的共享缓存存储器。在各实施例中,LLC 440可在核和图形引擎以及多种媒体处理电路之中共享。可以看出,环形互连430因此将各个核耦合在一起,并且提供各个核、图形域420和系统代理电路系统450之间的互连。
在图4的实施例中,系统代理域450可以包括显示控制器452,其可以提供对相关联的显示器的控制和接口。进一步可以看出,根据本发明的一个实施例,系统代理域450可以包括功率控制单元455,该功率控制单元455可包括功率共享逻辑559。在各实施例中,此逻辑可以执行诸如图1所示出的算法,如此动态地在核域和图形域之间共享可用的封装功率预算。
如图4中进一步所见的,处理器400可进一步包括集成的存储器控制器(IMC)470,它可向例如动态随机存取存储器(DRAM)之类的系统存储器提供接口。可存在多个接口4800–480n以允许处理器和其它电路之间的互连。例如,在一个实施例中,可提供至少一个直接媒体接口(DMI)接口以及一个或多个高速外设组件互连(PCI ExpressTM(PCIeTM))接口。再进一步,为了提供诸如附加处理器或其它电路的其它代理之间的通信,根据快速通道互连(QPI)协议的一个或多个接口也可被提供。尽管在图4的实施例以这样高级别地表示,然而要理解本发明的范围不限于此方面。
参考图5,示出了包括多个核的处理器的实施例。处理器1100包括任何处理器或处理器件,诸如微处理器、嵌入式处理器、数字信号处理器(DSP)、网络处理器、手持式处理器、应用处理器、协同处理器、片上系统(SOC)、或用于执行代码的其它器件。在一个实施例中,处理器1100包括至少两个核——核1101和1102,它们可包括非对称核或对称核(所示实施例)。然而,处理器1100可包括可以是对称的或非对称的任何数量的处理元件。
在一个实施例中,处理元件指的是用于支持软件线程的硬件或逻辑。硬件处理元件的示例包括:线程单元、线程槽、线程、进程单元、上下文、上下文单元、逻辑处理器、硬件线程、核、和/或能保持处理器的诸如执行状态或架构状态之类的状态的任何其它元件。换言之,在一个实施例中,处理元件指的是能够与诸如软件线程、操作系统、应用、或其它代码之类的代码独立地相关联的任何硬件。物理处理器通常指的是集成电路,其可能包括任意数量的诸如核或硬件线程之类的其它处理元件。
核通常指的是位于集成电路上的能够维持独立架构状态的逻辑,其中每个独立维持的架构状态与至少某些专用执行资源相关联。与核相反,硬件线程通常指的是位于集成电路上的能维持独立架构状态的任何逻辑,其中独立维持的架构状态共享对执行资源的访问。可以看出,当某些资源是共享的而其它资源是架构状态专用时,硬件线程与核的术语之间的界线交叠。核和硬件线程常常被操作系统视为单个逻辑处理器,其中,操作系统能够各个地在每一个逻辑处理器上调度操作。
如图5所示的物理处理器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中,也可复制用于线程1101a和1101b的其它较小资源,诸如指令指针以及分配器和重命名块1130中的重命名逻辑。诸如重排序器/隐退单元1135中的重排序缓冲器、ILTB 1120、载入/存储缓冲器、以及队列之类的一些资源可通过分区来共享。诸如通用内部寄存器、页表基本寄存器、低级数据缓存和数据TLB 1115、执行单元1140、以及无序单元1135的部分之类的其它资源潜在地被完全共享。
处理器1100通常包括其它资源,这些其它资源可被完全共享、通过分区共享、或由处理元件专用/专用于处理元件。在图5中,示出了具有处理器的说明性的逻辑单元/资源的纯示例性处理器的实施例。注意,处理器可包括或省略这些功能单元中的任一个,并包括未描绘出的任何其它已知的功能单元、逻辑或固件。如图所示,核1101包括简化的、代表性的无序(OOO)处理器核。但是,在不同实施例中可利用有序处理器。OOO核包括用于预测要被执行/进行的分支的分支目标缓冲器1120以及用于存储指令的地址转换条目的指令转换缓冲器(I-TLB)1120。
核1101进一步包括耦合至获取单元1120以用于解码所获取的元素的解码模块1125。在一个实施例中,获取逻辑包括分别与线程槽1101a、1101b相关联的各个序列发生器。通常,核1101与第一ISA相关联,该第一ISA定义/指定能在处理器1100上执行的指令。是第一ISA的一部分的机器代码指令常常包括引用/指定要被执行的指令或操作的指令的一部分(被称为操作码)。解码逻辑1125包括由这些指令的操作码来识别这些指令并在流水线上传递所解码的指令以进行如第一ISA所定义的处理的电路。例如,在一个实施例中,解码器1125包括被设计成或适于识别诸如事务性指令之类的特定指令的逻辑。作为解码器1125识别的结果,架构或核1101采取特定的、预定的动作以执行与适当指令相关联的任务。重要的是应注意,本申请中描述的任务、块、操作和方法中的任一个可响应于单个或多个指令来执行;它们中的一些可以是新的或旧的指令。
在一个示例中,分配器和重命名器块1130包括用于预留资源的分配器,诸如用于存储指令处理结果的寄存器组。然而,线程1101a和1101b潜在地能够进行无序执行,其中分配器和重命名器块1130还保留其它资源(诸如用于跟踪指令结果的重排序缓冲器)。单元1130还可包括寄存器重命名器,用于将程序/指令引用寄存器重命名为处理器1100内部的其它寄存器。重排序/隐退单元1135包括诸如上述的重排序缓冲器、加载缓冲器和存储缓冲器之类的组件,以支持无序执行的指令的无序执行和稍后的有序隐退。
在一个实施例中,调度器和执行单元块1140包括调度器单元,用于在执行单元上调度指令/操作。例如,在具有可用的浮点执行单元的执行单元的端口上调度浮点指令。还包括与执行单元相关联的寄存器组,用于存储信息指令处理结果。示例性的执行单元包括浮点执行单元、整数执行单元、跳转执行单元、加载执行单元、存储执行单元以及其它已知的执行单元。
较低级的数据缓存和数据转换缓冲器(D-TLB)1150耦合至执行单元1140。数据缓存用于存储最近使用/操作的元素(诸如数据操作数),这些元素在存储器一致性状态下潜在地被保持。D-TLB用于存储最近的虚拟/线性至物理地址转换。作为特定示例,处理器可包括页表结构,用于将物理存储器分解成多个虚拟页。
在此,核1101和1102共享对较高级或进一步远离的缓存1110的访问,较高级或进一步远离的缓存用于缓存最近获取的元素。注意,较高级或进一步指的是缓存级增加或进一步远离执行单元。在一个实施例中,较高级缓存1110是最后级数据缓存——处理器1100上的存储器层次中的最后级缓存,诸如第二或第三级数据缓存。然而,较高级缓存1110不限于此,因为它可与指令缓存相关联或包括指令缓存。替代地,跟踪缓存——一种类型的指令缓存——可耦合在解码器1125之后,用于存储最近解码的跟踪。
在所描绘的配置中,根据本发明的一个实施例,处理器1100还包括总线接口模块1105和可以执行功率共享控制的功率控制器1160。历史上,控制器1170被包括在处理器1100外部的计算系统中。在该场景中,总线接口1105与处理器1100外部的设备通信,处理器100外部的设备诸如系统存储器1175、芯片组(通常包括存储器控制器中枢以连接到存储器1175以及I/O控制器中枢以连接到外围设备)、存储器控制器中枢、北桥、或其它集成电路。并且在该场景中,总线1105可包括任何已知的互连,诸如多点总线、点对点互连、串行互连、并行总线、一致性(例如缓存一致性)总线、分层协议架构、差分总线以及GTL总线。
存储器1175可专属于处理器1100或与系统中的其它器件共享。存储器1175的类型的常见示例包括DRAM、SRAM、非易失性存储器(NV存储器)以及其它已知的存储设备。注意,器件1180可包括耦合到存储器控制器中枢的图形加速器、处理器或卡,耦合到I/O控制器中枢的数据存储,无线收发器,闪存器件,音频控制器,网络控制器,或其它已知器件。
然而,注意,在所描绘的实施例中,控制器1170被示为处理器1100的一部分。最近,随着更多的逻辑和器件被集成在单个管芯上(如SOC),这些器件中的每一个可被合并在处理器1100上。例如,在一个实施例中,存储器控制器中枢1170与处理器1100处于同一封装和/或管芯上。在此,核的一部分(核上部分,on-core portion)包括与诸如存储器1175和/或图形器件1180之类的其它器件进行接口的一个或多个控制器1170。包括用于与此类器件进行接口的控制器和互连的该配置通常被称为核上(或非核(un-core)配置)。作为示例,总线接口1105包括环形互连,环形互连具有用于与存储器1175进行接口的存储器控制器以及用于与图形处理器1180进行接口的图形控制器。然而,在SOC环境中,诸如网络接口、协同处理器、存储器1175、图形处理器1180以及任何其它已知计算机器件/接口之类的甚至更多的器件可被集成到单个管芯或集成电路上,以提供具有高功能性和低功耗的小外形规格。
实施例可在许多不同的系统类型中实现。现在参照图6,其中示出了根据本发明一实施例的系统的框图。如图6所示,多处理器系统500是点对点互连系统,并包括通过点对点互连550而耦合的第一处理器570和第二处理器580。如图6所示,处理器570和580中的每一个都可以是多核处理器,包括第一和第二处理器核(即,处理器核574a和574b以及处理器核584a和584b),虽然潜在地更多核可以存在于处理器中。处理器中的每一个都可包括PCU或其他逻辑,以如此处所描述的,至少部分地基于功率偏置值,在处理器的多个域之间执行封装功率预算的动态分配。
仍参考图6,第一处理器570还包括存储器控制器中枢(MCH)572和点对点(P-P)接口576和578。类似地,第二处理器580包括MCH 582和P-P接口586和588。如图6所示,MCH 572和582将处理器耦合到相应的存储器,即,存储器532和存储器534,它们可以是本地连接到相应的处理器的系统存储器(例如,DRAM)的一部分。第一处理器570和第二处理器580可分别经由P-P互连552和554耦合至芯片组590。如图6中所示,芯片组590包括P-P接口594和598。
此外,芯片组590包括用于通过P-P互连539将芯片组590与高性能图形引擎538进行耦合的接口592。芯片集590又可以通过接口596耦合到第一总线516。如图6所示,各种输入/输出(I/O)设备514以及总线桥接器518可以耦合到第一总线516,总线桥接器518将第一总线516耦合到第二总线520。在一个实施例中,各种设备可耦合到第二总线520,包括例如键盘/鼠标522、通信设备526以及数据存储单元528,如可包括代码530的盘驱动程序或其他大容量存储设备。进一步地,音频I/O 524可以耦合到第二总线520。各实施例可以被合并到其他类型的系统中,包括诸如智能蜂窝电话、UltrabookTM、平板计算机、上网本等等之类的移动设备。
实施例可以代码的形式实现,而且可存储在其上存储有可用于对系统编程以执行这些指令的非临时存储介质上。存储介质可包括但不限于:包括软盘、光盘、固态驱动程序(SSD)、压缩盘只读存储器(CD-ROM)、可重写压缩盘(CD-RW)以及磁光盘的任何类型的磁盘;诸如只读存储器(ROM)、诸如动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)之类的随机存取存储器(RAM)、可擦写可编程只读存储器(EPROM)、闪存、电可擦写可编程只读存储器(EEPROM)之类的半导体器件;磁卡或光卡,或适合于存储电子指令的任何其他类型的介质。
尽管是参考数量有限的实施例来描述本发明的,但是,那些精通本技术的人将从其中理解很多修改和变体。所附权利要求旨在覆盖落入本发明的真实精神和范围中的所有这些修改和变化。
Claims (20)
1.一种处理器,包括:
具有第一计算引擎的第一域;
具有第二计算引擎的第二域,所述第一和第二计算引擎是不对称的,所述第一和第二域中的每一个都在独立电压和频率下操作;
第一装置,用于至少部分地基于所述第二域的繁忙度,更新用于控制所述第一和第二域之间的功率的动态分配的功率偏置值;以及
第二装置,用于至少部分地基于所述功率偏置值,动态地在所述第一和第二域之间分配所述多域处理器的功率预算的至少一部分。
2.如权利要求1所述的处理器,其特征在于,所述第二域是消费者域,而所述第一域是生产者域,所述第一计算引擎是核,而所述第二计算引擎是图形引擎。
3.如权利要求1所述的处理器,其特征在于,所述第一装置包括第一域计数器和第二域计数器,其中所述第一装置将基于所述第一域的频率是否基本上在所述第一域的目标频率的周围,更新所述第一和第二域计数器中的一个。
4.如权利要求3所述的处理器,其特征在于,所述第一装置用于基于所述第二域的繁忙度,确定所述目标频率。
5.如权利要求4所述的处理器,其特征在于,所述第一装置用于进一步基于耦合所述第一和第二域的互连域的繁忙度,确定所述目标频率。
6.如权利要求3所述的处理器,其特征在于,当所述第一域的所述频率在所述目标频率的阈值内时,所述第一装置用于更新所述第二域计数器,当所述第一域频率不在所述目标频率的所述阈值内时,用于更新所述第一域计数器。
7.如权利要求6所述的处理器,其特征在于,如果自从对所述功率偏置值的最后一次更新以来过去了阈值时间段,所述第一装置用于将所述第二域计数器与第二阈值进行比较。
8.如权利要求7所述的处理器,其特征在于,当所述第二域计数器大于所述第二阈值时,所述第一装置用于调整所述功率偏置值,以有利于所述第二域。
9.一种系统,包括:
多核处理器,所述多核处理器具有包括多个核的第一域、包括至少一个图形引擎的第二域、以及包括系统代理电路的第三域,所述第三域在固定功率预算下操作,并包括控制功率向所述第一和第二域的递送的功率控制器,以及用于动态地确定功率偏置值以指出在所述第一和第二域之间的所述功率输送的偏置并将所述功率偏置值传递到所述功率控制器的功率偏置装置;以及
耦合到所述多核处理器的动态随机存取存储器(DRAM)。
10.如权利要求9所述的系统,其特征在于,所述功率偏置装置用于响应于所述第二域的繁忙度和耦合所述第一和第二域的互连域的繁忙度,确定所述功率偏置值。
11.如权利要求10所述的系统,其特征在于,所述功率偏置装置用于基于所述互连域繁忙度和所述第二域繁忙度,设置所述第一域的目标频率。
12.如权利要求11所述的系统,其特征在于,所述功率偏置装置用于将所述目标频率传递到所述功率控制器,所述功率控制器将所述目标频率存储在最大频率寄存器中,并将所述第一域的频率限制到所述目标频率。
13.如权利要求12所述的系统,其特征在于,当所述第一域的频率在所述目标频率的阈值内时,所述功率偏置装置用于更新第二计数器。
14.如权利要求13所述的系统,其特征在于,当所述第一域频率不在所述目标频率的所述阈值内时,所述功率偏置装置用于更新第一计数器。
15.如权利要求14所述的系统,其特征在于,当所述第二计数器大于第二阈值时,所述功率偏置装置用于调整所述功率偏置值,以有利于所述第二域,当所述第一计数器大于第一阈值时,调整所述功率偏置值,以有利于所述第一域。
16.如权利要求15所述的系统,其特征在于,如果自从对所述功率偏置值的最后一次更新以来过去了阈值时间段,则所述功率偏置装置用于将所述第一和第二计数器中的一个与所述第一和第二阈值中的所述对应的一个进行比较。
17.如权利要求10所述的系统,其特征在于,所述功率控制器将进一步控制向至少第四域的功率递送,所述第一、第二和第四域各自包括至少一个异构计算元件。
18.一种方法,包括:
在处理器的第一逻辑中,基于所述处理器的图形域的活动级别和所述处理器的互连域的活动级别,确定所述处理器的核域的目标频率;
判断在评估间隔内所述核域是否在所述目标频率的阈值级别内操作;
基于所述判断,更新第一计数器和第二计数器中的一个;以及
基于所述第一和第二计数器中的至少一个,调整功率偏置值,其中所述功率偏置值指出功率预算的要被分配给所述核域和所述图形域中的一个的一部分。
19.如权利要求18所述的方法,其特征在于,进一步包括向所述处理器的功率控制器提供所述目标频率,其中所述功率控制器将所述核域的频率限制到所述目标频率。
20.如权利要求18所述的方法,其特征在于,进一步包括在第一时段,对于由所述图形域呈现的每一个图形帧,执行所述目标频率确定和所述第一和第二计数器中的至少一个的所述更新,在所述第一时间段之后,调整所述功率偏置值。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/621,478 | 2012-09-17 | ||
US13/621,478 US9342122B2 (en) | 2012-09-17 | 2012-09-17 | Distributing power to heterogeneous compute elements of a processor |
PCT/US2013/048654 WO2014042749A1 (en) | 2012-09-17 | 2013-06-28 | Distributing power to heterogenous compute elements of a processor |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104583896A true CN104583896A (zh) | 2015-04-29 |
CN104583896B CN104583896B (zh) | 2018-04-27 |
Family
ID=50275751
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380044085.7A Active CN104583896B (zh) | 2012-09-17 | 2013-06-28 | 向处理器的异构计算元件分配功率 |
Country Status (4)
Country | Link |
---|---|
US (2) | US9342122B2 (zh) |
CN (1) | CN104583896B (zh) |
GB (1) | GB2518568B (zh) |
WO (1) | WO2014042749A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109791427A (zh) * | 2016-09-30 | 2019-05-21 | 英特尔公司 | 使用滑动平均值的处理器电压控制 |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
US10025361B2 (en) * | 2014-06-05 | 2018-07-17 | Advanced Micro Devices, Inc. | Power management across heterogeneous processing units |
US10620687B2 (en) | 2014-12-22 | 2020-04-14 | Intel Corporation | Hybrid power management approach |
US10101786B2 (en) | 2014-12-22 | 2018-10-16 | Intel Corporation | Holistic global performance and power management |
US9811143B2 (en) * | 2014-12-23 | 2017-11-07 | Intel Corporation | Systems and methods for dynamic spatial power steering |
CN107408056B (zh) * | 2015-03-26 | 2021-01-05 | 华为技术有限公司 | 用于动态循环-处理器映射的调度设备和方法 |
US9760160B2 (en) * | 2015-05-27 | 2017-09-12 | Intel Corporation | Controlling performance states of processing engines of a processor |
KR102451156B1 (ko) | 2015-12-09 | 2022-10-06 | 삼성전자주식회사 | 메모리 모듈 내에서 랭크 인터리빙 동작을 갖는 반도체 메모리 장치 |
US10725929B2 (en) | 2017-04-10 | 2020-07-28 | Intel Corporation | Graphics memory extended with nonvolatile memory |
WO2019117962A1 (en) * | 2017-12-15 | 2019-06-20 | Intel Corporation | Power control circuitry |
KR102482896B1 (ko) | 2017-12-28 | 2022-12-30 | 삼성전자주식회사 | 이종 휘발성 메모리 칩들을 포함하는 메모리 장치 및 이를 포함하는 전자 장치 |
US11586478B2 (en) | 2018-08-21 | 2023-02-21 | International Business Machines Corporation | Swarm-based resource management |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070083779A1 (en) * | 2005-10-07 | 2007-04-12 | Renesas Technology Corp. | Semiconductor integrated circuit device and power consumption control device |
CN101079148A (zh) * | 2006-05-22 | 2007-11-28 | 程国亮 | 基于“多核”处理器的多用户3d图形加速终端的实现方法 |
US20090100277A1 (en) * | 2007-10-16 | 2009-04-16 | Asustek Computer Inc. | Electrical power sharing circuit |
CN101526934A (zh) * | 2009-04-21 | 2009-09-09 | 浪潮电子信息产业股份有限公司 | 一种gpu与cpu复合处理器的组建方法 |
Family Cites Families (66)
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 |
US7191349B2 (en) | 2002-12-26 | 2007-03-13 | Intel Corporation | Mechanism for processor power state aware distribution of lowest priority interrupt |
US6971033B2 (en) | 2003-01-10 | 2005-11-29 | Broadcom Corporation | Method and apparatus for improving bus master performance |
JP2006518064A (ja) | 2003-01-23 | 2006-08-03 | ユニバーシティー オブ ロチェスター | マルチクロックドメインを有するマイクロプロセッサ |
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 |
US7421601B2 (en) | 2006-02-17 | 2008-09-02 | International Business Machines Corporation | Method and system for controlling power in a chip through a power-performance monitor and control unit |
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 |
US20080028246A1 (en) * | 2006-07-31 | 2008-01-31 | Witham Timothy D | Self-monitoring and self-adjusting power consumption computer control system |
US7930564B2 (en) | 2006-07-31 | 2011-04-19 | Intel Corporation | System and method for controlling processor low power states |
US7730340B2 (en) | 2007-02-16 | 2010-06-01 | Intel Corporation | Method and apparatus for dynamic voltage and frequency scaling |
WO2008117133A1 (en) | 2007-03-26 | 2008-10-02 | 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 | 엘지전자 주식회사 | 전원관리 제어 장치 및 방법 |
US8156362B2 (en) | 2008-03-11 | 2012-04-10 | Globalfoundries Inc. | Hardware monitoring and decision making for transitioning in and out of low-power state |
US8199158B2 (en) | 2008-06-11 | 2012-06-12 | Intel Corporation | Performance allocation method and apparatus |
US8954977B2 (en) | 2008-12-09 | 2015-02-10 | Intel Corporation | Software-based thread remapping for power savings |
US8310492B2 (en) | 2009-09-03 | 2012-11-13 | Ati Technologies Ulc | Hardware-based scheduling of GPU work |
EP2494454A4 (en) | 2009-10-30 | 2013-05-15 | Intel Corp | TWO-WAY COMMUNICATION SUPPORT FOR HETEROGENIC PROCESSORS ENERGY COMPUTER PLATFORM |
US8700943B2 (en) | 2009-12-22 | 2014-04-15 | Intel Corporation | Controlling time stamp counter (TSC) offsets for mulitple cores and threads |
-
2012
- 2012-09-17 US US13/621,478 patent/US9342122B2/en not_active Expired - Fee Related
-
2013
- 2013-03-04 US US13/783,986 patent/US9335804B2/en active Active
- 2013-06-28 GB GB1500873.3A patent/GB2518568B/en active Active
- 2013-06-28 CN CN201380044085.7A patent/CN104583896B/zh active Active
- 2013-06-28 WO PCT/US2013/048654 patent/WO2014042749A1/en active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070083779A1 (en) * | 2005-10-07 | 2007-04-12 | Renesas Technology Corp. | Semiconductor integrated circuit device and power consumption control device |
CN101079148A (zh) * | 2006-05-22 | 2007-11-28 | 程国亮 | 基于“多核”处理器的多用户3d图形加速终端的实现方法 |
US20090100277A1 (en) * | 2007-10-16 | 2009-04-16 | Asustek Computer Inc. | Electrical power sharing circuit |
CN101526934A (zh) * | 2009-04-21 | 2009-09-09 | 浪潮电子信息产业股份有限公司 | 一种gpu与cpu复合处理器的组建方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109791427A (zh) * | 2016-09-30 | 2019-05-21 | 英特尔公司 | 使用滑动平均值的处理器电压控制 |
CN109791427B (zh) * | 2016-09-30 | 2023-09-08 | 英特尔公司 | 使用滑动平均值的处理器电压控制 |
Also Published As
Publication number | Publication date |
---|---|
GB2518568B (en) | 2020-09-23 |
US20140082380A1 (en) | 2014-03-20 |
US20140082378A1 (en) | 2014-03-20 |
GB201500873D0 (en) | 2015-03-04 |
GB2518568A (en) | 2015-03-25 |
CN104583896B (zh) | 2018-04-27 |
WO2014042749A1 (en) | 2014-03-20 |
US9342122B2 (en) | 2016-05-17 |
US9335804B2 (en) | 2016-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104583896A (zh) | 向处理器的异构计算元件分配功率 | |
US10613876B2 (en) | Methods and apparatuses for controlling thread contention | |
TWI628539B (zh) | 在多核心處理器中執行電源管理 | |
KR101476568B1 (ko) | 코어 마다의 전압 및 주파수 제어 제공 | |
US9904346B2 (en) | Methods and apparatus to improve turbo performance for events handling | |
US10203741B2 (en) | Configuring power management functionality in a processor | |
CN104169832B (zh) | 提供处理器的能源高效的超频操作 | |
CN104115093A (zh) | 包括多个处理元件之间的功率和性能平衡的用于能效和节能的方法、装置和系统 | |
CN105183128A (zh) | 强制处理器进入低功率状态 | |
CN107250946A (zh) | 执行对平台装置的动态功率控制 | |
DE112017004361T5 (de) | Steuern eines leistungszustands eines prozessors unter verwendung einer kombination von package- und thread-hinweis-informationen | |
US20220058029A1 (en) | Energy-efficient core voltage selection apparatus and method | |
DE102020130910A1 (de) | System, vorrichtung und verfahren für dynamische energiezustandsskalierung eines spannungsreglers für einen prozessor | |
DE102020127742A1 (de) | System, vorrichtung und verfahren für eine global bewusste reaktive lokale leistungssteuerung in einem prozessor | |
US10860083B2 (en) | System, apparatus and method for collective power control of multiple intellectual property agents and a shared power rail | |
CN112306215A (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 |