WCET 感知的程序定位优化技术解析
1. 相关工作概述
大量的平均执行时间(ACET)优化方法利用内存层次结构,旨在改善数据和指令缓存的性能,核心思想是增强空间和时间局部性。常见的数据缓存优化技术包括循环交换、循环分块、循环融合或数据预取。
指令缓存(I - cache)主要受益于程序和基本块级别的代码重组。不同学者提出了多种优化方法:
- Tomiyama 提出了两种基于整数线性规划(ILP)的基本块代码放置方法,以降低缓存缺失率。
- Hwu 和 Chang 提出了一种集成指令放置算法的编译器,可减少页面错误。该编译器先将倾向于顺序执行的基本块分组为跟踪,最大化顺序和空间局部性;然后将在时间上接近执行的程序放在同一页面,减少函数间的交叉,消除潜在的缓存冲突。
- 有缓存分析系统通过在源代码级别提供缓存性能信息来识别热点,自动分类为强制、容量和冲突缺失后,建议适当的标准程序转换以提高缓存性能。
- Mendlson 等人的方法不依赖于分析数据,而是基于静态信息,且需要精确了解缓存架构,通过代码复制防止循环中执行的不同代码段映射到同一缓存区域。
静态缓存分析对于基于缓存的处理器的最坏情况执行时间(WCET)分析至关重要,其目标是将每个内存访问分类为缓存命中或缺失。Ferdinand 使用基于抽象解释的必须和可能分析,前者确定内存访问是否总是缓存命中,后者计算访问是否可能命中,这种方法也用于集成在 WCC 中的 WCET 分析器 aiT。
此外,有研究利用程序定位来减少 WCET,通过推导不同传感器程序的良好顺序,不仅可以减少 WCET,还能降低功耗。还有相关技术通过重新排列基本块的内存布局来减少 WCET,与 WCC
超级会员免费看
订阅专栏 解锁全文
99

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



