| 中文摘要 | 第1-14页 |
| ABSTRACT | 第14-16页 |
| 第一章 绪论 | 第16-28页 |
| §1.1 实时系统、嵌入式系统和程序WCET | 第16-18页 |
| §1.2 获取程序WCET的方法 | 第18-19页 |
| §1.3 WCET分析的定义、要求和组成 | 第19-21页 |
| §1.4 处理器体系结构特征与WCET分析 | 第21-22页 |
| §1.5 WCET分析的研究现状和存在的问题 | 第22-23页 |
| §1.6 论文的主要工作 | 第23-24页 |
| §1.7 论文结构 | 第24-28页 |
| 第二章 WCET分析技术 | 第28-44页 |
| §2.1 程序流事实分析 | 第28-36页 |
| ·流事实表示 | 第28-29页 |
| ·手工标注方法 | 第29-31页 |
| ·直接计算 | 第31-32页 |
| ·抽象解释方法 | 第32-34页 |
| ·模式和情节 | 第34-35页 |
| ·块计数方法 | 第35页 |
| ·路径簇(Path Clustering)方法 | 第35-36页 |
| §2.2 执行时间模型 | 第36-39页 |
| ·高速缓存 | 第36-37页 |
| ·流水线 | 第37-39页 |
| ·高速缓存和流水线的计算 | 第39页 |
| §2.3 WCET 计算 | 第39-41页 |
| ·基于树的计算 | 第39页 |
| ·基于路径的计算 | 第39-40页 |
| ·IPET方法 | 第40页 |
| ·母函数方法 | 第40-41页 |
| ·符号化表示 | 第41页 |
| §2.4 小结 | 第41-44页 |
| 第三章 基于抽象解释和单调通用数据流框架的程序流分析 | 第44-74页 |
| §3.1 WHILE 语言和通用单调数据流分析框架 | 第44-49页 |
| ·WHILE语言 | 第44-47页 |
| ·通用单调数据流框架及其迭代求解 | 第47-48页 |
| ·加宽操作符(widening operator)和收窄操作符(narrowing operator) | 第48-49页 |
| §3.2 基于通用单调数据流框架的值范围传播 | 第49-55页 |
| ·作为格的值范围 | 第49-51页 |
| ·值范围运算 | 第51-52页 |
| ·值范围分析 | 第52-53页 |
| ·测试节点产生的范围 | 第53-54页 |
| ·值范围的加宽和收窄操作及分析 | 第54页 |
| ·典型程序的复杂度分析 | 第54-55页 |
| §3.3 值范围分析的正确性证明 | 第55-59页 |
| ·正确性定义 | 第55-56页 |
| ·伽罗华连接(Galois connection) | 第56页 |
| ·值范围传播的加宽和收窄操作的正确性证明 | 第56-57页 |
| ·状态集合SS的分析 | 第57-58页 |
| ·值范围分析的伽罗华连接 | 第58页 |
| ·值范围传播的正确性证明 | 第58-59页 |
| §3.4 导出程序流信息 | 第59-63页 |
| ·循环界限 | 第59-60页 |
| ·导出循环不可行路径和循环路径的执行次数 | 第60页 |
| ·导出可行路径和基本块的迭代范围 | 第60-61页 |
| ·分析举例 | 第61-63页 |
| §3.5 程序流信息在WCET分析中的应用 | 第63-64页 |
| §3.6 过程间分析 | 第64-69页 |
| ·扩充WHILE语言语法 | 第64-65页 |
| ·带有过程的数据流分析框架 | 第65-67页 |
| ·不同作用范围变量的分析 | 第67页 |
| ·带有过程的数据流分析举例 | 第67-69页 |
| §3.7 从WHILE语言到C语言 | 第69-71页 |
| ·语法 | 第69-70页 |
| ·类型和表达式 | 第70页 |
| ·语句 | 第70-71页 |
| §3.8 实验 | 第71-72页 |
| §3.9 小结 | 第72-74页 |
| 第四章 基于程序模式的WCET分析 | 第74-94页 |
| §4.1 程序模式与WCET分析 | 第74-75页 |
| §4.2 预备知识 | 第75-77页 |
| §4.3 模式相关程序切片 | 第77-80页 |
| ·确定依赖输入变量 | 第77-78页 |
| ·依赖输入谓词切片 | 第78-79页 |
| ·产生模式相关切片的所有路径 | 第79-80页 |
| §4.4 产生模式的输入条件 | 第80-82页 |
| ·导出谓词函数的线性算术表达式 | 第80-81页 |
| ·构造线性约束系统 | 第81-82页 |
| ·线性约束系统求解 | 第82页 |
| §4.5 RISC处理器上指定模式的WCET分析 | 第82-84页 |
| ·分析方法 | 第82-83页 |
| ·缓存分析和计算 | 第83-84页 |
| §4.6 实验结果 | 第84-85页 |
| §4.7 符号化WCET分析方法 | 第85-88页 |
| ·基于分支执行频率的WCET计算方法 | 第86-87页 |
| ·包含依赖输入分支程序的WCET分析方法 | 第87-88页 |
| §4.8 符号化WCET分析举例 | 第88-91页 |
| §4.9 小结 | 第91-94页 |
| 第五章 面向对象程序的WCET分析 | 第94-110页 |
| §5.1 面向对象程序WCET分析中的问题和解决方法 | 第94-95页 |
| §5.2 利用设计信息确定多态性的不确定性 | 第95-104页 |
| ·UML中的关联关系及其表示 | 第95-97页 |
| ·多态循环的识别 | 第97-99页 |
| ·利用UML中的关联关系分析程序结构 | 第99-103页 |
| ·实验验证 | 第103-104页 |
| §5.3 面向对象程序的数据流分析 | 第104-105页 |
| §5.4 实验方法和结果 | 第105-108页 |
| ·结构分析 | 第106页 |
| ·基本块迭代 | 第106-107页 |
| ·指令执行时间 | 第107-108页 |
| §5.5 相关工作比较 | 第108页 |
| §5.6 小结 | 第108-110页 |
| 第六章 WCET自动分析工具原型WCETANAIXZER | 第110-126页 |
| §6.1 WCETANALYZER 的功能、要求和系统结构 | 第110-111页 |
| §6.2 PARSER | 第111-114页 |
| §6.3 AIANALYZER | 第114-117页 |
| §6.4 MODEANALYZER | 第117-118页 |
| §6.5 OOANALYZER | 第118页 |
| §6.6 TIMEANALYZER | 第118-125页 |
| ·源程序代码和目标代码的对应 | 第119-120页 |
| ·Alpha 21064处理器 | 第120-123页 |
| ·基本块执行时间的计算 | 第123-124页 |
| ·硬实时与软实时的计算 | 第124-125页 |
| §6.7 小结 | 第125-126页 |
| 第七章 基于WCET分析的实时系统轨迹修正 | 第126-140页 |
| §7.1 测试预言与测试轨迹获取 | 第126-127页 |
| §7.2 程序流信息 | 第127-129页 |
| ·监控程序确定的程序流 | 第128页 |
| ·插入点和检测点 | 第128-129页 |
| §7.3 插装断言的时间分析和修正 | 第129-134页 |
| ·插装断言对目标系统的时间影响分析 | 第129-130页 |
| ·插装断言的构造 | 第130-133页 |
| ·插装断言的时间计算 | 第133页 |
| ·目标系统的时间计算和修正 | 第133-134页 |
| §7.4 示例 | 第134-138页 |
| §7.5 小结 | 第138-140页 |
| 结束语 | 第140-142页 |
| 致谢 | 第142-144页 |
| 参考文献 | 第144-156页 |
| 作者在学期间取得的学术成果 | 第156-157页 |