第1章 计算机系统结构的基本概念 1
1.1 概述 1
1.2 计算机系统结构的定义与内涵 3
1.2.1 计算机系统的层次结构 3
1.2.2 计算机系统结构的定义与内涵 4
1.2.3 计算机系统的组成与实现 5
1.3 计算机系统结构的类型 6
1.3.1 按“流”分类 7
1.3.2 按“并行级”和“流水线”分类 8
1.3.3 冯氏分类法 9
1.4 计算机系统性能分析 10
1.4.1 定量分析法 10
1.4.2 CPU性能分析 11
1.4.3 MIPS与MFLOPS指标 12
1.4.4 性能测试结果的统计与比较 13
1.5 计算机系统结构的发展过程 15
1.5.1 计算机系统结构的演变过程 15
1.5.2 软件对计算机系统结构发展的影响 17
1.5.3 应用需求对计算机系统结构发展的影响 21
1.5.4 器件对计算机系统结构发展的影响 22
1.5.5 算法对计算机系统结构发展的影响 23
1.6 计算机系统的成本、性能与价格 24
1.6.1 计算机系统的成本与价格 24
1.6.2 计算机系统的性能与价格 25
习题与思考题 26
第2章 数据的表示与指令系统设计 28
2.1 数据的类型与表示 28
2.1.1 数据类型 28
2.1.2 数据表示 29
2.1.3 定点数与浮点数 30
2.1.4 向量数据表示 33
2.1.5 自定义数据表示 34
2.2 指令系统设计 36
2.2.1 指令系统的发展及其风格 36
2.2.2 指令系统的设计要求与分类 38
2.2.3 地址分配与寻址方式 40
2.2.4 按内容寻址方式 43
2.2.5 指令格式与优化设计 45
2.2.6 指令系统结构举例 48
2.3 CISC计算机和RISC计算机 50
2.3.1 CISC计算机的特点与风格 50
2.3.2 RISC计算机的特点与风格 52
2.3.3 CISC计算机和RISC计算机性能比较 53
2.3.4 RISC计算机中的新技术 55
2.3.5 RISC计算机指令系统实例分析 58
习题与思考题 59
第3章 存储器体系结构 61
3.1 概述 61
3.1.1 存储器的层次结构 61
3.1.2 基本概念与性能参数 62
3.1.3 多体并行存储器 63
3.1.4 磁盘阵列 65
3.2 高速缓冲存储器Cache 69
3.2.1 Cache的基本概念 69
3.2.2 Cache的组成与工作原理 69
3.2.3 地址映像与变换 70
3.2.4 Cache置换策略与主存更新方法 74
3.2.5 Cache性能分析 78
3.3 虚拟存储器 80
3.3.1 虚拟存储器的基本概念 80
3.3.2 虚拟存储器的管理方式 82
3.3.3 虚拟地址快速变换法 86
3.3.4 置换策略 87
3.3.5 虚拟存储器管理举例 88
3.4 存储器保护措施 91
习题与思考题 93
第4章 标量流水线技术 95
4.1 概述 95
4.1.1 控制流及其改变 95
4.1.2 程序执行过程中的重叠操作与先行控制 96
4.2 标量流水线工作原理 98
4.2.1 标量流水线工作原理 98
4.2.2 标量流水线分类 99
4.2.3 流水线性能分析 100
4.2.4 流水线中的主要障碍 103
4.2.5 流水线的实现与控制 109
4.2.6 流水线的动态调度 111
4.3 指令级流水线 115
4.3.1 指令级流水线概述 115
4.3.2 超级标量流水线 115
4.3.3 超长指令字 117
4.3.4 展开循环体后调度 119
4.3.5 软件流水法 122
习题与思考题 123
4.3.6 超级流水机举例 123
第5章 向量流水与向量处理机 126
5.1 向量流水的概念与工作原理 126
5.1.1 向量流水的概念与特点 126
5.1.2 向量处理机的基本组成 127
5.1.3 向量启动时间与结果流出时间 128
5.1.4 向量操作长度控制与向量访问步长 129
5.2 向量处理与增强向量处理性能的方法 130
5.2.1 向量处理方法 130
5.2.2 增强向量处理性能的方法 132
5.3 向量处理性能的评价参数与评价方法 136
5.3.1 机器向量长度与向量流水处理时间 136
5.3.2 向量流水操作中处理时间及速率与向量长度的关系 138
5.3.3 向量流水处理中与向量长度有关的参数 138
5.4 向量化编译技术 139
5.5 向量处理机举例 140
5.5.1 多向量多处理机CRAY Y-MP 816 140
5.5.2 C-90 141
习题与思考题 142
6.1.1 互连网络的功能与特征 144
6.1 互连网络的基本概念 144
第6章 互连网络 144
6.1.2 互连函数 147
6.2 静态互连网络 150
6.2.1 静态互连网络结构 150
6.2.2 静态互连网络特性 153
6.3 动态互连网络 154
6.3.1 总线互连方式 154
6.3.2 交叉开关互连方式 155
6.3.3 多级网络互连方式 156
6.4.1 消息寻径方式 162
6.4 消息传送与控制 162
6.4.2 虚拟通道与死锁 164
6.4.3 流控制策略 165
习题与思考题 167
第7章 并行处理技术与SIMD阵列机 169
7.1 并行处理技术 169
7.1.1 并行处理的基本概念 169
7.1.2 并行性的开发途径 170
7.2 SIMD阵列机 171
7.2.1 SIMD阵列机的基本结构 171
7.2.2 阵列机并行算法 173
7.2.3 SIMD阵列机的特点 176
7.2.4 并行存储器无冲突访问 177
7.3 典型SIMD阵列机举例 178
7.3.1 ILLIAC-Ⅳ阵列机 178
7.3.2 BSP阵列机 181
习题与思考题 181
第8章 多处理机 183
8.1 多处理机的基本结构与类型 183
8.1.1 紧耦合多处理机 183
8.1.2 松耦合多处理机 185
8.1.3 多处理机中Cache的一致性 187
8.2.1 程序并行性分析 188
8.2 并行多处理机技术 188
8.2.2 并行程序设计语言 190
8.2.3 多处理机操作系统 192
8.2.4 多处理机调度策略 193
8.3 并行多处理机的发展趋势 195
8.3.1 大规模并行处理机 195
8.3.2 MPP机举例 196
8.3.3 共享存储器型多处理机 200
8.3.4 并行向量多处理机 205
8.3.5 机群 206
习题与思考题 211
9.1 脉动阵列机 212
9.1.1 脉动阵列机的组成原理 212
第9章 计算机体系结构的发展 212
9.1.2 面向特定算法的脉动阵列机的结构形式 214
9.1.3 通用脉动阵列机的结构 216
9.2 数据流计算机 218
9.2.1 数据驱动原理 218
9.2.2 数据流计算机模型 219
9.2.3 数据流程序图与数据流语言 221
9.2.4 数据流计算机举例 224
9.3.1 归约方式 228
9.3 归约机 228
9.3.2 函数式程序设计语言 229
9.3.3 面向函数式程序设计语言的归约机 231
9.4 人工智能计算机的研究与发展 233
9.4.1 人工智能计算特征 234
9.4.2 并行推理机 235
9.4.3 数据库机与知识库机 236
9.4.4 模糊控制器与人工神经网络 241
习题与思考题 247
参考文献 249