静态WCET分析与WCET感知C编译器的技术解析
1. 静态WCET分析工具aiT
在实时系统开发中,准确分析程序的最坏情况执行时间(WCET)至关重要。aiT作为一款领先的静态WCET分析工具,由AbsInt公司开发。它在计算程序的上界执行时间方面表现出色,下面详细介绍其工作流程:
1. 输入处理 :aiT期望输入一个二进制可执行文件。该文件会被exec2crl工具反汇编,以构建一个过程间控制流图(ICFG),采用的是人类可读的中间格式CRL2(Control Flow Representation Language)。此外,还可能从名为AIS的参数文件中导入流事实,为构建的ICFG添加额外信息。初始的CRL2文件会传递给aiT的后续阶段,用于添加更多分析结果。
2. 值分析 :基于区间分析,确定处理器寄存器在任何可能程序点上的潜在值的合理近似。这些寄存器值用于计算内存访问的可能地址,同时也用于检测不可行路径,即同一上下文中永远不会同时执行的互斥路径。
3. 静态循环分析 :尝试自动确定ICFG中每个循环的迭代次数。该分析基于模式匹配,并结合值分析的结果。对于简单循环,aiT的循环分析器能够成功确定迭代次数,但对于其余循环,则需要用户进行注释。
4. 集成缓存/流水线分析 :依赖于值分析得到的寄存器值范围。缓存分析尝试静态预计算缓存内容,通过必须/可能分析将内存引用分类为确定的缓存命中和潜在的缓存未命中。流水线分析使用目标架构的抽象模型来模拟流水线的行为,考虑到定时异常并整合缓存分析的结果,得出每个基本块在其上下文下的执行时间上
超级会员免费看
订阅专栏 解锁全文
2

被折叠的 条评论
为什么被折叠?



