第1章基础知识 1
1.1计算机系统层次结构 1
1.1.1按功能划分的多级层次结构 1
目录 1
1.1.2按功能划分层次的好处 4
1.2计算机系统结构 5
1.2.1计算机系统结构的定义 5
1.2.2计算机系统结构研究的内容 5
1.3计算机组成 6
1.3.1计算机组成的定义 6
1.3.2计算机组成设计 6
1.4.1计算机实现的定义 7
1.4.2器件技术研究的内容 7
1.4计算机实现 7
1.4.3系统结构、组成、实现三者的关系和相互影响 8
1.5计算机性能 9
1.5.1 性能因子CPI 9
1.5.2计算机性能常用指标MIPS和MFLOPS 10
1.5.3计算机系统结构的性能评价标准 16
1.5.4计算机系统设计的定量原理 18
1.6计算机系统的分类 20
1.6.1 Flynn分类法 20
1.6.2冯氏分类法 22
习题1 23
第2章指令系统 26
2.1指令格式的优化 26
2.1.1操作码的优化表示 26
2.1.2指令字格式的优化 30
2.2 CISC 32
2.2.1 CISC的发展 32
2.2.2 CISC的特点 33
2.3 RISC 34
2.3.1 RISC结构采用的基本技术 34
2.3.2经典CISC和纯RISC体系结构的比较 37
2.3.3退耦CISC/RISC 38
2.4后RISC 42
2.4.1后RISC特征 43
2.4.2几种后RISC机器的比较 44
习题2 45
3.1.2多级存储层次 48
3.1.1 基本概念 48
3.1存储系统原理 48
第3章存储系统设计 48
3.1.3存储系统的性能参数 49
3.2交叉访问存储器 51
3.2.1主存系统的类型 51
3.2.2高位交叉访问存储器 52
3.2.3低位交叉访问存储器 53
3.2.4拓宽存储器带宽的方法 54
3.3页式虚拟存储器 55
3.3.1虚拟存储器的工作原理 55
3.3.2虚拟存储器的地址映像与变换 56
3.3.3页面替换算法及其实现 59
3.3.4提高虚拟存储器等效访问速度的措施 65
3.3.5影响主存命中率的某些因素 69
3.4.1 Cache存储器的工作原理 71
3.4 Cache存储器 71
3.4.2 Cache存储器的地址映像与变换 72
3.4.3 Cache替换算法及其实现 79
3.4.4 Cache的透明性分析 82
3.4.5 Cache的取算法 84
3.4.6影响Cache存储器性能的因素 85
习题3 87
第4章 流水线计算机设计技术 92
4.1 重叠解释方式和相关处理 92
4.1.1 重叠解释方式的提出 92
4.1.2一次重叠工作方式 93
4.1.3相关处理 94
4.2流水线的工作原理 99
4.3流水线的特点 101
4.4.1根据向下扩展和向上扩展的思想分类 102
4.4流水线的分类 102
4.4.2按流水线功能的多少分类 103
4.4.3按流水线的工作方式分类 104
4.4.4按流水线的连接方式分类 105
4.5线性流水线性能分析 106
4.5.1吞吐率和加速比 106
4.5.2效率 109
4.6线性流水线性能分析举例 110
4.7非线性流水线的基本概念 112
4.8相关处理和控制机构 115
4.8.1 局部相关的处理 116
4.8.2全局相关的处理 117
4.8.3流水机器的中断处理 119
4.9.1 流水的集中式动态调度——记分板机制 120
4.9先进的流水技术——动态调度 120
4.9.2 流水的分布式动态调度——Tomasulo方法 121
4.9.3动态硬件预测转移方法 124
4.10超标量处理机和VLIW体系结构 125
4.10.1超标量处理机 125
4.10.2 VLIW体系结构 126
4.11超流水处理机 128
4.12超标量超流水处理机 129
习题4 133
第5章并行处理技术 138
5.1 计算机系统结构中并行性的发展 138
5.1.1并行性的基本概念 138
5.1.2实现并行性技术的途径 139
5.1.3计算机系统结构中并行性的发展 139
5.2.1 SIMD并行处理机的基本结构与特点 141
5.2 SIMD并行处理机 141
5.2.2 ILLIACⅣ的处理单元阵列结构 143
5.2.3阵列处理机的并行算法 144
5.3 SIMD计算机的互连网络 148
5.3.1互连网络的设计准则 148
5.3.2互连函数的表示 149
5.3.3单级互连网络 149
5.4 网络特性 152
5.4.1结点度和网络直径 152
5.4.2聚集带宽和等分带宽 152
5.4.3数据寻径功能 152
5.5静态连接网络 153
5.5.1线性阵列 154
5.5.4树形和星型 155
5.5.3循环移数网络和全连接 155
5.5.2环和带弦环 155
5.5.5胖树型 156
5.5.6网格型和环网型 156
5.5.7超立方体 156
5.5.8带环立方体 157
5.5.9K元n-立方体网络 157
5.6动态连接网络 160
5.6.1总线互连方式 161
5.6.2交叉开关互连方式 162
5.6.3多级网络互连方式 164
5.6.4蝶式网络 173
5.6.5组合网络 174
习题5 175
6.1.1 向量流水处理的主要特点 180
6.1.2 向量处理机的基本系统结构 180
第6章 向量处理机 180
6.1 向量处理的基本概念 180
6.1.3向量的处理方式 182
6.2一般的向量处理机 183
6.2.1 寄存器组 184
6.2.2多个单功能流水部件 185
6.2.3运算流水线 186
6.3提高向量处理性能的常用技术 186
6.3.1多功能部件的并行操作 187
6.3.2链接技术 188
6.3.3条件语句和稀疏矩阵的加速处理方法 190
6.3.4 向量归约操作的加速方法 191
6.4.1 向量流水处理的时间 192
6.4向量处理的性能评价 192
6.4.2与向量长度有关的向量流水处理机性能参数 194
6.5多向量多处理机 196
6.5.1 Cray Y-MP 196
6.5.2 C-90和机群 197
6.5.3 Fujitsu VP2000 198
6.5.4 VPP500 199
习题6 200
第7章多处理机 204
7.1多处理机结构 204
7.1.1多处理机的特点 204
7.1.2多处理机的硬件结构 205
7.2多处理机的Cache一致性 209
7.2.1 Cache一致性问题的原因 209
7.2.2监听一致性协议 211
7.2.3 MESI监听协议 213
7.2.4基于目录的协议 215
7.3程序的划分和调度 219
7.3.1粒度的组合和调度 219
7.3.2静态多处理机调度 220
7.4多处理机性能模型 224
7.4.1基本模型 224
7.4.2 N台处理机系统的基本模型 226
7.4.3随机模型 227
7.4.4通信开销为线性函数的模型 228
7.4.5一个完全重叠通信的理想模型 229
7.4.6一个具有多条通信链的模型 231
7.5并行机的发展趋势 232
7.5.2对称多处理机 233
7.5.1并行向量处理机 233
7.5.3大规模并行处理机 234
7.5.4分布共享存储器多处理机 234
7.5.5机群 235
习题7 237
第8章并行算法 240
8.1并行算法的基础知识 240
8.1.1并行算法的定义和分类 240
8.1.2进程中的同构性 241
8.1.3并行算法的表达 241
8.1.4并行算法中的同步与通信 242
8.2同步技术 244
8.2.1 原子性 244
8.2.2控制同步 245
8.2.4 高级同步结构 246
8.2.3数据同步 246
8.2.5低级同步原语 249
8.3程序并行性的分析 255
8.3.1数据相关 255
8.3.2控制相关 257
8.4并行编程概述 258
8.4.1并行编程概况 258
8.4.2并行编程方法 259
8.4.3并行算法范例 261
8.5并行编程模型 263
8.5.1蕴式并行性 263
8.5.2显式并行模型 264
习题8 269
9.1.2数据流驱动的基本原理 272
9.1.1控制流和数据流 272
第9章 数据流计算机系统结构 272
9.1程序流机制 272
9.1.3需求驱动方式 275
9.1.4归约机模型 275
9.2计算模型分类 276
9.2.1控制驱动、共享存储器模型 277
9.2.2并行控制驱动、共享存储器模型 277
9.2.3数据驱动模型 277
9.2.4需求驱动模型 277
9.3数据流程序图和数据流语言 278
9.3.1数据流程序图 278
9.3.2数据流语言 281
9.4数据流机的基本结构 281
9.4.1静态数据流机 281
9.4.2动态数据流机 283
习题9 286
附录一各章习题参考答案 287
习题1参考答案 287
习题2参考答案 288
习题3参考答案 291
习题4参考答案 296
习题5参考答案 299
习题6参考答案 304
习题7参考答案 307
习题8参考答案 310
习题9参考答案 314
附录二专业术语中英文对照表 317
参考文献 324