本发明涉及嵌入式系统能耗管理技术领域,更具体地说,涉及一种基于时间间隔的温度感知的处理器能耗计算方法。
背景技术:
嵌入式系统不仅要求输出结果的正确性,而且对时限有着严格的要求。随着嵌入式系统的发展,其已经广泛地应用在生产、生活的各个方面,常见的嵌入式系统有汽车驾驶系统、无人机控制系统、数控系统、智能手机操作系统、路由器控制系统等。
随着处理器技术的快速发展,处理器运行速度越快,导致系统的功耗越来越高。过高的功耗不仅增加系统的温度,提高冷却成本;而且对系统的可靠性造成负面。
因此,能耗成为设计嵌入式系统的一个重要目标。
动态电压频率调节和动态功耗管理是降低嵌入式系统能耗的两种有效技术。现有技术中,针对嵌入式系统能耗的问题的技术方案,通常假设处理器的功耗不变,而忽略了处理器温度对功耗产生的影响,导致最终所计算的能耗不够精确。
技术实现要素:
本发明的目的在于克服现有技术的不足,提供一种基于时间间隔的温度感知的处理器能耗计算方法,利用动态电压频率调节技术,研究处理器温度对功耗产生的影响,能够更准确地计算能耗。
本发明的技术方案如下:
一种基于时间间隔的温度感知的处理器能耗计算方法,步骤如下:
1)根据周期任务的参数确定时间间隔;
2)根据热传导方程,计算处理器在时刻t的温度t(t);
3)计算周期任务在单个时间间隔[t0,t1]的能耗e(t0,t1);
4)计算周期任务的总能耗esum。
作为优选,步骤1)具体为:
计算时间间隔的个数w:
其中,e和p分别代表周期任务在最大处理器频率下的最坏情况下执行时间和周期,周期任务通过参数(e,p)进行表示;
根据时间间隔的个数,周期任务可以在区间[t0,t1],[t1,t2],…,[tm-1,tm],[tm,tm 1],…,[tw-1,tw]执行,其中,t0为周期任务的开始执行时间,t1,t2,…tm,tm 1,…,tw是相应区间的结束时间;
作为优选,周期任务在区间[t0,t1],[t1,t2],…,[tm-1,tm]以处理器提供的第一归一化频率f′执行,在区间[tm,tm 1],…,[tw-1,tw]以处理器提供的第二归一化频率f″执行;
其中,f′=fl,f″=fh,fl和fh是处理器提供的频率,满足fl≤e/p≤fh,且要求fl和fh的值与e/p的值最相近。
作为优选,时间间隔ti由下式计算:
作为优选,步骤2)具体为:
热传导方程如下:
其中,t(t)是在时刻t的处理器温度,a、b是与处理器相关的常数,p(t)是在时刻t的处理器功耗;
p(t)=pleak(k) pdyn(k);
其中,pleak(k)和pdyn(k)分别是在时刻t处理器以归一化频率fk执行时的漏电流功耗和动态功耗,具体如下:
pleak(k)=c1fk c2fkt(t);
其中,c1和c2是与处理器相关的常数,c3是处理器的有效负载电容;
通过热传导方程求解出处理器在时刻t的温度t(t),具体如下:
b(k)=b-ac1fk;
其中,t0为周期任务的开始执行时间,t(t0)是处理器的初始温度。
作为优选,步骤3)具体为:
对热传导方程两端积分,得到如下:
进而得到如下:
其中,t(t1)和t(t)是在时刻t1和t的处理器温度。
作为优选,步骤4)具体为:
其中,m1、m2、m3、m4是常数。
作为优选,常数m1、m2、m3、m4具体如下:
m2=b-ac1f′;
m4=b-ac1f″。
作为优选,常数a、b具体如下:
其中,r是处理器的热阻,c是处理器的电容。
本发明的有益效果如下:
本发明所述的基于时间间隔的温度感知的处理器能耗计算方法,通过划分时间间隔,根据热传导方程,计算任务在各时间间隔的能耗,考虑系统温度对能耗的影响,提高了能耗计算的准确性。
附图说明
图1是本发明的流程示意图。
具体实施方式
以下结合附图及实施例对本发明进行进一步的详细说明。
为了克服现有技术存在的因忽略处理器温度对功耗产生的影响而导致最终所计算的能耗不够精确的不足,提供一种基于时间间隔的温度感知的处理器能耗计算方法,如图1所示,包括如下步骤:
步骤1)根据周期任务的参数确定时间间隔。
周期任务由参数(e,p)表示,其中,e和p分别代表周期任务在最大处理器频率下的最坏情况下执行时间和周期;处理器提供n个归一化的离散频率[f1,f2,…,1],其中,f1代表处理器提供的归一化最低频率;所述的归一化频率是指将处理器的频率除以处理器的最大频率所得到的值;周期任务的开始执行时间为t0,时间间隔的个数w由下式计算:
根据时间间隔的个数,周期任务可以在区间[t0,t1],[t1,t2],…,[tm-1,tm],[tm,tm 1],…,[tw-1,tw]执行,其中,m的值由下式计算:
其中,t1,t2,…tm,tm 1,…,tw是相应区间的结束时间;为了减少处理器的频率切换开销,周期任务在区间[t0,t1],[t1,t2],…,[tm-1,tm]以归一化频率f′执行,在区间[tm,tm 1],…,[tw-1,tw]以归一化频率f″执行;时间间隔ti由下式计算:
其中,k1由下式计算:
其中,e是周期任务在最大处理器频率下的最坏情况下执行时间;w是时间间隔的个数;f′是此时的周期任务执行的归一化频率;
其中,e是周期任务在最大处理器频率下的最坏情况下执行时间;w是时间间隔的个数;f″是此时的周期任务执行的归一化频率;归一化频率f′和f″可以通过下式计算:
f′=fl,f″=fh;
其中,fl和fh是处理器提供的频率,满足fl≤e/p≤fh,且要求fl和fh的值与e/p的值最相近。
步骤2)所述根据热传导方程,计算处理器在时刻t的温度t(t)。
热传导方程由下式给出:
其中,t(t)是在时刻t的处理器温度,a、b是与处理器相关的常数,a、b的值分别由下式计算:
其中,r和c是常数,分别代表处理器的热阻与电容;p(t)是在时刻t的处理器功耗,其中,由下式计算:
p(t)=pleak(k) pdyn(k);
其中,pleak(k)和pdyn(k)分别是在时刻t处理器以归一化频率fk执行时的漏电流功耗和动态功耗;pleak(k)由下式计算:
pleak(k)=c1fk c2fkt(t);
其中,c1和c2是与处理器相关的常数,t(t)是在时刻t的处理器温度;pdyn(k)由下式计算:
其中,c3是处理器的有效负载电容;由热传导方程可以求解出处理器在时刻t的温度t(t),其值由下式计算:
其中,t0是处理器刚开始执行任务的初始时刻,t(t0)是处理器的初始温度;d(k)由下式计算:
其中,b(k)由下式计算:
b(k)=b-ac1fk。
步骤3)计算周期任务在单个时间间隔[t0,t1]的能耗e(t0,t1)。
对热传导方程两端积分,得到下式:
进而得到下式:
其中,t(t1)和t(t)是在时刻t1和t的处理器温度。
步骤4)计算周期任务的总能耗esum。
周期任务的总能耗esum由下式计算:
其中,x,y为正整数,t(tw)是在时刻tw的处理器温度,t(t0)是处理器的初始温度;
其中,m1是常数,其值由下式计算:
m2是常数,其值由下式计算:
m2=b-ac1f′;
m3是常数,其值由下式计算:
m4是常数,其值由下式计算:
m4=b-ac1f″。
实施例
本实施例中使用arma9处理器,所述的处理器的温度传感器的精度可达到0.4℃,热阻r为22,电容c为0.0454,且可以提供3个离散的归一化频率即[0.4,0.8,1.0],参数c1、c2和c3分别为0.0435,611和1。周期任务的最坏情况下的执行时间e和周期p分别为2.5和6。
假设周期任务是时刻0开始执行,此时的处理器初始温度t(t0)=25℃,可知在区间[0,2.08],[2.08,4.16],周期任务以归一化频率fl=0.4执行;在区间[4.16,5.20]周期任务以归一化频率fh=0.8执行。
通过计算可知,w=3,m=2,
上述实施例仅是用来说明本发明,而并非用作对本发明的限定。只要是依据本发明的技术实质,对上述实施例进行变化、变型等都将落在本发明的权利要求的范围内。
1.一种基于时间间隔的温度感知的处理器能耗计算方法,其特征在于,步骤如下:
1)根据周期任务的参数确定时间间隔;
2)根据热传导方程,计算处理器在时刻t的温度t(t);
3)计算周期任务在单个时间间隔[t0,t1]的能耗e(t0,t1);
4)计算周期任务的总能耗esum。
2.根据权利要求1所述的基于时间间隔的温度感知的处理器能耗计算方法,其特征在于,步骤1)具体为:
计算时间间隔的个数w:
其中,e和p分别代表周期任务在最大处理器频率下的最坏情况下执行时间和周期,周期任务通过参数(e,p)进行表示;
根据时间间隔的个数,周期任务可以在区间[t0,t1],[t1,t2],…,[tm-1,tm],[tm,tm 1],…,[tw-1,tw]执行,其中,t0为周期任务的开始执行时间,t1,t2,…tm,tm 1,…,tw是相应区间的结束时间;
3.根据权利要求2所述的基于时间间隔的温度感知的处理器能耗计算方法,其特征在于,周期任务在区间[t0,t1],[t1,t2],…,[tm-1,tm]以处理器提供的第一归一化频率f′执行,在区间[tm,tm 1],…,[tw-1,tw]以处理器提供的第二归一化频率f″执行;
其中,f′=fl,f″=fh,fl和fh是处理器提供的频率,满足fl≤e/p≤fh,且要求fl和fh的值与e/p的值最相近。
4.根据权利要求3所述的基于时间间隔的温度感知的处理器能耗计算方法,其特征在于,时间间隔ti由下式计算:
5.根据权利要求1至4任一项所述的基于时间间隔的温度感知的处理器能耗计算方法,其特征在于,步骤2)具体为:
热传导方程如下:
其中,t(t)是在时刻t的处理器温度,a、b是与处理器相关的常数,p(t)是在时刻t的处理器功耗;
p(t)=pleak(k) pdyn(k);
其中,pleak(k)和pdyn(k)分别是在时刻t处理器以归一化频率fk执行时的漏电流功耗和动态功耗,具体如下:
pleak(k)=c1fk c2fkt(t);
其中,c1和c2是与处理器相关的常数,c3是处理器的有效负载电容;
通过热传导方程求解出处理器在时刻t的温度t(t),具体如下:
b(k)=b-ac1fk;
其中,t0为周期任务的开始执行时间,t(t0)是处理器的初始温度。
6.根据权利要求5所述的基于时间间隔的温度感知的处理器能耗计算方法,其特征在于,步骤3)具体为:
对热传导方程两端积分,得到如下:
进而得到如下:
其中,t(t1)和t(t)是在时刻t1和t的处理器温度。
7.根据权利要求6所述的基于时间间隔的温度感知的处理器能耗计算方法,其特征在于,步骤4)具体为:
其中,m1、m2、m3、m4是常数。
8.根据权利要求7所述的基于时间间隔的温度感知的处理器能耗计算方法,其特征在于,常数m1、m2、m3、m4具体如下:
m2=b-ac1f′;
m4=b-ac1f″。
9.根据权利要求5所述的基于时间间隔的温度感知的处理器能耗计算方法,其特征在于,常数a、b具体如下:
其中,r是处理器的热阻,c是处理器的电容。
技术总结