基于硬件性能计数器的嵌入式系统功耗估算方法

文档序号:6508205阅读:680来源:国知局
基于硬件性能计数器的嵌入式系统功耗估算方法
【专利摘要】本发明公开了基于硬件性能计数器的嵌入式系统功耗估算方法,通过对性能事件的分类,选择具有代表性的性能事件,计算性能事件的发生次数与功耗之间的斯皮尔曼秩相关系数,判断相关度并选取具有代表性的性能事件,然后使用线性回归的方法建立功耗模型,估算出嵌入式系统的功耗。本发明通过对功耗模型的分析,可观察处理器的功耗按照时间顺序产生的变化,也可以根据实时监测数据对系统的软硬件工作情况采用一定的策略进行调整,以达到保证系统稳定性、延长电池工作时间或者调节散热设备保证性能等目的,从而进行性能优化,进而提高整个系统的运行效率。
【专利说明】基于硬件性能计数器的嵌入式系统功耗估算方法
【技术领域】
[0001]本发明涉及嵌入式系统功耗计算领域,尤其涉及一种基于硬件性能计数器的嵌入式系统功耗估算方法。
【背景技术】
[0002]当前嵌入式系统的发展趋势可以概括为硬件性能不断升高,软件规模日益增大,面临着硬件功耗过高的性能问题,解决这个问题必须对嵌入式系统中硬件功耗的产生进行研究。
[0003]早期嵌入式处理器由于结构简单多采用RISC指令集,性能要求不高,而且主频较低,并没有产生严重的功耗问题,功耗问题通常只存在于对性能要求较高的PC系统中。近年来随着嵌入式系统对于硬件性能需求的不断增加,为了得到更高的性能,其架构不断复杂化,同时一些以往在高性能处理器上使用的技术也开始出现在嵌入式处理器中,这些技术在带来了处理器性能飞速发展的同时,也使处理器的复杂度和功耗变得难以控制。
[0004]目前大多数处理器为了降低功耗都使用了动态的电源管理技术,能够根据计算需求动态调节处理器的时钟以及工作电压和电流,这方面技术主要包括动态资源休眠(简称DRS)和动态速率调节(简称DSS)。动态资源休眠即为了节能而休眠或关闭空闲的资源,需要时再将资源动态唤醒。目前的主流处理器都支持动态休眠技术;动态速率调节即动态调节设备的运行速率,当计算存在大量的通信与同步时,快速设备完成其承担的负载后必须等待慢速设备,此时快速设备的高速率是没有必要的,降低快速设备的速率,可以降低系统功耗而不损失系统性能,从而实现系统的能耗优化。
[0005]但是此类技术从软件开发的角度来讲,开发人员无法知道其确切的工作状态也无法进行有效的干预。此外,嵌入式处理器有其独特的应用场合,对于移动设备电池容量也是有限的。因此在设计时,嵌入式系统的功耗与性能必须联合起来进行考虑,找到一个最佳的平衡点。为此,必须能够找到一种描述嵌入式系统中功耗的方法。在嵌入式系统中,处理器的功耗占据了整体功耗的很大一部分,并且通常会带来散热的问题,因此找到一种能够描述软件运行带来的嵌入式处理器功耗的方法是十分必要的。

【发明内容】

