计算机电源控制装置的制作方法

文档序号:6348794阅读:220来源:国知局
专利名称:计算机电源控制装置的制作方法
技术领域
本发明涉及一种计算机电源控制装置。
背景技术
电子电路和相关组件领域已成为迅猛发展的领域。起初,集成电路规模庞大,几乎由在印刷板上组合在一起的大量芯片或处理器构成。小型化的发展使包含各种部件或“IP”的微处理器体积演化为芯片大小成为可能。这些集成电路通常被称为“System on Chip” (片上系统)或SoC。这些集成电路尤其引人注意的原因是该集成电路在非常小的尺寸范围内蕴藏了极其多样的一组功能。此外,将电路的所有元件放置在单一芯片上减少了系统的能耗。为了减少芯片的能耗,执行负载之前已开展了调整电压和操作频率的工作。然而, 这种匹配不是动态匹配,即电压和频率在处理给定任务期间不会发生变化。这是不匹配的, 尤其是负载很难评估时或发生变化时。

发明内容
本发明的目的在于改善上述情况。为达到上述目的,本发明提出了一种用于控制能够以多级电压供电的计算机的控制装置,包括控制器,该控制器用于接收用于所述计算机的负载数据、截止期限数据以及瞬时速度数据,以便计算基准速度,并根据该基准速度计算用于该计算机的控制电压等级以及操作频率,基准速度使该计算机在截止期限数据某一周期内进行一定数量的负载数据计
笪弁。在该装置中,利用瞬时速度数据计算基准速度和操作频率中的至少一个要素。装置的优点尤其在于可以针对计算机的操作系统发出的逻辑需求给出适应的供电指令,同时最大限度地优化计算机的能耗。


