CN101458558B - 将处理器封装转换到低功率状态 - Google Patents
将处理器封装转换到低功率状态 Download PDFInfo
- Publication number
- CN101458558B CN101458558B CN2008101871625A CN200810187162A CN101458558B CN 101458558 B CN101458558 B CN 101458558B CN 2008101871625 A CN2008101871625 A CN 2008101871625A CN 200810187162 A CN200810187162 A CN 200810187162A CN 101458558 B CN101458558 B CN 101458558B
- Authority
- CN
- China
- Prior art keywords
- encapsulation
- delay
- period
- processor
- low power
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
-
- 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/329—Power saving characterised by the action undertaken by task scheduling
-
- 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
-
- 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
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Abstract
在一个实施例中,控制处理器封装在操作间隔的第一部分处于封装低功率状态,在操作间隔的第二部分处于封装活动状态。为实现低功率状态,延迟第一部分期间调度的操作直到第二部分。描述了其它的实施例并要求其权利。
Description
技术领域
本发明涉及将处理器封装转换到低功率状态。
背景技术
在基于计算机的系统的所有部分中功率(Power)和热管理变得比以前更具挑战性。虽然在服务器领域中,电力成本驱动了低功率系统的需求,在移动系统中电池的寿命和热限也使这些问题具有重大意义。通常使用操作系统(OS)控制硬件元件来优化系统以最少的功率损耗获得最高的性能。大多数现代的OS使用高级配置和电源接口(ACPI)标准,例如2006年10月10号公布的Rev.3.0b,以优化这些领域中的系统。ACPI的实现允许核处于不同的功率节省状态(也称为低功率或空闲状态),这些状态通常称为所谓的C1到Cn状态。对于封装级的功率节省存在类似的封装C状态。
当核活动时,其运行在所谓的C0状态,而当核空闲时,其可置于核低功率状态,即所谓的核非零C状态。核C1状态代表低功率状态,其功率节省最少但能几乎即时开关,而扩展的深度低功率状态(例如C3)代表静态功率损耗可忽略不计的功率状态,但进入这种状态和响应活动(即回到C0)的时间相当长。
封装非零C状态使功率损耗能够处于比封装活动状态(即C0状态)更低的水平。服务器工作负载很少驱使相同封装中的所有核忙,但即使只有一个核是活动的,整个封装(包括所有的空闲的核)必须处于高功率的C0状态。因为封装非零C状态进入/退出反应时间相对较长(例如,大约100到200微秒(μs)),对于所有核为空闲的短暂时间通常不值得使用此状态,否则将发生性能损失。因此OS不能利用封装的更低的功率状态的好处,从而导致封装始终运行在比所需更高的功率状态下。
发明内容
本发明一种将处理器封装转换到低功率状态的方法,包括:
接收关于下一操作间隔的处理器封装的多个核的使用的预测信息;
基于所述预测信息,为所述处理器封装设置所述下一操作间隔期间的延迟期;以及
使所述处理器封装在所述延迟期进入封装低功率状态,之后,使所述处理器封装在所述下一操作间隔的活动期中进入封装活动状态,所述延迟期从所述下一操作间隔的开始扩展到所述活动期的开始。
本发明还提供一种用于将处理器封装转换到低功率状态的设备,包括:
包括多个核的多核处理器以服务任务和中止事件;
耦合到所述多核处理器的监视器以接收关于所述多个核的当前使用周期的使用信息;
耦合到所述监视器的预测器以基于所述使用信息预测下一使用周期中所述多个核中的每个的使用率;以及
耦合到所述预测器的调度程序以接收所述使用率并基于所述使用率的至少一个确定下一使用周期的延迟期,其中所述多个核在所述延迟期将处于空闲。
本发明还提供一种用于将处理器封装转换到低功率状态的物品,包括:
为下一操作间隔确定延迟期的部件,所述延迟期相当于所述下一操作间隔的长度与所述下一操作间隔中服务于操作的时间长度之间的差,所述操作调度给多核处理器中具有最高预测使用率的核;以及
控制所述多核处理器在所述下一操作间隔开始时进入封装低功率状态以及在所述延迟期结束时将所述多核处理器退出所述封装低功率状态进入封装活动状态的部件。
本发明还提供一种用于将处理器封装转换到低功率状态的系统,包括:
处理器封装,包括多个核和至少一个定时器,其中所述处理器封装在操作间隔的第一部分将处于封装低功率状态,在所述操作间隔的第二部分将处于封装活动状态,其中延迟所述第一部分期间为所述多个核调度的操作直到所述第二部分;以及
耦合到所述处理器封装的存储器。
附图说明
图1是根据本发明的一个实施例的系统的部分的框图。
图2是根据本发明的一个实施例的方法的流程图。
图3是根据本发明的一个实施例的预测算法的流程图。
图4是根据本发明的一个实施例的重新调度的方法的流程图。
图5是根据本发明的实施例的调度任务的时序图。
图6是根据本发明的实施例的系统的框图。
具体实施方式
实施例可重新调度/延迟任务,以使得封装的所有核的空闲时间能对齐和扩展。这样,存在更多的机会以使用更大的低功率状态,即更深的非零封装C状态。实施例可以以相对细粒度操作,例如每500微秒(μs),以使得对反应时间敏感的工作负荷性能不会降低。相反,常规的OS调度程序只不过让所有任务时序如它们所设的那样。
在多种实施例中可设定预定间隔,例如500微秒,并且在每个间隔内可延迟中止事件(break event)处理以使相同封装中的核一起空闲和一起忙。此外,忙时间能缝合成连续的(即不被短的空闲分开)以使得能扩展空闲持续期以容纳封装深度非零C状态的长的进入/退出反应时间。如下所述,可生成对未来核使用即对下一操作间隔的预测。接着可执行实时任务重新调度以实现更大的功率节省。注意,本文描述的C状态是针对示例处理器如可从CA的Santa Clara的Intel公司获得的高级架构32(IA-32)处理器,然而实施例同样能用于其它处理器。下面表3中示出的是在一个实施例中可用的封装C状态的示例的指定。然而应理解本发明的范围不局限于这点。
使用常规的调度算法,例如处于15%的系统负荷水平的工作负载,70%的时间封装在C0状态中(这里理论上完美功率节省情况应该是15%)。剩余的30%的时间封装能够进入非零封装C状态,大部分的封装空闲时间不到500μs,这通常这不值得耗费封装C状态进入/退出转换能量以进入深度封装低功率状态。对于示例处理器,假定在封装C0、C1和C3状态中的如下功率损耗水平:
Power(C0)=130瓦特(W)
Power(C1)=28W
Power(C3)=18W
使用常规的调度策略,在此示例中损耗的功率是:
Power(C0)*70%+Power(C1)*30%*52%+Power(C3)*30%*48%=97.96W
[等式1]
相反,实施例可提供更长时期的、更深的低功率状态。例如,与上面的计算相比,根据本发明的实施例能调度处理器以使得活动状态只占时间的20%而更深的低功率状态(如封装C3)占时间的80%。在这种情况下,处理器损耗:
Power(C0)*20%+Power(C3)*80%=40.4W[等式2]
使用本发明的实施例导致功率节省的理论上限可达到57.56W(或58.8%)。
现参照图1,示出的是根据本发明的一个实施例的系统的部分的框图。如图1中所示,系统10可以是诸如桌上型计算机、服务器或膝上型计算机的计算机系统。系统10可包括至少一个处理器封装50和计时器58,处理器封装50包括多核55a和55b(统称核55)。正如下面进一步的描述,计时器58用作看门狗计时器。尽管在图1的实施例中示出的仅有两个这样的核,应理解本发明的范围不局限于这一点,且实施例可用在有很多核的系统中。此外,除了单个封装50,许多实现可适用于如具有多个处理器封装的服务器系统的系统。如图1所示,可将使用信息从核55提供给核使用监视器20。监视器20可以是在监视间隔(如每500μs)期间捕获所有核的中央处理单元(CPU)使用的实时监视器。在一个实施例中,计算使用U的公式如下:
U=未停止的核参考时钟滴答(reference clocktick)的增量(delta)/
时间戳计数器的增量[等式3]
其中未停止的时钟滴答是核活动时发生的时钟滴答,时间戳计数器是在监视间隔内全部处理器周期的时间戳。可将所监视的数据从监视器20提供给预测器30。
预测器30可用于预测未来的核使用。在一个实施例中,可执行计算复杂度0(n)的卡尔曼滤波器算法预测(其中n是同一封装中核的数量),使得预测能实时完成。对于每个预测间隔(如500μs),预测器30可将关于其对核使用的预测的信息提供给OS调度程序40,其可基于使用百分比。
在多种实施例中,OS调度程序40可执行本发明的实施例使处理器封装能转换到更低的功率状态。例如,使用本发明的实施例,可延迟将在多个核55上调度的任务、中断和中止事件以实现更长且更连续的空闲期,其中能将封装50置于更深度的低功率状态。此外,封装50可以较长持续期保持在此所选择的低功率状态。此扩展空闲期结束时(在本文中将其称作延迟期),可激活封装50的多个核以执行任何挂起的任务、中断或可在延迟期内已经缓存的其它中止事件。
因此,基于下一间隔的预测的核使用,在延迟期的持续期内能延迟所有到来的中止事件和任务,在本文中把这段时期称作时间T*(且其在每个操作间隔中可变化)。那段时间之后,将服务所有的中止事件和任务。
因为OS的周期性计时器中断也延迟了,在每个核上可用初始值T*设置看门狗定时器58。注意,虽然在一些实施例中定时器58可能每个核55中出现,但其它实现中仅有单个的封装计时器。此定时器到期后,它将创建不可屏蔽的中断并唤醒对应的核55。然后核55可服务任务和中止事件。在多种实施例中,看门狗定时器到期前,缓存45a和45b可保存接收的所有中断。注意,虽然所示这种缓存耦合在OS调度程序40和封装50之间,但其可与耦合到封装50的多种系统代理联系起来,例如芯片组、输入/输出(I/O)装置、外围设备等。
重新调度任务后所有核都空闲时,通过处理器硬件逻辑可进入低功耗非零封装C状态。虽然在图1的实施例中示出了这种特定的实现,本发明的范围不局限于这一点。在一些实施例中,使用如给定的核55的封装50的电路运行根据本发明的实施例的软件或固件,可全部实现监视器20、预测器30和调度程序40。此外OS调度程序40可以是给定的OS,它适于在使用周期内直到延迟期后以任务原来的时序执行任务的重调度。然而,其它的实施例可在例如给定平台的性能管理单元(PMU)的其它位置中实现。
现参照图2,示出的是根据本发明的一个实施例的方法的流程图。如图2所示,方法100可用于确定处理器封装的空闲状态以及控制处理器封装的操作使其在此空闲期处于低功率状态。
具体地,如图2所示,方法100可开始于接收预测信息(框110)。作为示例,预测信息相当于使用期内封装的每个核的使用率,该使用期可以是相对短的时间期(即500μs)。
不同的实施例中可进行不同的预测。在一个实施例中,可用卡尔曼滤波器模型(KFM)生成预测。KFM用都从属于高斯噪声的线性动态(linear dynamic)和线性观察(linear observation)为部分观察的随机过程建模。它是从一系列不完全的、噪声的测量中估计动态系统的状态的高效递归滤波器。基于KFM,将CPU封装活动视作时间域中离散的实数随机过程的观察,表示为y1:t=(y1...yt),此活动在与封装的核的空闲-忙状态有关的多个预定模式中阐明(例如多个预定的空闲-忙模式的百分比)。该过程的隐藏状态x1:t=(x1...xt)也表示为实数的向量。KFM中线性随机微分方程(different equation)是:
x(t)=Ax(t-1)+w(t-1)p(w)~N(0,Q)x(0)~N(x1|0,V1|0) [等式4]
而测量方程(measurement equation)是:
y(t)=Cx(t)+V(t)p(v)~N(0,R) [等式5]
在微分方程4中,在缺少驱动函数或过程噪声的情况下,nxn转换矩阵A把前面的t-1时间步(time step)的状态与当前步t的状态相联系。在这里n是隐藏状态数。在我们的任务中,m=n是可能的CPU活动状态数。x1|0、V1|0是状态的初始平均值和方差,Q是转换动态噪声的系统协方差,且R是观察噪声的观察协方差。观察函数的转换在所有时间都是相同的,而且认为该模型是时不变的或均匀的。
给定直到当前时间的所有观察,使用KFM能预测未来时间的值。然而,通常我们对未来不确定,因此计算出最佳推测和置信度。因此,计算在可能的未来观察上的概率分布,表示为:P(Yt+h=y|y1:t),其中k>0是界限,即预测未来多远。
给定观察到的值的序列(y1-yt),预测新的观察值就是计算未来一些k>0界限的P(Yt+h=y|y1:t)。等式6是通过边缘化(marginalize out)未来隐藏状态的预测来计算关于未来观察的预测。
在等式右边,我们用固定滞后平滑算法(即P(Xt-L=x|y1:t),L>0,L是滞后)来计算P(Xt+h=x|y1:t)。所以,在深入此算法的细节之前,首先介绍KFM中的固定滞后平滑。
固定滞后卡尔曼平滑器(FLKS)是执行回顾的数据同化的手段。给定直到当前时间的所有迹象(evidence),它估计过去的状态,即P(Xt-L=x|y1:t),L>0,其中L是滞后,例如,给定当前的传感器读数,我们也许想计算出L分钟前管道是否断开。这通常称作“固定滞后平滑”,尽管词语“后见之明(hindsight)”可能更合适。在离线(offline)情况下,这称作(固定间隔)平滑,这相当于计算P(XT-L=x|y1:T),T≥L≥1。
预测算法中,有h次更多的前向和后向传递(pass)。传递的计算与在平滑处理中类似。唯一的不同之处在于,预测步中新观察的初始值为空,这意味着通过在直到当前时间的所有迹象上执行回顾的数据同化加上预测算法估计y1:T+h=[y1:TyT+1…yT+h]的值。在实践中,我们考虑使用前面的步作为先验数据,例如,如果h=1,则yT+1=(yT-1+yT)/2,而非yT+1=null。
表1示出预测算法的伪代码。
表1
表1中,Fwd和Back是抽象的运算符。对于第一个循环(fort=1:T)的每个Fwd(前向传递)运算,我们首先通过xt|t-1=Axt-1|t-1和Vt|t-1=AVt-1|t-1A′+Q计算推导的平均值和方差,然后用errt=yt-Cxt|t-1、St=CVt|t-1C′+R、和Lt=log(N(errt;0,St)分别计算此观察的推导中的误差(新方法)、误差的方差、卡尔曼增益矩阵和条件对数似然;最后,我们用xt|t=xt|t-1+Kterrt和Vt|t=Vt|t-1-KtStK′t更新平均值和方差的估计。
对于第二个循环(for t=T-1:-1:1)的每个Back(后向传递)运算,我们首先用xt+1|t=Axt|t和Vt+1|t=AVt|tA ′+Q计算推导量;然后用计算平滑器增益矩阵;最后,用众所周知的Rauch-Tung-Striebel(RTS)等式xt|T=xt|t+Jt(xt+1|T-xt+1|t)、Vt|T=Vt|t+Jt(Vt+1|T-Vt+1|t)J′t和Vt-1,t|T=Jt-1Vt|T,分别计算平均值、方差和交互方差的估计。
如表1中阐述的计算能够是复杂的,例如在计算Fwd运算符中的卡尔曼增益矩阵和Back运算符中的平滑器增益矩阵时,在T+1步循环中有矩阵求逆。而且计算复杂度将是O(TN3),其中T是历史观察的数量;N是活动状态的数量,因为对于一般的N*N矩阵,用来求解矩阵求逆的高斯消去法导致了O(N3)的复杂度。然而,在多种实施例中能简化算法实现。
如图3所示,其是根据本发明的一个实施例的预测算法150的流程图,能对间隔的预测数计算前向和后向运算(例如,时间片T=1000)(框160)。然后,能缓存前面T步的x和V的中间结果(框170),并且对于新到来的时间片T+1做仅仅一步Fwd更新(框180)。类似地,对于后向传递,使用缓存的前面的T步的中间结果,能计算仅仅一步T+1时间片的Back运算符(框190)。因此,简化后计算复杂度将是O(N3)。此外,N=2N’(N’是同一封装中的核的数量)处理器封装活动状态能分为3个模式:全空闲、全忙和部分空闲,而我们使用这三种模式来描述状态,因此N将仅为3。另一方面,我们简化KFM且用0或1的元素值将A、C、Q、R和初始V设置为对角矩阵,以将算法的运算复杂度减至O(N)。虽然使用此预测算法进行描述,但本发明的实施例不局限于这一点。
回来参照图2,基于此预测信息可设置空闲期(框120)。注意,框110和120可在不同实施例中的多种位置中实现。在一个特定的实施例中,这些框可在OS中实现,例如在OS调度程序中,然而本发明的范围不局限于这一点。
仍然参照图2,接下来可控制处理器封装在空闲期内处于封装低功率状态(框130)。正如下面将进一步讨论的,这种低功率状态可以是比其它情况下可能的更深度的低功率状态。这是因为空闲期能够是从下一使用周期的开始直到活动期的连续时期,活动期相当于下一使用周期长度和空闲期长度之间的差。这种对处理器封装的控制可通过接收OS命令以设置处理器封装进入所选择的低功率状态来实现。然而,在其它实现中,处理器封装自身可基于空闲期的持续期和所有其核最深度的C状态来确定适当的低功率状态。
空闲期结束时,初始化活动期且因此可控制处理器封装以处于封装活动功率状态(框140),例如封装C0状态,然而本发明的范围不局限于这一点。虽然在图2的实施例中示出这种特定的实现,但本发明的范围不局限于这一点。
现参照图4,示出的是根据本发明的一个实施例的重新调度的方法的流程图。如图4所示,通过OS调度程序可实现方法300以接收使用预测信息并重新调度封装上的活动使延迟期能够实现,使得在延迟期的持续期内封装能进入低功率状态,且在很多实现中能进入深度低功率状态。
如图4所示,方法300可开始于接收预测的核使用信息(框310)。更具体地,在多种实施例中对于封装的每个核,如图1中的预测器30的预测器可将预测的核使用提供给OS调度程序。在一些实施例中,对于封装的每个核,此预测可以是核使用值U_coreX。在一个这样的实施例中,此使用值可相当于百分比,指示下一操作间隔内预测核处于活动状态的时间的预测的百分比。然而本发明的范围不局限于这一点。例如,在其它的实现中,百分比信息可以是下一间隔的预测的核状态的模式分布。这种模式分布可广泛地变化,取决于支持的低功率状态的数量、以及给定的核的数量和预测期的长度等等。举例来说,模式分布能包括三种不同的空闲-活动状态模式,然而可提供更多的或更少的这些模式,例如,在给定的活动水平上粒度可随核的数量变化。
下一步,可识别预测的使用率最高的核且可设置最大使用率U_max等于此预测的值(框320)。此外,基于此预测的最大的使用率可设置延迟期T*。例如,针对下个操作间隔(NOI),可设置T*等于NOIx(100%-U_max),其中U_max表示为百分比。
仍然参考图4,在下个间隔的开始(即在下个500μs周期的开始),每个核上可停止所有的任务处理和中止事件的服务(框330)。此外,可在每个封装上设置看门狗定时器的时间等于延迟期T*(框340)。然后封装的核可为空闲(框350)。这样,此时可将封装置于封装低功率状态中,例如封装C1状态,然而假定延迟期是针对扩展的且确定的时间,能将封装置于更深度的低功率状态如封装C3状态,然而本发明的范围不局限于这一点。例如,在基于核使用信息的其它实现中,如果延迟时间设置的比给定的阀值更长(例如,500μs间隔的20%),可进入更深度的封装低功率状态如封装C6或C7状态。于是,延迟期的时间内,封装可停留在这种低功率状态,因此能实现可配置的且更深度的功率节省。
因此直到封装看门狗定时器到期,这种低功率状态可保持有效(框360)。此时,封装可从其低功率状态转换到活动的C0状态。然后在每个核上,可取回已缓冲的任何中止事件(框370)。例如,在其中封装处于空闲状态的延迟期内,与封装耦合的一个或更多装置可能已经缓存指定到封装的中止事件。因此,在唤醒单个核时,可取回这些中止事件。于是,框380中,中止事件可按其原来的时序得到服务。也就是说,中止事件可根据其缓存的顺序得到服务(例如,基于先进先出)。在任何中止事件的服务后,为核调度的任何任务可根据其原来的时序执行。也就是说,在处理中止事件后,可根据其原来的时序的顺序处理为每个核调度的任何任务。虽然图4的实施例中示出了这种特定的实现,本发明的范围不局限于这一点,且在封装上可实现任务以及中止事件的延迟处理的其他方式以能够实现相对长的、连续的空闲期,其中封装能置于封装低功率状态。
与上述实施例相反,使用常规OS调度程序,立即服务任务和中止事件,导致核和封装频繁进入和退出空闲状态。因为最小空闲期不允许使用长反应时间的和低功率的深度封装C状态,仅能使用封装C1状态。而且常规OS调度程序核的忙时间是不重叠的,导致即使只有单个核是忙的,封装也要停留在C0状态。假设使用500μs时期的常规调度,花费在封装C0状态的总时间是125μs,而在封装C1状态的总时间是375μs。然而使用本发明的实施例,预测10%的第一核的使用以及15%的第二核的使用,则最大的核的使用(U_max)是15%。因此,确定的延迟期T*可设置如下:
T*=间隔时间x(100%-U_max) [等式7]
其中U_max表示为百分比(即15%表示为15)。在这种情况下,T*=500*(100%-15%)=425μs,且在接下来的500μs中,封装将得到425μs的连续的空闲时间,它能够实现使如封装C3状态的更深度的低功率状态。其后425μs的看门狗定时器到期后,封装返回C0状态且每个核将以其原来的时序处理所有的任务和中止事件。表2以15%系统负荷水平为例,示出示例处理器的功率规格及使用常规调度和根据本发明的一个实施例的功率损耗。
表2
现参考图5,示出根据常规OS调度算法和根据本发明的一个实施例调度封装的多核上的任务的时序图。如图5所示,假定处理器封装中有第一核A和第二核B。调度A相当于常规的调度。可相当于500μs的活动间隔的初始时间持续期410中,两个核可处于空闲状态(用虚线表示),因此封装可置于封装C1状态。也就是说,尽管两个核都是空闲的,因为两个核即将进行任务调度,进入更大的低功率状态需要的等待时间超过其益处。因此,只将封装置于封装C1状态。然后如所示在时间420的开始,封装转换至活动的C0状态,因为从那个时间往前,两个核之中至少一个是忙的(活动状态用实线表示),其执行任务或其它操作。
相反,关于根据本发明的实施例调度的调度B,在操作间隔的开始时提供与时间持续期430相当的延迟期。因为此延迟期430的扩展持续期可以是425μs,封装可置于更深度的低功率状态,例如封装C3状态(或甚至更深度的C状态),因此能够极大提高功率节省,大约比调度A多60%。在此延迟期430结束之后,封装置于活动状态,因此,在操作间隔的剩余持续期中,封装在时间持续期440中处于封装C0状态。虽然没有在图5中示出,应理解在此活动期个别的核可进入核低功率状态(例如核C状态)。例如,在活动期开始时,所有的核可处于活动状态,且当完成任务和中止事件时,个别的核能进入核低功率状态。因此,在此特定的示例中,其中存在15%的负荷水平,当实现比常规的调度多60%的功率节省时没有产生性能影响。因此实施例能改进处理器功率损耗并且没有性能影响。
出于示例的目的,下面的表3示出了封装C状态和它们的描述,以及这些状态下的估计功率损耗,以具有130瓦特(W)的热量设计功率(TDP)的示例处理器作为参照。当然,应理解,这只是个示例,实施例不局限于这一点。
表3
虽然本文中描述了作为基于OS的调度的实施例,但它不局限于这一点。即,在其他的实现中,软件、固件或硬件可适用在封装的基础上或在系统中别的位置(例如电源管理单元(PMU)),以在操作间隔内能够实现任务的动态调度,使得在每个操作间隔内可实现扩展的、连续的空闲期,从而在封装的基础上提高进入扩展的且更深度的低功率状态的能力。此外,虽然如图5所示在操作间隔开始时提供延迟期,但本发明的范围不局限于这一点且在其他的实现中可预先执行处理,接着是延迟期。
可以以许多不同的系统类型实现实施例。现参照图6,示出的是根据本发明的一个实施例的系统的框图。如图6所示,多处理器系统500是点对点互连系统,且包括通过点对点互连550耦合的第一处理器570和第二处理器580。如图6所示,处理器570和580分别可以是多核处理器,包括第一和第二处理器核(即,处理器核574a和574b以及处理器核584a和584b),然而处理器中可出现额外的核。可控制处理器570和580分别处于更低的封装C*状态,因为能确定和设定延迟期T*。根据本发明的实施例,每个处理器还可包括硬件、软件、固件或其组合以能够实现检测使用,以及生成和使用预测信息从而能够确定下一个操作间隔的延迟期。
仍参照图6,第一处理器570还包括存储器控制器中心(MCH)572和点到点(P-P)接口576和578。相似地,第二处理器580包括MCH582和P-P接口586和588。如图2所示,MCH 572和582将处理器耦合到各自的存储器,即存储器532和存储器534,其可以是本地附连到各自的处理器的主存储器(例如,动态随机访问存储器(DRAM))的一部分。分别通过P-P连接552和554可将第一处理器570和第二处理器580耦合到芯片组590。如图6所示,芯片组590包括P-P接口594和598。
此外,芯片组590包括接口592以通过P-P连接539耦合芯片组590和高性能图形引擎538。芯片组590又通过接口596可耦合到第一总线516。如图6所示,多种I/0装置514可耦合到第一总线516,以及将第一总线516耦合到第二总线520的总线桥518。多种装置可耦合到第二总线520,例如在一个实施例中,多种装置包括键盘/鼠标522、通信装置526和数据存储单元528(如磁盘驱动器或可包括代码530的其它大容量存储装置)。此外,音频I/O 524可耦合到第二总线520。
实施例可在代码中实现且可存储在已经在其上存储了指令的存储介质中,所述指令能够用来编程系统以执行所述指令。存储介质可包括但不限制于,任何类型的磁盘,包括软盘、光盘、只读光盘(CD-ROMs)、可重写光盘(CD-RWs)、和磁光盘,半导体装置,例如只读存储器(ROMs)、随机存取存储器(RAMs)(如动态随机存取存储器(DRAMs)和静态随机存取存储器(SRAMs))、可擦除可编程只读存储器(EPROMs)、闪存、电可擦除可编程只读存储器(EEPROMs)、磁卡或光卡、或适合用来存储电指令的其他类型的介质。
虽然本发明是参照有限数量的实施例描述的,但是本领域技术人员将因此领会到多种修改和变化。所附权利要求旨在涵盖属于本发明的实质和范围的所有此类修改和变化。
Claims (1)
1.一种将处理器封装转换到低功率状态的方法,包括:
接收关于下一操作间隔的处理器封装的多个核的使用的预测信息;
基于所述预测信息,为所述处理器封装设置所述下一操作间隔期间的延迟期,其中在所述延迟期期间所述处理器封装对到来的中止事件和任务进行延迟;以及
使所述处理器封装在所述延迟期进入封装低功率状态,之后,使所述处理器封装在所述下一操作间隔的活动期中进入封装活动状态,所述延迟期从所述下一操作间隔的开始扩展到所述活动期的开始。
2. 如权利要求1所述的方法,还包括初始化所述处理器封装的定时器为所述延迟期的长度,以及当所述定时器超时时开始所述活动期。
3. 如权利要求2所述的方法,还包括接收所述预测信息以及在操作系统(OS)中设置所述延迟期并将所述延迟期的值从所述OS传送到所述处理器封装以初始化所述定时器。
4. 如权利要求1所述的方法,其中所述活动期相当于足以执行调度给所述多个核中具有最大预测使用的核的任务和中止事件的持续期。
5. 如权利要求4所述的方法,其中所述延迟期相当于NOI x (100%-Umax),其中NOI相当于所述下一操作间隔,以及Umax是所述最大预测使用。
6. 如权利要求4所述的方法,其中所述活动期和所述延迟期分别是连续的时间持续期。
7. 如权利要求4所述的方法,还包括在所述活动期开始后从所述处理器封装外部的缓存中取回所述中止事件。
8. 如权利要求7所述的方法,还包括服务所述中止事件以及之后服务所述任务,其中按照由所述延迟期延迟的原来的调度来服务所述中止事件和所述任务。
9. 如权利要求1所述的方法,其中在所述延迟期内所述处理器封装的所有核都处于空闲状态,以及在所述活动期的至少第一部分内所有核都处于活动状态。
10. 一种用于将处理器封装转换到低功率状态的设备,包括:
包括多个核的多核处理器以服务任务和中止事件;
耦合到所述多核处理器的监视器以接收关于所述多个核的当前使用周期的使用信息;
耦合到所述监视器的预测器以基于所述使用信息预测下一使用周期中所述多个核中的每个的使用率;以及
耦合到所述预测器的调度器以接收所述使用率并基于所述使用率的至少一个确定下一使用周期的延迟期,其中所述多个核在所述延迟期将处于空闲,且中止事件将从所述延迟期延迟到活动期,所述延迟期从所述下一使用周期的开始扩展到所述活动期的开始。
11. 如权利要求10所述的设备,其中所述多核处理器包括定时器以控制所述延迟期,以及所述多核处理器在所述延迟期内将处于封装低功率状态。
12. 如权利要求11所述的设备,其中所述多核处理器在所述延迟期后将进入活动期,其中所述活动期相当于足以执行调度给所述多个核中具有最大预测使用的核的任务和中止事件的持续期,以及其中所述活动期和所述延迟期分别是连续的时间持续期。
13. 如权利要求12所述的设备,其中所述延迟期相当于NUC x (100%-Umax),其中NUC相当于所述下一使用周期,以及Umax是所述最大预测使用。
14. 如权利要求12所述的设备,其中所述多核处理器在进入所述活动期后将从所述多核处理器外部的缓存中取回所述中止事件。
15. 如权利要求12所述的设备,其中所述调度器从所述延迟期内到所述活动期内将为多个任务重调度原来的时序。
16. 如权利要求15所述的设备,其中所述多核处理器将根据所述原来的时序在所述活动期内执行所述多个任务。
17. 一种用于将处理器封装转换到低功率状态的物品,包括:
为下一操作间隔确定延迟期的部件,所述延迟期相当于所述下一操作间隔的长度与所述下一操作间隔中服务于操作的时间长度之间的差,所述操作调度给多核处理器中具有最高预测使用率的核,所述延迟期从所述下一操作间隔的开始扩展到活动期的开始,其中在所述延迟期期间,到来的中止事件和任务被所述处理器封装延迟;以及
控制所述多核处理器在所述下一操作间隔开始时进入封装低功率状态以及在所述延迟期结束时将所述多核处理器退出所述封装低功率状态进入封装活动状态的部件。
18. 如权利要求17所述的物品,还包括接收相当于关于核的预测的预测值的部件;以及将所述延迟期的值从操作系统传送到所述多核处理器以初始化所述多核处理器的定时器的部件。
19. 如权利要求17所述的物品,其中所述延迟期相当于NOI x (100%-Umax),其中NOI相当于所述下一操作间隔,以及Umax是所述最高预测使用率。
20. 如权利要求19所述的物品,还包括:在所述延迟期之后从所述多核处理器外部的缓存中取回中止事件的部件;以及服务所述中止事件以及之后服务调度给所述多核处理器的任务的部件,其中所述中止事件和所述任务按照由所述延迟期延迟的原来的调度来服务。
21. 一种用于将处理器封装转换到低功率状态的系统,包括:
处理器封装,包括多个核和至少一个定时器,其中所述处理器封装在操作间隔的第一部分将处于封装低功率状态,在所述操作间隔的第二部分将处于封装活动状态,其中延迟所述第一部分期间为所述多个核调度的操作直到所述第二部分,所述封装低功率状态从所述操作间隔的开始扩展到所述封装活动状态的开始;以及
耦合到所述处理器封装的存储器,
其中至少一个定时器将由操作系统(OS)调度器设置为所述第一部分的长度。
22. 如权利要求21所述系统,其中所述处理器封装将响应所述至少一个定时器而退出所述封装低功率状态。
23. 如权利要求22所述的系统,其中所述OS调度器将基于所述处理器封装的在所述操作间隔内具有最高预测使用率的核的预测值确定所述第一部分的长度,其中所述第一部分的长度相当于所述操作间隔的长度和第二部分的长度之间的差。
24. 如权利要求21所述的系统,其中在所述封装低功率状态期间,所述多个核的所有都将处于低功率状态,而在所述封装活动状态期间,所述核的至少一些将处于活动状态,且其中所述操作间隔的所述第一和第二部分是相邻的且共同地从所述操作间隔的开始扩展至结束。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/001,186 | 2007-12-10 | ||
US12/001,186 US20090150696A1 (en) | 2007-12-10 | 2007-12-10 | Transitioning a processor package to a low power state |
US12/001186 | 2007-12-10 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101458558A CN101458558A (zh) | 2009-06-17 |
CN101458558B true CN101458558B (zh) | 2013-10-30 |
Family
ID=40467257
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008101871625A Expired - Fee Related CN101458558B (zh) | 2007-12-10 | 2008-12-10 | 将处理器封装转换到低功率状态 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20090150696A1 (zh) |
EP (1) | EP2073097B1 (zh) |
CN (1) | CN101458558B (zh) |
Families Citing this family (166)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8799687B2 (en) | 2005-12-30 | 2014-08-05 | Intel Corporation | Method, apparatus, and system for energy efficiency and energy conservation including optimizing C-state selection under variable wakeup rates |
US8024590B2 (en) * | 2007-12-10 | 2011-09-20 | Intel Corporation | Predicting future power level states for processor cores |
US8615647B2 (en) | 2008-02-29 | 2013-12-24 | Intel Corporation | Migrating execution of thread between cores of different instruction set architecture in multi-core processor and transitioning each core to respective on / off power state |
US8156362B2 (en) * | 2008-03-11 | 2012-04-10 | Globalfoundries Inc. | Hardware monitoring and decision making for transitioning in and out of low-power state |
US8028185B2 (en) * | 2008-03-11 | 2011-09-27 | Globalfoundries Inc. | Protocol for transitioning in and out of zero-power state |
US8112648B2 (en) * | 2008-03-11 | 2012-02-07 | Globalfoundries Inc. | Enhanced control of CPU parking and thread rescheduling for maximizing the benefits of low-power state |
US8112647B2 (en) * | 2008-08-27 | 2012-02-07 | Globalfoundries Inc. | Protocol for power state determination and demotion |
US9052904B1 (en) * | 2008-09-05 | 2015-06-09 | Symantec Corporation | System and method for determining whether to reschedule malware scans based on power-availability information for a power grid and power-usage information for the scans |
US8612998B2 (en) * | 2010-09-23 | 2013-12-17 | Intel Corporation | Coordinating device and application break events for platform power saving |
US8566628B2 (en) * | 2009-05-06 | 2013-10-22 | Advanced Micro Devices, Inc. | North-bridge to south-bridge protocol for placing processor in low power state |
US8527796B2 (en) | 2009-08-24 | 2013-09-03 | Intel Corporation | Providing adaptive frequency control for a processor using utilization information |
US20110112798A1 (en) * | 2009-11-06 | 2011-05-12 | Alexander Branover | Controlling performance/power by frequency control of the responding node |
US9128705B2 (en) | 2009-12-16 | 2015-09-08 | Qualcomm Incorporated | System and method for controlling central processing unit power with reduced frequency oscillations |
US9104411B2 (en) | 2009-12-16 | 2015-08-11 | Qualcomm Incorporated | System and method for controlling central processing unit power with guaranteed transient deadlines |
US9176572B2 (en) | 2009-12-16 | 2015-11-03 | Qualcomm Incorporated | System and method for controlling central processing unit power with guaranteed transient deadlines |
US8689037B2 (en) * | 2009-12-16 | 2014-04-01 | Qualcomm Incorporated | System and method for asynchronously and independently controlling core clocks in a multicore central processing unit |
US20110145559A1 (en) * | 2009-12-16 | 2011-06-16 | Thomson Steven S | System and method for controlling central processing unit power with guaranteed steady state deadlines |
US8650426B2 (en) | 2009-12-16 | 2014-02-11 | Qualcomm Incorporated | System and method for controlling central processing unit power in a virtualized system |
US9563250B2 (en) * | 2009-12-16 | 2017-02-07 | Qualcomm Incorporated | System and method for controlling central processing unit power based on inferred workload parallelism |
US8909962B2 (en) | 2009-12-16 | 2014-12-09 | Qualcomm Incorporated | System and method for controlling central processing unit power with guaranteed transient deadlines |
US8775830B2 (en) | 2009-12-16 | 2014-07-08 | Qualcomm Incorporated | System and method for dynamically controlling a plurality of cores in a multicore central processing unit based on temperature |
US8464035B2 (en) * | 2009-12-18 | 2013-06-11 | Intel Corporation | Instruction for enabling a processor wait state |
US8887171B2 (en) * | 2009-12-28 | 2014-11-11 | Intel Corporation | Mechanisms to avoid inefficient core hopping and provide hardware assisted low-power state selection |
CN102822768A (zh) * | 2010-03-23 | 2012-12-12 | 索尼公司 | 通过从处理器性能管理系统掩蔽处理来减少功耗 |
JP5438212B2 (ja) * | 2010-04-30 | 2014-03-12 | 富士通株式会社 | 情報処理装置及び消費電力管理プログラム |
US20110289332A1 (en) * | 2010-05-24 | 2011-11-24 | Advanced Micro Devices, Inc. | Method and apparatus for power management in a multi-processor system |
US8504854B2 (en) | 2010-06-21 | 2013-08-06 | Advanced Micro Devices, Inc. | Managing multiple operating points for stable virtual frequencies |
US8943334B2 (en) | 2010-09-23 | 2015-01-27 | Intel Corporation | Providing per core voltage and frequency control |
US9026829B2 (en) | 2010-09-25 | 2015-05-05 | Intel Corporation | Package level power state optimization |
US9261949B2 (en) | 2010-10-29 | 2016-02-16 | Advanced Micro Devices, Inc. | Method for adaptive performance optimization of the soc |
US8380860B2 (en) * | 2010-11-09 | 2013-02-19 | International Business Machines Corporation | Reducing carbon footprint and providing power savings in session initiated protocol conferencing |
US20120159123A1 (en) * | 2010-12-17 | 2012-06-21 | Advanced Micro Devices, Inc. | Cstate boost method and apparatus |
US9069555B2 (en) | 2011-03-21 | 2015-06-30 | Intel Corporation | Managing power consumption in a multi-core processor |
US8793515B2 (en) | 2011-06-27 | 2014-07-29 | Intel Corporation | Increasing power efficiency of turbo mode operation in a processor |
US8769316B2 (en) | 2011-09-06 | 2014-07-01 | Intel Corporation | Dynamically allocating a power budget over multiple domains of a processor |
US8688883B2 (en) | 2011-09-08 | 2014-04-01 | Intel Corporation | Increasing turbo mode residency of a processor |
US8914650B2 (en) | 2011-09-28 | 2014-12-16 | Intel Corporation | Dynamically adjusting power of non-core processor circuitry including buffer circuitry |
US9074947B2 (en) | 2011-09-28 | 2015-07-07 | Intel Corporation | Estimating temperature of a processor core in a low power state without thermal sensor information |
US8954770B2 (en) | 2011-09-28 | 2015-02-10 | Intel Corporation | Controlling temperature of multiple domains of a multi-domain processor using a cross domain margin |
WO2013057769A1 (ja) * | 2011-10-20 | 2013-04-25 | 富士通株式会社 | 情報処理装置、情報処理装置の制御方法および制御プログラム |
US9026815B2 (en) | 2011-10-27 | 2015-05-05 | Intel Corporation | Controlling operating frequency of a core domain via a non-core domain of a multi-domain processor |
US8832478B2 (en) | 2011-10-27 | 2014-09-09 | Intel Corporation | Enabling a non-core domain to control memory bandwidth in a processor |
US9158693B2 (en) | 2011-10-31 | 2015-10-13 | Intel Corporation | Dynamically controlling cache size to maximize energy efficiency |
US8943340B2 (en) | 2011-10-31 | 2015-01-27 | Intel Corporation | Controlling a turbo mode frequency of a processor |
WO2013077890A1 (en) * | 2011-11-22 | 2013-05-30 | Intel Corporation | Collaborative processor and system performance and power management |
CN103218032B (zh) * | 2011-11-29 | 2017-07-14 | 英特尔公司 | 利用相对能量损益平衡时间的功率管理 |
US8862909B2 (en) | 2011-12-02 | 2014-10-14 | Advanced Micro Devices, Inc. | System and method for determining a power estimate for an I/O controller based on monitored activity levels and adjusting power limit of processing units by comparing the power estimate with an assigned power limit for the I/O controller |
US8972763B2 (en) | 2011-12-05 | 2015-03-03 | Intel Corporation | Method, apparatus, and system for energy efficiency and energy conservation including determining an optimal power state of the apparatus based on residency time of non-core domains in a power saving state |
US9239611B2 (en) | 2011-12-05 | 2016-01-19 | Intel Corporation | Method, apparatus, and system for energy efficiency and energy conservation including balancing power among multi-frequency domains of a processor based on efficiency rating scheme |
US8924758B2 (en) | 2011-12-13 | 2014-12-30 | Advanced Micro Devices, Inc. | Method for SOC performance and power optimization |
US9052901B2 (en) | 2011-12-14 | 2015-06-09 | Intel Corporation | Method, apparatus, and system for energy efficiency and energy conservation including configurable maximum processor current |
US9372524B2 (en) | 2011-12-15 | 2016-06-21 | Intel Corporation | Dynamically modifying a power/performance tradeoff based on processor utilization |
US9098261B2 (en) | 2011-12-15 | 2015-08-04 | Intel Corporation | User level control of power management policies |
WO2013137860A1 (en) | 2012-03-13 | 2013-09-19 | Intel Corporation | Dynamically computing an electrical design point (edp) for a multicore processor |
WO2013137859A1 (en) | 2012-03-13 | 2013-09-19 | Intel Corporation | Providing energy efficient turbo operation of a processor |
US9323316B2 (en) | 2012-03-13 | 2016-04-26 | Intel Corporation | Dynamically controlling interconnect frequency in a processor |
CN104204825B (zh) | 2012-03-30 | 2017-06-27 | 英特尔公司 | 动态测量处理器中的功耗 |
WO2013147914A1 (en) * | 2012-03-31 | 2013-10-03 | Intel Corporation | Controlling power management in micro-servers |
US10185566B2 (en) | 2012-04-27 | 2019-01-22 | Intel Corporation | Migrating tasks between asymmetric computing elements of a multi-core processor |
US8984313B2 (en) | 2012-08-31 | 2015-03-17 | Intel Corporation | Configuring power management functionality in a processor including a plurality of cores by utilizing a register to store a power domain indicator |
US9063727B2 (en) | 2012-08-31 | 2015-06-23 | Intel Corporation | Performing cross-domain thermal control in a processor |
US9032258B2 (en) * | 2012-09-14 | 2015-05-12 | Infineon Technologies Ag | Safety system challenge-and-response using modified watchdog timer |
US9342122B2 (en) | 2012-09-17 | 2016-05-17 | Intel Corporation | Distributing power to heterogeneous compute elements of a processor |
US9423858B2 (en) | 2012-09-27 | 2016-08-23 | Intel Corporation | Sharing power between domains in a processor package using encoded power consumption information from a second domain to calculate an available power budget for a first domain |
US9575543B2 (en) | 2012-11-27 | 2017-02-21 | Intel Corporation | Providing an inter-arrival access timer in a processor |
US9442557B2 (en) * | 2012-11-28 | 2016-09-13 | Advanced Micro Devices, Inc. | Using a linear prediction to configure an idle state of an entity in a computing device |
US9183144B2 (en) | 2012-12-14 | 2015-11-10 | Intel Corporation | Power gating a portion of a cache memory |
US9405351B2 (en) | 2012-12-17 | 2016-08-02 | Intel Corporation | Performing frequency coordination in a multiprocessor system |
US9292468B2 (en) | 2012-12-17 | 2016-03-22 | Intel Corporation | Performing frequency coordination in a multiprocessor system based on response timing optimization |
US10133577B2 (en) | 2012-12-19 | 2018-11-20 | Intel Corporation | Vector mask driven clock gating for power efficiency of a processor |
US9075556B2 (en) | 2012-12-21 | 2015-07-07 | Intel Corporation | Controlling configurable peak performance limits of a processor |
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 |
US9213390B2 (en) * | 2012-12-28 | 2015-12-15 | Intel Corporation | Periodic activity alignment |
US9164565B2 (en) | 2012-12-28 | 2015-10-20 | Intel Corporation | Apparatus and method to manage energy usage of a processor |
US9081577B2 (en) | 2012-12-28 | 2015-07-14 | Intel Corporation | Independent control of processor core retention states |
US9208113B2 (en) * | 2013-01-15 | 2015-12-08 | Apple Inc. | Deferred inter-processor interrupts |
US9329671B2 (en) * | 2013-01-29 | 2016-05-03 | Nvidia Corporation | Power-efficient inter processor communication scheduling |
US9335803B2 (en) | 2013-02-15 | 2016-05-10 | Intel Corporation | Calculating a dynamically changeable maximum operating voltage value for a processor based on a different polynomial equation using a set of coefficient values and a number of current active cores |
US9367114B2 (en) | 2013-03-11 | 2016-06-14 | Intel Corporation | Controlling operating voltage of a processor |
US9354694B2 (en) * | 2013-03-14 | 2016-05-31 | Intel Corporation | Controlling processor consumption using on-off keying having a maximum off time |
US9348400B2 (en) * | 2013-04-15 | 2016-05-24 | Broadcom Corporation | Method for saving power on multi-channel devices |
US9395784B2 (en) | 2013-04-25 | 2016-07-19 | Intel Corporation | Independently controlling frequency of plurality of power domains in a processor system |
US9377841B2 (en) | 2013-05-08 | 2016-06-28 | Intel Corporation | Adaptively limiting a maximum operating frequency in a multicore processor |
US9766685B2 (en) * | 2013-05-15 | 2017-09-19 | Intel Corporation | Controlling power consumption of a processor using interrupt-mediated on-off keying |
US9823719B2 (en) | 2013-05-31 | 2017-11-21 | Intel Corporation | Controlling power delivery to a processor via a bypass |
US9471088B2 (en) | 2013-06-25 | 2016-10-18 | Intel Corporation | Restricting clock signal delivery in a processor |
US9348401B2 (en) | 2013-06-25 | 2016-05-24 | Intel Corporation | Mapping a performance request to an operating frequency in a processor |
US9195292B2 (en) * | 2013-06-26 | 2015-11-24 | Intel Corporation | Controlling reduced power states using platform latency tolerance |
US9348407B2 (en) | 2013-06-27 | 2016-05-24 | Intel Corporation | Method and apparatus for atomic frequency and voltage changes |
CN105247442B (zh) * | 2013-06-28 | 2018-06-08 | 英特尔公司 | 用于管理多部件平台中的活动的技术和系统 |
US9377836B2 (en) | 2013-07-26 | 2016-06-28 | Intel Corporation | Restricting clock signal delivery based on activity in a processor |
US9495001B2 (en) | 2013-08-21 | 2016-11-15 | Intel Corporation | Forcing core low power states in a processor |
US10386900B2 (en) | 2013-09-24 | 2019-08-20 | Intel Corporation | Thread aware power management |
US9405345B2 (en) | 2013-09-27 | 2016-08-02 | Intel Corporation | Constraining processor operation based on power envelope information |
US9594560B2 (en) | 2013-09-27 | 2017-03-14 | Intel Corporation | Estimating scalability value for a specific domain of a multicore processor based on active state residency of the domain, stall duration of the domain, memory bandwidth of the domain, and a plurality of coefficients based on a workload to execute on the domain |
US9494998B2 (en) * | 2013-12-17 | 2016-11-15 | Intel Corporation | Rescheduling workloads to enforce and maintain a duty cycle |
US9459689B2 (en) | 2013-12-23 | 2016-10-04 | Intel Corporation | Dyanamically adapting a voltage of a clock generation circuit |
US9851777B2 (en) | 2014-01-02 | 2017-12-26 | Advanced Micro Devices, Inc. | Power gating based on cache dirtiness |
US9720487B2 (en) | 2014-01-10 | 2017-08-01 | Advanced Micro Devices, Inc. | Predicting power management state duration on a per-process basis and modifying cache size based on the predicted duration |
US9323525B2 (en) | 2014-02-26 | 2016-04-26 | Intel Corporation | Monitoring vector lane duty cycle for dynamic optimization |
US10108454B2 (en) | 2014-03-21 | 2018-10-23 | Intel Corporation | Managing dynamic capacitance using code scheduling |
US9665153B2 (en) | 2014-03-21 | 2017-05-30 | Intel Corporation | Selecting a low power state based on cache flush latency determination |
US10417149B2 (en) | 2014-06-06 | 2019-09-17 | Intel Corporation | Self-aligning a processor duty cycle with interrupts |
US9760158B2 (en) * | 2014-06-06 | 2017-09-12 | Intel Corporation | Forcing a processor into a low power state |
US9507410B2 (en) * | 2014-06-20 | 2016-11-29 | Advanced Micro Devices, Inc. | Decoupled selective implementation of entry and exit prediction for power gating processor components |
US9513689B2 (en) | 2014-06-30 | 2016-12-06 | Intel Corporation | Controlling processor performance scaling based on context |
US9606602B2 (en) | 2014-06-30 | 2017-03-28 | Intel Corporation | Method and apparatus to prevent voltage droop in a computer |
US10114448B2 (en) | 2014-07-02 | 2018-10-30 | Intel Corporation | Autonomous C-state algorithm and computational engine alignment for improved processor power efficiency |
US9575537B2 (en) | 2014-07-25 | 2017-02-21 | Intel Corporation | Adaptive algorithm for thermal throttling of multi-core processors with non-homogeneous performance states |
US9632569B2 (en) | 2014-08-05 | 2017-04-25 | Qualcomm Incorporated | Directed event signaling for multiprocessor systems |
US9760136B2 (en) | 2014-08-15 | 2017-09-12 | Intel Corporation | Controlling temperature of a system memory |
US9671853B2 (en) | 2014-09-12 | 2017-06-06 | Intel Corporation | Processor operating by selecting smaller of requested frequency and an energy performance gain (EPG) frequency |
US10339023B2 (en) | 2014-09-25 | 2019-07-02 | Intel Corporation | Cache-aware adaptive thread scheduling and migration |
US9977477B2 (en) | 2014-09-26 | 2018-05-22 | Intel Corporation | Adapting operating parameters of an input/output (IO) interface circuit of a processor |
US9684360B2 (en) | 2014-10-30 | 2017-06-20 | Intel Corporation | Dynamically controlling power management of an on-die memory of a processor |
US9703358B2 (en) | 2014-11-24 | 2017-07-11 | Intel Corporation | Controlling turbo mode frequency operation in a processor |
US20160147280A1 (en) | 2014-11-26 | 2016-05-26 | Tessil Thomas | Controlling average power limits of a processor |
US10048744B2 (en) | 2014-11-26 | 2018-08-14 | Intel Corporation | Apparatus and method for thermal management in a multi-chip package |
US9710043B2 (en) | 2014-11-26 | 2017-07-18 | Intel Corporation | Controlling a guaranteed frequency of a processor |
US10877530B2 (en) | 2014-12-23 | 2020-12-29 | Intel Corporation | Apparatus and method to provide a thermal parameter report for a multi-chip package |
US20160224098A1 (en) | 2015-01-30 | 2016-08-04 | Alexander Gendler | Communicating via a mailbox interface of a processor |
US9639134B2 (en) | 2015-02-05 | 2017-05-02 | Intel Corporation | Method and apparatus to provide telemetry data to a power controller of a processor |
US10234930B2 (en) | 2015-02-13 | 2019-03-19 | Intel Corporation | Performing power management in a multicore processor |
US9910481B2 (en) | 2015-02-13 | 2018-03-06 | Intel Corporation | Performing power management in a multicore processor |
US9874922B2 (en) | 2015-02-17 | 2018-01-23 | Intel Corporation | Performing dynamic power control of platform devices |
US9842082B2 (en) | 2015-02-27 | 2017-12-12 | Intel Corporation | Dynamically updating logical identifiers of cores of a processor |
US9710054B2 (en) | 2015-02-28 | 2017-07-18 | Intel Corporation | Programmable power management agent |
US9760160B2 (en) | 2015-05-27 | 2017-09-12 | Intel Corporation | Controlling performance states of processing engines of a processor |
US9710041B2 (en) | 2015-07-29 | 2017-07-18 | Intel Corporation | Masking a power state of a core of a processor |
US10001822B2 (en) | 2015-09-22 | 2018-06-19 | Intel Corporation | Integrating a power arbiter in a processor |
US9983644B2 (en) | 2015-11-10 | 2018-05-29 | Intel Corporation | Dynamically updating at least one power management operational parameter pertaining to a turbo mode of a processor for increased performance |
US9892058B2 (en) | 2015-12-16 | 2018-02-13 | Advanced Micro Devices, Inc. | Centrally managed unified shared virtual address space |
US9910470B2 (en) | 2015-12-16 | 2018-03-06 | Intel Corporation | Controlling telemetry data communication in a processor |
US10146286B2 (en) | 2016-01-14 | 2018-12-04 | Intel Corporation | Dynamically updating a power management policy of a processor |
US9965220B2 (en) * | 2016-02-05 | 2018-05-08 | Qualcomm Incorporated | Forced idling of memory subsystems |
CN107132903B (zh) * | 2016-02-29 | 2020-11-13 | 中兴通讯股份有限公司 | 一种节能管理实现方法、装置及网络设备 |
US10289188B2 (en) * | 2016-06-21 | 2019-05-14 | Intel Corporation | Processor having concurrent core and fabric exit from a low power state |
US10324519B2 (en) | 2016-06-23 | 2019-06-18 | Intel Corporation | Controlling forced idle state operation in a processor |
US10281975B2 (en) | 2016-06-23 | 2019-05-07 | Intel Corporation | Processor having accelerated user responsiveness in constrained environment |
US10379596B2 (en) | 2016-08-03 | 2019-08-13 | Intel Corporation | Providing an interface for demotion control information in a processor |
US10379904B2 (en) | 2016-08-31 | 2019-08-13 | Intel Corporation | Controlling a performance state of a processor using a combination of package and thread hint information |
US10423206B2 (en) | 2016-08-31 | 2019-09-24 | Intel Corporation | Processor to pre-empt voltage ramps for exit latency reductions |
US10234920B2 (en) | 2016-08-31 | 2019-03-19 | Intel Corporation | Controlling current consumption of a processor based at least in part on platform capacitance |
US10168758B2 (en) | 2016-09-29 | 2019-01-01 | Intel Corporation | Techniques to enable communication between a processor and voltage regulator |
US10429919B2 (en) | 2017-06-28 | 2019-10-01 | Intel Corporation | System, apparatus and method for loose lock-step redundancy power management |
US10970118B2 (en) | 2017-08-02 | 2021-04-06 | Advanced Micro Devices, Inc. | Shareable FPGA compute engine |
WO2019040054A1 (en) | 2017-08-23 | 2019-02-28 | Intel Corporation | SYSTEM, APPARATUS, AND METHOD FOR ADAPTIVE OPERATING VOLTAGE IN A USER-PROGRAMMED (FPGA) PREDIFFUSED NETWORK |
US20190146567A1 (en) * | 2017-11-10 | 2019-05-16 | Advanced Micro Devices, Inc. | Processor throttling based on accumulated combined current measurements |
US10620266B2 (en) | 2017-11-29 | 2020-04-14 | Intel Corporation | System, apparatus and method for in-field self testing in a diagnostic sleep state |
US10620682B2 (en) | 2017-12-21 | 2020-04-14 | Intel Corporation | System, apparatus and method for processor-external override of hardware performance state control of a processor |
US10620969B2 (en) | 2018-03-27 | 2020-04-14 | Intel Corporation | System, apparatus and method for providing hardware feedback information in a processor |
US10739844B2 (en) | 2018-05-02 | 2020-08-11 | Intel Corporation | System, apparatus and method for optimized throttling of a processor |
US10955899B2 (en) | 2018-06-20 | 2021-03-23 | Intel Corporation | System, apparatus and method for responsive autonomous hardware performance state control of a processor |
US10976801B2 (en) | 2018-09-20 | 2021-04-13 | Intel Corporation | System, apparatus and method for power budget distribution for a plurality of virtual machines to execute on a processor |
US10860083B2 (en) | 2018-09-26 | 2020-12-08 | Intel Corporation | System, apparatus and method for collective power control of multiple intellectual property agents and a shared power rail |
US11656676B2 (en) | 2018-12-12 | 2023-05-23 | Intel Corporation | System, apparatus and method for dynamic thermal distribution of a system on chip |
KR20200101210A (ko) * | 2019-02-19 | 2020-08-27 | 삼성전자주식회사 | 전자 장치 및 프로세서의 동작 주파수를 결정하는 방법 |
US11256657B2 (en) | 2019-03-26 | 2022-02-22 | Intel Corporation | System, apparatus and method for adaptive interconnect routing |
US11442529B2 (en) | 2019-05-15 | 2022-09-13 | Intel Corporation | System, apparatus and method for dynamically controlling current consumption of processing circuits of a processor |
US11422812B2 (en) | 2019-06-25 | 2022-08-23 | Advanced Micro Devices, Inc. | Method and apparatus for efficient programmable instructions in computer systems |
US11698812B2 (en) | 2019-08-29 | 2023-07-11 | Intel Corporation | System, apparatus and method for providing hardware state feedback to an operating system in a heterogeneous processor |
US11366506B2 (en) | 2019-11-22 | 2022-06-21 | Intel Corporation | System, apparatus and method for globally aware reactive local power control in a processor |
US11132201B2 (en) | 2019-12-23 | 2021-09-28 | Intel Corporation | System, apparatus and method for dynamic pipeline stage control of data path dominant circuitry of an integrated circuit |
CN112416368B (zh) * | 2020-11-25 | 2024-01-16 | 中国科学技术大学先进技术研究院 | 缓存部署与任务调度方法、终端和计算机可读存储介质 |
KR20230047823A (ko) * | 2021-10-01 | 2023-04-10 | 삼성전자주식회사 | 시스템 온 칩 및 어플리케이션 프로세서 |
US11921564B2 (en) | 2022-02-28 | 2024-03-05 | Intel Corporation | Saving and restoring configuration and status information with reduced latency |
Family Cites Families (36)
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 |
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 | 엘지전자 주식회사 | 씨피유 클럭 제어 방법 |
US20030061383A1 (en) * | 2001-09-25 | 2003-03-27 | Zilka Anthony M. | Predicting processor inactivity for a controlled transition of power states |
US6996728B2 (en) * | 2002-04-26 | 2006-02-07 | Hewlett-Packard Development Company, L.P. | Managing power consumption based on utilization statistics |
US7051227B2 (en) * | 2002-09-30 | 2006-05-23 | Intel Corporation | Method and apparatus for reducing clock frequency during low workload periods |
US6898689B2 (en) * | 2002-11-15 | 2005-05-24 | Silicon Labs Cp, Inc. | Paging scheme for a microcontroller for extending available register space |
US7043649B2 (en) * | 2002-11-20 | 2006-05-09 | Portalplayer, Inc. | System clock power management for chips with multiple processing modules |
US6971033B2 (en) * | 2003-01-10 | 2005-11-29 | Broadcom Corporation | Method and apparatus for improving bus master performance |
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 |
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 |
US7903116B1 (en) * | 2003-10-27 | 2011-03-08 | Nvidia Corporation | Method, apparatus, and system for adaptive performance level management of a graphics system |
US20070156992A1 (en) * | 2005-12-30 | 2007-07-05 | Intel Corporation | Method and system for optimizing latency of dynamic memory sizing |
US7451333B2 (en) * | 2004-09-03 | 2008-11-11 | Intel Corporation | Coordinating idle state transitions in multi-core processors |
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 |
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 |
US20070106827A1 (en) * | 2005-11-08 | 2007-05-10 | Boatright Bryan D | Centralized interrupt controller |
US7437270B2 (en) * | 2006-03-30 | 2008-10-14 | Intel Corporation | Performance state management |
US7529956B2 (en) * | 2006-07-17 | 2009-05-05 | Microsoft Corporation | Granular reduction in power consumption |
US7930564B2 (en) * | 2006-07-31 | 2011-04-19 | Intel Corporation | System and method for controlling processor low power states |
US7730340B2 (en) * | 2007-02-16 | 2010-06-01 | Intel Corporation | Method and apparatus for dynamic voltage and frequency scaling |
US8024590B2 (en) * | 2007-12-10 | 2011-09-20 | Intel Corporation | Predicting future power level states for processor cores |
US8442697B2 (en) * | 2007-12-18 | 2013-05-14 | Packet Digital | Method and apparatus for on-demand power management |
US20110106282A1 (en) * | 2009-07-23 | 2011-05-05 | Corevalus Systems, Llc | Audio Processing Utilizing a Dedicated CPU Core and a Real Time OS |
US8321705B2 (en) * | 2009-10-13 | 2012-11-27 | Advanced Micro Devices, Inc. | Dynamic table look-up based voltage regulator control |
-
2007
- 2007-12-10 US US12/001,186 patent/US20090150696A1/en not_active Abandoned
-
2008
- 2008-12-09 EP EP08253932.1A patent/EP2073097B1/en active Active
- 2008-12-10 CN CN2008101871625A patent/CN101458558B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
EP2073097A2 (en) | 2009-06-24 |
EP2073097B1 (en) | 2017-01-25 |
EP2073097A3 (en) | 2009-07-29 |
CN101458558A (zh) | 2009-06-17 |
US20090150696A1 (en) | 2009-06-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101458558B (zh) | 将处理器封装转换到低功率状态 | |
US10261559B2 (en) | Predicting future power level states for processor cores | |
CN101495958B (zh) | 用于控制处理器低功率状态的系统和方法 | |
US9268384B2 (en) | Conserving power using predictive modelling and signaling | |
CN102110025B (zh) | 避免无效核跳跃和提供硬件辅助的低功率状态选择的方法和设备 | |
CN101313284B (zh) | 用于提供对处理器状态转换进行检测的方法和装置 | |
CN102171627A (zh) | 对在异构计算系统中执行的应用的调度 | |
CN103597449A (zh) | 操作系统解耦的异构计算 | |
CN101573677A (zh) | 用于数据处理系统中的功率管理的方法和系统 | |
CN104969142A (zh) | 用于以有保证的瞬态最后期限来控制中央处理单元功率的系统和方法 | |
CN104969190B (zh) | 多核心二进制转换任务处理 | |
Goubaa et al. | Scheduling periodic and aperiodic tasks with time, energy harvesting and precedence constraints on multi-core systems | |
CN106063304A (zh) | 用于基于消息的细粒度片上系统功率门控的系统和方法 | |
Shoukourian et al. | Power variation aware configuration adviser for scalable HPC schedulers | |
US20150227138A1 (en) | Method For Energy Demand Management In A Production Flow Line | |
CN104756043A (zh) | 用于以有保证的瞬态最后期限来控制中央处理单元功率的系统和方法 | |
Šimunic et al. | Eventdriven power management | |
CN102385529B (zh) | 多cpu领域移动电子装置与其操作方法 | |
Zhai et al. | An online optimization for dynamic power management | |
US20230315188A1 (en) | Using a hardware-based controller for power state management | |
CN115145709B (zh) | 低碳大数据人工智能方法和医康养生态系统 | |
Yue et al. | A task-specific approach to dynamic device power management for embedded system | |
Sinha | Energy efficient operating systems and software | |
CN102221875A (zh) | 微处理器、操作微处理器的方法以及计算机程序产品 | |
US8798960B1 (en) | Application performance analysis for a multiple processor queuing station |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20131030 Termination date: 20201210 |
|
CF01 | Termination of patent right due to non-payment of annual fee |