《计算机系统结构 第2版》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:张晨曦,王志英,张春元,王伟,沈立编著
  • 出 版 社:北京:高等教育出版社
  • 出版年份:2014
  • ISBN:9787040403886
  • 页数:362 页
图书介绍:本书系统地论述了计算机系统结构的基本概念、基本原理、基本结构和基本方法,并强调采用量化的分析方法,使读者能够更具体、实际地分析和理解计算机系统结构。全书共分为9章:计算机系统结构的基本概念,计算机指令集结构,流水线技术,指令级并行,存储层次,输入/输出系统,互连网络,多处理机,机群计算机。第1章讲述计算机系统结构的基本概念以及定量分析基础。第2章讲述计算机指令集的设计、RISC 技术以及 MIPS 指令集结构。第3章讲述流水线及其性能分析、流水线中的相关和冲突及其解决方法、向量处理机的结构及其性能评价。第4章讲述指令级并行性开发,包括指令动态调度、指令分支预测、超标量技术、超流水技术以及超长指令字技术等。第5章讲述Cache的基本知识、降低Cache失效率的方法、减少Cache失效开销的方法以及减少命中时间的方法,并对虚拟存储器进行讨论。第6章讲述总线、通道外理机及其流量分析、廉价磁盘冗余阵列(RAID)。第7章讲述互连网络及其特性参数、静态互连网络以及动态互连网络等。第8章讲述对称式共享存储器系统结构、分布式共享存储器系统结构、多Cache一致性、同步以及同时多线程技术。第9章讲述机

第1章 计算机系统结构的基本概念 1

1.1 引言 1

1.2 计算机系统结构的概念 2

1.2.1 计算机系统的层次结构 2

1.2.2 计算机系统结构的定义 3

1.2.3 计算机组成和计算机实现 4

1.2.4 计算机系统结构的分类 5

1.3 定量分析技术 7

1.3.1 计算机系统设计的定量原理 7

1.3.2 计算机系统的性能评测 11

1.4 计算机系统结构的发展 15

1.4.1 冯·诺依曼结构 15

1.4.2 软件对系统结构的影响 18

1.4.3 器件发展对系统结构的影响 19

1.4.4 应用对系统结构的影响 20

1.5 计算机系统结构中并行性的发展 21

1.5.1 并行性的概念 21

1.5.2 提高并行性的技术途径 22

1.5.3 单机系统中并行性的发展 23

1.5.4 多机系统中并行性的发展 23

习题1 24

第2章 计算机指令集结构 26

2.1 指令集结构的分类 26

2.2 寻址方式 29

2.3 指令集结构的功能设计 32

2.3.1 CISC指令集结构的功能设计 34

2.3.2 RISC指令集结构的功能设计 37

2.3.3 控制指令 39

2.4 操作数的类型和大小 40

2.5 指令格式的设计 42

2.6 MIPS指令集结构 43

2.6.1 MIPS的寄存器 43

2.6.2 MIPS的数据表示 44

2.6.3 MIPS的数据寻址方式 44

2.6.4 MIPS的指令格式 44

2.6.5 MIPS的操作 46

2.6.6 MIPs的控制指令 47

2.6.7 MIPs的浮点操作 48

习题2 49

第3章 流水线技术 50

3.1 流水线的基本概念 50

3.1.1 什么是流水线 50

3.1.2 流水线的分类 52

3.2 流水线的性能指标 56

3.2.1 吞吐率 56

3.2.2 加速比 59

3.2.3 效率 59

3.2.4 流水线性能分析举例 60

3.2.5 流水线设计中的若干问题 62

3.3 流水线的相关与冲突 63

3.3.1 一个经典的5段流水线 63

3.3.2 相关与流水线冲突 66

3.4 流水线的实现 82

3.4.1 MIPS的一种简单实现 82

3.4.2 基本的MIPS流水线 85

3.5 向量处理机 90

3.5.1 向量处理方式 91

3.5.2 向量处理机的结构 93

3.5.3 提高向量处理机性能的方法 95

3.5.4 向量处理机的性能评价 99

习题3 103

第4章 指令级并行 107

4.1 指令级并行的概念 107

4.2 指令的动态调度 110

4.2.1 动态调度的基本思想 110

4.2.2 Tomasulo算法 112

4.3 动态分支预测技术 124

4.3.1 采用分支历史表BHT 125

4.3.2 采用分支目标缓冲器BTB 126

4.3.3 基于硬件的前瞻执行 128

4.4 多指令流出技术 133

4.4.1 基于静态调度的多流出技术 134

4.4.2 基于动态调度的多流出技术 136

4.4.3 超长指令字技术 138

4.4.4 多流出处理器受到的限制 140

4.4.5 超流水线处理机 141

4.5 循环展开和指令调度 144

4.5.1 循环展开和指令调度的基本方法 144

4.5.2 静态超标量处理机中的循环展开 148

习题4 150

第5章 存储系统 153

5.1 存储系统的层次结构 153

5.1.1 存储系统的层次结构 153

5.1.2 存储系统的性能参数 155

5.1.3 三级存储系统 156

5.1.4 存储层次的4个问题 157

5.2 Cache基本知识 158

5.2.1 基本结构和原理 158

5.2.2 映像规则 159

5.2.3 查找方法 161

