[发明专利]一种针对ARM指令集的层次分类功耗测量方法无效
申请号: | 201010191793.1 | 申请日: | 2010-06-04 |
公开(公告)号: | CN101881995A | 公开(公告)日: | 2010-11-10 |
发明(设计)人: | 郭兵;沈艳;廖海艳;任磊;王继禾;伍元胜;罗刚 | 申请(专利权)人: | 四川大学 |
主分类号: | G06F1/32 | 分类号: | G06F1/32;G06F9/46 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 610065 四川*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 针对 arm 指令 层次 分类 功耗 测量方法 | ||
所属技术领域
本发明涉及嵌入式软件功耗测量技术领域,尤其是涉及一种针对ARM指令集的层次分类功耗测量方法。
背景技术
目前,嵌入式系统在信息家电、智能控制、军事电子等领域得到了广泛的应用。截止2008年底,全世界嵌入式设备的保有量超过了30亿台,且数量继续呈快速增长的势头,每年电力消耗达到1000亿千瓦时以上。在全球倡导“低碳经济”的背景下,嵌入式系统的功耗是一个日益引起人们关注的热点问题,成为嵌入式系统设计的重要考量因素。
HMSim作为一种高精度的指令级嵌入式软件功耗仿真器,可灵活、方便地获得嵌入式软件的功耗值。在HMSim的功耗统计模型中,单条汇编指令以及指令对的功耗测量是构建功耗模型的基础,其精确测量结果对高级语言程序(如C、C++)的功耗分析与优化有着重要的支撑作用。由于ARM指令集的多样性,如256条指令、多种寻址方式、多种立即数、流水线的影响以及指令周期数的不确定性等,因此,对ARM指令集的功耗进行分析与测量存在一定的难度。
1994年,Tiwari等人提出了对软件功耗进行分析的基本概念,并建立了基本的指令集功耗模型。2002年,T K Tan针对指令集功耗测量问题,将指令集分成32类,分别测得每一类指令的基准电流值,将其作为统计指令功耗的基准。但是在功耗统计模型中,又根据值的相近度将32个基准电流值分成四类,用这四类基准值统计相应分类指令的功耗。可以看出,指令集的寻址方式、立即数类型、指令对及流水线对指令的功耗存在较大的影响,将指令集的基准电流值分成四类显得不够精确,误差较大。
发明内容
本文旨在提出一种针对ARM指令集的层次分类功耗测量方法。
本发明解决其技术难题所采用技术方案的步骤如下:
1)首先,将ARM指令集的九类指令归纳为数据处理类、存储加载交换类、状态寄存器访问和跳转类、协处理器指令类四类;
2)其次,根据指令寻址方式对四类指令二次分类,数据处理类指令主要采用立即寻址和寄存器寻址,对存储加载和交换类指令主要采用基址变址寻址和多寄存器寻址,对状态寄存器访问和跳转类指令主要采用相对寻址;
3)然后,根据立即数类型对寻址方式三次分类,立即数类型将影响立即寻址和寄存器寻址,立即数类型可分为四类,每一类对指令功耗和周期数的影响相同,因此,采用等价类划分方法进行测量;
4)经上述分类测量后,将每一种指令不同形式的电流值做加权平均,即为该指令的电流基准值;
5)获得指令的电流基准值之后,使用如下公式计算指令功耗:
其中,a表示三级流水线对指令周期数的影响因子,Iinstr表示单条指令的基准电流值,即单条指令在1个时钟周期内所需的电流值,V表示ARM处理器的电压,f表示ARM处理器的频率,Ccycle表示执行该条指令所需的时钟周期数,Dij表示指令对功耗;
6)步骤5)公式中Ccycle按照下面的公式计算:
Ccycle=k1+2k2+k3+k4
其中,系数k1,k2,k3,k4>=0为整数,分别表示执行一条指令所需内部周期(I)、非连续的周期(N)、连续的周期(S)和协处理器寄存器传输周期(C)四种存储周期的个数;
本发明与背景技术相比,具有的有益效果是:
1)精确性:本发明使用针对ARM指令集的层次分类功耗测量方法,相比与其他人使用的简单分类测量方法,功耗预测的精度得到了较大提升,预测误差在10%以内。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于四川大学,未经四川大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010191793.1/2.html,转载请声明来源钻瓜专利网。