第1章 计算机系统结构导论 1
1.1 计算机系统的基本概念 1
1.2 计算机系统的发展 1
1.2.1 冯·诺依曼体系结构的特点 2
1.2.2 器件发展对系统结构的影响 3
1.2.3 应用对系统结构的影响 5
1.2.4 算法对系统结构的影响 6
1.2.5 价格对系统结构的影响 7
1.2.6 现代计算机系统的分类和发展过程 8
1.3 计算机系统的功能和结构 8
1.3.1 计算机系统的层次结构 8
1.3.2 计算机系统结构定义 11
1.3.3 计算机组成与实现 12
1.3.4 计算机系统结构、组成和实现三者的关系 12
1.3.5 计算机系统的特性 13
1.4 计算机系统设计的方法 15
1.4.1 软、硬件取舍的基本原则 15
1.4.2 计算机系统设计的定量原则 16
1.4.3 计算机系统的设计任务 19
1.4.4 计算机系统的设计步骤 20
1.5 现代计算机系统结构的研究领域 21
1.5.1 计算机系统结构分类 21
1.5.2 现代计算机系统结构研究方向 24
1.5.3 计算机系统结构发展趋势 25
第2章 计算机系统结构的合成 29
2.1 中央处理器 29
2.1.1 CPU组成 29
2.1.2 数据表示 30
2.1.3 寻址方式分析 36
2.1.4 指令优化 38
2.2 总线结构 40
2.2.1 总线的分类 41
2.2.2 总线结构的特点 41
2.2.3 总线通信方式 41
2.2.4 总线仲裁 45
2.2.5 总线标准 47
2.3 存储系统概述 54
2.3.1 存储器容量、速度与价格的关系 55
2.3.2 存储系统的层次结构 56
2.3.3 存储系统的性能参数 58
2.3.4 程序访问的局部性 60
2.4 输入/输出系统 62
2.4.1 输入系统 62
2.4.2 输出系统 63
2.4.3 中断系统 65
2.4.4 通道处理机和I/O处理机 67
第3章 存储系统结构 74
3.1 地址映像与变换 74
3.1.1 程序的定位 74
3.1.2 全相联映像及其变换 79
3.1.3 直接映像及其变换 80
3.1.4 组相联映像及其变换 81
3.1.5 段相联映像及其变换 82
3.1.6 位选择组相联映像及其变换 85
3.1.7 对标志表的分析 86
3.1.8 散列概念在地址变换中的应用 86
3.2 替换算法及其实现 88
3.2.1 替换算法的分析 88
3.2.2 LRU替换算法的实现 91
3.3 并行主存系统 94
3.3.1 并行主存系统频宽分析 94
3.3.2 单体多字存储器 96
3.3.3 多体交叉存储器 96
3.3.4 并行主存系统 98
3.4 高速缓冲存储器(Cache) 101
3.4.1 Cache基本结构和工作原理 101
3.4.2 Cache的替换算法分析 103
3.4.3 Cache的透明性 105
3.4.4 任务切换对失效率的影响 106
3.4.5 多处理机系统的Cache结构 106
3.4.6 “Cache-主存”层次性能分析 107
3.4.7 Cache性能计算 109
3.5 虚拟存储器 114
3.5.1 虚拟存储器基本结构和工作原理 114
3.5.2 虚地址和辅存实地址的变换 115
3.5.3 多用户虚拟存储器 116
3.5.4 加快地址变换的方法 120
3.5.5 虚拟存储器性能分析 122
3.6 主存保护与控制 125
3.6.1 主存保护 125
3.6.2 主存控制部件 128
3.6.3 磁盘冗余阵列 129
第4章 流水线结构 133
4.1 流水线结构原理 133
4.1.1 重叠方式 133
4.1.2 先行控制 136
4.1.3 流水线处理机 138
4.2 线性流水线技术指标 142
4.2.1 吞吐率 142
4.2.2 加速比 143
4.2.3 效率 143
4.2.4 流水线段数选择 144
4.3 非线性流水线处理机 147
4.3.1 预约表和等待时间分析 147
4.3.2 无冲突调度 150
4.3.3 流水线调度优化 152
4.4 流水线相关处理 154
4.4.1 局部相关及处理 154
4.4.2 全局相关及处理 156
4.4.3 流水线中断处理 156
4.5 向量的流水处理和向量处理机 156
4.5.1 向量处理基本概念 156
4.5.2 向量处理机的结构 159
4.5.3 提高向量处理机性能的方法 162
4.5.4 向量处理机的技术指标 167
4.5.5 多向量多处理机概述 170
4.6 超级流水处理机 177
4.6.1 超标量处理机 177
4.6.2 超流水线处理机 181
4.6.3 超长指令字处理机 182
4.6.4 超标量超流水VLIW处理机 186
4.6.5 P6微结构 191
第5章 并行处理机 194
5.1 系统结构中的并行性概念 194
5.1.1 并行性概念 194
5.1.2 并行处理的发展 195
5.2 并行处理机基本结构 199
5.2.1 分布式存储器结构 200
5.2.2 共享式存储器结构 201
5.2.3 并行处理机特点 202
5.3 并行处理机互连网络 203
5.3.1 互连网络基本概念 203
5.3.2 单级互连函数 204
5.3.3 互连网络特性 209
5.3.4 静态互连网络 211
5.3.5 动态互连网络 215
5.3.6 多级互连网络 217
5.3.7 互连网络寻径 227
5.4 阵列处理机 232
5.4.1 阵列处理机结构 233
5.4.2 阵列处理机算法 237
5.4.3 阵列处理机举例 239
5.5 相联处理机 249
5.5.1 相联处理机结构 249
5.5.2 相联检索算法 251
5.5.3 相联处理机举例 253
第6章 多处理机系统 256
6.1 多处理机的概念 256
6.1.1 多处理机系统的定义 256
6.1.2 多重处理对处理机特性的要求 257
6.2 多处理机结构 258
6.2.1 多处理机的基本结构 258
6.2.2 多处理机的互连网络 259
6.2.3 多处理机系统的存储器结构 266
6.2.4 多处理机系统的特点 268
6.3 多处理机的软件 270
6.3.1 算术表达式的并行算法 270
6.3.2 程序并行性分析 271
6.3.3 并行程序语言 272
6.3.4 多处理机的操作系统 275
6.4 多处理机系统实例 278
6.4.1 C*m多处理机 278
6.4.2 Cmmp多处理机 280
第7章 RISC结构 283
7.1 RISC结构概述 283
7.1.1 传统计算机系统结构的设计思想 283
7.1.2 RISC设计思想的产生 283
7.1.3 RISC系统结构的特点 285
7.1.4 RISC的定义 286
7.1.5 关于CPI的讨论 287
7.2 流水线结构 287
7.3 指令调度 289
7.4 Cache结构 291
7.4.1 实地址Cache 292
7.4.2 虚地址Cache 294
7.4.3 多处理器的Cache一致性问题 295
第8章 分布计算环境结构 298
8.1 分布计算环境的发展 298
8.2 客户-服务器结构 298
8.2.1 客户-服务器结构的特点 298
8.2.2 中间件的概念和特点 299
8.3 开放式分布处理 299
8.4 公共对象请求代理体系结构 300
8.5 基于Web的分布计算 301
8.5.1 Browser/Server结构 301
8.5.2 基于Web的页面描述语言标准XML 302
第9章 数据流计算机结构 304
9.1 数据流计算机的基本原理 304
9.2 数据流计算机的指令 304
9.2.1 数据流计算机指令的组成 304
9.2.2 数据流计算机指令的执行 305
9.3 数据流计算机结构 306
9.3.1 静态数据流计算机模型及其结构 306
9.3.2 动态数据流计算机模型及其结构 307
9.3.3 静态与动态两种数据流计算机的比较 308
9.4 数据流程序图和数据流语言 309
9.4.1 数据流程序图 309
9.4.2 数据流语言及其性质 313
9.5 数据流计算机的评价 316
9.5.1 数据流计算机的优缺点 316
9.5.2 数据流计算机需解决的问题 316
第10章 软件对系统结构的影响 318
10.1 操作系统的影响 318
10.1.1 批量处理系统 319
10.1.2 单用户交互式系统 319
10.1.3 分时操作系统 319
10.1.4 实时操作系统 320
10.1.5 网络操作系统 320
10.1.6 分布式操作系统 320
10.2 语言发展的影响 321
10.2.1 实现新层次的方法 321
10.2.2 多层计算机的设计策略 322
10.2.3 程序移植 323
10.2.4 现代模型的研究方法——计算机仿真 325
10.3 并行处理的影响 327
10.3.1 并行计算机分类 327
10.3.2 并行计算机性能 327
10.3.3 并行处理技术中的基本问题 327
10.3.4 并行算法的效率与并行机系统结构的关系 329
10.4 面向对象程序设计的影响 330
10.4.1 面向对象的程序设计 331
10.4.2 基于面向对象程序设计语言的计算机系统结构 332
10.5 软件的固化与硬化 334
第11章 现代计算机系统结构的发展 336
11.1 集群计算机系统结构 336
11.1.1 集群计算机系统及其特点 336
11.1.2 集群系统的通信软件和网络服务 338
11.1.3 集群系统的资源管理和调度 338
11.1.4 集群系统的单一系统映像 338
11.1.5 集群系统的并行程序设计环境 339
11.2 高性能计算机系统实例 339
11.2.1 自强2000的体系结构 339
11.2.2 自强2000的软件环境及其特点 340
11.2.3 高性能计算应用举例 341
11.2.4 “天河一号”的诞生 341
11.3 网格技术 342
11.3.1 网格技术的基本概念 342
11.3.2 网格技术简介 343
11.3.3 网格技术应用举例 344
11.4 云计算 345
11.4.1 云计算的定义 346
11.4.2 云计算的一个典型例子 346
11.4.3 云计算的特点 346
11.4.4 云计算的一种实现举例 347
11.5 性能评价和测量 348
11.5.1 性能评价的标志 348
11.5.2 性能的描述 349
11.5.3 性能评价的对象 349
11.5.4 性能评价的手段 349
11.5.5 性能的评价 350
11.5.6 性能评测标准举例 350
参考文献 351