[发明专利]一种基于模拟器的细粒度功耗估计方法在审
申请号: | 202010819616.7 | 申请日: | 2020-08-14 |
公开(公告)号: | CN112181757A | 公开(公告)日: | 2021-01-05 |
发明(设计)人: | 刘芳;朱凌宇;林清音 | 申请(专利权)人: | 中山大学 |
主分类号: | G06F11/30 | 分类号: | G06F11/30;G06F11/34 |
代理公司: | 广州粤高专利商标代理有限公司 44102 | 代理人: | 张金福 |
地址: | 510275 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 模拟器 细粒度 功耗 估计 方法 | ||
本发明公开了一种基于模拟器的细粒度功耗估计方法,包括以下步骤:S1:定义识别代码段用于告知模拟器目标代码段开始位置和结束位置;S2:添加自定义计数器,用于计算目标代码段的事件信息;S3:建立CPU功耗模型,所述CPU功耗模型包括:CPU静态模型和CPU动态模型,根据CPU静态模型和CPU动态模型计算得到目标代码段的功耗。本发明通过自定义伪指令来识别代码段,建立精确的CPU功耗模型,通过CPU功耗模型计算得到目标代码段的功耗,从而可以定位程序中高耗能部位,克服了传统功耗估计方法依赖硬件的缺陷。
技术领域
本发明涉及计算机技术领域,更具体地,涉及一种基于模拟器的细粒度功耗估计方法。
背景技术
物联网(IoT)设备通常具有内存受限和能量受限的特征,能源效率已经成为物联网应用开发的重要挑战之一。然而,现有的能耗分析工作大多集中于对硬件设备的能耗分析或是对应用程序总体能耗的监控,缺少对应用程序内部模块的具体能耗分析。现有的研究提供了从硬件角度以及时间粒度上的功耗测量方法,但缺少针对代码段的功耗测量方法。因此,现有的功耗优化方案大多集中于硬件、操作系统以及编程模型等方面,使得开发者在开发过程中较少关注能耗效率。现有的功耗测量方法可以分为:硬件测量方法、软件测量方法以及模拟器估计方法。硬件测量方法能够提供非常准确的能耗信息。但是,基于硬件的传统测量方法无法在函数模块级别上测量能耗。一方面,函数模块执行时间极短,硬件电路的采样周期通常较长。另一方面,即使采用细粒度的采样,硬件电路仍然无法识别功耗在软件层面的来源。软件测量也是一种准确的测量方法,已被广泛用于功率分析。与硬件测量相比,它可以获得更高层次的能耗信息。但是,软件测量在很大程度上取决于硬件模块的嵌入,例如性能监视计数器(PMC),这是多数物联网设备无法提供的。
现有技术中,文献[1]提供了一个模块化且灵活的仿真平台——gem5,支持多个ISA(Alpha,ARM,SPARC,x86),并提供多个CPU模型(简单的单CPI CPU,有序CPU,无序CPU,基于KVM的CPU)。Gem5的对象排列在操作系统可见的电源和时钟域中,并且支持动态电压和频率缩放(DVFS),因此非常适合能耗研究。良好的模块化也方便了开发者对其进行功能添加。但方案中Gem5本身无法提供完整的功率信息,虽然内存部分的功耗模型相对完善,但缺少较为准确的CPU功耗模型。尽管已经存在一些第三方工具可以根据Gem5模拟器的输出来计算详细的能耗信息,如McPAT等,但研究表明这些工具的计算结果与采用硬件测量仪器获取的结果存在较大的误差。而且,模拟器本身不具有识别被执行程序的代码段的功能。文献[2]提供了一个能够识别出程序运行时消耗最多能量的代码模块的软件。提供了一个两级电源模型,它通过仅使用一个来自CPU的PMC和频率信息在CPU上对每个芯片上的多核处理器(CMP)的性能进行了评估。在给定应用程序的情况下,SPAN可以在功能模块级别确定功耗,将功耗与源代码段的执行联系在一起。该方案提出的软件——SPAN,依赖于硬件上的PMC,而大多数IoT设备都不具备PMC。
发明内容
本发明为克服上述现有技术功耗测量多数依赖硬件平台的缺陷,提供一种基于模拟器的细粒度功耗估计方法。
本发明的首要目的是为解决上述技术问题,本发明的技术方案如下:
一种基于模拟器的细粒度功耗估计方法,包括以下步骤:
S1:定义识别代码段用于告知模拟器目标代码段开始位置和结束位置;
S2:添加自定义计数器,用于计算目标代码段的事件信息;
S3:建立CPU功耗模型,所述CPU功耗模型包括:CPU静态模型和CPU动态模型,根据CPU静态模型和CPU动态模型计算得到目标代码段的功耗。
本方案中,所述识别代码段为16位X86伪指令,所述伪指令表示为:myinst(#n,in/out),其中,#n表示目标代码段的序号,in/out表示进入或退出该目标代码段。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中山大学,未经中山大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010819616.7/2.html,转载请声明来源钻瓜专利网。