阅读下列说明后本发明的其他特点和优势会更加明了,选取的下列附图用于举例,但不局限于此,其中图1表示本发明中电源控制装置的通用视图;图2表示图1所示装置的操作回路示意图;图3表示图1所示装置的第一可选择实施例;图4表示图1所示装置的第二可选择实施例;图5表示图1所示装置的第三可选择实施例;图6表示图1所示装置的第四可选择实施例;
图7表示适于利用具有多个内核的计算机进行操作的另一实施例;图8表示图7所示装置的可选择实施例。
具体实施例方式下列附图和说明基本包含一定性质的要素。因此不仅可用于更好地理解本发明, 而且有助于定义本发明(如果适用)。此外,附录A展开了详细说明,给出了本发明所使用的某些数学公式的方程式。附录单独列出以便阐明,便于参考。附录是本说明不可缺少的一部分,因此不仅可用于更好地理解本发明,而且有助于定义本发明(如果适用)。本发明尤其适用于CMOS电路。在这些电路中,能源消耗主要来自三方面-电路逻辑门的切换,-电流短路,-电流泄漏。因此给定电路的瞬时功率可被视为这三种功率的总和,用附录A中的公式(10)表
7J\ ο公式示出了电路的电源电压V的主要作用。因此减少能耗的一个解决方案是降低电压。但是,这也造成了电路的逻辑门传输延时增大,因此降低了电路执行任务的速度。这意味着根据临界时间(即电路处理给定指令所花的最大时间)有必要降低电路的频率,以便确保在下一时钟周期前执行所有指令。在前期研究工作中,不存在实现节能的这类调整的自动化管理。图1示出了根据本发明的电源控制装置2。装置2控制计算机4的电源。“计算机”指的是任何可进行逻辑运算处理数据或计算的电子系统。例如,包括但不限于处理器、微处理器、SoC芯片、FPGA类型的可编程芯片等等。如图1所示,电源控制装置2 —方面接收数据Ci以及Ni,另一方面接收数据W。数据Ci以及Ni分别表示计算机4的负载数据以及负载数据的截止期限数据。电源控制装置2从高级逻辑层(例如计算机4的操作系统)接收数据Ci以及Ni。电源控制装置2接收的数据w表示计算机4的运算处理速度。运算处理速度作为反馈信息被电源控制装置2用于控制电源,避免该装置发出的指令有任何偏离。电压和频率可控制计算机4。事实上,计算机4能够在不同的电压下工作,每个电压对应相应范围的可能操作频率。电压等级¥_14以及操作频率f_op为电源控制装置2的输出。处理速度(数据w由此产生)以及计算机4消耗的功率由使用的操作频率f_op 以及计算机4的电源电压V_1 vl (或供电水平)产生,如同公式(10)所示。计算机4通过操作频率f_op控制的时钟周期进行操作。电源控制装置2操作类似。电源控制装置2通过时间周期Ts进行操作,每个周期对应于两个连续控制计算之间的持续时间。周期Ts通常接近计算机4的几个时钟周期。
事实上,每个时钟周期都检查计算机4的电源几乎是无用的。在两个周期之间,控制装置2根据前一阶段计算发出电压等级和操作频率指令。电源控制装置2的周期Ts可以为根据计算机4选择的固定参数。这个周期也可以动态匹配,即可设定其为计算机4的一个周期持续时间的倍数。 在此处描述的实例中,倍数的值为‘10’(十)。但是,这个值可以设定为较高倍数。因此,每次计算时,电源控制装置2分析数据Ci、Ni和w,并将数据f_op和V_lvl 作为输出返回计算机4。需要注意的是,在此处描述的实例中,电源控制装置2发送电源控制数据,而不是电源本身。此处未提及基于来自电源控制装置2的控制数据负责给计算机4供电的电路部分。图2展示了电源控制装置2的操作回路。如上所示,电源控制装置2通过计算周期来进行操作。电源控制装置2的操作回路以接收要使用的数据Ci、Ni和w的运算20开始。然后,在运算30中,电源控制装置2计算基准速度W_ref。申请人:所做的研究显示,为了降低在给定时间内应进行给定处理负载的计算机4 的能耗,计算机4待核查的最关键操作参数是电压等级。该工作还显示大幅度降低电压是很危险的,因为存在截止期限之前不能完成计算负载的风险。因此电源控制装置2应对计算机4的电源实现动态控制以便符合下列指令-在截止期限之前完成计算负载,-最大限度地减少在此计算过程中的电压使用。为达到上述目的,电源控制装置2在各个周期开始于计算计算机4应具备的“平均”处理速度以便在截止期限(数据Ni表示)之前完成计算机负载(数据Ci表示)。然后,根据能耗优化平均速度获得基准速度w_ref。此处平均速度被称为增量速度。通过应用公式00)来计算增量速度。如公式00)所示,平均速度为有待处理的计算量,即取自数据Ci的负载减去已经处理的计算量,即接收的瞬时速度w的和乘以电源控制装置2的时间间隔,除以截止期限之前剩余的时间Li,由数据Ni表示。事实上,公式00)可写做待求平均速度等于待计算的数据量减去已经计算的量,所得差值除以剩余时间。公式(30)和(32)表示根据电源装置2的周期性将公式Q0)应用于运算的特殊案例。一旦计算出平均速度,电源控制装置2将确定基准速度W_ref。基准速度的原则是确认根据给定电压等级的最大频率操作是有利的,能够尽早降低电压等级。因此,计算平均速度时,电源控制装置2就会确定速度是否对应于前一阶段建立的电压等级频率范围。如果对应,确定该范围是否对应于最低电压等级。如果是这样的话,则W_ref接收增量频率。如果不是这样,则W_ref接收该范围的最大频率。如果增量速度不对应于前一阶段建立的电压等级频率范围,电源控制装置2则根据增量的平均速度确定对应的电压等级。这可以通过连续比较平均速度增量和从最高等级递减的每个电压等级的最大速度来完成。在该种情况下,适当的电压等级为平均速度增量刚好小于最大速度并大于其他电压等级的最大速度的电压等级。当然,许多其他方法可用于确定平均速度增量对应的电压等级。一旦确定电压等级,电源控制装置2同样进入上文描述的计算基准速度w_ref值的步骤。然后,在运算40中,电源控制装置2计算对应于基准速度w_ref的操作频率f_op, 并由此推导出对应的电压等级¥_14。根据基准速度w_ref计算操作频率f_op使确保计算机4以高电压允许最短时间执行数据Ci表示的计算负载成为可能。在图1的实施例中,电源控制装置2通过利用一阶系统根据公式GO)和02)使用数据w计算操作频率f_op。公式00)表示从计算机4处接收的基准速度w_ref和瞬时速度w之间的“误差” 的计算,公式G2)表示如何利用该误差计算下列时间间隔的操作频率^叩。需要注意的是Ts表示电源控制装置2的周期,K为增益。图3表示电源控制装置2的可选择实施例。在该实施例中,基准速度w_ref的计算与操作频率f_op和电压等级V_lvl的计算分开进行。因此电源控制装置2包括基准速度计算单元6和控制计算单元8。如附图中出现的,基准速度计算单元6接收数据Ci、Ni和w,并返回基准速度 ref ο在这方面,控制计算单元8接收基准速度W_ref和数据w,并返回操作频率f_op和电压等级¥_14作为输出。在此处描述的实例中,将计算机4控制在两个电压等级,分别称为Vlo (最低), Vhi (最高)。在此,确定速的运算30部分相当于比较平均速度增量和电压等级Vlo的频率最大值。如果增量大于该值,则W_ref接收等级Vhi的最大频率值,反之W_ref接收增
Mo当基准速度计算单元6用来确定基准速度w_ref的时钟周期数目非常高时,可以使数据w在基准速度计算单元6和控制计算单元8之间的循环更加有效。因此,控制计算单元8使用最新数据建立操作频率f_op和电压等级V_lvl,保证了最佳性能。图4所示的电源控制装置表示图3的装置的另一选择,其中数据w仅由基准速度计算单元6接收并发送至控制计算单元8。该实施例执行性可能较低,因为控制计算单元8可利用略微迟于图3的案例中的数据w工作。然而,该实施例具有更容易制造和使用的优点。图5所示的电源控制装置表示图3控制装置的另一更简化选择,其中瞬时速度数据w只发送至基准速度计算单元6,控制计算单元8在此只接收基准速度数据w_ref。在那种情况下,由于利用值w_ref设定操作频率f_op,且直接从该值推导出电压等级V_lvl,因此大大简化了运算40。该实施例提供了较低的能源特性。但保证了非常简单的制造和实施。图6所示的实施例为可选择实施例,其中只有控制计算单元8接收瞬时速度数据
Wo在那种情况下,基准速度计算单元6只接收先前已经计算的基准速度数据《_1~时。为了避免偏离,利用二阶系统使控制计算单元8执行的运算40的操作频率f_op 的计算更稳健。为达到上述目的,利用公式(50)计算第一误差,根据公式(52)在基准速度计算单元6的周期整合此误差。然后,利用公式(54)确定操作频率f_op,其中T表示循环时系统的时间常数,K为
增 ο图7示出了适于拥有多个内核的计算机14的控制装置2。这意味着,在计算机14 内,在描述的实例中,包含四个与单独提及的计算机4类似的计算单元。计算机14在其他实施例中包含足够多的内核,即至少有两个且大于四个,例如32 或更多。在这种情况下,会遇到更突出的供电问题。事实上,分别利用计算机专用的电压等级/频率组给计算机14的每个内核供电是不合理的。因此,在计算机14存在内核时多次简单地复制基本结构是不可能的。解决问题的第一种方法是查找构成“一致性”的电压等级和频率。但是,这种途径不可接受,因为随后不能及时执行关键任务。第二种方法是使所有内核以最关键任务的电压和频率工作。但是,这往往会破坏能量增益。申请人:在这两种解决方案之间找到了一种折中的方法。为达到上述目的,将限制器10引入装置2。限制器10的功能是针对每个内核,计算所有任务中最关键任务的频率以及在单芯情况下内核必须使用来执行任务的频率之间的比值。在每台计算机14中,使用限制器10确定的比值,使得每个内核以大体相当于单芯情况下使用的速度执行任务。为达到上述目的,计算机14可采用通过中止计算机14的节点4时钟的特定电子器件实现的硬件解决方案。因此,每个内核以单芯模式工作,但电压等级或许更高(这取决于关键任务)。这些电子器件(称为“clock-gating”或“门控时钟”)允许将钟面传输至或不传输至计算机14的各节点4,可利用逻辑与门进行。或者,电子器件可用软件解决方案代替。因此,不调制每个内核的频率,选择性地使内核处于休眠状态,以便在多数周期内,每个内核以大体相当于在单芯情况下使用的速度执行任务。通过向流水线添加称为“无操作”的指令来完成,即要求相关内核不进行任何动作的请求。这种选择利用了软件具有可更新的优点。这意味着更新微程序使内核的更新成为可能。然而,它是相对不利的,因为频率调制被限制为操作频率的一小部分一半(每次运算一种无操作),三分之一(每次运算两种无操作),四分之一(每次运算三种无操作)寸。可以将上述最后一种解决方案精细化,以获得任意合理数字,但会降低结构简化方面的增益。在图7所示的实施例中,具有内核时多次复制基准速度计算单元6与控制计算单元8。结果是,瞬时速度数据为字节w_m,基准速度数据W_m_ref也为字节。作为输出,控制计算单元8发出频率字节f_m以及电压等级字节V_m。限制器10设置在控制计算单元8的输出端。由此接收频率字节f_m以及电压等级字节V_m。首先,限制器10将所有频率字节f_m进行比较并选出最高频率字节。该频率作为指令f_op发送至计算机14,对应内核被称为临界内核。然后,限制器10选择电压等级字节V_m,与先前指定的临界内核相对应。电压等级作为指令^14发送至计算机14。最后,限制器10计算包含每一个频率字节f_m与频率f_op之间比值的字节rat_ m0在选择软件解决方案降低内核频率的情况下,即便在很大程度上是不利的,还是可应用该比值确保完成任务。因此,如果人们发现大于二小于三的比值,必须选择1/2的比值。此外,使不同模块的频率同步是很重要的。事实上,由于添加虚拟指令而降低内核频率,因此指令更新不可太频繁或太慢。申请人:已经确定接近1000的数量级在本发明项下是有利的。因此,控制发送至计算机的任务的系统将以接近IkHz的频率工作,本发明的控制装置将以接近IMHz的频率工作,严格地说计算机将以接近IGHz的频率工作。然而,可根据处理任务的期限使用其他数量级,例如10、100或大于1000。根据前文,可知本发明涉及实现执行计算的电子系统的电源控制。在描述的实例中,由于使用了一阶和二阶系统,因此可进行动态匹配控制。“一阶和二阶系统”指的是进行控制计算的功能包括最高次项单项式为1或2的多项式的系统。 也可使用高阶系统。此外,电源控制装置2此处被描述为位于计算机4和14外部并与其分离的元件。 这意味着未在计算机内进行用于计算电源控制的计算。然而,在某些应用中,电源控制装置2可并入计算机,然后由计算机4或14进行计算电源控制的计算,控制考虑了计算过载。此外,申请人描述了一种可对计算机进行多等级供电的电源控制装置。通过特殊实例描述了具有两种电压等级的电源。在这些实例中,为了确定平均速度增量的合适电压等级,描述了电压等级的升/ 降循环以确定合适频率范围。可使用其他方法,例如存储电压等级的频率范围表,并从此表中提取适宜的电压等级。最后,申请人描述了一种连续计算操作频率的装置。然而,可以应用前述装置以离散频率工作。那么,这是一个确定频率等级的问题,而不是确定连续频率值的问题,与已经描述的计算电压等级的问题类似。在这种情况下,可将控制器2简化为只包含频率和电压等级的单一计算模块,即可合并单元6和8。附录AP = P门+Pcc+P泄露=K门· fclk · V2+Kcc · fclk · V+K泄露· V(IO)
权利要求
1.一种多级电压供电计算机的控制装置,其中,该控制装置包括控制器O),该控制器⑵用于接收用于该计算机⑷的负载数据(Ci)、截止期限数据(Ni)以及瞬时速度数据(w),以便计算基准速度(W_ref),并根据该基准速度(W_ref)计算用于该计算机的控制电压等级(V_lvl)以及操作频率(f_op),基准速度可使该计算机在截止期限数据(Ni)某一周期内进行一定数量的负载数据(Ci)计算,根据瞬时速度数据(w)计算基准速度(w_ref) 和操作频率(f_op)中的至少一个要素。
2.根据权利要求1所述的装置,其中,所述控制器包括计算基准速度的基准速度计算单元(6)以及计算操作频率和电压等级的控制计算单元。
3.根据权利要求2所述的装置,其中,该装置还包括限制器(10),包括几个内核(4)的计算机(14),其中限制器(10)用于确定用于具有最关键任务的内核之一的基准速度(w_ ref)、以及用于执行计算机(14)其他内核的任务的频率字节比值。
4.根据权利要求3所述的装置,其中,所述限制器(10)设置在基准速度计算单元(6) 以及控制计算单元(8)之间。
5.根据权利要求3所述的装置,其中,所述限制器(10)设置在控制计算单元(8)的下游。
6.根据权利要求2至5中任一项所述的装置,其中,所述控制计算单元(8)根据瞬时速度数据(W)利用一阶系统计算操作频率(f_op)。
7.根据权利要求6所述的装置,其中,所述基准速度计算单元(6)根据瞬时速度数据 (w)计算基准速度(w_ref)。
8.根据权利要求7所述的装置,其中,所述瞬时速度数据(w)通过基准速度计算单元 (6)发送至控制计算单元(8)。
9.根据权利要求2至5中任一项所述的装置,其中,所述控制计算单元(8)根据瞬时速度数据(W)利用二阶系统计算操作频率(f_op)。
全文摘要
本发明涉及一种多级电压供电计算机(4)的控制装置,包括控制器(2),该控制器用于接收用于该计算机(4)的负载数据(Ci)、截止期限数据(Ni)以及瞬时速度数据(w),以便计算基准速度(w_ref),并根据该基准速度(w_ref)计算用于该计算机的控制电压等级(V_lvl)以及操作频率(f_op),基准速度可使该计算机在截止期限数据(Ni)某一周期内进行一定数量的负载数据(Ci)计算,根据瞬时速度数据(w)计算基准速度(w_ref)和操作频率(f_op)中的至少一个要素。
文档编号G06F1/32GK102378949SQ201080014675
公开日2012年3月14日 申请日期2010年3月29日 优先权日2009年3月31日
发明者N·马钱德, S·迪朗 申请人:国家信息及自动化研究院, 国家科学研究中心
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1