实时系统中WCET感知编译优化技术解析
1. WCET感知的源代码级优化
在实时系统中,为了减少程序的最坏情况执行时间(WCET),提出了一系列源代码级的编译优化技术。这些技术与传统编译优化不同,它们充分利用了程序的详细时序信息。通过一种名为反向注释的技术,将汇编级的WCET数据引入到源代码级,从而能够量化代码转换对估计WCET的影响,有效改善程序的最坏情况行为。
-
过程克隆(Procedure Cloning)
- 过程克隆能够显著改善WCET估计,因为它允许更精确地指定流事实。
- 为了应对克隆过程中固有的代码大小增加问题,开发的WCET感知过程克隆仅转换那些有望改善WCET估计的函数。
- 在实际基准测试中,实现了平均57.5%的WCET减少,同时代码大小仅增加了109.5%。
-
基于超级块的优化(Superblock-based Optimization)
- 超级块由多个基本块组成,这种代码结构扩展了优化范围,为编译器优化提供了新机会。
- 与以往工作不同,提出的超级块在源代码级构建,并依赖于最坏情况执行路径。
- 将这些WCET感知的超级块与公共子表达式消除和死代码消除等编译器优化相结合,分别对55个基准测试实现了平均10.2%和8.8%的估计WCET减少。
-
WCET感知的循环展开(WCET
超级会员免费看
订阅专栏 解锁全文
3

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



