当前位置:首页 > 工业技术
计算机系统结构教程  第2版
计算机系统结构教程  第2版

计算机系统结构教程 第2版PDF电子书下载

工业技术

  • 电子书积分:13 积分如何计算积分?
  • 作 者:张晨曦主编
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2014
  • ISBN:9787302360384
  • 页数:400 页
图书介绍:本书借鉴了国内外最经典的相关教材,系统地论述了计算机系统结构的基本概念、基本结构、基本方法等,强调从开发并行性的角度,用量化分析(性能评价)的方法来研究和分析计算机系统。
《计算机系统结构教程 第2版》目录

第1章 计算机系统结构的基础知识 1

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

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

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

1.1.3 计算机组成和计算机实现 3

1.1.4 计算机系统结构的分类 4

1.2 计算机系统的设计 7

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

1.2.2 计算机系统设计者的主要任务 10

1.2.3 计算机系统设计的主要方法 12

1.3 计算机系统的性能评测 13

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

1.4.1 冯·诺依曼结构及其改进 17

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

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

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

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

1.5.1 并行性的概念 23

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

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

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

1.5.5 并行机的发展变化 26

习题1 28

第2章 指令系统的设计 30

2.1 指令系统结构的分类 30

2.2 寻址方式 32

2.3 指令系统的设计和优化 35

2.3.1 指令系统设计的基本原则 35

2.3.2 控制指令 36

2.3.3 指令操作码的优化 37

2.3.4 指令字格式的优化 40

2.4 指令系统的发展和改进 42

2.4.1 沿CISC方向发展和改进指令系统 42

2.4.2 沿RISC方向发展和改进指令系统 44

2.5 操作数的类型和大小 45

2.6 MIPS指令系统结构 47

2.6.1 MIPS的寄存器 47

2.6.2 MIPS的数据表示 47

2.6.3 MIPS的数据寻址方式 47

2.6.4 MIPS的指令格式 48

2.6.5 MIPS的操作 49

2.6.6 MIPS的控制指令 50

2.6.7 MIPS的浮点操作 51

习题2 51

第3章 流水线技术 53

3.1 流水线的基本概念 53

3.1.1 什么是流水线 53

3.1.2 流水线的分类 55

3.2 流水线的性能指标 58

3.2.1 流水线的吞吐率 58

3.2.2 流水线的加速比 60

3.2.3 流水线的效率 61

3.2.4 流水线的性能分析举例 62

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

3.3 非线性流水线的调度 64

3.3.1 单功能非线性流水线的最优调度 65

3.3.2 多功能非线性流水线的调度 67

3.4 流水线的相关与冲突 70

3.4.1 一条经典的5段流水线 70

3.4.2 相关与流水线冲突 72

3.5 流水线的实现 83

3.5.1 MIPS的一种简单实现 83

3.5.2 基本的MIPS流水线 86

习题3 90

第4章 向量处理机 94

4.1 向量的处理方式 94

4.2 向量处理机的结构 96

4.2.1 “存储器-存储器”结构 96

4.2.2 “寄存器-寄存器”结构 96

4.3 提高向量处理机性能的常用技术 98

4.3.1 设置多个功能部件 99

4.3.2 链接技术 99

4.3.3 分段开采技术 102

4.3.4 采用多处理机系统 102

4.4 向量处理机的性能评价 103

4.4.1 向量指令的处理时间Tvp 103

4.4.2 最大性能R∞和半性能向量长度n1/2 106

4.4.3 向量长度临界值nv 106

4.5 向量处理机实例 107

4.5.1 具有代表性的向量处理机 107

4.5.2 Cray Y-MP和C-90 107

4.5.3 NEC SX-X44 109

习题4 110

第5章 指令级并行及其开发——硬件方法 112

5.1 指令级并行的概念 112

5.2 相关与指令级并行 113

5.3 指令的动态调度 114

5.3.1 动态调度的基本思想 114

5.3.2 记分牌动态调度方法 116

5.3.3 Tomasulo算法 123

5.4 动态分支预测技术 133

