第1章 计算机系统结构的基础 1
1.1 计算机的发展及其分类 1
1.1.1 计算机的发展 1
1.1.2 计算机的分类 2
1.2 计算机系统结构的概念 5
1.2.1 计算机系统的层次结构 5
1.2.2 计算机系统结构的定义 6
1.2.3 计算机系统设计的主要方法 9
1.3 计算机系统的评价标准 10
1.3.1 计算机系统设计的定量分析原理 10
1.3.2 计算机系统的评价 17
1.4 器件、软件、应用对计算机系统结构的影响 20
1.4.1 计算机系统结构的演变 20
1.4.2 器件对计算机系统结构的影响 22
1.4.3 软件对系统结构的影响 23
1.4.4 应用对系统结构的影响 25
1.5 计算机系统结构的分类 26
1.5.1 弗林分类法 26
1.5.2 其他分类法 27
本章小结 28
习题1 29
第2章 计算机指令系统 32
2.1 数据类型 32
2.1.1 数据类型 32
2.1.2 数据表示与数据结构 32
2.1.3 浮点数据表示 33
2.1.4 自定义数据表示 38
2.1.5 其他数据表示 41
2.1.6 引入数据表示的原则 44
2.2 寻址技术 45
2.2.1 编址方式 45
2.2.2 寻址方式 48
2.2.3 程序装入与定位方式 49
2.3 指令系统的设计 51
2.3.1 指令格式的优化设计 51
2.3.2 指令功能的设计 56
2.4 指令系统的改进 57
2.4.1 复杂指令系统(CISC) 57
2.4.2 精简指令系统(RISC) 59
2.4.3 指令系统的优化发展方向 62
本章小结 63
习题2 64
第3章 存储系统 66
3.1 存储系统原理 66
3.1.1 存储系统的概念 66
3.1.2 存储器的层次结构 68
3.2 虚拟存储系统 68
3.2.1 虚拟存储器的地址映像和地址变换 69
3.2.2 页面替换算法 74
3.2.3 提高主存命中率的方法 77
3.3 高速缓冲存储器 79
3.3.1 Cache存储器的基本工作原理 79
3.3.2 Cache的一致性及性能分析 85
3.3.3 11种先进的Cache性能优化方法 87
3.4 三级存储系统 90
3.5 并行存储器 91
3.5.1 存储器的频带平衡 91
3.5.2 并行存储器 91
3.6 RAID系统 96
3.7 存储域网络 99
本章小结 100
习题3 102
第4章 输入/输出系统 106
4.1 输入/输出系统概述 106
4.1.1 输入/输出系统的特点 106
4.1.2 基本的输入/输出方式 107
4.2 输入/输出总线 108
4.2.1 总线概述 108
4.2.2 输入/输出总线的设计 110
4.3 I/O处理机 113
4.3.1 通道 113
4.3.2 外围处理机 115
本章小结 117
习题4 117
第5章 流水线技术与向量处理技术 119
5.1 流水线基础 119
5.1.1 指令的重叠执行 119
5.1.2 RISC对流水线技术的支持 121
5.1.3 先行控制技术 125
5.2 流水线技术 135
5.2.1 流水线工作原理 135
5.2.2 流水线的分类 137
5.2.3 流水线的主要性能及其分析 140
5.3 流水线的相关性分析及处理 151
5.3.1 局部相关及处理 151
5.3.2 全局相关及处理 153
5.4 向量的流水线处理与向量流水线处理机 156
5.4.1 向量处理方式 156
5.4.2 向量流水线处理机 158
5.4.3 提高向量流水线处理机性能的常用技术 160
本章小结 162
习题5 164
第6章 并行处理机 168
6.1 阵列处理机 168
6.1.1 SIMD计算机的基本概念和模型 168
6.1.2 阵列处理机的特点 169
6.2 阵列机中并行存储器的无冲突访问 170
6.3 相联处理机 172
6.3.1 相联处理机和相联存储器 172
6.3.2 相联存储器的基本组成和工作原理 173
6.3.3 相联检索算法 174
6.4 脉动阵列机 176
6.4.1 脉动阵列机的结构原理 176
6.4.2 通用脉动阵列机的发展 178
6.5 互联网络 178
6.5.1 静态互联网络 178
6.5.2 动态互联网络 183
6.5.3 互联网络的通信问题 187
6.6 超标量流水线和超级流水线 190
6.6.1 超标量处理机 190
6.6.2 超流水线处理机 192
6.6.3 超标量超流水线处理机 193
6.7 超长指令字处理机 195
本章小结 196
习题6 198
第7章 PC的系统结构 199
7.1 PC的发展回顾 199
7.1.1 PC发展的简单回顾 199
7.1.2 影响PC处理器发展的两个重大事件 204
7.2 Intel Core微架构 205
7.3 AMD 64处理器架构 209
7.4 主板芯片组 211
7.4.1 主板芯片组的概念 211
7.4.2 前端总线 213
7.5 未来PC处理器的发展方向 214
本章小结 215
习题7 215
第8章 多处理器系统 216
8.1 指令级并行性的限制和超线程技术 216
8.1.1 指令级并行性的限制 216
8.1.2 超线程技术 217
8.1.3 限制单处理器发展的其他主要因素 218
8.2 多处理器构成的系统结构 219
8.2.1 多核处理器结构 219
8.2.2 多处理器结构 221
8.2.3 多处理器并行处理定量分析和所遇到的问题 225
8.3 多处理器的Cache一致性 227
8.3.1 对称式共享存储器系统和多处理器的Cache一致性 227
8.3.2 分布式共享存储器系统和基于目录的Cache一致性 231
8.4 多处理器系统的同步机制 234
8.4.1 基本硬件原语 234
8.4.2 同步机制的实现 236
8.4.3 多线程同步机制带来的问题 239
8.5 集群系统 240
8.5.1 集群系统及其特点 240
8.5.2 集群系统的关键技术 243
8.6 多处理器系统的程序并行性 246
8.6.1 程序的并行性挖掘 246
8.6.2 支持并行程序的软件工具 251
8.7 曙光5000超级计算机 254
本章小结 255
习题8 257
第9章 DLX虚拟处理器及其实验 258
9.1 WinDLX虚拟处理器概述 258
9.2 WinDLX虚拟处理器的指令系统 259
9.2.1 DLX指令集结构 259
9.2.2 DLX指令集 262
9.3 WinDLX汇编 265
9.3.1 数据定义及存储器分配 265
9.3.2 陷入操作 267
9.4 WinDLX的流水线结构 269
9.4.1 WinDLX的基本结构 270
9.4.2 引入流水线操作的DLX处理器 272
9.4.3 DLX基本流水线面临的问题分析 275
9.5 WinDLX虚拟处理器上机操作 287
9.5.1 WinDLX的启动和配置 287
9.5.2 装载测试程序 288
9.5.3 模拟运行程序 291
实验1 熟悉WinDLX的使用 298
实验2 DLX流水线结构相关 300
实验3 DLX流水线数据相关 301
实验4 DLX流水线指令调度 303
参考文献 308