首页 / 专利库 / 专利权 / 实施例 / 将处理器封装转换到低功率状态

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

阅读:919发布:2021-04-11

专利汇可以提供将处理器封装转换到低功率状态专利检索,专利查询,专利分析的服务。并且在一个 实施例 中,控制处理器封装在操作间隔的第一部分处于封装低功率状态,在操作间隔的第二部分处于封装活动状态。为实现低功率状态,延迟第一部分期间调度的操作直到第二部分。描述了其它的实施例并要求其权利。,下面是将处理器封装转换到低功率状态专利的具体信息内容。

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所述的系统,其中在所述封装低功率状态期间,所述多个核的所有都将处于低功率状态,而在所述封装活动状态期间,所述核的至少一些将处于活动状态,且其中所述操作间隔的所述第一和第二部分是相邻的且共同地从所述操作间隔的开始扩展至结束。

说明书全文

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

技术领域

[0001] 本发明涉及将处理器封装转换到低功率状态。

背景技术

[0002] 在基于计算机的系统的所有部分中功率(Power)和热管理变得比以前更具挑战性。虽然在服务器领域中,电成本驱动了低功率系统的需求,在移动系统中电池的寿命和热限也使这些问题具有重大意义。通常使用操作系统(OS)控制硬件元件来优化系统以最少的功率损耗获得最高的性能。大多数现代的OS使用高级配置和电源接口(ACPI)标准,例如2006年10月10号公布的Rev.3.0b,以优化这些领域中的系统。ACPI的实现允许核处于不同的功率节省状态(也称为低功率或空闲状态),这些状态通常称为所谓的C1到Cn状态。对于封装级的功率节省存在类似的封装C状态。
[0003] 当核活动时,其运行在所谓的C0状态,而当核空闲时,其可置于核低功率状态,即所谓的核非零C状态。核C1状态代表低功率状态,其功率节省最少但能几乎即时开关,而扩展的深度低功率状态(例如C3)代表静态功率损耗可忽略不计的功率状态,但进入这种状态和响应活动(即回到C0)的时间相当长。
[0004] 封装非零C状态使功率损耗能够处于比封装活动状态(即C0状态)更低的平。服务器工作负载很少驱使相同封装中的所有核忙,但即使只有一个核是活动的,整个封装(包括所有的空闲的核)必须处于高功率的C0状态。因为封装非零C状态进入/退出反应时间相对较长(例如,大约100到200微秒(μs)),对于所有核为空闲的短暂时间通常不值得使用此状态,否则将发生性能损失。因此OS不能利用封装的更低的功率状态的好处,从而导致封装始终运行在比所需更高的功率状态下。

发明内容

[0005] 本发明一种将处理器封装转换到低功率状态的方法,包括:
[0006] 接收关于下一操作间隔的处理器封装的多个核的使用的预测信息;
[0007] 基于所述预测信息,为所述处理器封装设置所述下一操作间隔期间的延迟期;以及
[0008] 使所述处理器封装在所述延迟期进入封装低功率状态,之后,使所述处理器封装在所述下一操作间隔的活动期中进入封装活动状态,所述延迟期从所述下一操作间隔的开始扩展到所述活动期的开始。
[0009] 本发明还提供一种用于将处理器封装转换到低功率状态的设备,包括:
[0010] 包括多个核的多核处理器以服务任务和中止事件;
[0011] 耦合到所述多核处理器的监视器以接收关于所述多个核的当前使用周期的使用信息;
[0012] 耦合到所述监视器的预测器以基于所述使用信息预测下一使用周期中所述多个核中的每个的使用率;以及
[0013] 耦合到所述预测器的调度程序以接收所述使用率并基于所述使用率的至少一个确定下一使用周期的延迟期,其中所述多个核在所述延迟期将处于空闲。
[0014] 本发明还提供一种用于将处理器封装转换到低功率状态的物品,包括:
[0015] 为下一操作间隔确定延迟期的部件,所述延迟期相当于所述下一操作间隔的长度与所述下一操作间隔中服务于操作的时间长度之间的差,所述操作调度给多核处理器中具有最高预测使用率的核;以及
[0016] 控制所述多核处理器在所述下一操作间隔开始时进入封装低功率状态以及在所述延迟期结束时将所述多核处理器退出所述封装低功率状态进入封装活动状态的部件。
[0017] 本发明还提供一种用于将处理器封装转换到低功率状态的系统,包括:
[0018] 处理器封装,包括多个核和至少一个定时器,其中所述处理器封装在操作间隔的第一部分将处于封装低功率状态,在所述操作间隔的第二部分将处于封装活动状态,其中延迟所述第一部分期间为所述多个核调度的操作直到所述第二部分;以及
[0019] 耦合到所述处理器封装的存储器附图说明
[0020] 图1是根据本发明的一个实施例的系统的部分的框图
[0021] 图2是根据本发明的一个实施例的方法的流程图
[0022] 图3是根据本发明的一个实施例的预测算法的流程图。
[0023] 图4是根据本发明的一个实施例的重新调度的方法的流程图。
[0024] 图5是根据本发明的实施例的调度任务的时序图。
[0025] 图6是根据本发明的实施例的系统的框图。