5.2.4 Cache的工作过程 163

5.2.5 替换算法 165

5.2.6 写策略 169

5.2.7 Cache性能分析 170

5.2.8 改进Cache性能 173

5.3 降低Cache不命中率 173

5.3.1 三种类型的不命中 173

5.3.2 增加Cache块大小 176

5.3.3 增加Cache的容量 177

5.3.4 提高相联度 177

5.3.5 伪相联Cache 178

5.3.6 硬件预取 179

5.3.7 编译器控制的预取 179

5.3.8 编译优化 180

5.3.9 “牺牲”Cache 183

5.4 减少Cache不命中开销 183

5.4.1 采用两级Cache 184

5.4.2 让读不命中优先于写 187

5.4.3 写缓冲合并 187

5.4.4 请求字处理技术 188

5.4.5 非阻塞Cache技术 189

5.5 减少命中时间 189

5.5.1 容量小、结构简单的Cache 190

5.5.2 虚拟Cache 190

5.5.3 Cache访问流水化 193

5.5.4 踪迹Cache 193

5.5.5 Cache优化技术总结 193

5.6 并行主存系统 195

5.6.1 单体多字存储器 196

5.6.2 多体交叉存储器 196

5.6.3 避免存储体冲突 201

5.7 虚拟存储器 203

5.7.1 基本概念 203

5.7.2 快速地址转换技术 204

5.7.3 页式虚拟存储器实例:64位Opteron的存储管理 205

5.8 实例:AMD Opteron的存储器层次结构 207

习题5 212

第6章 输入/输出系统 216

6.1 输入/输出系统的性能 216

6.2 输入/输出系统的可靠性、可用性和可信性 217

6.3 廉价磁盘冗余阵列RAID 218

6.3.1 RAID 0 221

6.3.2 RAID 1 221

6.3.3 RAID 2 222

6.3.4 RAID 3 223

6.3.5 RAID 4 223

6.3.6 RAID 5 225

6.3.7 RAID 6 225

6.3.8 RAID 10与RAID 01 226

6.3.9 RAID的实现与发展 227

6.4 总线 227

6.4.1 总线的设计 227

6.4.2 总线标准和实例 229

6.4.3 与CPU的连接 231

6.5 通道处理机 232

6.5.1 通道的作用和功能 232

6.5.2 通道的工作过程 233

6.5.3 通道的种类 235

6.5.4 通道流量分析 237

6.6 I/O与操作系统 239

6.6.1 DMA和虚拟存储器 240

6.6.2 I/O和Cache数据一致性 241

习题6 242

第7章 互连网络 245

7.1 互连函数 245

7.1.1 互连函数的表示方法 245

7.1.2 几种基本的互连函数 246

7.2 互连网络的结构参数与性能指标 252

7.2.1 互连网络的结构参数 252

7.2.2 互连网络的性能指标 252

7.3 静态互连网络 253

7.4 动态互连网络 260

7.4.1 总线网络 260

7.4.2 交叉开关网络 261

7.4.3 多级互连网络 262

7.4.4 动态互连网络的比较 267

7.5 消息传递机制 268

7.5.1 消息寻径方案 268

7.5.2 死锁与虚拟通道 272

7.5.3 流控制策略 273

7.5.4 选播和广播寻径算法 276

习题7 278

第8章 多处理机 280

8.1 引言 280

8.1.1 并行计算机系统结构的分类 281

8.1.2 存储器系统结构和通信机制 282

8.1.3 并行处理面临的挑战 284

8.2 对称式共享存储器系统结构 287

8.2.1 多处理机Cache一致性 287

8.2.2 实现一致性的基本方案 289

8.2.3 监听协议的实现 291

8.3 分布式共享存储器系统结构 296

8.3.1 目录协议的基本思想 296

8.3.2 目录协议实例 300

8.3.3 目录的3种结构 303

8.4 同步 305

8.4.1 基本硬件原语 305

8.4.2 用一致性实现锁 307

8.4.3 同步性能问题 309

8.5 同时多线程 312

8.5.1 将线程级并行转换为ILP 313

8.5.2 同时多线程处理器的设计 315

8.5.3 同时多线程的性能 316

8.6 大规模并行处理机 317

8.6.1 并行计算机系统结构 317

8.6.2 大规模并行处理机 319

8.7 多处理机实例1:T1 323

8.8 多处理机实例2:Origin 2000 327

习题8 334

第9章 机群系统 336

9.1 机群的基本结构 337

9.1.1 机群的硬件 337

9.1.2 机群的软件 338

9.2 机群的特点 340

9.3 机群的分类 341

9.4 典型机群系统简介 342

9.4.1 Berkeley NOW 342

9.4.2 Beowulf 343

9.4.3 LAMP 343

9.4.4 IBM SP2 344

习题9 346

第10章 多核系统结构与编程 347

10.1 多核系统结构的需求 347

10.1.1 功耗与散热问题 348

10.1.2 并行度问题 348

10.1.3 应用软件的问题 349

10.2 多核系统结构 350

10.2.1 多核的组织架构 350

10.2.2 多核系统结构实例 352

10.3 基于多核的并行程序设计 356

10.3.1 并行编程模型 356

10.3.2 并行语言 357

10.3.3 并行算法 358

10.4 多核编程实例 359

习题10 361

参考文献 362