前言页 1
第一章 计算机系统结构的基本概念 1
1.1 计算机系统结构 2
1.1.1 计算机系统层次结构 2
1.1.2 计算机系统结构定义 4
1.1.3 计算机组成与实现 5
1.1.4 计算机系统结构的分类 6
1.2 计算机系统设计技术 9
1.2.1 计算机系统设计的定量原理 9
1.2.2 计算机系统设计者的主要任务 13
1.2.3 计算机系统设计的主要方法 15
1.3 系统结构的评价标准 16
1.3.1 性能 16
1.3.2 成本 19
1.4 计算机系统结构的发展 22
1.4.1 冯·诺依曼结构 22
1.4.2 软件对系统结构的影响 24
1.4.3 价格对系统结构的影响 26
1.4.4 应用对系统结构的影响 27
1.4.5 VLSI对系统结构的影响 28
1.4.6 技术的发展对价格的影响 28
1.4.7 算法和系统结构 30
习题一 32
第二章 指令系统 37
2.1 数据表示 37
2.1.1 数据表示与数据类型 37
2.1.2 浮点数据表示 39
2.1.3 浮点数尾数基值的选择 44
2.1.4 浮点数格式的设计 48
2.1.5 自定义数据表示 50
2.2 寻址技术 56
2.2.2 零地址空间个数 57
2.2.1 编址单位 57
2.2.3 寻址方式 59
2.2.4 间接寻址与变址寻址 63
2.3 指令格式的优化设计 66
2.3.1 指令的组成 66
2.3.2 Huffman编码法 67
2.3.3 扩展编码法 69
2.3.4 缩短地址码长度的方法 71
2.3.5 指令格式设计举例 72
2.4 指令系统的功能设计 74
2.4.1 指令系统的完整性 74
2.4.2 指令系统的性能 78
2.4.3 复杂指令系统 79
2.5 精简指令系统(RISC) 80
2.5.1 从CISC到RISC 80
2.5.2 RISC的定义与特点 84
2.5.3 减少指令平均执行周期数(CPI)是RISC思想的精华 85
2.5.4 RISC的关键技术 86
2.5.5 RISC优化编译技术 92
习题二 93
3.1 存储系统原理 98
3.1.1 存储系统的定义 98
第三章 存储系统 98
3.1.2 存储器的层次结构 102
3.1.3 频带平衡 103
3.1.4 并行访问存储器 104
3.1.5 交叉访问存储器 105
3.2 虚拟存储器 108
3.2.1 虚拟存储器工作原理 108
3.2.2 地址的映象与变换 110
3.2.3 段式虚拟存储器 111
3.2.4 页式虚拟存储器 114
3.2.5 段页式虚拟存储器 115
3.2.6 加快内部地址变换的方法 117
3.2.7 页面替换算法 120
3.2.8 提高主存命中率的方法 124
3.3 高速缓冲存储器(Cache) 126
3.3.1 基本工作原理 127
3.3.2 地址映象与变换方法 128
3.3.3 Cache替换算法及其实现 136
3.3.4 Cache系统的加速比 142
3.3.5 Cache的一致性问题 144
3.3.6 Cache的预取算法 146
3.4 三级存储系统 146
3.4.1 存储系统的组织方式 147
3.4.2 虚拟地址Cache 148
3.4.3 全Cache技术 149
习题三 150
第四章 输入输出系统 155
4.1 输入输出原理 155
4.1.1 输入输出系统的特点 155
4.1.2 基本输入输出方式 157
4.2 中断系统 162
4.2.1 中断系统的软硬件功能分配 162
4.2.2 中断屏蔽 164
4.3.1 通道的作用和功能 168
4.3 通道处理机 168
4.3.2 通道的工作过程 170
4.3.3 通道种类 171
4.3.4 通道中的数据传送过程 175
4.3.5 通道的流量分析 176
4.4 输入输出处理机 179
4.4.1 输入输出处理机的作用 179
4.4.2 输入输出处理机的种类 181
4.4.3 输入输出处理机的特点 182
习题四 183
5.1.1 指令的重叠执行 187
第五章 标量处理机 187
5.1 流水线技术 187
5.1.2 流水线的表示方法 189
5.1.3 流水线的特点 190
5.1.4 流水线的性能分析 191
5.1.5 流水线最佳段数的选择 198
5.1.6 非线性流水线的调度技术 198
5.1.7 非线性流水线的优化调度方法 205
5.2 相关性分析技术 207
5.2.1 数据相关 207
5.2.2 控制相关 208
5.2.3 条件分支对流水线的影响 211
5.2.4 静态分支预测技术 212
5.2.5 动态分支预测技术 214
5.2.6 提前形成条件码 217
5.2.7 精确断点与不精确断点 218
5.3 动态调度技术 220
5.3.1 顺序流动与乱序流动 220
5.3.2 乱序流动方式中的数据相关 222
5.3.3 数据重定向 224
5.3.4 Tomasulo动态指令调度方法 226
5.4.1 基本结构 228
5.4 超标量处理机 228
5.4.2 单发射与多发射 230
5.4.3 多流水线调度 233
5.4.4 资源冲突 237
5.4.5 超标量处理机性能 239
5.5 超流水线处理机 239
5.5.1 指令执行时序 240
5.5.2 典型处理机结构 240
5.5.3 超流水线处理机性能 243
5.6 超标量超流水线处理机 243
5.6.1 指令执行时序 244
5.6.2 典型处理机结构 245
5.6.3 超标量超流水线处理机性能 247
习题五 249
第六章 向量处理机 253
6.1 向量处理的基本概念 253
6.1.1 什么是向量处理 253
6.1.2 向量处理方式 254
6.2 向量处理机的结构 255
6.2.1 存储器-存储器结构 257
6.2.2 寄存器-寄存器结构 261
6.3.1 向量处理机系统结构的设计目标 264
6.3 提高向量处理机性能的方法 264
6.3.2 提高向量处理机性能的常用技术 268
6.4 向量处理机实例 275
6.4.1 向量处理机的历史与现状 275
6.4.2 Cray Y-MP,C-90 278
6.4.3 Fujitsu VP2000和VPP500 280
6.4.4 向量协处理器 282
6.5 向量处理机的性能评价 285
习题六 289
第七章 互连网络 291
7.1 互连网络的基本概念 291
7.1.1 互连网络的作用 291
7.1.2 互连函数 292
7.1.3 互连网络的特性和传输的性能参数 297
7.1.4 互连网络的种类 299
7.2 消息传递机制 312
7.2.1 消息寻径方式 312
7.2.2 死锁和虚拟通道 316
7.2.3 流控制策略 319
7.2.4 选播和广播寻径算法 323
习题七 325
8.1 并行处理机结构和实例 330
8.1.1 并行处理计算机模型 330
第八章 并行处理机和多处理机 330
8.1.2 并行处理机的基本结构 332
8.1.3 并行处理机的特点 334
8.1.4 并行处理机实例 335
8.2 多处理机结构和实例 344
8.2.1 多处理机结构 344
8.2.2 多处理机系统的特点 345
8.2.3 多处理机性能模型 347
8.2.4 多处理机的Cache一致性 352
8.2.5 多处理机实例 361
习题八 386
参考文献 391