[发明专利]一种基于模拟器的细粒度功耗估计方法在审
申请号: | 202010819616.7 | 申请日: | 2020-08-14 |
公开(公告)号: | CN112181757A | 公开(公告)日: | 2021-01-05 |
发明(设计)人: | 刘芳;朱凌宇;林清音 | 申请(专利权)人: | 中山大学 |
主分类号: | G06F11/30 | 分类号: | G06F11/30;G06F11/34 |
代理公司: | 广州粤高专利商标代理有限公司 44102 | 代理人: | 张金福 |
地址: | 510275 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 模拟器 细粒度 功耗 估计 方法 | ||
1.一种基于模拟器的细粒度功耗估计方法,其特征在于,包括以下步骤:
S1:定义识别代码段用于告知模拟器目标代码段开始位置和结束位置;
S2:添加自定义计数器,用于计算目标代码段的事件信息;
S3:建立CPU功耗模型,所述CPU功耗模型包括:CPU静态模型和CPU动态模型,根据CPU静态模型和CPU动态模型计算得到目标代码段的功耗。
2.根据权利要求1所述的一种基于模拟器的细粒度功耗估计方法,其特征在于,所述识别代码段为16位X86伪指令,所述伪指令表示为:myinst(#n,in/out),其中,#n表示目标代码段的序号,in/out表示进入或退出该目标代码段。
3.根据权利要求2所述的一种基于模拟器的细粒度功耗估计方法,其特征在于,自定义计数器为指令计数器,模拟器包括有32个指令计数器组成的数组。
4.根据权利要求3所述的一种基于模拟器的细粒度功耗估计方法,其特征在于,计数器的计算流程包括:
模拟器接收到来自上层应用程序的识别代码段指令myinst(#n,in),序号n对应的计数器被激活,开始计数。
5.根据权利要求4所述的一种基于模拟器的细粒度功耗估计方法,其特征在于,计数器的计算流程还包括:
当统计单一的代码段时,模拟器遇到myinst(#n,out)对应的计数器也将停止计数,若同时统计多个代码段时,不同的目标代码段如果存在包含关系,则进入子代码段时,被执行,序号对应的计数器开始工作,而父代码段对应的计数器也继续保持计数。
6.根据权利要求5所述的一种基于模拟器的细粒度功耗估计方法,其特征在于,计数器的计算流程还包括:
当目标代码段存在递归时,设定每个代码段维护了一个数组,level[n],用来记录目标代码段递归的层数,每遇到一次myinst(#n,in)指令,level[n]计数加1,遇到myinst(#n,out)指令时,level[n]计数减1,只有当level[n]计数为0时,序号n对应的计数器才会停止计数。
7.根据权利要求1所述的一种基于模拟器的细粒度功耗估计方法,其特征在于,CPU动态模型的功率表达式为:
Pdynamic=Ceff*f*V2 (1)
Ceff=0.19*IPC+1.64 (2)
其中,Ceff表示电容,f表示CPU频率和V表示CPU电压,IPC表示每个周期指令数。
8.根据权利要求7所述的一种基于模拟器的细粒度功耗估计方法,其特征在于,CPU静态模型的功率表达式为:
其中,V表示CPU电压,T表示CPU温度。
9.根据权利要求8所述的一种基于模拟器的细粒度功耗估计方法,其特征在于,CPU总功耗表达式为:
其中,Pdyn(k)和Pstatic(k)分别是指由相应的功率模型计算出的活动核k的动态和静态功率,Tsim是执行时。
10.根据权利要求1所述的一种基于模拟器的细粒度功耗估计方法,其特征在于,所述事件信息包括:程序运行时间,CPU指令数,缓存未命中次数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中山大学,未经中山大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010819616.7/1.html,转载请声明来源钻瓜专利网。