中文摘要 | 第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页 |