计算机系统结构
书 号:9787113141264
丛 书 名:普通高等学校计算机科学与技术专业规划教材
作 者:徐洁
译 者:
开 本:16开
装 帧:平装
正文语种:
出 版 社:中国铁道出版社有限公司
定 价:33元
-
内容简介
本书共分8章,第1章介绍计算机系统结构的基本概念和发展过程。第2章介绍数据表示,指令系统优化设计的方法和技术,CISC与RISC设计思想,RISC处理器MIPSR4000和SPARC指令系统。第3章介绍流水线的基本概念、分类和性能分析,MIPSR4000流水线,向量处理机。第4章介绍指令级并行概念,指令的静态与动态调度技术,转移预测技术,多发射技术,指令级并行的支持与限制,IntelPentium4实例分析。第5章介绍存储系统的层次结构及性能参数,高速缓冲存储器Cache,虚拟存储器,主存储器进程保护,虚拟存储器实例Alpha21064。第6章介绍输入/输出系统和总线,通道和外围处理机,输入/输出系统性能测试与分析,磁盘冗余阵列RAID。第7章介绍多处理机系统的结构、互联网络和性能分析,并行处理语言与算法,多处理机系统实例。第8章介绍集群计算机系统结构及实例,MPP系统结构及实例,网格技术及实例。 -
前言
在当前的信息时代,计算机技术的发展日新月异,而引领计算机技术发展的是处理机(微处理机)的实现技术。近20年来,随着超大规模集成电路VLSI技术的迅速发展,处理机的系统结构也发生了深刻的变化。
曾经的大型计算机系统结构所采用的设计技术,如今可在一块微处理机芯片上实现,例如,流水线结构、多个处理部件并发地执行指令操作、指令动态调度以及转移预测等。由于采用了这些设计技术,微处理机的性能大幅提高。例如,如果一个微处理机在每个时钟周期可以发出4条指令,采用5级流水线,则可能有多至20条指令同时在执行。
此外,现代高性能的计算机系统已经普遍采用多处理机或多计算机的系统结构,如多处理机的服务器系统、集群系统和大规模并行处理系统。而且计算机网络的迅速发展使得通信技术和计算机技术融合为一个不可分割的整体,如集群系统是由一组完整的计算机通过高性能网络互连而成;又如,网格技术通过一套完整的网格中间件的支持,将分布在互联网上的多种资源整合成一台巨大的超级计算机,为使用者提供一套完善的、具有单一映像的支持环境。
现代的VLSI工艺仍在不断改进,目前已经可以将多个微处理机制造在一块芯片上,称为多核芯片,当前的计算机和服务器已经逐渐采用多核芯片。
在这样的技术背景下,计算机系统结构教材的内容也需要跟上计算机技术发展的步伐。编者在多年的教学实践和教材编写的基础上,深入研究国内外先进教科书和相关的技术资料,编写了这本与现代计算机技术吻合的教材。
本书主要涵盖了“China Computing Curricula”和ACM/IEEECS教学计划中的CSAR“计算机体系结构与组织”这一知识领域中的6个核心知识单元:
AR4 存储系统组织和结构。
AR5 接口和通信。
AR6 功能组织。
AR7 多处理和体系结构。
AR8 性能提高技术。
AR9 网络与分布式系统结构。
本书知识点覆盖全面,内容更侧重于阐述现代实用微处理机所采用的主要设计技术,并通过吸收国外先进教科书的内容,尽量反映计算机系统设计的新技术和发展趋势。在阐述当前主流计算机系统采用的设计思想、结构原理、分析方法和性能评测的基础上,分别在各章都给出了较新的实例产品进行配合说明。
本书编写层次分明,结构清晰,知识引入由浅入深。全书共分8章,第1、2章介绍计算机系统结构的基础知识;第3~6章阐述现代单CPU微处理机的主要设计技术;第7、8章描述多处理机与多计算机系统的相关内容,也介绍计算机网络与分布式计算技术发展融合产生的网格技术及实例。本书参考学时为40~60学时。其内容组织体现了下述的教学思路:
第1章通过回顾计算机系统的发展过程,说明了为提高系统性能对系统结构进行的主要改进之处;对有效提高系统性能的并行技术和并行计算机进行了讨论;引入了现代计算机系统的分类方法、设计方法以及性能评测的方法。第2章阐述了指令系统优化设计的方法和技术;深入讨论了指令系统发展中的CISC和RISC两种设计思想,强调现代RISC技术更注重支持流水线的高效率执行和编译器生成优化代码,对典型RISC处理机MIPS R4000和SPARC的指令系统进行了分析和比较。
由于单CPU微处理机设计技术是现代微处理机(包括多核芯片)设计的基础,因此本书在第3、4章深入分析和阐述了相关技术,即:流水线基础、MIPS R4000 流水线、相关性对指令级并行的影响、支持指令级并行的编译技术、指令的静态与动态调度、静态与动态转移预测、多发射技术、指令级并行的支持与限制性因素、Intel Pentium 4实例分析。第5章对高速缓冲存储器(Cache)和虚拟存储器工作机制进行了深入分析,也讨论了主存储器的性能优化、进程保护和实例Alpha 21064。第6章从系统结构的角度介绍了输入/输出系统,包括输入/输出系统性能的测试与分析,以及磁盘冗余阵列(RAID)。
随着多核芯片的普及,计算机将普遍成为多处理机系统,因此在第7章深入分析了相关技术:多处理机系统的结构、多核处理机、多处理机互联网络、多处理机系统控制、多处理机系统性能分析、实例CRAY T3E与SGI Origin 2000,并介绍了并行处理语言与算法。第8章主要讨论两类典型多计算机系统:集群系统与MPP系统;介绍了集群系统的结构、通信技术、资源管理调度、并行程序设计环境,实例NOW、Beowulf和Cluster 1350;然后介绍了MPP系统的结构,实例ASCI White、BlueGene/L、ASCI Option Red和天河一号;最后介绍了网格技术和网格体系结构,以及网格实例Globus。
本课程的先修课程是“计算机组成原理”、“汇编语言程序设计”、“数据结构”等课程,本课程可以在“操作系统”、“编译原理”课程之后或与它们同时开设。
本书由徐洁主编并编写第1、2章,吴晓华编写第3、4章,丁旭阳编写第5章,王雁东编写第6章,胡健编写第7、8章。吉林大学胡亮教授担任主审,并提出了许多宝贵的修改意见。本书编写过程中,还得到了电子科技大学计算机学院领导、老师和同学的热情支持。在此,谨向所有给予我们支持和帮助的同志表示衷心的感谢。
由于时间仓促,编者水平有限,书中难免存在疏漏与不足之处,恳请读者与同行给予批评指正。
编 者
2011年11月 -
目录
第1章 概述 1
1.1 计算机系统结构的概念 1
1.1.1 计算机系统的层次结构 1
1.1.2 计算机系统结构、组成与实现 4
1.2 计算机系统结构的发展 7
1.2.1 冯•诺依曼计算机 8
1.2.2 存储程序计算机系统结构的发展过程 8
1.2.3 非冯•诺依曼结构计算机 10
1.3 并行性与并行计算机 11
1.3.1 并行性概念 11
1.3.2 提高并行性的技术途径 11
1.3.3 并行计算机简介 12
1.4 计算机系统的分类 16
1.4.1 Flynn分类法 16
1.4.2 应用分类 17
1.5 计算机系统设计的主要任务与量化原则 19
1.5.1 计算机系统设计者的主要任务 19
1.5.2 计算机系统设计的量化原则 21
1.6 计算机系统的性能评测 24
1.6.1 计算机性能评估 25
1.6.2 计算机性能的测试 26
1.6.3 计算机性能测试结果的统计和比较 30
习题 32
第2章 指令系统 35
2.1 数据表示 35
2.1.1 浮点数表示 36
2.1.2 自定义数据表示 40
2.2 寻址技术 41
2.2.1 编址方式 42
2.2.2 寻址方式 43
2.2.3 程序在主存中的定位方法 46
2.3 指令格式的设计和优化 47
2.3.1 指令操作码的优化 47
2.3.2 地址码的优化表示 51
2.3.3 指令格式设计实例 53
2.4 指令系统的改进 56
2.4.1 RISC与CISC的概述 56
2.4.2 RISC指令系统实例 59
习题 67
第3章 流水线技术 69
3.1 流水线概述 69
3.1.1 流水线的基本概念 69
3.1.2 流水线的分类 73
3.1.3 流水线的特点 76
3.2 流水线的时空图及性能分析 77
3.2.1 流水线的时空图 77
3.2.2 流水线的性能分析 78
3.3 流水线中的相关 83
3.3.1 什么是流水线相关 83
3.3.2 流水线中的结构相关(资源相关) 84
3.3.3 流水线中的数据相关 86
3.3.4 流水线的控制相关 87
3.4 MIPS R4000流水线计算机 89
3.4.1 MIPS R4000流水线计算机基本结构和工作原理 89
3.4.2 MIPS R4000流水线 92
3.5 向量处理机 94
3.5.1 向量处理的基本概念 94
3.5.2 向量处理机的结构 97
3.5.3 向量指令的执行过程及简单性能计算 98
3.5.4 向量的链接技术 100
3.5.5 提高向量处理机的方法 103
3.5.6 向量处理机的性能评价 105
习题 108
第4章 指令级并行及限制 111
4.1 指令级并行概述 111
4.1.1 指令级并行的基本概念 111
4.1.2 相关性对指令级并行的影响 112
4.1.3 支持指令级并行的基本编译技术 115
4.2 指令的动态调度 118
4.2.1 动态调度的原理 119
4.2.2 记分牌动态调度算法 119
4.2.3 Tomasulo动态调度算法 126
4.3 转移预测技术 135
4.3.1 静态转移预测 135
4.3.2 动态转移预测 137
4.4 多发射技术 142
4.4.1 超标量技术 142
4.4.2 多发射的动态调度 145
4.4.3 超长指令字技术 151
4.5 指令级并行的支持与限制 152
4.5.1 窗口大小和最大发射数目对理想处理机的限制 153
4.5.2 实际分支和分支预测的影响对理想处理机的限制 156
4.5.3 有限数目寄存器的影响 158
4.5.4 非完美别名分析造成的影响 159
4.6 Intel Pentium 4实例分析 161
4.6.1 Pentium Ⅲ和Pentium 4结构的简单比较 161
4.6.2 Pentium Ⅲ和Pentium 4性能的简单比较 162
习题 163
第5章 存储系统 165
5.1 存储系统简介 165
5.1.1 存储系统的层次结构 165
5.1.2 存储系统的性能参数 166
5.2 高速缓冲存储器(Cache) 168
5.2.1 Cache的工作原理 169
5.2.2 地址映像与变换方法 170
5.2.3 Cache替换算法及实现 174
5.2.4 Cache的一致性问题 178
5.2.5 Cache的性能分析 179
5.3 Cache性能的优化 181
5.3.1 降低Cache失效率的方法 181
5.3.2 减少Cache失效开销 183
5.3.3 减少命中时间 184
5.4 主存储器及性能优化 185
5.4.1 主存储器 185
5.4.2 性能优化 185
5.5 虚拟存储器 187
5.5.1 工作原理 187
5.5.2 地址映像与变换 192
5.5.3 内部地址变换优化 193
5.5.4 页面替换算法及实现 195
5.5.5 提高主存命中率的方法 198
5.6 进程保护和虚拟存储器实例 199
5.6.1 进程保护 200
5.6.2 Alpha 21064存储管理 201
5.7 Alpha 21264存储层次结构 203
习题 206
第6章 输入/输出系统 208
6.1 输入/输出系统概述 208
6.1.1 输入/输出系统的特点 208
6.1.2 基本的输入/输出方式 210
6.2 总线 211
6.2.1 总线概述 211
6.2.2 总线的连接方式 212
6.3 通道处理机 213
6.3.1 通道的功能 213
6.3.2 通道的工作过程 214
6.3.3 通道的种类 215
6.3.4 通道中的数据传送过程 217
6.3.5 通道流量分析 218
6.4 外围处理机 220
6.4.1 输入/输出处理机的作用 220
6.4.2 输入/输出处理机的种类和组织形式 221
6.4.3 输入/输出处理机实例 221
6.5 I/O系统性能评测 222
6.5.1 I/O系统的可靠性、可用性和可信性 222
6.5.2 I/O子系统性能衡量 223
6.5.3 I/O子系统的设计 224
6.5.4 并行I/O基本原理 225
6.5.5 排队论简介 226
6.6 磁盘冗余阵列 228
6.6.1 RAID概述 228
6.6.2 RAID系统分级 228
习题 234
第7章 多处理机系统 237
7.1 多处理机系统结构 237
7.1.1 多处理机系统的硬件结构 237
7.1.2 多处理机系统的存储器组织形式 239
7.1.3 多处理机系统的操作系统 241
7.1.4 多核处理机 243
7.2 多处理机的互联网络 244
7.2.1 互联网络的基本概念 244
7.2.2 互联网络的特性 245
7.2.3 互联网络的类型 246
7.3 多处理机系统的系统控制 250
7.3.1 多处理机系统的调度 250
7.3.2 多处理机系统的进程通信 252
7.4 并行处理语言及算法 254
7.4.1 并行处理遇到的挑战 254
7.4.2 并行编程模型 255
7.4.3 并行语言 256
7.4.4 并行算法 257
7.5 多处理机的性能 260
7.5.1 任务粒度 260
7.5.2 基本模型 260
7.5.3 通信开销线性增加的模型 262
7.5.4 完全重叠通信的模型 262
7.5.5 具有多条通信链的模型 262
7.6 多处理机系统实例 263
7.6.1 CRAY T3E系统 263
7.6.2 SGI Origin 2000系列服务器 264
习题 266
第8章 多计算机系统 267
8.1 集群计算机系统 267
8.1.1 集群系统的基本概念和结构 267
8.1.2 集群系统的特点 268
8.1.3 集群系统的通信技术 269
8.1.4 集群系统资源管理和调度 271
8.1.5 集群系统并行程序设计环境 272
8.2 典型集群系统实例 273
8.3 MPP系统 276
8.3.1 MPP系统机构 276
8.3.2 基于MPP的并行计算机系统 277
8.3.3 集群系统与MPP系统 278
8.4 网格技术 278
8.4.1 网格基础 279
8.4.2 网格技术概念 279
8.4.3 网格体系结构 280
8.5 网格实例 283
习题 285
参考文献 287 -
作者介绍
主要著译者顺序姓名学历职称学科专长通讯地址1 徐洁硕士 副教授 计算机系统结构工作单位成都电子科技大学计算机科学与工程学院 邮政编码 电话13688171515 2 工作单位 邮政编码 电话 3 工作单位 邮政编码 电话 审校者(主审者) 学历 工作单位 邮政编码 电话 职称 工作单位 邮政编码 电话 -
编辑推荐
本书主要涵盖了<CCC22>和ACM/IEEE-CS教学计划中的CS-AR“计算机体系结构与组织”这一知识领域中的6个核心知识单元: AR4 存储系统组织和结构、 AR5 接口和通信、 AR6 功能组织、 AR7 多处理和体系结构、 AR8 性能提高技术、 AR9 网络与分布式系统结构。 -
书评书荐
-
附件下载
图书推荐