论文部分内容阅读
实时系统与其它应用系统不同之处在于其正确性不仅取决于输出结果的正确性,同时也取决于其所产生输出结果所耗费的时间。实时系统的结果只有在规定的时间范围内完成才是有效的。因此,提前获得系统中每个任务的最坏情况执行时间(Worst CaseExecution Time,WCET)对于实时系统的调度分析具有非常重要的意义。WCET分析要求安全和尽可能的精确。由于WCET动态测量分析方法不能保证WCET分析结果是安全的,因此静态分析成为WCET分析的常用方法。静态分析方法是在分析程序流信息和处理器特性的基础上,计算实时程序所占用的处理器时间上限值。本文提出了基于扩展的抽象解释理论的WCET分析方法。在程序流分析中,本文系统地提出了一个基于抽象执行(Abstract Execution)和通用单调数据流框架来分析程序变量取值区间的方法。它能够用于计算程序的循环迭代上限、标识不可达路径等程序流信息。基于抽象解释理论是程序语义的近似表示,因此这种分析方法能够保证分析的正确性而且可以自动地计算WCET分析的程序流信息,而不需要使用任何辅助标注。本文将处理器特性分析分为两个部分:全局低层分析和局部低层分析。全局低层分析对处理器cache建立抽象模型,通过将cache与内存映射的状态进行抽象,从而分析cache命中情况,在分析过程中,本文使用must analysis和may analysis分析方法在抽象域中进行抽象执行。局部低层分析利用全部低层分析结果在硬件模型上模拟执行,从而建立WCET分析的时间模型。依据上述的WCET分析方法,本文给出了基于ARM 9处理器的WCET分析工具原型。实验结果表明,利用基于抽象执行的分析方法进行WCET分析,能够自动且有效地给WCET分析值。