[发明专利]一种精确分析任务WCET的自动化方法有效
| 申请号: | 201410443638.2 | 申请日: | 2014-09-03 |
| 公开(公告)号: | CN104391684B | 公开(公告)日: | 2018-01-26 |
| 发明(设计)人: | 孙泽宇;刁文广;董晓玲;姬孟洛;于素萍;刘庆伟;高翔;侯小静 | 申请(专利权)人: | 洛阳理工学院 |
| 主分类号: | G06F9/44 | 分类号: | G06F9/44 |
| 代理公司: | 洛阳公信知识产权事务所(普通合伙)41120 | 代理人: | 苗强 |
| 地址: | 471000 河南*** | 国省代码: | 河南;41 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 精确 分析 任务 wcet 自动化 方法 | ||
技术领域
本发明涉及一种精确估算实时系统任务最差情况执行时间(WCET :Worst-Case Execution Time)的自动化方法,属于实时嵌入式系统领域。
背景技术
与通用计算机系统不同,实时系统的结果只有在规定的时间范围内完成时才是有效的,如果没有在规定的时间范围内完成时,轻则降低系统的性能,重则引起灾难性的后果,比如飞机投弹、核泄漏。因此,对于实时系统,事先获取系统中每个任务的WCET和最好情况的执行时间(BCET :Best-Case Execution Time)有着特别重要的意义。鉴于BECT分析与WCET分析技术相同,人们只涉及WCET分析。事实上,WCET分析是实时系统任务调度及可调度性检测的前提,也是系统性能瓶颈分析的基础。
WCET分析通常包括三个组成部分:①程序流事实分析;②执行时间模型的建立;③基于前两项信息的WCET计算。流事实信息就是程序的执行流信息,比如循环的最大迭代次数、不可行路径(infeasible path)等,其中不可行路径是指对任意输入数据都不可能执行的程序路径。
要获取程序的WCET,还需要对程序的目标代码进行分析以获得实际的时间,即建立执行时间模型。举例来说,对于不带cache、没有流水线的传统CISC指令,其指令的执行时间是固定的,其执行时间模型就是:一个代码段的执行时间就是其所对应的每条指令执行时间的累加。
计算是在给定程序流事实和执行时间模型的情况下,为程序计算WCET估值。比如对于常见的基于树的(tree-based)计算方法,使用为每种类型的复合程序语句定义的规则确定语句的WCET,然后通过自底向上遍历程序的语法分析树产生整个程序的WCET估值。具体来说,对于复合语句S1;S2,WCET(S1;S2) = WCET (S1) + WCET (S2);对于条件语句if (E) then S1 else S2,WCET (if (E) then S1 else S2) = WCET(E)+max(WCET (S1), WCET (S2)) ;对于循环语句while (E) do S,WCET(while (E) do S) = (n+1)* WCET(E)+n* WCET (S),这里n为循环迭代次数。
有很多实时程序,其执行轨迹由程序的输入变量值或者范围确定的,在该条件下程序按照此轨迹执行。举例来说,如图6所示的C程序:
假定exponent的范围为[-10,10],则依据基于树的方法和相应的指令代码,其WCET为:
Wpow=111+max(301,283)+270+117+10*(117+317)+111+max(560,0)+244=6054
其中,假定第3~6行程序对应的if语句的条件部分代码指令执行时间为111,两个分支的执行时间分别为301和283,第7行程序对应的赋值语句的代码指令执行时间为270,第8~9行程序对应的for语句的条件部分代码指令执行时间为117,第9行程序对应的赋值语句的代码指令执行时间为317,第10~11行程序对应的if语句的条件部分代码指令执行时间为111,第11行程序对应的赋值语句的代码指令执行时间为560,第12行程序对应的赋值语句的代码指令执行时间为244。
假定有如图7所示代码:
则其中Pow部分的WCET为:10*6054=60540。
发明内容
本发明提出了一种精确分析任务WCET的自动化方法,利用该方法能够精确估算任务的WCET。
为实现上述技术目的,所采用的技术方案是:一种精确分析任务WCET的自动化方法,包括以下步骤,
步骤一、产生程序的无循环控制流图NLCFG,建立起NLCFG节点与源程序语句的对应关系,同时循环体节点也得到标识;
步骤二、利用步骤一中的NLCFG,从入口节点开始,依照深度优先策略,确定每一个变量是否是依赖输入变量及其对应的依赖输入节点;
步骤三、确定步骤二中依赖输入变量中的依赖循环变量、依赖非输入分支变量,确定依赖循环变量、依赖非输入分支变量对应的非依赖输入节点;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于洛阳理工学院,未经洛阳理工学院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410443638.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:关机方法和装置
- 下一篇:一种安卓系统上挂载多分区存储设备的方法





