论文部分内容阅读
嵌入式实时系统中任务最坏情况执行时间(Worst-Case Execution Time,WCET)分析是指在任务或者程序片段执行之前获得其最坏情况执行时间的估值。在程序运行前得出任务的WCET估值是实时系统进行调度及可调度性分析的前提,也是检查实时系统性能是否满足要求的依据。因此嵌入式实时系统可靠性分析的首要任务是估算程序的最坏情况执行时间WCET,目前对WCET分析的研究主要包括动态测试和静态预估两个领域,通常工业界常使用动态测试方法,而学术界研究静态测试方法来对程序的WCET进行估值。由于嵌入式系统Cache的引入,缓解了处理器和内存的运行速度差异,但是为系统任务的时间估计带来了很多难题和挑战,因此Cache分析对于嵌入式系统WECT估值也是很热门的研究内容。本文对WECT测试展开的研究包括WCET分析的顶层与底层方法的结合,以及面向WECT估值的Cache分析方法,具体工作如下: 给出了一种基于MPA算法顶层分析和静态预估底层分析的WCET分析框架,该框架首先通过MPA算法对程序的程序流进行分析,获得程序执行的最小树约束。然后通过循环上界约束分析函数中的内部循环变量,结合最小树约束得到程序的WCET表达式。最后再根据底层预估分析方法求出最终的WCET值。文中展示了将一个小程序运用到提出的框架中的分析过程,还通过选取基于五个不同场景的基准程序进行了实验,来分析新框架的分析效率和精度。 给出了一种面向WCET估计的动态Cache锁定优化方法。文中介绍了基于LOCK-MS缓存锁定方法,该方法用ILP模型来求解每一个任务要被缓存的指令行。由于ILP模型对任务执行的具体路径具有依赖性,当程序路径复杂时,ILP模型会急剧增大。因此本文对ILP模型进行优化,使约束方程不依赖于程序具体的执行路径,并且用无关具体路径的顶层分析得出的指令提取数据替代ILP模型中的假设,来减少分析的复杂性以及ILP模型的状态空间。文中用精简的ILP模型对多任务系统的两组任务集Small和Medium中任务的WCET进行了实验,分析精简模型的求解效率与精度。