5.4.1 采用分支历史表 134

5.4.2 采用分支目标缓冲器 135

5.4.3 基于硬件的前瞻执行 137

5.5 多指令流出技术 142

5.5.1 基于静态调度的多流出技术 143

5.5.2 基于动态调度的多流出技术 144

5.5.3 超长指令字技术 147

5.5.4 多流出处理器受到的限制 148

5.5.5 超流水线处理机 149

习题5 152

第6章 指令级并行的开发——软件方法 154

6.1 基本指令调度和循环展开 154

6.1.1 指令调度的基本方法 154

6.1.2 循环展开 156

6.2 跨越基本块的静态指令调度 158

6.2.1 全局指令调度 158

6.2.2 踪迹调度 161

6.2.3 超块调度 163

6.3 静态多指令流出:VLIW技术 165

6.4 显式并行指令计算 167

6.4.1 非绑定分支 167

6.4.2 谓词执行 168

6.4.3 前瞻执行 171

6.5 开发更多的指令级并行 173

6.5.1 挖掘更多的循环级并行 174

6.5.2 软流水 179

6.6 实例:IA-64体系结构 182

6.6.1 IA-64的指令格式 183

6.6.2 IA-64的谓词执行机制 185

6.6.3 IA-64的前瞻执行机制 186

习题6 187

第7章 存储系统 189

7.1 存储系统的层次结构 189

7.1.1 存储系统的层次结构概述 189

7.1.2 存储系统的性能参数 190

7.1.3 三级存储系统 191

7.1.4 存储层次的4个问题 193

7.2 Cache的基本知识 193

7.2.1 基本结构和原理 193

7.2.2 映像规则 194

7.2.3 查找方法 196

7.2.4 Cache的工作过程 198

7.2.5 替换算法 200

7.2.6 写策略 203

7.2.7 Cache性能分析 204

7.2.8 改进Cache性能 206

7.3 降低Cache的不命中率 207

7.3.1 三种类型的不命中 207

7.3.2 增加Cache块大小 209

7.3.3 增加Cache的容量 210

7.3.4 提高相联度 210

7.3.5 伪相联Cache 211

7.3.6 硬件预取 212

7.3.7 编译器控制的预取 212

7.3.8 编译优化 213

7.3.9 “牺牲”Cache 215

7.4 减少Cache不命中开销 216

7.4.1 采用两级Cache 216

7.4.2 让读不命中优先于写 219

7.4.3 写缓冲合并 219

7.4.4 请求字处理技术 220

7.4.5 非阻塞Cache技术 220

7.5 减少命中时间 221

7.5.1 容量小、结构简单的Cache 221

7.5.2 虚拟Cache 221

7.5.3 Cache访问流水化 224

7.5.4 踪迹Cache 224

7.5.5 Cache优化技术总结 224

7.6 并行主存系统 225

7.6.1 单体多字存储器 226

7.6.2 多体交叉存储器 227

7.6.3 避免存储体冲突 231

7.7 虚拟存储器 232

7.7.1 基本概念 232

7.7.2 快速地址转换技术 233

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

7.8 实例:AMDOpteron的存储器层次结构 236

习题7 240

第8章 输入输出系统 243

8.1 I/O系统的性能 243

8.2 I/O系统的可靠性、可用性和可信性 244

8.3 廉价磁盘冗余阵列 245

8.3.1 RAID0 247

8.3.2 RAID1 247

8.3.3 RAID2 248

8.3.4 RAID3 249

8.3.5 RAID4 249

8.3.6 RAID5 250

8.3.7 RAID6 250

8.3.8 RAID10与RAID01 251

8.3.9 RAID的实现与发展 251

8.4 总线 252

8.4.1 总线的设计 253

8.4.2 总线标准和实例 254

8.4.3 与CPU的连接 255

8.5 通道处理机 257

8.5.1 通道的作用和功能 257

8.5.2 通道的工作过程 258

8.5.3 通道种类 259

8.5.4 通道流量分析 261

8.6 I/O与操作系统 263

