第1章 计算机组成与系统结构概述 1
1.1 计算机系统概念 1
1.1.1 计算机的产生与发展 1
1.1.2 计算机的应用 3
1.1.3 计算机系统结构、计算机组成和计算机实现 5
1.2 计算机系统的层次结构 6
1.3 计算机系统组成 7
1.4 计算机系统结构的分类 8
1.4.1 弗林分类法 8
1.4.2 冯氏分类法 10
1.4.3 海德勒分类法 11
1.5 计算机系统结构的评价 11
1.5.1 系统运行速度 12
1.5.2 加速比 14
1.5.3 CPU性能 16
1.5.4 系统的性能价格比 18
1.6 计算机系统结构的发展 19
1.6.1 冯·诺依曼机系统结构的演变 19
1.6.2 软件、应用和器件对系统结构的影响 20
1.6.3 系统结构中并行性的发展 22
习题 23
第2章 逻辑部件基础 24
2.1 计算机中常用的组合逻辑电路 24
2.1.1 加法器 25
2.1.2 算术逻辑单元 28
2.1.3 数值比较器 32
2.1.4 数据选择器 34
2.1.5 译码器 36
2.2 时序逻辑电路 37
2.2.1 触发器 38
2.2.2 寄存器和移位寄存器 39
2.2.3 计数器 41
2.3 时序逻辑电路设计基础——有限状态机理论 42
2.4 阵列逻辑电路 44
2.4.1 只读存储器(ROM) 44
2.4.2 可编程逻辑阵列PLA 46
2.4.3 可编程阵列逻辑PAL 47
2.4.4 通用阵列逻辑GAL 48
2.4.5 复杂可编程逻辑器件(CPLD)与现场可编程门阵列(FPGA) 48
习题 49
第3章 运算方法与实现电路 52
3.1 计算机中数据的表示与数制之间的转换 52
3.1.1 计算机中数据的表示方法与转换 52
3.1.2 十进制数的编码与运算 55
3.2 机器数的编码表示及加减运算 57
3.2.1 机器数的编码表示 57
3.2.2 定点数加减运算 61
3.2.3 定点数加减运算溢出的处理 64
3.3 二进制乘除法运算 66
3.3.1 二进制乘法运算 66
3.3.2 二进制除法运算 75
3.4 浮点数的运算方法 80
3.4.1 浮点数的加减法运算 80
3.4.2 浮点数的乘除法运算 81
3.5 浮点数设计 84
3.5.1 浮点数的表示格式 85
3.5.2 浮点数的表示范围 86
3.5.3 浮点数的表数精度 87
3.5.4 浮点数的表数效率 90
3.5.5 浮点数的尾数基值的选择 90
3.5.6 浮点数格式的设计 94
3.5.7 浮点数尾数的下溢处理方法 95
3.6 数据校验码 97
3.6.1 奇偶校验码 97
3.6.2 海明校验码 98
3.6.3 循环冗余校验码 100
3.7 高级数据表示 103
3.7.1 自定义数据表示 103
3.7.2 向量数组数据表示 108
3.7.3 堆栈数据表示 108
3.7.4 引入数据表示的原则 109
习题 111
第4章 指令系统 113
4.1 引言 113
4.1.1 传统计算机指令系统的设计技术 113
4.1.2 指令系统发展的两种途径CISC和RISC 114
4.2 指令格式 117
4.2.1 指令字长度 117
4.2.2 操作码 117
4.2.3 地址码 119
4.2 寻址技术 122
4.3.1 指令寻址方式 122
4.3.2 操作数寻址方式 123
4.4 典型的指令系统 125
4.4.1 指令的分类 125
4.4.2 精简指令系统 127
4.5 指令系统的优化设计 129
4.5.1 操作码的优化设计 129
4.5.2 地址码的优化设计 133
习题 137
第5章 控制器组成原理 140
5.1 控制器的基本功能及结构 140
5.1.1 控制器的功能 140
5.1.2 控制器的基本组成 141
5.2 指令的执行过程 143
5.2.1 时序系统 143
5.2.2 指令的执行过程 144
5.2.3 指令的执行过程举例 145
5.3 硬布线控制器的组成原理与实现方法 146
5.3.1 硬布线控制器的组成原理 147
5.3.2 硬布线控制器的设计实例 148
5.4 微程序控制器的组成原理与实现方法 151
5.4.1 微程序控制器的基本原理 151
5.4.2 微程序设计的技术问题 153
5.4.3 微程序控制器的设计实例 158
5.5 控制器的控制方式 160
习题 161
第6章 主存储器与存储系统 163
6.1 存储器分类 163
6.2 主存储器的主要技术指标 164
6.3 读写存储器 165
6.3.1 静态RAM 165
6.3.2 动态RAM 169
6.4 非易失性半导体存储器 172
6.4.1 只读存储器(ROM) 173
6.4.2 可编程只读存储器(PROM) 173
6.4.3 可擦除可编程只读存储器(EPROM) 174
6.4.4 电可擦除可编程只读存储器(E2PROM) 175
6.4.5 快速擦写存储器(Flash Memory) 177
6.4.6 几种新型存储器 178
6.5 主存储器组成 179
6.5.1 位扩展 180
6.5.2 字扩展 180
6.5.3 字位扩展 181
6.6 相联存储器 182
6.7 存储系统与并行存储器 183
6.7.1 存储系统的概念 183
6.7.2 增加存储器的数据宽度 186
6.7.3 多体交叉存储技术 187
6.7.4 一种无冲突访问的存储器 190
6.8 高速缓冲器Cache 193
6.8.1 Cache的工作原理 193
6.8.2 Cache的地址映像与地址变换 194
6.8.3 替换算法 199
6.8.4 Cache的加速比 200
6.9 虚拟存储器原理 201
6.9.1 虚拟存储器的工作原理 201
6.9.2 地址映像与变换 201
6.9.3 页面替换算法及其实现 204
6.9.4 虚拟存储器实例 205
习题 206
第7章 辅助存储器 208
7.1 硬盘存储设备 208
7.1.1 磁记录原理与记录方式 208
7.1.2 硬盘机的基本组成与分类 211
7.1.3 硬盘驱动器和硬盘控制器 211
7.1.4 硬盘的主要技术指标 213
7.2 RAID(冗余磁盘阵列) 215
7.2.1 RAID 0级 216
7.2.2 RAID 1级 217
7.2.3 RAID 2级 218
7.2.4 RAID 3级 219
7.2.5 RAID 4级 220
7.2.6 RAID 5级 221
7.3 软盘存储设备 221
7.3.1 软盘片 221
7.3.2 软盘驱动器和控制器 222
7.4 激光存储设备 223
7.4.1 光盘存储器的种类 224
7.4.2 光盘的读写原理 225
7.4.3 光盘驱动器及接口 226
习题 227
第8章 输入输出设备及系统 228
8.1 输入输出设备的概述 228
8.1.1 输入输出设备的作用 228
8.1.2 输入输出设备的分类 229
8.2 显示设备 230
8.2.1 显示设备的概念与分类 230
8.2.2 CRT显示器 231
8.2.3 字符/图形显示设备 235
8.2.4 图像显示设备 237
8.2.5 液晶显示器 238
8.3 输入设备 241
8.3.1 图形输入设备 241
8.3.2 图像输入设备 242
8.3.3 语音输入设备 242
8.4 打印设备 243
8.4.1 打印设备的分类 243
8.4.2 点阵针式打印机 243
8.4.3 激光打印机 244
8.5 输入输出系统 246
8.5.1 输入输出系统的概述 246
8.5.2 程序查询方式 248
8.5.3 程序中断方式 249
8.5.4 直接存储器存取(DMA)方式 256
8.5.5 通道控制方式 260
8.5.6 通道的流量分析 262
8.6 总线 265
8.6.1 总线的概念 265
8.6.2 总线的连接方式 265
8.6.3 总线的内部结构 267
8.6.4 几种常用的总线结构 267
习题 272
第9章 流水线处理机及设计 274
9.1 先行控制技术 274
9.1.1 重叠控制与先行控制 274
9.1.2 先行控制方式中处理机的结构 276
9.1.3 先行控制方式中缓冲深度的设计 277
9.1.4 数据相关 278
9.1.5 控制相关 279
9.2 流水线工作原理 280
9.2.1 流水线的工作原理及定义 280
9.2.2 流水线的分类 281
9.3 流水线性能分析 284
9.3.1 线性流水线的性能分析 284
9.3.2 线性流水线的性能分析举例 289
9.3.3 非线性流水线的调度技术简介 291
9.4 其他结构的高性能处理机 292
9.4.1 超标量处理机 293
9.4.2 超流水线处理机 294
9.4.3 超标量超流水线处理机 295
9.4.4 超长指令字技术 296
习题 298
第10章 向量处理机 299
10.1 向量处理机的基本概念 299
10.1.1 向量的概念 299
10.1.2 向量运算指令 302
10.2 向量处理机的结构 306
10.2.1 存储器-存储器结构 306
10.2.2 寄存器-寄存器结构 308
10.3 向量处理机实例 310
10.3.1 银河YH-1向量处理机 310
10.3.2 Cray系列机 311
10.3.3 Fujitsu VP2000/VPP 500系列向量处理机 311
10.4 向量协处理机 313
10.4.1 向量协处理器的地位 313
10.4.2 向量协处理器实例 314
10.5 向量处理机的性能分析 316
习题 321
第11章 并行处理 323
11.1 并行处理的概念 323
11.1.1 并行性 323
11.1.2 并行性的等级和分类 324
11.2 并行处理机基本结构 325
11.2.1 并行处理机的典型结构 325
11.2.2 并行处理机的特点 327
11.3 SIMD计算机基本结构 327
11.3.1 Illiac IV计算机 328
11.3.2 Burroughs BSP计算机 332
11.3.3 CM-2计算机 336
11.4 SIMD计算机的应用 339
11.4.1 连续模型及差分计算 339
11.4.2 阵列处理机的几种基本算法 341
习题 345
第12章 互连网络与多处理机 347
12.1 互连网络的基本概念 347
12.1.1 互连网络在计算机系统中的作用 347
12.1.2 主要特性和性能参数 348
12.1.3 互连函数 350
12.1.4 互连网络的种类 354
12.2 静态互连网络 355
12.2.1 静态互连网络结构 356
12.2.2 静态互连网络特性 359
12.3 动态互连网络 360
12.3.1 动态互连网络的互连形式 360
12.3.2 多级互连网络 364
12.4 互连网络的消息传递机制 373
12.4.1 消息寻径 374
12.4.2 死锁和虚拟通道 376
12.4.3 单播方式的寻径 378
12.4.4 广播方式下的寻径 381
12.5 多处理机系统特点与分类 382
12.5.1 基本结构 382
12.5.2 多处理机系统特点 383
12.5.3 多处理机系统的Cache一致性问题 384
12.6 典型的多处理机系统 388
12.6.1 MPP大规模并行多处理机系统 388
12.6.2 CM-5系统 389
12.6.3 SGI Origin 2000系列服务器 392
12.7 机群系统 397
12.7.1 机群系统的结构特点 397
12.7.2 机群系统的关键技术 398
12.7.3 几种典型的机群系统 400
习题 401
参考文献 403