论文部分内容阅读
嵌入式实时系统的正确性不仅取决于系统的逻辑计算结果,还和产生结果所花费的时间有关,系统必须保证在一个可预测的时间段内对外部事件做出反应。程序最坏情况执行时间(Worst Case Execution Time)是指程序在运行过程中所花费的最大执行时间。它在操作系统实时调度、任务优先级仲裁、资源冲突仲裁、任务间通信以及软硬件划分等研究领域中有着很重要的作用。本文主要针对特定的硬件平台(ARM7TDMI微处理器),对Garfield系统MP3解码程序的最坏情况执行时间(WCET)进行评估,对MP3解码程序的优化给出客观的评判,同时也为MP3子模块的软硬件划分提供重要的依据。程序最坏情况执行时间(WCET)的计算主要涉及到两个方面:高层分析(High-Level Analysis)和底层建模(Low-Level Modeling)。高层分析主要是在高级语言环境中分析程序结构,找出最坏情况下的指令序列,而底层建模是在汇编环境中建立硬件模型,得到已知指令序列的最坏情况执行时间。WCET计算的复杂性限制了被分析程序的大小和计算的准确性。本文详细介绍了一种有效计算最坏情况执行时间(WCET)的方法,并开发了路径分析工具CRYINGCAT。该路径分析工具从底层模型中得到指令执行时间,将其反标到由高层分析提取出来的控制流图(Control Flow Graph)上,然后利用含有执行时间信息的控制流图来建立整数线性规划模型,最后通过求解整数线性规划模型来得到程序的最坏情况执行时间(WCET)。本文使用路径分析工具CRYINGCAT对Garfield系统MP3解码程序的最坏情况执行时间进行计算和分析,以实例验证了路径分析工具CRYINGCAT的有效性和准确性。实验结果显示,在一定数量测试向量的前提下,对于Garfield系统MP3解码程序中已优化的函数,计算所得到的WCET和模拟器仿真所得到的值相差只有1%,而对于结构复杂的函数或者是未经优化的函数,计算所得WCET值和不同测试向量集下的ARMulator模拟器仿真值相差5%至30%。这说明模拟器仿真要么不能找到最长执行时间的路径,要么需要数目庞大的测试向量集。由上面的分析可见,路径分析工具CRYINGCAT可以有效简便地计算出MP3解码程序(C语言程序)的最坏情况执行时间(WCET)。