具体实施方式

[0026] 实施例可重新调度/延迟任务,以使得封装的所有核的空闲时间能对齐和扩展。这样,存在更多的机会以使用更大的低功率状态,即更深的非零封装C状态。实施例可以以相对细粒度操作,例如每500微秒(μs),以使得对反应时间敏感的工作负荷性能不会降低。相反,常规的OS调度程序只不过让所有任务时序如它们所设的那样。
[0027] 在多种实施例中可设定预定间隔,例如500微秒,并且在每个间隔内可延迟中止事件(break event)处理以使相同封装中的核一起空闲和一起忙。此外,忙时间能缝合成连续的(即不被短的空闲分开)以使得能扩展空闲持续期以容纳封装深度非零C状态的长的进入/退出反应时间。如下所述,可生成对未来核使用即对下一操作间隔的预测。接着可执行实时任务重新调度以实现更大的功率节省。注意,本文描述的C状态是针对示例处理器如可从CA的Santa Clara的Intel公司获得的高级 架构32(IA-32)处理器,然而实施例同样能用于其它处理器。下面表3中示出的是在一个实施例中可用的封装C状态的示例的指定。然而应理解本发明的范围不局限于这点。
[0028] 使用常规的调度算法,例如处于15%的系统负荷水平的工作负载,70%的时间封装在C0状态中(这里理论上完美功率节省情况应该是15%)。剩余的30%的时间封装能够进入非零封装C状态,大部分的封装空闲时间不到500μs,这通常这不值得耗费封装C状态进入/退出转换能量以进入深度封装低功率状态。对于示例处理器,假定在封装C0、C1和C3状态中的如下功率损耗水平:
[0029] Power(C0)=130瓦特(W)
[0030] Power(C1)=28W
[0031] Power(C3)=18W
[0032] 使用常规的调度策略,在此示例中损耗的功率是:
[0033] Power(C0)*70%+Power(C1)*30%*52%+Power(C3)*30%*48%=97.96W[0034] [等式1]
[0035] 相反,实施例可提供更长时期的、更深的低功率状态。例如,与上面的计算相比,根据本发明的实施例能调度处理器以使得活动状态只占时间的20%而更深的低功率状态(如封装C3)占时间的80%。在这种情况下,处理器损耗:
[0036] Power(C0)*20%+Power(C3)*80%=40.4W[等式2]
[0037] 使用本发明的实施例导致功率节省的理论上限可达到57.56W(或58.8%)。
[0038] 现参照图1,示出的是根据本发明的一个实施例的系统的部分的框图。如图1中所示,系统10可以是诸如桌上型计算机、服务器或膝上型计算机的计算机系统。系统10可包括至少一个处理器封装50和计时器58,处理器封装50包括多核55a和55b(统称核55)。正如下面进一步的描述,计时器58用作看狗计时器。尽管在图1的实施例中示出的仅有两个这样的核,应理解本发明的范围不局限于这一点,且实施例可用在有很多核的系统中。此外,除了单个封装50,许多实现可适用于如具有多个处理器封装的服务器系统的系统。如图1所示,可将使用信息从核55提供给核使用监视器20。监视器20可以是在监视间隔(如每500μs)期间捕获所有核的中央处理单元(CPU)使用的实时监视器。在一个实施例中,计算使用U的公式如下:
[0039] U=未停止的核参考时钟滴答(reference clocktick)的增量(delta)/
[0040] 时间戳计数器的增量[等式3]
[0041] 其中未停止的时钟滴答是核活动时发生的时钟滴答,时间戳计数器是在监视间隔内全部处理器周期的时间戳。可将所监视的数据从监视器20提供给预测器30。
[0042] 预测器30可用于预测未来的核使用。在一个实施例中,可执行计算复杂度0(n)的卡尔曼滤波器算法预测(其中n是同一封装中核的数量),使得预测能实时完成。对于每个预测间隔(如500μs),预测器30可将关于其对核使用的预测的信息提供给OS调度程序40,其可基于使用百分比。
[0043] 在多种实施例中,OS调度程序40可执行本发明的实施例使处理器封装能转换到更低的功率状态。例如,使用本发明的实施例,可延迟将在多个核55上调度的任务、中断和中止事件以实现更长且更连续的空闲期,其中能将封装50置于更深度的低功率状态。此外,封装50可以较长持续期保持在此所选择的低功率状态。此扩展空闲期结束时(在本文中将其称作延迟期),可激活封装50的多个核以执行任何挂起的任务、中断或可在延迟期内已经缓存的其它中止事件。
[0044] 因此,基于下一间隔的预测的核使用,在延迟期的持续期内能延迟所有到来的中*止事件和任务,在本文中把这段时期称作时间T(且其在每个操作间隔中可变化)。那段时间之后,将服务所有的中止事件和任务。
[0045] 因为OS的周期性计时器中断也延迟了,在每个核上可用初始值T*设置看门狗定时器58。注意,虽然在一些实施例中定时器58可能每个核55中出现,但其它实现中仅有单个的封装计时器。此定时器到期后,它将创建不可屏蔽的中断并唤醒对应的核55。然后核55可服务任务和中止事件。在多种实施例中,看门狗定时器到期前,缓存45a和45b可保存接收的所有中断。注意,虽然所示这种缓存耦合在OS调度程序40和封装50之间,但其可与耦合到封装50的多种系统代理联系起来,例如芯片组、输入/输出(I/O)装置、外围设备等。
[0046] 重新调度任务后所有核都空闲时,通过处理器硬件逻辑可进入低功耗非零封装C状态。虽然在图1的实施例中示出了这种特定的实现,本发明的范围不局限于这一点。在一些实施例中,使用如给定的核55的封装50的电路运行根据本发明的实施例的软件固件,可全部实现监视器20、预测器30和调度程序40。此外OS调度程序40可以是给定的OS,它适于在使用周期内直到延迟期后以任务原来的时序执行任务的重调度。然而,其它的实施例可在例如给定平台的性能管理单元(PMU)的其它位置中实现。
[0047] 现参照图2,示出的是根据本发明的一个实施例的方法的流程图。如图2所示,方法100可用于确定处理器封装的空闲状态以及控制处理器封装的操作使其在此空闲期处于低功率状态。
[0048] 具体地,如图2所示,方法100可开始于接收预测信息(框110)。作为示例,预测信息相当于使用期内封装的每个核的使用率,该使用期可以是相对短的时间期(即500μs)。
[0049] 不同的实施例中可进行不同的预测。在一个实施例中,可用卡尔曼滤波器模型(KFM)生成预测。KFM用都从属于高斯噪声的线性动态(linear dynamic)和线性观察(linear observation)为部分观察的随机过程建模。它是从一系列不完全的、噪声的测量中估计动态系统的状态的高效递归滤波器。基于KFM,将CPU封装活动视作时间域中离散的实数随机过程的观察,表示为y1:t=(y1...yt),此活动在与封装的核的空闲-忙状态有关的多个预定模式中阐明(例如多个预定的空闲-忙模式的百分比)。该过程的隐藏状态x1:t=(x1...xt)也表示为实数的向量。KFM中线性随机微分方程(different equation)是:
[0050] x(t)=Ax(t-1)+w(t-1)p(w)~N(0,Q)x(0)~N(x1|0,V1|0) [等式4][0051] 而测量方程(measurement equation)是:
[0052] y(t)=Cx(t)+V(t)p(v)~N(0,R) [等式5]
[0053] 在微分方程4中,在缺少驱动函数或过程噪声的情况下,nxn转换矩阵A把前面的t-1时间步(time step)的状态与当前步t的状态相联系。在这里n是隐藏状态数。在我们的任务中,m=n是可能的CPU活动状态数。x1|0、V1|0是状态的初始平均值和方差,Q是转换动态噪声的系统协方差,且R是观察噪声的观察协方差。观察函数的转换在所有时间都是相同的,而且认为该模型是时不变的或均匀的。
[0054] 给定直到当前时间的所有观察,使用KFM能预测未来时间的值。然而,通常我们对未来不确定,因此计算出最佳推测和置信度。因此,计算在可能的未来观察上的概率分布,表示为:P(Yt+h=y|y1:t),其中k>0是界限,即预测未来多远。
[0055] 给定观察到的值的序列(y1-yt),预测新的观察值就是计算未来一些k>0界限的P(Yt+h=y|y1:t)。等式6是通过边缘化(marginalize out)未来隐藏状态的预测来计算关于未来观察的预测。
[0056] [等式6]
[0057] 在等式右边,我们用固定滞后平滑算法(即P(Xt-L=x|y1:t),L>0,L是滞后)来计算P(Xt+h=x|y1:t)。所以,在深入此算法的细节之前,首先介绍KFM中的固定滞后平滑。
[0058] 固定滞后卡尔曼平滑器(FLKS)是执行回顾的数据同化的手段。给定直到当前时间的所有迹象(evidence),它估计过去的状态,即P(Xt-L=x|y1:t),L>0,其中L是滞后,例如,给定当前的传感器读数,我们也许想计算出L分钟前管道是否断开。这通常称作“固定滞后平滑”,尽管词语“后见之明(hindsight)”可能更合适。在离线(offline)情况下,这称作(固定间隔)平滑,这相当于计算P(XT-L=x|y1:T),T≥L≥1。
[0059] 预测算法中,有h次更多的前向和后向传递(pass)。传递的计算与在平滑处理中类似。唯一的不同之处在于,预测步中新观察的初始值为空,这意味着通过在直到当前时间的所有迹象上执行回顾的数据同化加上预测算法估计y1:T+h=[y1:TyT+1…yT+h]的值。在实践中,我们考虑使
用前面的步作为先验数据,例如,如果h=1,则yT+1=(yT-1+yT)/2,而非yT+1=null。
[0060] 表1示出预测算法的伪代码。
[0061] 表1
[0062]
[0063] 表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更新平均值和方差的估计。
[0064] 对于第二个循环(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,分别计算平均值、方差和交互方差的估计。
[0065] 如表1中阐述的计算能够是复杂的,例如在计算Fwd运算符中的卡尔曼增益矩阵和Back运算符中的平滑器增益矩阵时,在T+1步循环中有矩阵求逆。而且计算复杂度将是3
O(TN),其中T是历史观察的数量;N是活动状态的数量,因为对于一般的N*N矩阵,用来求
3
解矩阵求逆的高斯消去法导致了O(N)的复杂度。然而,在多种实施例中能简化算法实现。
[0066] 如图3所示,其是根据本发明的一个实施例的预测算法150的流程图,能对间隔的预测数计算前向和后向运算(例如,时间片T=1000)(框160)。然后,能缓存前面T步的x和V的中间结果(框170),并且对于新到来的时间片T+1做仅仅一步Fwd更新(框180)。类似地,对于后向传递,使用缓存的前面的T步的中间结果,能计算仅仅一步T+1时间片的
3 N
Back运算符(框190)。因此,简化后计算复杂度将是O(N)。此外,N=2’(N’是同一封装中的核的数量)处理器封装活动状态能分为3个模式:全空闲、全忙和部分空闲,而我们使用这三种模式来描述状态,因此N将仅为3。另一方面,我们简化KFM且用0或1的元素值将A、C、Q、R和初始V设置为对矩阵,以将算法的运算复杂度减至O(N)。虽然使用此预测算法进行描述,但本发明的实施例不局限于这一点。
[0067] 回来参照图2,基于此预测信息可设置空闲期(框120)。注意,框110和120可在不同实施例中的多种位置中实现。在一个特定的实施例中,这些框可在OS中实现,例如在OS调度程序中,然而本发明的范围不局限于这一点。
[0068] 仍然参照图2,接下来可控制处理器封装在空闲期内处于封装低功率状态(框130)。正如下面将进一步讨论的,这种低功率状态可以是比其它情况下可能的更深度的低功率状态。这是因为空闲期能够是从下一使用周期的开始直到活动期的连续时期,活动期相当于下一使用周期长度和空闲期长度之间的差。这种对处理器封装的控制可通过接收OS命令以设置处理器封装进入所选择的低功率状态来实现。然而,在其它实现中,处理器封装自身可基于空闲期的持续期和所有其核最深度的C状态来确定适当的低功率状态。
[0069] 空闲期结束时,初始化活动期且因此可控制处理器封装以处于封装活动功率状态(框140),例如封装C0状态,然而本发明的范围不局限于这一点。虽然在图2的实施例中示出这种特定的实现,但本发明的范围不局限于这一点。
[0070] 现参照图4,示出的是根据本发明的一个实施例的重新调度的方法的流程图。如图4所示,通过OS调度程序可实现方法300以接收使用预测信息并重新调度封装上的活动使延迟期能够实现,使得在延迟期的持续期内封装能进入低功率状态,且在很多实现中能进入深度低功率状态。
[0071] 如图4所示,方法300可开始于接收预测的核使用信息(框310)。更具体地,在多种实施例中对于封装的每个核,如图1中的预测器30的预测器可将预测的核使用提供给OS调度程序。在一些实施例中,对于封装的每个核,此预测可以是核使用值U_coreX。在一个这样的实施例中,此使用值可相当于百分比,指示下一操作间隔内预测核处于活动状态的时间的预测的百分比。然而本发明的范围不局限于这一点。例如,在其它的实现中,百分比信息可以是下一间隔的预测的核状态的模式分布。这种模式分布可广泛地变化,取决于支持的低功率状态的数量、以及给定的核的数量和预测期的长度等等。举例来说,模式分布能包括三种不同的空闲-活动状态模式,然而可提供更多的或更少的这些模式,例如,在给定的活动水平上粒度可随核的数量变化。
[0072] 下一步,可识别预测的使用率最高的核且可设置最大使用率U_max等于此预测的*值(框320)。此外,基于此预测的最大的使用率可设置延迟期T。例如,针对下个操作间*
隔(NOI),可设置T 等于NOIx(100%-U_max),其中U_max表示为百分比。
[0073] 仍然参考图4,在下个间隔的开始(即在下个500μs周期的开始),每个核上可停止所有的任务处理和中止事件的服务(框330)。此外,可在每个封装上设置看门狗定时器*的时间等于延迟期T(框340)。然后封装的核可为空闲(框350)。这样,此时可将封装置于封装低功率状态中,例如封装C1状态,然而假定延迟期是针对扩展的且确定的时间,能将封装置于更深度的低功率状态如封装C3状态,然而本发明的范围不局限于这一点。例如,在基于核使用信息的其它实现中,如果延迟时间设置的比给定的值更长(例如,500μs间隔的20%),可进入更深度的封装低功率状态如封装C6或C7状态。于是,延迟期的时间内,封装可停留在这种低功率状态,因此能实现可配置的且更深度的功率节省。
[0074] 因此直到封装看门狗定时器到期,这种低功率状态可保持有效(框360)。此时,封装可从其低功率状态转换到活动的C0状态。然后在每个核上,可取回已缓冲的任何中止事件(框370)。例如,在其中封装处于空闲状态的延迟期内,与封装耦合的一个或更多装置可能已经缓存指定到封装的中止事件。因此,在唤醒单个核时,可取回这些中止事件。于是,框380中,中止事件可按其原来的时序得到服务。也就是说,中止事件可根据其缓存的顺序得到服务(例如,基于先进先出)。在任何中止事件的服务后,为核调度的任何任务可根据其原来的时序执行。也就是说,在处理中止事件后,可根据其原来的时序的顺序处理为每个核调度的任何任务。虽然图4的实施例中示出了这种特定的实现,本发明的范围不局限于这一点,且在封装上可实现任务以及中止事件的延迟处理的其他方式以能够实现相对长的、连续的空闲期,其中封装能置于封装低功率状态。
[0075] 与上述实施例相反,使用常规OS调度程序,立即服务任务和中止事件,导致核和封装频繁进入和退出空闲状态。因为最小空闲期不允许使用长反应时间的和低功率的深度封装C状态,仅能使用封装C1状态。而且常规OS调度程序核的忙时间是不重叠的,导致即使只有单个核是忙的,封装也要停留在C0状态。假设使用500μs时期的常规调度,花费在封装C0状态的总时间是125μs,而在封装C1状态的总时间是375μs。然而使用本发明的实施例,预测10%的第一核的使用以及15%的第二核的使用,则最大的核的使用(U_max)*是15%。因此,确定的延迟期T 可设置如下:
[0076] T*=间隔时间x(100%-U_max) [等式7]
[0077] 其中U_max表示为百分比(即15%表示为15)。在这种情况下,T*=500*(100%-15%)=425μs,且在接下来的500μs中,封装将得到425μs的连续的空闲时间,它能够实现使如封装C3状态的更深度的低功率状态。其后425μs的看门狗定时器到期后,封装返回C0状态且每个核将以其原来的时序处理所有的任务和中止事件。表2以
15%系统负荷水平为例,示出示例处理器的功率规格及使用常规调度和根据本发明的一个实施例的功率损耗。
[0078] 表2
[0079]
[0080] 现参考图5,示出根据常规OS调度算法和根据本发明的一个实施例调度封装的多核上的任务的时序图。如图5所示,假定处理器封装中有第一核A和第二核B。调度A相当于常规的调度。可相当于500μs的活动间隔的初始时间持续期410中,两个核可处于空闲状态(用虚线表示),因此封装可置于封装C1状态。也就是说,尽管两个核都是空闲的,因为两个核即将进行任务调度,进入更大的低功率状态需要的等待时间超过其益处。因此,只将封装置于封装C1状态。然后如所示在时间420的开始,封装转换至活动的C0状态,因为从那个时间往前,两个核之中至少一个是忙的(活动状态用实线表示),其执行任务或其它操作。
[0081] 相反,关于根据本发明的实施例调度的调度B,在操作间隔的开始时提供与时间持续期430相当的延迟期。因为此延迟期430的扩展持续期可以是425μs,封装可置于更深度的低功率状态,例如封装C3状态(或甚至更深度的C状态),因此能够极大提高功率节省,大约比调度A多60%。在此延迟期430结束之后,封装置于活动状态,因此,在操作间隔的剩余持续期中,封装在时间持续期440中处于封装C0状态。虽然没有在图5中示出,应理解在此活动期个别的核可进入核低功率状态(例如核C状态)。例如,在活动期开始时,所有的核可处于活动状态,且当完成任务和中止事件时,个别的核能进入核低功率状态。因此,在此特定的示例中,其中存在15%的负荷水平,当实现比常规的调度多60%的功率节省时没有产生性能影响。因此实施例能改进处理器功率损耗并且没有性能影响。
[0082] 出于示例的目的,下面的表3示出了封装C状态和它们的描述,以及这些状态下的估计功率损耗,以具有130瓦特(W)的热量设计功率(TDP)的示例处理器作为参照。当然,应理解,这只是个示例,实施例不局限于这一点。
[0083] 表3
[0084]
[0085] 虽然本文中描述了作为基于OS的调度的实施例,但它不局限于这一点。即,在其他的实现中,软件、固件或硬件可适用在封装的基础上或在系统中别的位置(例如电源管理单元(PMU)),以在操作间隔内能够实现任务的动态调度,使得在每个操作间隔内可实现扩展的、连续的空闲期,从而在封装的基础上提高进入扩展的且更深度的低功率状态的能力。此外,虽然如图5所示在操作间隔开始时提供延迟期,但本发明的范围不局限于这一点且在其他的实现中可预先执行处理,接着是延迟期。
[0086] 可以以许多不同的系统类型实现实施例。现参照图6,示出的是根据本发明的一个实施例的系统的框图。如图6所示,多处理器系统500是点对点互连系统,且包括通过点对点互连550耦合的第一处理器570和第二处理器580。如图6所示,处理器570和580分别可以是多核处理器,包括第一和第二处理器核(即,处理器核574a和574b以及处理器核584a和584b),然而处理器中可出现额外的核。可控制处理器570和580分别处于更低的* *
封装C 状态,因为能确定和设定延迟期T。根据本发明的实施例,每个处理器还可包括硬件、软件、固件或其组合以能够实现检测使用,以及生成和使用预测信息从而能够确定下一个操作间隔的延迟期。
[0087] 仍参照图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。
[0088] 此外,芯片组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。
[0089] 实施例可在代码中实现且可存储在已经在其上存储了指令的存储介质中,所述指令能够用来编程系统以执行所述指令。存储介质可包括但不限制于,任何类型的磁盘,包括软盘、光盘、只读光盘(CD-ROMs)、可重写光盘(CD-RWs)、和磁光盘,半导体装置,例如只读存储器(ROMs)、随机存取存储器(RAMs)(如动态随机存取存储器(DRAMs)和静态随机存取存储器(SRAMs))、可擦除可编程只读存储器(EPROMs)、闪存、电可擦除可编程只读存储器(EEPROMs)、磁卡或光卡、或适合用来存储电指令的其他类型的介质。
[0090] 虽然本发明是参照有限数量的实施例描述的,但是本领域技术人员将因此领会到多种修改和变化。所附权利要求旨在涵盖属于本发明的实质和范围的所有此类修改和变化。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