11、WCET 感知的源代码级优化与超级块优化解析

WCET感知的超级块优化解析

WCET 感知的源代码级优化与超级块优化解析

1. 现有追踪选择方法的局限

在程序优化中,传统的基于节点权重和边权重的追踪选择方法存在一定局限性。例如,在某些情况下,基于节点权重选择执行次数较高的路径可能并非最优决策。如在一个控制流图中,边权重显示控制流通过真边到 then 部分的执行频率高于假边,但基于节点权重可能会做出不恰当的选择,而基于边权重的选择算法也可能导致无法实现全面优化的追踪。

这些贪心算法的普遍问题是对程序控制流图(CFG)的局部视图有限,可能错过构建良好追踪和有前景的超级块的机会。

2. 最长路径方法

最长路径方法在追踪选择上优于贪心算法。以图 4.10 中的加权 CFG 为例,从 if 条件开始,基于节点和边权重的方法会选择 blockA 进行追踪扩展,该追踪沿着假边的代码消耗 1920 个周期;而如果选择真边,追踪包含所有三个块,长度为 2120 个周期,显然更长的追踪有更大的优化潜力。

然而,最长路径方法需要每个基本块的精确执行时间信息,通常用于平均执行时间(ACET)最小化的分析器无法提供这些数据,而 WCET 感知编译依赖于静态 WCET 分析器与编译器框架的紧密集成,能够获取包括块 WCET 在内的精确最坏情况计时数据。

3. 基于最长路径的追踪选择算法

该算法需要源代码级每个基本块的 WCET 估计,由 WCC 的反向注释提供。具体步骤如下:
1. 找到具有最大 WCET 的块 bstart,作为追踪的启发式有前景的起点。
2. 对于包含 bstart 的循环 L,构建有向无环图 GL = (VL, EL)。将 L 中与 L 具有相同循环深度

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值