硬实时系统的静态时序分析
在硬实时系统中,对程序执行时间的精确分析至关重要。本文将介绍静态时序分析的相关内容,包括架构挑战、时序异常、时序分析框架以及缓存分析等方面。
架构挑战及应对方法
硬实时系统需要保证最坏情况下的性能,但实时程序运行的架构通常是为平均情况性能优化的。缓存、流水线和各种推测机制是提高平均情况性能的关键特性。
- 缓存 :用于缩小处理器速度和主存访问时间之间的差距。
- 流水线 :通过重叠不同指令的执行来实现加速。
这些特性导致单个指令的执行时间差异很大,其执行时间区间由以下两种情况界定:
- 顺利执行 :指令在流水线中顺利通过,所有加载操作都命中缓存,没有流水线冒险,操作数就绪,没有资源冲突。
- 最坏情况 :指令或操作数获取未命中缓存,指令所需资源被占用等。
我们将指令执行过程中执行时间的增加称为时序事故,增加的周期数称为该事故的时序惩罚。指令的时序惩罚可能累计达数百个处理器周期。指令执行是否会遇到时序事故取决于架构状态,如缓存内容、其他资源的占用情况,因此需要执行历史信息来预测或排除时序事故。
我们使用静态分析来计算所有程序点上所有可能架构状态集合的不变量。由于抽象,计算得到的是这些集合的过近似。这些不变量用于推导安全属性,例如“在这个程序点不会发生特定的时序事故”,从而使时序分析工具能够证明更严格的最坏情况界限。
对执行平台进行一定的抽象是使系统时序分析可行的必要
超级会员免费看
订阅专栏 解锁全文
763

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



