第1章 绪论 1
1.1 应用 1
1.2 一个实例 3
1.3 设计过程 4
1.3.1 建模 6
1.3.2 设计 6
1.3.3 分析 7
1.4 小结 8
第一部分 动态行为建模第2章 连续动态 10
2.1 牛顿力学 10
2.2 参量模型 13
2.3 系统的特性 15
2.3.1 因果关系系统 15
2.3.2 无记忆系统 16
2.3.3 线性和时不变性 16
2.3.4 稳定性 17
2.4 反馈控制 17
2.5 小结 20
练习 20
第3章 离散动态 22
3.1 离散系统 22
3.2 状态的概念 25
3.3 有限状态机 25
3.3.1 转移 25
3.3.2 发生响应时 27
3.3.3 升级函数 29
3.3.4 确定性和可接受性 30
3.4 扩展状态机 30
3.5 非确定性 33
3.5.1 形式化模型 34
3.5.2 非确定性的用途 35
3.6 行为和轨迹 36
3.7 小结 37
练习 38
第4章 混合系统 41
4.1 模态模型 41
4.1.1 状态机的参量模型 41
4.1.2 连续输入 41
4.1.3 状态精化 42
4.2 混合系统的分类 43
4.2.1 时间自动机 43
4.2.2 高阶动态 45
4.2.3 管理控制 49
4.3 小结 52
练习 52
第5章 状态机的组合 55
5.1 并发组合 56
5.1.1 并列同步组合 56
5.1.2 并列异步组合 57
5.1.3 共享变量 58
5.1.4 级联组合 60
5.1.5 通用组合 62
5.2 分层状态机 62
5.3 小结 65
练习 65
第6章 并发计算模型 67
6.1 模型结构 67
6.2 同步响应模型 69
6.2.1 反馈模型 70
6.2.2 形式规范和形式不规范模型 71
6.2.3 构建一个固定点 72
6.3 数据流计算模型 73
6.3.1 数据流原理 73
6.3.2 同步数据流 75
6.3.3 动态数据流 78
6.3.4 结构化数据流 79
6.3.5 进程网络 79
6.4 实时计算模型 80
6.4.1 时间触发模型 81
6.4.2 离散事件系统 83
6.4.3 连续时间系统 84
6.5 小结 86
练习 86
第二部分 嵌入式系统设计第7章 嵌入式处理器 90
7.1 处理器类型 90
7.1.1 微控制器 90
7.1.2 DSP处理器 91
7.1.3 图形处理器 95
7.2 并行处理 95
7.2.1 并行处理与并发处理 95
7.2.2 流水线 97
7.2.3 指令级并行 99
7.2.4 多核架构 102
7.3 小结 104
练习 104
第8章 存储器架构 106
8.1 存储技术 106
8.1.1 RAM 106
8.1.2 非易失性存储器 107
8.2 存储器层次结构 107
8.2.1 存储映射 108
8.2.2 寄存器文件 109
8.2.3 便签式存储器和高速缓冲存储器 110
8.3 存储模型 112
8.3.1 存储地址 112
8.3.2 栈 113
8.3.3 存储器保护单元 114
8.3.4 动态存储分配 114
8.3.5 C的存储模型 114
8.4 小结 115
练习 115
第9章 输入和输出 117
9.1 I/O硬件 117
9.1.1 脉宽调制 117
9.1.2 通用数字I/O 118
9.1.3 串行接口 120
9.1.4 并行接口 122
9.1.5 总线 123
9.2 并发环境下的顺序软件 123
9.2.1 中断和异常 123
9.2.2 原子性 125
9.2.3 中断控制器 126
9.2.4 中断建模 126
9.3 模拟/数字接口 129
9.3.1 数模转换和模数转换 129
9.3.2 信号调节 130
9.3.3 采样和走样 132
9.4 小结 134
练习 134
第10章 多任务处理 138
10.1 命令式程序 139
10.2 多线程 141
10.2.1 创建线程 142
10.2.2 实现多线程 143
10.2.3 互斥 144
10.2.4 死锁 146
10.2.5 存储一致性模型 147
10.2.6 多线程问题 148
10.3 进程和消息传递 149
10.4 小结 152
练习 152
第11章 调度 154
11.1 调度的基础知识 154
11.1.1 调度决策 154
11.1.2 任务模型 155
11.1.3 调度程序的比较 157
11.1.4 调度程序的实现 157
11.2 单调速率调度 158
11.3 最早时限优先 160
11.4 调度和互斥 163
11.4.1 优先级倒置 163
11.4.2 优先级继承协议 163
11.4.3 优先级上限协议 164
11.5 多处理器调度 166
11.6 小结 168
练习 169
第三部分 分析和验证第12章 不变量与时序逻辑 172
12.1 不变量 172
12.2 线性时序逻辑 173
12.2.1 命题逻辑公式 174
12.2.2 LTL公式 175
12.2.3 LTL公式的应用 177
12.3 小结 178
练习 179
第13章 等价与精化 181
13.1 规格建模 181
13.2 类型等价与类型精化 182
13.3 语言等价与包含 183
13.4 模拟 187
13.4.1 模拟关系 188
13.4.2 形式化模型 189
13.4.3 传递性 190
13.4.4 模拟关系的非唯一性 190
13.4.5 模拟与语言包含 191
13.5 互模拟 191
13.6 小结 193
练习 193
第14章 可到达性分析和模型检测 196
14.1 开放式与封闭式系统 196
14.2 可到达性分析 197
14.2.1 Gp验证 197
14.2.2 显态模型检测 198
14.2.3 符号化模型检测 199
14.3 模型检测中的抽象 201
14.4 活跃属性的模型检测 203
14.4.1 属性的自动机表达 203
14.4.2 寻找可接受循环 205
14.5 小结 206
练习 207
第15章 定量分析 208
15.1 关注的问题 208
15.1.1 极限分析 208
15.1.2 阈值分析 209
15.1.3 一般情况分析 209
15.2 程序图 209
15.2.1 基本块 210
15.2.2 控制流图 210
15.2.3 函数调用 210
15.3 执行时间的决定因素 212
15.3.1 循环界限 212
15.3.2 指数的路径空间 214
15.3.3 路径的可行性 214
15.3.4 存储层次 215
15.4 执行时间分析的基础 216
15.4.1 最优化问题的形式化 216
15.4.2 逻辑流约束 218
15.4.3 基本块的界限 220
15.5 其他定量分析问题 221
15.5.1 存储界限分析 221
15.5.2 能耗和功耗分析 222
15.6 小结 223
练习 223
第四部分 附录附录A 集合和函数 226
附录B 复杂度和可计算性理论 231
参考书目 241