第1章 概论 1
1.1 现代计算机系统 1
1.1.1 现代计算机的构成 1
1.1.2 计算机系统的层次结构 2
1.2 计算机系统结构 3
1.2.1 计算机系统结构的基本概念 3
1.2.2 计算机系统结构、组成与实现 4
1.2.3 计算机系统结构的分类 6
1.3 计算机系统设计 8
1.3.1 计算机系统的设计原则 8
1.3.2 计算机系统结构设计 9
1.4 计算机的性能评价 11
1.4.1 CPU性能 12
1.4.2 MIPS和MFLOPS 13
1.4.3 系统性能测试 14
1.5 计算机系统结构的发展 16
1.5.1 冯·诺依曼机型及其演变 16
1.5.2 系统结构并行技术的发展 18
1.5.3 影响计算机系统结构的因素 19
习题 21
2.1.1 存储系统的形成 25
2.1 存储系统概述 25
第2章 存储系统 25
2.1.2 存储系统的层次结构 26
2.1.3 存储系统的局部性、包含性、一致性 28
2.2 并行存储器 28
2.2.1 多体并行访问存储器 29
2.2.2 多体并行交叉访问存储器 30
2.3 高速缓冲存储器(Cache) 35
2.3.1 高速缓冲存储器的功能、结构与工作原理 35
2.3.2 地址映象与转换 37
2.3.3 替换策略 42
2.3.4 Cache的写操作 45
2.3.5 Cache性能分析 47
2.3.6 Cache的实用举例 49
2.4 虚拟存储器 51
2.4.1 概述 51
2.4.2 虚拟存储器的管理方式 52
2.4.3 虚拟存储器的工作过程 58
2.4.4 页面替换策略 60
2.4.5 虚拟存储器的性能分析 62
2.5 存储保护 63
2.5.1 存储保护的方式 63
2.5.2 虚拟存储器与存储保护举例 65
习题 67
第3章 输入输出系统 73
3.1 概述 73
3.1.1 什么是输入输出系统 73
3.1.2 输入输出系统的特点 74
3.2 输入输出系统工作原理 75
3.2.1 I/O系统的结构 75
3.2.2 I/O系统的逻辑组成及工作原理 75
3.2.3 总线技术 77
3.3.1 通道的功能 83
3.3 通道处理机 83
3.3.2 通道的逻辑组成与工作过程 84
3.3.3 通道指令与通道程序 86
3.3.4 输入输出指令 89
3.3.5 输入输出中断 90
3.3.6 通道的种类及流量分析 90
3.4 输入输出处理机 95
3.4.1 输入输出处理机的功能 95
3.4.2 输入输出处理机系统举例 95
习题 96
4.1.1 计算机指令系统的设计过程和要求 99
4.1 概述 99
第4章 数据表示和指令系统 99
4.1.2 指令系统发展改进的两种途径CISE,RISC 100
4.2 数据类型和数据表示 100
4.2.1 数据类型 100
4.2.2 基本数据表示 101
4.2.3 二进制的定点、浮点数据表示 102
4.2.4 自定义数据表示和向量数据表示 103
4.3 指令系统设计原理 109
4.3.1 指令格式和指令系统的分类 109
4.3.2 寻址技术 112
4.3.3 指令系统功能设计 113
4.3.4 指令格式的优化 114
4.3.5 指令系统的执行和优化 121
4.4 RISC计算机 128
4.4.1 RISC计算机设计原理 128
4.4.2 RISC计算机体系结构和指令系统 131
4.4.3 RISC的主要技术 133
4.4.4 RISC计算机举例 136
4.4.5 RISC计算机的发展 141
习题 142
5.1.1 处理器结构改进及并行重叠引入 144
5.1.2 CPU处理器的工作方式 144
5.1 概述 144
第5章 流水线处理技术 144
5.2 流水线工作方式 146
5.2.1 流水线处理概念和特点 146
5.2.2 流水线的分级和分类 148
5.2.3 流水线举例 149
5.2.4 流水线性能分析计算 154
5.2.5 流水线设计技术 162
5.3 流水线调度 169
5.3.1 流水线调度方法 169
5.3.2 非线性流水线调度 173
5.4 流水处理中指令并行性进一步开发 175
5.4.1 超级标量计算机 175
5.4.2 超长指令字计算机 177
5.4.3 超级流水线计算机 178
5.4.4 超标量超流水线计算机 178
5.4.5 奔腾系列处理器流水处理举例 180
5.5 向量的流水处理 183
5.5.1 向量处理方式 183
5.5.2 向量处理机的结构 184
5.5.3 改进向量处理机性能的方法 187
5.5.4 向量处理机的性能 190
习题 193
6.1 概述 197
6.1.1 并行性概念 197
6.1.2 并行的等级和分类 197
第6章 并行处理技术和多处理机 197
6.1.3 并行处理的应用 200
6.2 并行处理技术及发展 200
6.2.1 并行处理技术 200
6.2.2 并行处理中需研究的课题 203
6.3 SIMD并行处理机 204
6.3.1 SIMD并行处理机的基本构成 204
6.3.2 SIMD并行处理机算法 211
6.4.1 概述 216
6.4 多处理机结构 216
6.4.2 共享存储型多处理机 217
6.4.3 分布存储型多计算机结构 221
6.4.4 多处理机发展 222
6.5 多处理机高速缓冲存储器(Cache)一致性 222
6.6 并行处理软件 225
6.6.1 并行条件 225
6.6.2 程序并行性 226
6.6.3 并行程序设计语言及其实现方法 229
6.6.4 并行处理操作系统 234
6.7.1 MPP大规模并行处理机系统 238
6.7 多处理计算机系统举例 238
6.7.2 我国研制的曙光1000大规模并行计算机系统 240
6.7.3 SMP共享存储型多处理机 244
6.7.4 机群系统 248
习题 252
第7章 互连网络 255
7.1 概述 255
7.1.1 互连网络概念 255
7.1.2 互连网络的特性和网络传输性能参数 255
7.2.1 互连函数的表示 258
7.2 基本互连网函数及表示 258
7.2.2 几种基本的互连函数 259
7.3 互连网结构 262
7.3.1 几种单级互连网 262
7.3.2 基本的循环互连网和多级互连网 265
7.3.3 互连网络的设计特性 268
7.3.4 网络拓扑结构 269
7.3.5 互联网其他分类 271
7.4 互连网通信模式和消息传递 272
7.4.1 互连网通信模式 272
7.4.2 互连网中的消息传递机制 273
7.5.1 总线结构 277
7.5 多处理机互连网举例 277
7.5.2 交叉开关网络 279
7.5.3 多端口存储器 281
7.5.4 多级互连网 282
习题 284
第8章 非冯·诺依曼计算机结构 286
8.1 四种驱动方式计算机模型 286
8.1.1 控制驱动模型 286
8.1.2 数据驱动模型 287
8.1.3 需求驱动模型 287
8.1.4 模式匹配驱动 288
8.2.1 数据流计算机工作原理 289
8.2 数据流计算机 289
8.2.2 数据流程序图和数据流语言 291
8.2.3 数据流计算机的性能分析 296
8.2.4 数据流计算机结构 298
8.3 按需求驱动的归约机 303
8.3.1 函数式程序设计语言 303
8.3.2 函数式语言的归约机结构 303
8.4 人工智能计算机 306
8.4.1 人工智能计算特征 306
8.4.2 人工智能计算机分类 306
习题 307