CN101458558B - 将处理器封装转换到低功率状态 - Google Patents

将处理器封装转换到低功率状态 Download PDF

Info

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
Application number
CN2008101871625A
Other languages
English (en)
Other versions
CN101458558A (zh
Inventor
J·宋
Q·刁
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 CN101458558A publication Critical patent/CN101458558A/zh
Application granted granted Critical
Publication of CN101458558B publication Critical patent/CN101458558B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/329Power saving characterised by the action undertaken by task scheduling
    • 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

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 ( Y t + h = y | y 1 : t ) = Σ x P ( Y t + h = y | X t + h = x ) P ( X t + h = x | y 1 : t ) [等式6]
在等式右边,我们用固定滞后平滑算法(即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)。传递的计算与在平滑处理中类似。唯一的不同之处在于,预测步中新观察的初始值为空,这意味着
Figure GSB00000403888200081
通过在直到当前时间的所有迹象上执行回顾的数据同化加上预测算法估计y1:T+h=[y1:TyT+1…yT+h]的值。在实践中,我们考虑使用前面的步作为先验数据,例如,如果h=1,则yT+1=(yT-1+yT)/2,而非yT+1=null。
表1示出预测算法的伪代码。
表1
Figure GSB00000403888200083
表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、
Figure GSB00000403888200084
和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计算推导量;然后用
Figure GSB00000403888200091
计算平滑器增益矩阵;最后,用众所周知的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
Figure GSB00000403888200121
现参考图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
Figure GSB00000403888200141
虽然本文中描述了作为基于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所述的系统,其中在所述封装低功率状态期间,所述多个核的所有都将处于低功率状态,而在所述封装活动状态期间,所述核的至少一些将处于活动状态,且其中所述操作间隔的所述第一和第二部分是相邻的且共同地从所述操作间隔的开始扩展至结束。
CN2008101871625A 2007-12-10 2008-12-10 将处理器封装转换到低功率状态 Expired - Fee Related CN101458558B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5163153A (en) * 1989-06-12 1992-11-10 Grid Systems Corporation Low-power, standby mode computer
US5522087A (en) * 1994-03-22 1996-05-28 Verifone Inc. System for selectively operating in different modes depending upon receiving signal from a host computer within a time window upon power up
US5590341A (en) * 1994-09-30 1996-12-31 Intel Corporation Method and apparatus for reducing power consumption in a computer system using ready delay
US5621250A (en) * 1995-07-31 1997-04-15 Ford Motor Company Wake-up interface and method for awakening an automotive electronics module
US5931950A (en) * 1997-06-17 1999-08-03 Pc-Tel, Inc. Wake-up-on-ring power conservation for host signal processing communication system
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

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