[0006]本发明的目的在于提供一种基于硬件性能计数器的嵌入式系统功耗估算方法,通过对性能事件的分类,选择具有代表性的性能事件,利用功耗信息和性能事件的发生次数,采用基于斯皮尔曼秩相关系数判断相关度的方法进行硬件性能计数器对应事件的选择;然后利用基于多元线性回归模型的方法进行系统功耗模型的建立。
[0007]—种基于硬件性能计数器的嵌入式系统功耗估算方法,包括以下步骤:
[0008]I)将嵌入式系统的处理器按功能进行模块划分,并将处理器所发生的性能事件按功能进行分类;
[0009]一般情况下,常根据功能将处理器划分模块,根据处理器中预定义性能事件的描述,可以手动将所有的性能事件对应于不同的功能模块,进行分类,例如:对于数据的读写操作,可以将其划分到和内存相关的一类事件中。
[0010]2)收集嵌入式系统运行时间内所有性能事件的功耗和发生次数;
[0011]本发明采用性能计数器,收集相应的性能事件的发生次数,所述性能计数器能同时收集一个或多个性能事件发生的次数。在测试程序中,尽可能多的让所有需要统计的性能事件发生,例如,对浮点运算这类性能事件进行功耗统计,在测试程序中,不仅需要对加、减、乘、除四种运算多次进行计算,同时也需要对多组数据进行测试。根据编写的测试程序,收集运行时所有性能事件的功耗数据,并通过读取相应的性能事件计数器记录所有性能事件的发生次数;
[0012]3)计算性能事件的发生次数与功耗之间的斯皮尔曼秩相关系数,判断相关度并选取具有代表性的性能事件;
[0013]斯皮尔曼相关系数或称为斯皮尔曼的P,一般用希腊字母Ps(rho)或是rs表示。斯皮尔曼相关系数是一个非参数的度量两个变量之间的统计相关性的指标,用来评估当用单调函数来描述两个变量之间的关系的强弱。
[0014]在实际计算中,有更简单的计算斯皮尔曼相关系数的方法。假使原始的数据Xi和Yi被按照从大到小的顺序进行了排列,记X’ i和y’ i为原Xi和Ji在排列后数据所在的位置,则可以将χ’ i和y’ i称为变量Xi和Ji的秩次,则Cli = χ’ 1-y’ i为Xi和Ji的秩次之差。
[0015]若无相同秩次时,相关系数可由下式计算:
[0016]
【权利要求】
1.一种基于硬件性能计数器的嵌入式系统功耗估算方法,其特征在于,包括以下几个步骤: 1)将嵌入式系统的处理器按功能进行模块划分,并将处理器所发生的性能事件按功能进行分类; 2)收集嵌入式系统运行时间内所有性能事件的功耗和发生次数; 3)计算性能事件的发生次数与功耗之间的斯皮尔曼秩相关系数,判断相关度并选取具有代表性的性能事件; 4)收集步骤3)中具有代表性的性能事件发生的次数和功耗信息; 5)根据步骤4)中发生的次数和功耗信息生成线性回归模型,并计算出嵌入式系统的处理器功耗。
2.如权利要求1所述的基于硬件性能计数器的嵌入式系统功耗估算方法,其特征在于,所述功耗和发生次数之间的关系为:
3.如权利要求2所述的基于硬件性能计数器的嵌入式系统功耗估算方法,其特征在于,性能事件的发生次数与功耗之间的斯皮尔曼秩相关系数越大,对应的相关度越高,此性能事件为具有代表性的性能事件。
4.如权利要求1所述的基于硬件性能计数器的嵌入式系统功耗估算方法,其特征在于,若两个或多个性能事件对应的相关度接近时,可选取其中一个性能事件作为具有代表性的性能事件。
5.如权利要求4所述的基于硬件性能计数器的嵌入式系统功耗估算方法,其特征在于,在步骤2)和步骤4)中,采用性能计数器,收集相应的性能事件的发生次数。
6.如权利要求5所述的基于硬件性能计数器的嵌入式系统功耗估算方法,其特征在于,所述性能计数器能同时收集一个或多个性能事件发生的次数。
7.如权利要求1所述的基于硬件性能计数器的嵌入式系统功耗估算方法,其特征在于,所述步骤5)中的线性回归模型为:
【文档编号】G06F1/32GK103455132SQ201310364590
【公开日】2013年12月18日 申请日期:2013年8月20日 优先权日:2013年8月20日
【发明者】张亮, 沈沛意, 宋娟, 周梦, 李博, 蔡玉鑫 申请人:西安电子科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1