8.6.1 DMA和虚拟存储器 263

8.6.2 I/O和Cache数据一致性 264

习题8 266

第9章 互连网络 268

9.1 互连函数 268

9.1.1 互连函数的表示方法 268

9.1.2 几种基本的互连函数 269

9.2 互连网络的结构参数与性能指标 273

9.2.1 互连网络的结构参数 273

9.2.2 互连网络的性能指标 274

9.3 静态互连网络 275

9.4 动态互连网络 281

9.4.1 总线网络 281

9.4.2 交叉开关网络 282

9.4.3 多级互连网络 283

9.4.4 动态互连网络的比较 286

9.5 消息传递机制 287

9.5.1 消息寻径方案 287

9.5.2 死锁与虚拟通道 290

9.5.3 流控制策略 291

9.5.4 选播和广播寻径算法 294

习题9 296

第10章 多处理机 298

10.1 引言 298

10.1.1 并行计算机系统结构的分类 298

10.1.2 存储器系统结构和通信机制 300

10.1.3 并行处理面临的挑战 302

10.2 对称式共享存储器的系统结构 304

10.2.1 多处理机Cache一致性 304

10.2.2 实现一致性的基本方案 305

10.2.3 监听协议的实现 308

10.3 分布式共享存储器的系统结构 312

10.3.1 目录协议的基本思想 312

10.3.2 目录协议实例 315

10.3.3 目录的三种结构 318

10.4 同步 320

10.4.1 基本硬件原语 320

10.4.2 用一致性实现锁 322

10.4.3 同步性能问题 324

10.5 同时多线程 326

10.5.1 将线程级并行转换为指令级并行 327

10.5.2 同时多线程处理器的设计 328

10.5.3 同时多线程的性能 329

10.6 大规模并行处理机 331

10.6.1 并行计算机系统结构 331

10.6.2 大规模并行处理机 333

10.7 多处理机实例1——T1 335

10.8 多处理机实例2——Origin 2000 339

习题10 346

第11章 多核架构与编程 347

11.1 多核架构的需求 347

11.1.1 功耗与散热问题 347

11.1.2 并行度问题 348

11.1.3 应用软件问题 349

11.2 多核架构 349

11.2.1 多核的组织架构 350

11.2.2 多核架构实例 351

11.3 基于多核的并行程序设计 354

11.3.1 并行编程模型 354

11.3.2 并行语言 355

11.3.3 并行算法 356

11.4 多核编程实例 357

习题11 359

第12章 机群系统 360

12.1 机群的基本结构 361

12.1.1 机群的硬件组成 361

12.1.2 机群的软件 362

12.2 机群的特点 363

12.3 机群的分类 364

12.4 典型机群系统简介 365

12.4.1 Berkeley NOW 365

12.4.2 Beowulf 366

12.4.3 LAMP 366

12.4.4 IBM SP2 367

习题12 368

第13章 阵列处理机 370

13.1 阵列处理机的操作模型和特点 370

13.2 阵列处理机的基本结构 371

13.2.1 分布式存储器的阵列机 371

13.2.2 共享存储器的阵列机 372

13.3 阵列处理机实例 373

13.3.1 实例1:IlliacⅣ阵列处理机 373

13.3.2 实例2:BSP计算机 376

13.4 阵列处理机的并行算法举例 380

习题13 384

第14章 数据流计算机 385

14.1 数据流计算机的基本原理 385

14.1.1 数据驱动原理 385

14.1.2 数据流计算机中指令的执行过程 386

14.1.3 数据流计算机的指令结构 387

14.2 数据流程序图和数据流语言 387

14.2.1 数据流程序图 387

14.2.2 数据流语言及其性质 391

14.3 数据流计算机结构 392

14.3.1 静态数据流计算机 392

14.3.2 动态数据流计算机 394

14.4 数据流计算机的评价 397

14.4.1 数据流计算机的优点 397

14.4.2 数据流计算机的缺点 398

14.4.3 数据流计算机设计中需解决的问题 399

习题14 399

主要参考文献 400

返回顶部