CN104571462B - 电池功耗的控制方法和系统 - Google Patents
电池功耗的控制方法和系统 Download PDFInfo
- Publication number
- CN104571462B CN104571462B CN201410849712.0A CN201410849712A CN104571462B CN 104571462 B CN104571462 B CN 104571462B CN 201410849712 A CN201410849712 A CN 201410849712A CN 104571462 B CN104571462 B CN 104571462B
- Authority
- CN
- China
- Prior art keywords
- task
- time
- energy consumption
- free time
- total
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Power Sources (AREA)
- Charge And Discharge Circuits For Batteries Or The Like (AREA)
Abstract
本发明涉及一种电池功耗的控制方法和系统。所述方法包括:配置步骤,配置每个任务的周期、执行时间和处理器频率;空闲时间计算步骤,根据所述每个任务的周期、执行时间和处理器频率计算得到每个任务的空闲时间;任务排序步骤,按照任务的能耗从高到低对各个任务进行排序,得到任务的执行顺序;功率控制步骤,根据所述执行顺序中任务所配置的处理器频率调整处理器的频率,并在每个任务完成后插入相应的每个任务的空闲时间。上述电池功耗的控制方法和系统,按照能耗从高到低对任务进行排序,按照执行顺序中任务所配置的处理器频率调整处理器的频率,在每个任务完成后插入相应的空闲时间,延长电池的续航时间,不需要增加硬件成本,且不用关闭任务。
Description
技术领域
本发明涉及电能领域,特别是涉及一种电池功耗的控制方法和系统。
背景技术
随着穿戴式设备风靡全球,移动式电源的需求越来越大,面对各种各样的使用需求,使得电池续航能力越来越凸显不足。大多数情况之下,人们只能通过增加电池的容量来满足延长使用时间的要求,例如随着手机屏幕的增大,手机电池的体积也增大,然而电池容量增大导致设备体积的增大,不便于携带。
为了延长设备的电池续航时间,普遍的做法是降低设备的总体能耗。降低设备的总体能耗的方式主要有两种,一种是采用集成电路技术和硬件的设计以降低电路板块的功耗,然而采用先进的工艺和技术,增加了硬件成本;另一种是暂停部分任务,然而一般情况下,任务都是必须的,关闭任务的方式适应性低。
发明内容
基于此,有必要针对传统的延长设备的电池续航时间会增加硬件成本和关闭任务适应性低的问题,提供一种电池功耗的控制方法,在没有完全关闭任务和增加硬件成本的条件下,能延长电池的续航时间。
一种电池功耗的控制方法,包括:
配置步骤,配置每个任务的周期、执行时间和处理器频率;
空闲时间计算步骤,根据所述每个任务的周期、执行时间和处理器频率计算得到每个任务的空闲时间;
任务排序步骤,按照任务的能耗从高到低对各个任务进行排序,得到任务的执行顺序;
功率控制步骤,根据所述执行顺序中任务所配置的处理器频率调整处理器的频率,并在每个任务完成后插入相应的每个任务的空闲时间。
在其中一个实施例中,所述空闲时间计算步骤包括:
公倍数求取步骤,求取任务的周期的最小公倍数;
执行次数求取步骤,求取每个任务在最小公倍数时间内的执行次数;
总时间求取步骤,求取所有任务执行的总时间;
总空闲时间求取步骤,求取总的空闲时间;
各空闲时间求取步骤,根据总的空闲时间和任务的能耗比例分配每个任务的空闲时间。
在其中一个实施例中,所述各空闲时间求取步骤包括:
将任务的执行时间乘以任务所配置的处理器频率得到任务的能耗,将各个任务的能耗乘以各个任务所对应的执行次数得到总能耗,将任务的能耗除以总能耗得到任务的能耗比例,将总的空闲时间乘以任务的能耗比例得到任务的空闲时间。
在其中一个实施例中,在总时间求取步骤之后,总空闲时间求取步骤之前,所述方法还包括:
检测是否有非周期性任务,若是,则获取非周期性任务的执行时间和处理器频率,然后根据最小公倍数、总时间和非周期性任务的执行时间求取总的空闲时间,若否,则根据最小公倍数和总时间求取总的空闲时间。
在其中一个实施例中,所述各空闲时间求取步骤包括:
将任务的执行时间乘以任务所配置的处理器频率得到任务的能耗,将各任务的能耗乘以各任务所对应的执行次数得到总能耗,将任务的能耗除以总能耗得到任务的能耗比例,将总的空闲时间乘以任务的能耗比例得到任务的空闲时间,其中,任务包括周期性任务和非周期性任务,所述非周期性任务的执行次数为1次,所述周期性任务为配置周期的任务。
一种电池功耗的控制系统,包括:
配置模块,用于配置每个任务的周期、执行时间和处理器频率;
空闲时间计算模块,用于根据所述每个任务的周期、执行时间和处理器频率计算得到每个任务的空闲时间;
任务排序模块,用于按照任务的能耗从高到低对各个任务进行排序,得到任务的执行顺序;
功率控制模块,用于根据所述执行顺序中任务所配置的处理器频率调整处理器的频率,并在每个任务完成后插入相应的每个任务的空闲时间。
在其中一个实施例中,所述空闲时间计算模块包括:
公倍数求取单元,用于求取任务的周期的最小公倍数;
执行次数求取单元,用于求取每个任务在最小公倍数时间内的执行次数;
总时间求取单元,用于求取所有任务执行的总时间;
总空闲时间求取单元,用于求取总的空闲时间;
各空闲时间求取单元,用于根据总的空闲时间和任务的能耗比例分配每个任务的空闲时间。
在其中一个实施例中,所述各空闲时间求取单元还用于将任务的执行时间乘以任务所配置的处理器频率得到任务的能耗,将各任务的能耗乘以各任务所对应的执行次数得到总能耗,将任务的能耗除以总能耗得到任务的能耗比例,将总的空闲时间乘以任务的能耗比例得到任务的空闲时间。
在其中一个实施例中,所述空闲时间计算模块还包括:
检测单元,用于在求取所有任务执行的总时间之后,检测是否有非周期性任务;
获取单元,用于在检测到有非周期性任务时,获取非周期性任务的执行时间和处理器频率;
所述总空闲时间求取单元还用于获取单元获取到非周期性任务的执行时间和处理器频率后,根据最小公倍数、总时间和非周期性任务的执行时间求取总的空闲时间,以及在检测到没有非周期性任务时,根据最小公倍数和总时间求取总的空闲时间。
在其中一个实施例中,所述各空闲时间求取单元还用于将任务的执行时间乘以任务所配置的处理器频率得到任务的能耗,将各个任务的能耗乘以各个任务所对应的执行次数得到总能耗,将任务的能耗除以总能耗得到任务的能耗比例,将总的空闲时间乘以任务的能耗比例得到任务的空闲时间,其中,任务包括周期性任务和非周期性任务,所述非周期性任务的执行次数为1次,所述周期性任务为配置周期的任务。
上述电池功耗的控制方法和系统,根据任务的周期、执行时间和处理器频率计算每个任务的空闲时间,并按照能耗从高到低对任务进行排序得到执行顺序,按照执行顺序中任务所配置的处理器频率调整处理器的频率,以保证在任务周期允许的情况下,尽量选择能耗低的处理器的频率进行处理,并在每个任务完成后插入相应的空闲时间,以保证电池得到一定时间的恢复,延长电池的续航时间,不需要增加硬件成本,且不用关闭任务,也可针对非周期性任务进行功耗调整。
附图说明
图1为电池的放电非线性示意图;
图2为电池的恢复效应示意图;
图3为一个实施例中电池功耗的控制方法的流程图;
图4为一个实施例中空闲时间计算的流程图;
图5为未采用电池功耗的控制方法情况下任务的执行情况示意图;
图6为采用电池功耗的控制方法情况下任务的执行情况示意图;
图7为另一个实施例中电池功耗的控制方法的流程图;
图8为一个实施例中电池功耗的控制系统的结构框图;
图9为一个实施例中空闲时间计算模块的内部结构示意图;
图10为另一个实施例中空闲时间计算模块的内部结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
为了降低功能,提高电池的续航时间,采用功率控制。首先通过改变处理器的频率和电压等参数,把处理器的处理能力分为若干等级处理器模式,如M0<M1<M2<…<Mn,其中M0为睡眠模式,而若干等级处理器模式所对应的能耗一般和处理器频率(f0<f1<f2<…<fn)线性相关,设处理器模式所对应的能耗为E0<E1<E2<…<En(其中E0为睡眠模式的能耗)。为了减低能耗,在满足任务要求情况之下尽量选择能耗等级低的处理器模式来工作,即根据任务的大小,合理选择处理器的工作模式。在空闲的时候,应该使用睡眠模式M0。
电池特性主要包括:(a)放电非线性;(b)恢复效应。
其中,(a)放电非线性是指放电时所用电流从I减少到I/2时,电池的持续时间并不只是增加两倍,而是呈现出一种非线性的变化特性,它的持续时间将大于两倍,如图1所示,电流为I时电池所对应的持续时间为L1,电流为I/2时电池所对应的持续时间为L2,其中,L2大于两倍的L1。
(b)恢复效应是指当电池减缓放电的时候,其电荷会在一定程度上有自动恢复的效应。当电池的电荷量处于一个较低的电位时,可以运用电荷的恢复特性,通过延时放电时间,让电池电荷恢复到较高电位时再进行放电,可以延长电池的使用寿命。如图2所示,通过延时δ,可得到较高的电位进行放电,延长了电池的使用寿命。
针对电池的非线性和恢复效应,本发明提供了一种电池功耗的控制方法,对电池的使用进行优化,其中包括以下原则:(1)在任务期限允许的情况下,在任务之后插入空闲时间,以保证电池得到一定时间的恢复:(2)在任务期限允许的情况下,调整任务的执行顺序,使得能耗小的任务在后执行,有利于电池的恢复;(3)在任务期限允许的情况下,尽量选择能耗低的处理器模式。
图3为一个实施例中电池功耗的控制方法的流程图。如图3所示,该电池功耗的控制方法,包括以下步骤:
步骤302,配置步骤,配置每个任务的周期、执行时间和处理器频率。
假设有n个独立的任务Ts={T1,T2,…,Tn},每一个任务采用三元组{Pi,Di,Ei}表示。其中,i取1至n中的整数值。Pi表示第i个任务的周期。Di表示第i个任务的执行时间。Ei表示第i个任务的处理器能耗。其中,任务的周期是已知的;执行时间在编写程序之前进行估算,其值应该满足任务的最后期限的要求;而处理器能耗,因为与处理器的频率正相关,可以直接用处理器的频率fi代替。对于每个任务的Pi、Di和fi在任务初始化的时候被配置完成。
步骤304,空闲时间计算步骤,根据该每个任务的周期、执行时间和处理器频率计算得到每个任务的空闲时间。
具体的,每个任务的空闲时间是指在每个任务的结束位置可插入的空闲时间。
图4为一个实施例中空闲时间计算的流程图。如图4所示,该空闲时间计算步骤包括:
步骤402,公倍数求取步骤,求取任务的周期的最小公倍数。
具体的,求取任务的周期的最小公倍数的公式为:
Ps=LCM(P1,P2,…,Pn) (1)
其中,Ps为n个任务的周期的最小公倍数。
步骤404,执行次数求取步骤,求取每个任务在最小公倍数时间内的执行次数。
具体的,将最小公倍数除以任务的周期得到任务的执行次数,计算公式如式(2)。
ni=Ps/Pi (2)
式(2)中,ni为第i个任务在最小公倍数时间内执行的次数,Pi表示第i个任务的周期,Ps为任务的周期的最小公倍数。
步骤406,总时间求取步骤,求取所有任务执行的总时间。
具体的,将某个任务的周期乘以该任务的执行次数得到该任务的总执行时间,然后将所有任务的总执行时间相加得到所有任务执行的总时间,计算公式如式(3)。
式(3)中,DT为所有任务执行的总时间,Di表示第i个任务的执行时间,ni为第i个任务在最小公倍数时间内执行的次数,Pi表示第i个任务的周期,Ps为任务的周期的最小公倍数。
步骤408,总空闲时间求取步骤,求取总的空闲时间。
具体的,将最小公倍数减去总时间得到总的空闲时间(是指不包括非周期性任务的情况)。计算公式如式(4)所示。
ΔT=Ps-DT (4)
式(4)中,ΔT为总的空闲时间,Ps为任务的周期的最小公倍数,DT为所有任务执行的总时间。
步骤410,各空闲时间求取步骤,根据总的空闲时间和任务的能耗比例分配每个任务的空闲时间。
具体的,每个任务的空闲时间是指在每个任务的结束位置可插入的空闲时间。
该各空闲时间求取步骤包括:将任务的执行时间乘以任务所配置的处理器频率得到任务的能耗,将各个任务的能耗乘以各个任务所对应的执行次数得到总能耗,将任务的能耗除以总能耗得到任务的能耗比例,将总的空闲时间乘以任务的能耗比例得到任务的空闲时间,计算公式如式(5)所示。
式(5)中,为第k个任务的空闲时间,Dk为第k个任务的执行时间,fk为第k个任务所配置的处理器频率。
步骤306,任务排序步骤,按照任务的能耗从高到低对各个任务进行排序,得到任务的执行顺序。
具体的,根据电池的特性,按照能耗大的任务先执行,能耗小的任务后执行,能耗可以用任务执行时候和所配置的处理器频率的乘积来代替,即如式(6)所示。
Ek=Dk*fk (6)
式(6)中,Ek为第k个任务的能耗,Dk为第k个任务的执行时间,fk为第k个任务所配置的处理器频率。
步骤308,功率控制步骤,根据该执行顺序中任务所配置的处理器频率调整处理器的频率,并在每个任务完成后插入相应的每个任务的空闲时间。
上述电池功耗的控制方法,根据任务的周期、执行时间和处理器频率计算每个任务的空闲时间,并按照能耗从高到低对任务进行排序得到执行顺序,按照执行顺序中任务所配置的处理器频率调整处理器的频率,以保证在任务周期允许的情况下,尽量选择能耗低的处理器的频率进行处理,并在每个任务完成后插入相应的空闲时间,以保证电池得到一定时间的恢复,延长电池的续航时间,不需要增加硬件成本,且不用关闭任务。
为了更加清楚的说明上述电池功耗的控制方法,举例如下:有三个周期性任务T1,T2和T3,假设其执行周期分别为P1=50,P2=100,P3=150;执行时间分别为D1=10,D2=10,D3=10;处理器模式的频率f1=1,f2=2,f3=3。
根据式(1)求出:
Ps=300
而每个任务执行的次数分别是:
n1=Ps/P1=300/50=6
n2=Ps/P2=300/100=3
n3=Ps/P3=300/150=2
处理器执行任务的总时间是:
而总的空闲时间ΔT为:
ΔT=Ps-DT=300-110=190
然后按照任务的能耗比例来分配每个任务的空闲时间
(舍去小数)
(舍去小数)
(舍去小数)
根据公式(6)求出每个任务的能耗(可以用任务执行时间和所用处理器频率的乘积来代替):
E1=D1*f1=10*1=10
E2=D2*f2=10*2=20
E3=D3*f3=10*3=30
因为,E3>E2>E1,所以应该先执行任务T3,在执行任务T2,最后才执行任务T1。
所以,最后可以规划出三个周期任务的运行的时间序列如表1所示:
表1
图5为未采用电池功耗的控制方法情况下任务的执行情况示意图;图6为采用电池功耗的控制方法情况下任务的执行情况示意图。由图5和图6可知,采用电池功耗的控制方法后,电池功耗由高到低进行,可延长电池的续航时间和使用寿命,电流单位为毫安,时间单位为分钟。
图7为另一个实施例中电池功耗的控制方法的流程图。如图7所示,该电池功耗的控制方法,包括以下步骤:
步骤702,配置步骤,配置每个任务的周期、执行时间和处理器频率。
有n个独立的任务Ts={T1,T2,…,Tn},每一个任务采用三元组{Pi,Di,Ei}表示。其中,i取1至n中的整数值。Pi表示第i个任务的周期。Di表示第i个任务的执行时间。Ei表示第i个任务的处理器能耗。其中,任务的周期是已知的;执行时间在编写程序之前进行估算,其值应该满足任务的最后期限的要求;而处理器能耗,因为与处理器的频率正相关,可以直接用处理器的频率fi代替。对于每个任务的Pi、Di和fi在任务初始化的时候被配置完成。
步骤704,公倍数求取步骤,求取任务的周期的最小公倍数。
具体的,求取任务的周期的最小公倍数的公式为:
Ps=LCM(P1,P2,…,Pn) (1)
其中,Ps为n个任务的周期的最小公倍数。
步骤706,执行次数求取步骤,求取每个任务在最小公倍数时间内的执行次数。
具体的,将最小公倍数除以任务的周期得到任务的执行次数,计算公式如式(2)。
ni=Ps/Pi (2)
式(2)中,ni为第i个任务在最小公倍数时间内执行的次数,Pi表示第i个任务的周期,Ps为任务的周期的最小公倍数。
步骤708,总时间求取步骤,求取所有任务执行的总时间。
具体的,将某个任务的周期乘以该任务的执行次数得到该任务的总执行时间,然后将所有任务的总执行时间相加得到所有任务执行的总时间,计算公式如式(3)。
式(3)中,DT为所有任务执行的总时间,Di表示第i个任务的执行时间,ni为第i个任务在最小公倍数时间内执行的次数,Pi表示第i个任务的周期,Ps为任务的周期的最小公倍数。
步骤710,检测步骤,检测是否有非周期性任务,若是,则执行步骤712,若否,执行步骤714。
步骤712,获取非周期性任务的执行时间和处理器频率,然后执行步骤714。
具体的,非周期性任务具备二元组{Di,Ei},Di和Ei分别表示非周期性任务的执行时间和处理器能耗。其中处理器能耗采用处理器频率乘以执行时间的积代替。非周期性任务的执行时间采用DE表示,处理器频率采用fE表示。
步骤714,总空闲时间求取步骤,求取总的空闲时间。
本实施例中,检测是否有非周期性任务,若是,则获取非周期性任务的执行时间和处理器频率,然后根据最小公倍数、总时间和非周期性任务的执行时间求取总的空闲时间,若否,则根据最小公倍数和总时间求取总的空闲时间。
若没有检测到非周期性任务,则将最小公倍数减去总时间得到总的空闲时间(是指不包括非周期性任务的情况)。计算公式如式(4)所示。
ΔT=Ps-DT (4)
式(4)中,ΔT为总的空闲时间,Ps为任务的周期的最小公倍数,DT为所有任务执行的总时间。
若检测到有非周期性任务,则将最小公倍数减去总时间,再减去非周期性任务的执行时间得到总的空闲时间,计算公式如式(7)所示。
ΔT=Ps-DT-DE (7)
式(7)中,,ΔT为总的空闲时间,Ps为任务的周期的最小公倍数,DT为所有任务执行的总时间,DE为非周期性任务的执行时间。
步骤716,各空闲时间求取步骤,根据总的空闲时间和任务的能耗比例分配每个任务的空闲时间。
若没有检测到非周期性任务,则该各空闲时间求取步骤包括:将任务的执行时间乘以任务所配置的处理器频率得到任务的能耗,将各个任务的能耗乘以各个任务所对应的执行次数得到总能耗,将任务的能耗除以总能耗得到任务的能耗比例,将总的空闲时间乘以任务的能耗比例得到任务的空闲时间,计算公式如式(5)所示。
式(5)中,为第k个任务的空闲时间,Dk为第k个任务的执行时间,fk为第k个任务所配置的处理器频率。
若检测到有非周期性任务,则该各空闲时间求取步骤包括:将任务的执行时间乘以任务所配置的处理器频率得到任务的能耗,将各任务的能耗乘以各任务所对应的执行次数得到总能耗,将任务的能耗除以总能耗得到任务的能耗比例,将总的空闲时间乘以任务的能耗比例得到任务的空闲时间,其中,任务包括周期性任务和非周期性任务,该非周期性任务的执行次数为1次,该周期性任务为配置周期的任务。总能耗等于非周期性任务的空闲时间为周期性任务的空闲时间为
步骤718,任务排序步骤,按照任务的能耗从高到低对各个任务进行排序,得到任务的执行顺序。
具体的,根据电池的特性,按照能耗大的任务先执行,能耗小的任务后执行,能耗可以用任务执行时候和所配置的处理器频率的乘积来代替,即如式(6)所示。
Ek=Dk*fk (6)
式(6)中,Ek为第k个任务的能耗,Dk为第k个任务的执行时间,fk为第k个任务所配置的处理器频率。
非周期性任务的能耗为EE=DE*fE,然后按照任务的能耗从高到低对各个任务进行排序,得到任务的执行顺序。
步骤720,功率控制步骤,根据该执行顺序中任务所配置的处理器频率调整处理器的频率,并在每个任务完成后插入相应的每个任务的空闲时间。
上述电池功耗的控制方法,根据任务的周期、执行时间和处理器频率计算每个任务的空闲时间,并按照能耗从高到低对任务进行排序得到执行顺序,按照执行顺序中任务所配置的处理器频率调整处理器的频率,以保证在任务周期允许的情况下,尽量选择能耗低的处理器的频率进行处理,并在每个任务完成后插入相应的空闲时间,以保证电池得到一定时间的恢复,延长电池的续航时间,不需要增加硬件成本,且不用关闭任务,也可针对非周期性任务进行功耗调整。
图8为一个实施例中电池功耗的控制系统的结构框图。如图8所示,该电池功耗的控制系统的各模块为对应于电池功耗的控制方法所构建的功能模块,描述不详细之处请参考方法中描述。该电池功耗的控制系统,包括配置模块810、空闲时间计算模块820、任务排序模块830和功率控制模块840。其中:
配置模块810用于配置每个任务的周期、执行时间和处理器频率。
假设有n个独立的任务Ts={T1,T2,…,Tn},每一个任务采用三元组{Pi,Di,Ei}表示。其中,i取1至n中的整数值。Pi表示第i个任务的周期。Di表示第i个任务的执行时间。Ei表示第i个任务的处理器能耗。其中,任务的周期是已知的;执行时间在编写程序之前进行估算,其值应该满足任务的最后期限的要求;而处理器能耗,因为与处理器的频率正相关,可以直接用处理器的频率fi代替。对于每个任务的Pi、Di和fi在任务初始化的时候被配置完成。
空闲时间计算模块820用于根据该每个任务的周期、执行时间和处理器频率计算得到每个任务的空闲时间。
图9为一个实施例中空闲时间计算模块的内部结构示意图。如图9所示,该空闲时间计算模块包括公倍数求取单元910、执行次数求取单元920、总时间求取单元930、总空闲时间求取单元940和各空闲时间求取单元950。其中:
公倍数求取单元910用于求取任务的周期的最小公倍数。
执行次数求取单元920用于求取每个任务在最小公倍数时间内的执行次数。具体的,将最小公倍数除以任务的周期得到任务的执行次数。
总时间求取单元930用于求取所有任务执行的总时间。具体的,将某个任务的周期乘以该任务的执行次数得到该任务的总执行时间,然后将所有任务的总执行时间相加得到所有任务执行的总时间。
总空闲时间求取单元940用于求取总的空闲时间。具体的,将最小公倍数减去总时间得到总的空闲时间。
各空闲时间求取单元950用于根据总的空闲时间和任务的能耗比例分配每个任务的空闲时间。各空闲时间求取单元950将任务的执行时间乘以任务所配置的处理器频率得到任务的能耗,将各个任务的能耗乘以各个任务所对应的执行次数得到总能耗,将任务的能耗除以总能耗得到任务的能耗比例,将总的空闲时间乘以任务的能耗比例得到任务的空闲时间。
任务排序模块830用于按照能耗从高到低对各个任务进行排序,得到任务的执行顺序。具体的,根据电池的特性,按照能耗大的任务先执行,能耗小的任务后执行,能耗可以用任务执行时候和所配置的处理器频率的乘积来代替。
功率控制模块840用于根据该执行顺序中任务所配置的处理器频率调整处理器的频率。
上述电池功耗的控制系统,根据任务的周期、执行时间和处理器频率计算每个任务的空闲时间,并按照能耗从高到低对任务进行排序得到执行顺序,按照执行顺序中任务所配置的处理器频率调整处理器的频率,以保证在任务周期允许的情况下,尽量选择能耗低的处理器的频率进行处理,并在每个任务完成后插入相应的空闲时间,以保证电池得到一定时间的恢复,延长电池的续航时间,不需要增加硬件成本,且不用关闭任务。
图10为另一个实施例中空闲时间计算模块的内部结构示意图。如图10所示,该空闲时间计算模块除了包括公倍数求取单元910、执行次数求取单元920、总时间求取单元930、总空闲时间求取单元940和各空闲时间求取单元950,还包括检测单元932和获取单元934。
检测单元932用于在求取所有任务执行的总时间之后,检测是否有非周期性任务。
获取单元934用于在检测到有非周期性任务时,获取非周期性任务的执行时间和处理器频率。
该总空闲时间求取单元940还用于获取单元获取到非周期性任务的执行时间和处理器频率后,根据最小公倍数、总时间和非周期性任务的执行时间求取总的空闲时间,以及在检测到没有非周期性任务时,根据最小公倍数和总时间求取总的空闲时间。
该各空闲时间求取单元950还用于将任务的执行时间乘以任务所配置的处理器频率得到任务的能耗,将各个任务的能耗乘以各个任务所对应的执行次数得到总能耗,将任务的能耗除以总能耗得到任务的能耗比例,将总的空闲时间乘以任务的能耗比例得到任务的空闲时间,其中,任务包括周期性任务和非周期性任务,该非周期性任务的执行次数为1次,该周期性任务为配置周期的任务。
上述电池功耗的控制系统,根据任务的周期、执行时间和处理器频率计算每个任务的空闲时间,并按照能耗从高到低对任务进行排序得到执行顺序,按照执行顺序中任务所配置的处理器频率调整处理器的频率,以保证在任务周期允许的情况下,尽量选择能耗低的处理器的频率进行处理,并在每个任务完成后插入相应的空闲时间,以保证电池得到一定时间的恢复,延长电池的续航时间,不需要增加硬件成本,且不用关闭任务,也可针对非周期性任务进行功耗调整。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种电池功耗的控制方法,其特征在于,包括:
配置步骤,配置每个任务的周期、执行时间和处理器频率;
空闲时间计算步骤,根据所述每个任务的周期、执行时间和处理器频率计算得到每个任务的空闲时间,所述每个任务的空闲时间是指在每个任务的结束位置可插入的空闲时间;
任务排序步骤,按照任务的能耗从高到低对各个任务进行排序,得到任务的执行顺序;
功率控制步骤,根据所述执行顺序中任务所配置的处理器频率调整处理器的频率,并在每个任务完成后插入相应的每个任务的空闲时间。
2.根据权利要求1所述的电池功耗的控制方法,其特征在于,所述空闲时间计算步骤包括:
公倍数求取步骤,求取任务的周期的最小公倍数;
执行次数求取步骤,求取每个任务在最小公倍数时间内的执行次数;
总时间求取步骤,求取所有任务执行的总时间;
总空闲时间求取步骤,求取总的空闲时间;
各空闲时间求取步骤,根据总的空闲时间和任务的能耗比例分配每个任务的空闲时间。
3.根据权利要求2所述的电池功耗的控制方法,其特征在于,所述各空闲时间求取步骤包括:
将任务的执行时间乘以任务所配置的处理器频率得到任务的能耗,将各个任务的能耗乘以各个任务所对应的执行次数得到总能耗,将任务的能耗除以总能耗得到任务的能耗比例,将总的空闲时间乘以任务的能耗比例得到任务的空闲时间。
4.根据权利要求2所述的电池功耗的控制方法,其特征在于,在总时间求取步骤之后,总空闲时间求取步骤之前,所述方法还包括:
检测是否有非周期性任务,若是,则获取非周期性任务的执行时间和处理器频率,然后根据最小公倍数、总时间和非周期性任务的执行时间求取总的空闲时间,若否,则根据最小公倍数和总时间求取总的空闲时间。
5.根据权利要求4所述的电池功耗的控制方法,其特征在于,所述各空闲时间求取步骤包括:
将任务的执行时间乘以任务所配置的处理器频率得到任务的能耗,将各任务的能耗乘以各任务所对应的执行次数得到总能耗,将任务的能耗除以总能耗得到任务的能耗比例,将总的空闲时间乘以任务的能耗比例得到任务的空闲时间,其中,任务包括周期性任务和非周期性任务,所述非周期性任务的执行次数为1次,所述周期性任务为配置周期的任务。
6.一种电池功耗的控制系统,其特征在于,包括:
配置模块,用于配置每个任务的周期、执行时间和处理器频率;
空闲时间计算模块,用于根据所述每个任务的周期、执行时间和处理器频率计算得到每个任务的空闲时间,所述每个任务的空闲时间是指在每个任务的结束位置可插入的空闲时间;
任务排序模块,用于按照任务的能耗从高到低对各个任务进行排序,得到任务的执行顺序;
功率控制模块,用于根据所述执行顺序中任务所配置的处理器频率调整处理器的频率,并在每个任务完成后插入相应的每个任务的空闲时间。
7.根据权利要求6所述的电池功耗的控制系统,其特征在于,所述空闲时间计算模块包括:
公倍数求取单元,用于求取任务的周期的最小公倍数;
执行次数求取单元,用于求取每个任务在最小公倍数时间内的执行次数;
总时间求取单元,用于求取所有任务执行的总时间;
总空闲时间求取单元,用于求取总的空闲时间;
各空闲时间求取单元,用于根据总的空闲时间和任务的能耗比例分配每个任务的空闲时间。
8.根据权利要求7所述的电池功耗的控制系统,其特征在于,所述各空闲时间求取单元还用于将任务的执行时间乘以任务所配置的处理器频率得到任务的能耗,将各任务的能耗乘以各任务所对应的执行次数得到总能耗,将任务的能耗除以总能耗得到任务的能耗比例,将总的空闲时间乘以任务的能耗比例得到任务的空闲时间。
9.根据权利要求7所述的电池功耗的控制系统,其特征在于,所述空闲时间计算模块还包括:
检测单元,用于在求取所有任务执行的总时间之后,检测是否有非周期性任务;
获取单元,用于在检测到有非周期性任务时,获取非周期性任务的执行时间和处理器频率;
所述总空闲时间求取单元还用于获取单元获取到非周期性任务的执行时间和处理器频率后,根据最小公倍数、总时间和非周期性任务的执行时间求取总的空闲时间,以及在检测到没有非周期性任务时,根据最小公倍数和总时间求取总的空闲时间。
10.根据权利要求9所述的电池功耗的控制系统,其特征在于,所述各空闲时间求取单元还用于将任务的执行时间乘以任务所配置的处理器频率得到任务的能耗,将各个任务的能耗乘以各个任务所对应的执行次数得到总能耗,将任务的能耗除以总能耗得到任务的能耗比例,将总的空闲时间乘以任务的能耗比例得到任务的空闲时间,其中,任务包括周期性任务和非周期性任务,所述非周期性任务的执行次数为1次,所述周期性任务为配置周期的任务。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410849712.0A CN104571462B (zh) | 2014-12-30 | 2014-12-30 | 电池功耗的控制方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410849712.0A CN104571462B (zh) | 2014-12-30 | 2014-12-30 | 电池功耗的控制方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104571462A CN104571462A (zh) | 2015-04-29 |
CN104571462B true CN104571462B (zh) | 2017-05-03 |
Family
ID=53087749
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410849712.0A Active CN104571462B (zh) | 2014-12-30 | 2014-12-30 | 电池功耗的控制方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104571462B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101075693A (zh) * | 2007-06-08 | 2007-11-21 | 清华大学 | 用于多状态单处理器的延长电池使用时间的任务分配方法 |
CN101834320A (zh) * | 2010-04-07 | 2010-09-15 | 清华大学 | 电池调度方法和装置 |
CN103064745A (zh) * | 2013-01-09 | 2013-04-24 | 苏州亿倍信息技术有限公司 | 一种任务分配处理的方法及系统 |
CN103914345A (zh) * | 2013-12-16 | 2014-07-09 | 西北工业大学 | 一种面向能量收集系统的嵌入式操作系统任务调度方法 |
CN104182180A (zh) * | 2014-07-30 | 2014-12-03 | 山东大学 | 面向混合主存嵌入式系统的低能耗edf实时任务调度方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7689838B2 (en) * | 2005-12-22 | 2010-03-30 | Intel Corporation | Method and apparatus for providing for detecting processor state transitions |
-
2014
- 2014-12-30 CN CN201410849712.0A patent/CN104571462B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101075693A (zh) * | 2007-06-08 | 2007-11-21 | 清华大学 | 用于多状态单处理器的延长电池使用时间的任务分配方法 |
CN101834320A (zh) * | 2010-04-07 | 2010-09-15 | 清华大学 | 电池调度方法和装置 |
CN103064745A (zh) * | 2013-01-09 | 2013-04-24 | 苏州亿倍信息技术有限公司 | 一种任务分配处理的方法及系统 |
CN103914345A (zh) * | 2013-12-16 | 2014-07-09 | 西北工业大学 | 一种面向能量收集系统的嵌入式操作系统任务调度方法 |
CN104182180A (zh) * | 2014-07-30 | 2014-12-03 | 山东大学 | 面向混合主存嵌入式系统的低能耗edf实时任务调度方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104571462A (zh) | 2015-04-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Badam et al. | Software defined batteries | |
CN102937830B (zh) | 移动设备的电量管理方法、装置及移动设备 | |
Aksanli et al. | Providing regulation services and managing data center peak power budgets | |
CN105071486A (zh) | 一种充电提示方法和装置 | |
CN104184884B (zh) | 一种移动终端功耗的管控装置及方法、移动终端 | |
CN106487071A (zh) | 一种充电管理方法及终端 | |
CN104216502A (zh) | 一种具有前瞻属性的SoC动态电压频率调节方法 | |
CN105808376B (zh) | 一种数据备份方法、装置及电子设备 | |
CN102520785B (zh) | 一种云数据中心能耗管理方法及系统 | |
CN104219747B (zh) | 一种根据电量信息调整唤醒时间的方法、装置及终端 | |
Lee et al. | Power conversion efficiency characterization and optimization for smartphones | |
CN104866058A (zh) | 电子设备的续航时间的确定方法和装置 | |
CN104281513A (zh) | 一种应用程序耗电量检测方法及系统 | |
CN108256813A (zh) | 任务提醒方法和服务器 | |
CN103778567A (zh) | 一种用户异常用电甄别的方法及系统 | |
CN104914381A (zh) | 一种移动终端电池电量平滑显示方法及系统 | |
CN102866767A (zh) | 半导体装置、无线通信终端和时钟频率控制方法 | |
Zhang et al. | Improving charging efficiency with workload scheduling in energy harvesting embedded systems | |
CN104571462B (zh) | 电池功耗的控制方法和系统 | |
CN109643831A (zh) | 具有可访问电荷指示符的便携式电子设备 | |
CN103278707A (zh) | 获取终端待机时间的方法及终端 | |
CN108471476B (zh) | 移动终端反向充电管理方法及移动终端 | |
CN104915559A (zh) | 一种用电设备确定方法及系统 | |
CN106990829A (zh) | 一种终端的控制方法及装置 | |
US9547028B2 (en) | Electronic device and method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |