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

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

工业技术

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

第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 器件发展对系统结构的影响 22

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

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

1.5.1 并行性的概念 23

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

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

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

1.5.5 并行机的发展变化 27

习题1 28

第2章 指令系统的设计 30

2.1 指令系统结构的分类 30

2.2 寻址方式 33

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章 向量处理机 93

4.1 向量的处理方式 93

4.2 向量处理机的结构 95

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

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

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

4.3.1 设置多个功能部件 98

4.3.2 链接技术 98

4.3.3 分段开采技术 101

4.3.4 采用多处理机系统 102

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

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

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

4.4.3 向量长度临界值nv 106

4.5 向量处理机实例 106

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

4.5.2 Cray Y-MP和C-90 107

4.5.3 NECSX-X44 108

习题4 109

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

5.1 指令级并行的概念 111

5.2 相关与指令级并行 112

5.3 指令的动态调度 113

5.3.1 动态调度的基本思想 113

5.3.2 记分牌动态调度方法 115

5.3.3 Tomasulo算法 122

5.4 动态分支预测技术 133

5.4.1 采用分支历史表BHT 134

5.4.2 采用分支目标缓冲器BTB 135

5.4.3 基于硬件的前瞻执行 137

5.5 多指令流出技术 141

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

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

5.5.3 超长指令字技术 147

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

5.5.5 超流水线处理机 149

习题5 152

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

6.1 基本指令调度及循环展开 153

6.1.1 指令调度的基本方法 153

6.1.2 循环展开 155

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

6.2.1 全局指令调度 157

6.2.2 踪迹调度 159

6.2.3 超块调度 162

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

6.4 显式并行指令计算EPIC 165

6.4.1 非绑定分支 166

6.4.2 谓词执行 166

6.4.3 前瞻执行 169

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

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

6.5.2 软流水 178

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

6.6.1 IA-64的指令格式 181

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

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

习题6 186

第7章 存储系统 188

7.1 存储系统的基本知识 188

7.1.1 存储系统的层次结构 188

7.1.2 存储系统的性能参数 189

7.1.3 三级存储系统 190

7.1.4 存储层次的四个问题 192

7.2 Cache基本知识 192

7.2.1 基本结构和原理 192

7.2.2 映像规则 193

7.2.3 查找方法 195

7.2.4 Cache的工作过程 197

7.2.5 替换算法 198

7.2.6 写策略 202

7.2.7 Cache性能分析 203

7.2.8 改进Cache性能 205

7.3 降低Cache不命中率 205

7.3.1 三种类型的不命中 206

7.3.2 增加Cache块大小 208

7.3.3 增加Cache的容量 209

7.3.4 提高相联度 209

7.3.5 伪相联Cache 209

7.3.6 硬件预取 210

7.3.7 编译器控制的预取 210

7.3.8 编译优化 211

7.3.9 “牺牲”Cache 213

7.4 减少Cache不命中开销 214

7.4.1 采用两级Cache 214

7.4.2 让读不命中优先于写 217

7.4.3 写缓冲合并 217

7.4.4 请求字处理技术 218

7.4.5 非阻塞Cache技术 218

7.5 减少命中时间 219

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

7.5.2 虚拟Cache 219

7.5.3 Cache访问流水化 222

7.5.4 踪迹Cache 222

7.5.5 Cache优化技术总结 222

7.6 并行主存系统 223

7.6.1 单体多字存储器 224

7.6.2 多体交叉存储器 224

7.6.3 避免存储体冲突 229

7.7 虚拟存储器 230

7.7.1 基本概念 230

7.7.2 快速地址转换技术 231

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

7.8 实例:AMD Opteron的存储器层次结构 234

习题7 238

第8章 输入输出系统 241

8.1 I/O系统的性能 241

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

8.3 廉价磁盘冗余阵列RAID 243

8.3.1 RAID0 245

8.3.2 RAID1 245

8.3.3 RAID2 246

8.3.4 RAID3 246

8.3.5 RAID4 247

8.3.6 RAID5 248

8.3.7 RAID6 249

8.3.8 RAID10与RAID01 249

8.3.9 RAID的实现与发展 249

8.4 总线 250

8.4.1 总线的设计 250

8.4.2 总线标准和实例 252

8.4.3 与CPU的连接 253

8.5 通道处理机 254

8.5.1 通道的作用和功能 254

8.5.2 通道的工作过程 255

8.5.3 通道种类 257

8.5.4 通道流量分析 259

8.6 I/O与操作系统 261

8.6.1 DMA和虚拟存储器 261

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

习题8 263

第9章 互连网络 266

9.1 互连函数 266

9.1.1 互连函数的表示方法 266

9.1.2 几种基本的互连函数 267

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

9.2.1 互连网络的结构参数 272

9.2.2 互连网络的性能指标 273

9.3 静态互连网络 273

9.4 动态互连网络 279

9.4.1 总线网络 279

9.4.2 交叉开关网络 280

9.4.3 多级互连网络 281

9.4.4 动态互连网络的比较 284

9.5 消息传递机制 285

9.5.1 消息寻径方案 285

9.5.2 死锁与虚拟通道 288

9.5.3 流控制策略 289

9.5.4 选播和广播寻径算法 292

习题9 294

第10章 多处理机 296

10.1 引言 296

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

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

10.1.3 并行处理面临的挑战 300

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

10.2.1 多处理机Cache一致性 302

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

10.2.3 监听协议的实现 306

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

10.3.1 目录协议的基本思想 310

10.3.2 目录协议实例 313

10.3.3 目录的三种结构 316

10.4 同步 318

10.4.1 基本硬件原语 318

10.4.2 用一致性实现锁 320

10.4.3 同步性能问题 322

10.5 同时多线程 324

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

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

10.5.3 同时多线程的性能 327

10.6 大规模并行处理机MPP 329

10.6.1 并行计算机系统结构 329

10.6.2 大规模并行处理机MPP 331

10.7 多处理机实例1:T1 333

10.8 多处理机实例2:Origin 2000 338

习题10 344

第11章 机群系统 345

11.1 机群的基本结构 346

11.1.1 机群的硬件组成 346

11.1.2 机群的软件 347

11.2 机群的特点 348

11.3 机群的分类 349

11.4 典型机群系统简介 350

11.4.1 Berkeley NOW 350

11.4.2 Beowulf 351

11.4.3 LAMP 351

11.4.4 IBM SP2 351

习题11 353

第12章 阵列处理机 354

12.1 阵列处理机的操作模型和特点 354

12.2 阵列处理机的基本结构 355

12.2.1 分布式存储器的阵列机 355

12.2.2 共享存储器的阵列机 356

12.3 阵列处理机实例 357

12.3.1 实例1:Illiac Ⅳ阵列处理机 357

12.3.2 实例2:BSP计算机 360

12.4 阵列处理机的并行算法举例 363

习题12 367

第13章 数据流计算机 369

13.1 数据流计算机的基本原理 369

13.1.1 数据驱动原理 369

13.1.2 数据流计算机中指令的执行过程 370

13.1.3 数据流计算机的指令结构 371

13.2 数据流程序图和数据流语言 371

13.2.1 数据流程序图 372

13.2.2 数据流语言及其性质 375

13.3 数据流计算机结构 376

13.3.1 静态数据流计算机 377

13.3.2 动态数据流计算机 378

13.4 数据流计算机的评价 381

13.4.1 数据流计算机的优点 381

13.4.2 数据流计算机的缺点 382

13.4.3 数据流计算机设计中需解决的问题 383

习题13 383

参考文献 385

相关图书
作者其它书籍
返回顶部