图书介绍

计算机系统结构-量化研究方法 第3版pdf电子书版本下载

计算机系统结构-量化研究方法  第3版
  • (美)John L.Hennessy,(美)David A.Patterson著;郑纬民等译 著
  • 出版社: 北京:电子工业出版社
  • ISBN:7505399160
  • 出版时间:2004
  • 标注页数:684页
  • 文件大小:102MB
  • 文件页数:720页
  • 主题词:计算机体系结构-教材

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快] 温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页 直链下载[便捷但速度慢]   [在线试读本书]   [在线获取解压码]

下载说明

计算机系统结构-量化研究方法 第3版PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如 BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

目录 1

第1章 计算机设计基本原理 1

1.1 简介 1

1.2 计算方向的改变和计算机设计者的任务 2

1.2.1 桌面电脑 3

1.2.2 服务器 3

1.2.3 嵌入式计算机 4

1.2.4 计算机设计者的任务 5

1.3 技术发展趋势 7

1.3.1 集成电路中晶体管性能、连线和功耗的发展 8

1.4 成本、价格及其发展趋势 8

1.4.1 时间、产量、商品化和包装的影响 9

1.4.2 集成电路的成本 10

1.4.3 一个成本在系统中分布的实例 13

1.4.4 成本与价格——它们为什么不同以及相差多少 13

1.5 评价和报告计算机的性能 16

1.5.1 评价性能 16

1.5.2 选择程序评价机器性能 17

1.5.3 基准测试程序套件 18

1.5.4 性能评价报告 21

1.5.5 性能的比较和总结 22

1.6 计算机设计的量化准则 26

1.6.1 加快经常性事件的速度 26

1.6.2 Amdahl定律 26

1.6.3 CPU性能公式 28

1.7 综合:性能和性价比 31

1.6.5 利用并行性 31

1.6.4 局部性原理 31

1.7.1 桌面计算机系统的性能和性价比 32

1.7.2 事务处理服务器的性能和性价比 33

1.7.3 嵌入式处理器的性能和性价比 35

1.8 其他视角:功耗和效率的衡量 37

1.9 谬误和易犯的错误 38

1.10 结论 43

1.11 历史回顾和参考文献 44

1.11.1 第一台通用电子计算机 44

1.11.2 重要的专用机器 46

1.11.3 商业发展 46

1.11.4 量化性能测试的发展:成功和失败 47

参考文献 48

习题 49

第2章 指令集原理与实例 58

2.1 指令集简介 58

2.2 指令集系统结构的分类 59

2.2.1 摘要:指令集系统结构分类 62

2.3 内存寻址 62

2.3.1 内存地址表示 62

2.3.2 寻址模式 63

2.3.3 位移量寻址模式 64

2.3.4 立即数或直接寻址模式 66

2.4 信号处理的寻址方式 67

2.4.1 摘要:存储器寻址 67

2.5 操作数的大小与类型 68

2.6 媒体和信号处理中的操作数 69

2.6.1 摘要:操作数的类型和大小 70

2.7 指令集的操作 71

2.8 媒体和信号处理中的操作 71

2.8.1 摘要:指令集中的操作及媒体和信号处理中的操作 74

2.9 控制流指令 74

2.9.1 控制流指令的寻址方式 74

2.9.2 条件转移的可选方案 75

2.9.3 过程调用的可选方案 76

2.9.4 摘要:控制流指令 77

2.10 指令集的编码 77

2.10.1 RISC中的精简代码 79

2.10.2 摘要:指令集编码 79

2.11 相关问题:编译器 79

2.11.1 近代编译器的结构 80

2.11.2 寄存器分配 81

2.11.3 优化对性能的影响 81

2.11.4 编译技术对系统结构设计者的决定所产生的影响 81

2.11.5 系统结构设计者如何帮助编译器设计者 83

2.11.6 编译器对多媒体指令的支持(或缺乏支持) 84

2.11.7 摘要:编译器的角色 85

2.12 综合:MIPS系统结构 85

2.12.1 MIPS的寄存器 86

2.12.2 MIPS的数据类型 86

2.12.3 MIPS数据传输的寻址模式 86

2.12.4 MIPS指令格式 87

2.12.5 MIPS操作 87

2.12.6 MIPS控制流指令 88

2.12.7 MIPS的浮点数操作 89

2.12.8 MIPS的效率 91

2.13 其他视角:Trimedia TM32处理器 91

2.14 谬误和易犯的错误 95

2.15 结论 97

2.16 历史回顾和参考文献 99

2.16.1 堆栈系统结构 99

2.16.2 计算机系统结构的定义 99

2.16.3 高级语言计算机系统结构 100

2.16.4 精简指令集计算机 101

2.16.5 数字信号处理器历史简述 103

2.16.6 桌面指令集对多媒体的支持 104

2.16.7 摘要 105

参考文献 105

习题 107

第3章 指令级并行及其动态开发 113

3.1 指令级并行:概念及挑战 113

3.1.1 指令级并行 114

3.1.2 数据相关和数据冲突 115

3.1.3 控制相关 117

3.2 采用动态调度克服数据冲突 119

3.2.1 动态调度思想 119

3.2.2 用Tomasulo算法进行动态调度 121

3.3 动态调度:算法及举例 124

3.3.1 Tomasulo算法的细节 126

3.3.2 Tomasulo算法:一个循环的例子 128

3.4 采用动态硬件预测技术减少分支开销 129

3.4.1 基本的分支预测和分支预测缓冲器 130

3.4.2 相关分支预测器 132

3.4.3 Tournament预测器:整体局部自适应预测器 136

3.5 高性能指令传送机制 138

3.5.1 分支目标缓冲器 138

3.5.2 集成的指令预取部件 141

3.5.3 返回地址预测器 142

3.6 采用多发射获得更高的指令级并行度 142

3.6.1 静态调度的超标量处理器 143

3.6.2 静态调度的超标量MIPS处理器 144

3.6.3 使用动态调度的多指令发射机制 145

3.7 基于硬件的猜测技术 149

3.7.1 使用猜测法的多指令发射 155

3.7.2 采用猜测技术的机器要考虑的几个问题 156

3.8.1 硬件模型 158

3.8 指令级并行性限制研究 158

3.8.2 窗口大小和最大发射数目的限制 160

3.8.3 实际分支和分支预测的影响 162

3.8.4 有限数目寄存器的影响 164

3.8.5 非完美别名分析造成的影响 165

3.9 实际处理器中的指令级并行性限制 167

3.9.1 克服研究模型的限制 170

3.10 综合:P6微结构 171

3.10.1 Pentium Pro的性能 173

3.10.2 PentiumⅢ与Pentium 4比较 178

3.11 其他视角:线程级并行 180

3.12 相关问题:使用指令级并行的数据通路开发线程级并行 180

3.13 谬误和易犯的错误 180

3.14 结论 182

3.14.1 开发更多指令级并行性的实际限制 183

3.15 历史回顾和参考文献 184

3.15.1 IBM 360/91:里程碑式的计算机 184

3.15.2 分支预测机制 185

3.15.3 多发射处理器的发展 185

3.15.4 指令级并行性研究和开发指令级并行的思想 186

3.15.5 超越数据流的限制 186

3.15.6 近期的一些高级微处理器 186

参考文献 187

习题 191

4.1 开发指令级并行的基本编译技术 200

4.1.1 基本流水线调度和循环展开 200

第4章 用软件方法开发指令级并行 200

4.1.2 循环展开和调度例子的小结 203

4.1.3 在静态多发射处理器中使用循环展开和流水线调度 206

4.2 静态分支预测 207

4.3 静态多发射:VLIW方法 208

4.3.1 基本VLIW方法 209

4.4 支持指令级并行的高级编译器技术 211

4.4.1 检测并提高循环级并行度 211

4.4.2 软件流水:循环的展开 217

4.4.3 全局指令调度 219

4.5 编译时开发更多并行性的硬件支持 224

4.5.1 条件执行指令 224

4.5.2 带硬件支持的编译器猜测 226

4.7 综合:Intel的IA-64系统结构和安腾处理器 230

4.7.1 Intel的IA-64指令集系统结构 230

4.6 相关问题:硬件猜测与软件猜测的比较 230

4.7.2 安腾处理器 235

4.8 其他视角:嵌入式和移动市场的指令级并行 238

4.8.1 Trimedia TM32系统结构 239

4.8.2 Transmeta Crusoe处理器 241

4.9 缪误和易犯的错误 244

4.10 结论 245

4.11 历史回顾和参考文献 246

4.11.1 多发射处理器的发展 246

4.11.2 编译器技术与硬件对调度的支持 247

4.11.3 EPIC和IA-64的发展 247

参考文献 248

习题 249

5.1 简介 257

第5章 存储器层次结构设计 257

5.2 cache基本知识回顾 259

5.2.1 cache性能回顾 260

5.2.2 存储器层次结构的四个问题 262

5.2.3 一个例子:Alpha 21264数据cache 266

5.3 cache性能 268

5.3.1 平均存储器访问时间和处理器性能 270

5.3.2 缺失代价和乱序执行处理器 272

5.3.3 提高cache的性能 272

5.4 降低cache缺失代价 273

5.4.1 第一个降低缺失代价的技术:多级cache 274

5.4.2 第二个降低缺失代价的技术:关键字优先和提前重启动 277

5.4.3 第三个降低缺失代价的技术:确定读缺失对写的优先级 278

5.4.5 第五个降低缺失代价的技术:牺牲cache 279

5.4.4 第四个降低缺失代价的技术:合并写缓冲区 279

5.4.6 降低缺失代价技术小结 280

5.5 降低cache缺失率 280

5.5.1 第一个降低缺失率的技术:增加块容量 283

5.5.2 第二个降低缺失率的技术:增加cache容量 284

5.5.3 第三个降低缺失率的技术:增加相联度 285

5.5.4 第四个降低缺失率的技术:路预测和伪相联cache 286

5.5.5 第五个降低缺失率的技术:编译优化 287

5.5.6 降低cache缺失率技术小结 289

5.6 通过并行降低cache缺失代价或缺失率 289

5.6.1 第一种降低缺失代价/缺失率的方法:用非阻塞cache减少cache缺失停顿 289

5.6.2 第二种降低缺失代价/缺失率的方法:指令和数据硬件预取 291

5.6.3 第三种降低缺失代价/缺失率的方法:编译控制预取 292

5.6.4 通过并行降低cache缺失代价/缺失率小结 294

5.7 减少命中时间 295

5.7.1 第一个减少命中时间的技术:小而简单的cache 295

5.7.2 第二个减少命中时间的技术:在cache索引过程中避免地址变换 296

5.7.3 第三个减少命中时间的技术:流水线化cache访问 297

5.7.4 第四个减少命中时间的技术:跟踪cache 297

5.7.5 cache优化技术小结 298

5.8 内存和提高内存性能的组织方式 299

5.8.1 第一种提高内存带宽的技术:增大存储字长 300

5.8.2 第二种提高内存带宽的技术:简单的多体交叉存储器 300

5.8.3 第三种提高主存带宽的技术:独立存储体 302

5.9 存储器技术 302

5.9.1 DRAM技术 302

5.9.4 如何提高标准DRAM芯片的性能 304

5.9.3 嵌入式处理器存储器技术:只读存储器和闪存 304

5.9.2 SRAM技术 304

5.9.5 通过一种新的DRAM接口——RAMBUS——来提高存储器性能 305

5.9.6 RAMBUS和DDR SDRAM的比较 306

5.10 虚拟存储器 306

5.10.1 关于存储器层次结构的四个问题 308

5.10.2 快速地址转换技术 309

5.10.3 选择页大小 311

5.10.4 虚拟存储器和cache的小结 311

5.11 虚拟存储器的保护和示例 312

5.11.1 保护进程 313

5.11.2 页式虚拟存储器示例:Alpha存储器管理和21264的TLB 314

5.11.3 段式虚拟存储器示例:IntelPentium的保护模式 316

5.11.4 小结:Alpha中的保护和IA-32保护的对比 318

5.12 相关问题:存储器层次设计 319

5.12.1 超标量CPU和cache端口数 319

5.12.2 猜测执行和内存系统 319

5.12.3 将指令cache与指令获取和解码机制相结合 319

5.12.4 嵌入式计算机cache和实时性能的关系 319

5.12.5 嵌入式计算机的功耗和cache的关系 320

5.12.6 I/O和cache数据的一致性 320

5.13 综合:Alpha 21264存储层次结构 321

5.13.1 21264层次化存储结构的性能 325

5.14 其他视角:Sony Playstation 2的动画引擎 326

5.15 其他视角:Sun Fire 6800服务器 329

5.16 谬误和易犯的错误 332

5.17 结论 337

5.18 历史回顾和参考文献 339

参考文献 341

习题 344

第6章 多处理器和线程级并行 353

6.1 简介 353

6.1.1 并行系统结构的分类 354

6.1.2 通信和存储器结构模型 356

6.1.3 并行处理遇到的挑战 359

6.2 应用领域的特征 361

6.2.1 商业负载 361

6.2.2 多道程序和操作系统工作负载 362

6.2.3 科学/技术应用 363

6.3.1 什么是多处理器的高速缓存一致性 367

6.3 对称式共享存储器系统结构 367

6.3.2 增强一致性的基本方案 368

6.3.3 监听协议 369

6.3.4 基本实现技术 370

6.3.5 协议范例 372

6.4 对称式共享存储器多处理器系统的性能 375

6.4.1 商业负载的性能测试 376

6.4.2 多道程序和操作系统工作负载的性能 379

6.4.3 科学技术负载的性能 381

6.4.4 小结:监听高速缓存方案的性能 384

6.5 分布式共享存储器系统结构 385

6.5.1 基于目录的高速缓存一致性协议:基础知识 387

6.5.2 目录协议范例 388

6.6 分布式共享存储多处理器系统的性能 391

6.7.1 基本硬件原语 396

6.7 同步 396

6.7.2 用一致性实现锁 397

6.7.3 同步性能遇到的问题 399

6.7.4 大规模多处理器系统的同步机制 402

6.8 存储器一致性模型介绍 405

6.8.1 程序员的视角 406

6.8.2 非严格一致性模型基础 406

6.8.3 关于一致性模型的最后小结 407

6.9 多线程:在单个处理器中开发线程级并行 407

6.9.1 并发多线程:将线程级并行转化为指令级并行 408

6.10 相关问题 412

6.10.1 存储器系统问题 412

6.10.2 用对虚拟存储器的支持来构造共享存储器 414

6.10.3 并行处理器的性能度量 415

6.11 综合:Sun的Wildfire原型 416

6.11.1 Wildfire系统结构 416

6.11.2 采用页复制和迁移来减少NUMA影响 418

6.11.3 Wildfire的性能 418

6.11.4 Wildfire的应用程序性能 421

6.11.5 对Wildfire的总体评价 425

6.12 其他视角:商用服务器上的多线程 425

6.13 其他视角:嵌入式多处理器系统 426

6.14 谬误和易犯的错误 426

6.15 结论 430

6.15.1 MPP结构的未来 431

6.15.2 微处理器架构的未来 432

6.15.3 演变、革新和计算机工业规范转变的大挑战 433

6.16.1 SIMD的兴衰 434

6.16 历史回顾和参考文献 434

6.16.2 其他早期的试验 435

6.16.3 并行处理中的大争论 435

6.16.4 最新的进展和发展方向 436

6.16.5 其他参考文献 439

6.16.6 多线程和并发多线程 440

参考文献 440

习题 445

第7章 存储系统 453

7.1 简介 453

7.1.1 I/O设备性能重要与否 453

7.2.1 磁盘 454

7.2 存储设备类型 454

7.1.3 性能的重要性 454

7.1.2 CPU性能重要与否 454

7.2.2 磁盘的未来 458

7.2.3 光盘 460

7.2.4 磁带 460

7.2.5 自动磁带库 461

7.2.6 闪存 461

7.3 总线——连接IO设备到CPU/存储器 463

7.3.1 总线设计决策 464

7.3.2 总线标准 466

7.3.3 总线示例 466

7.3.4 存储设备与CPU的接口 467

7.3.5 CPU授权I/O操作 468

7.4 可靠性、有效性和稳定性 469

7.4.1 定义故障 470

7.5 RAID:廉价/独立磁盘冗余阵列 472

7.5.1 无冗余(RAID 0) 473

7.5.2 镜像(RAID 1) 473

7.5.3 位交错奇偶校验(RAID 3) 473

7.5.4 块交错分布奇偶校验和分布式块交错奇偶校验(RAID 4和RAID 5) 474

7.5.5 P+Q冗余(RAID 6) 475

7.5.6 RAID小结 475

7.6 实际系统中的差错和故障 475

7.6.1 伯克利第三磁盘系统 476

7.6.2 Tandem 476

7.6.3 VAX 477

7.6.4 FCC 478

7.7 I/O性能评测 479

7.7.1 吞吐率与响应时间 480

7.7.2 基准程序中的响应时间与吞吐率 482

7.8 Little队列理论 482

7.9 存储性能和有效性基准测试程序 489

7.9.1 事务处理基准测试程序 489

7.9.2 SPEC系统级文件服务器(SFS)及网络基准测试程序 490

7.9.3 基准测试程序可靠性和有效性实例 492

7.10 相关问题 494

7.10.1 DMA和虚拟存储器 494

7.10.2 异步I/O和操作系统 494

7.10.3 块服务器与文件管理器的对比 495

7.10.5 交换机代替总线 496

7.10.6 处理器的可靠性 496

7.10.4 cache给操作系统带来的问题——灰色数据 496

7.11 I/O系统设计 497

7.11.1 例一:简单性价比设计 498

7.11.2 例二:计算例一中的MTTF 500

7.11.3 例三:计算例一中的响应时间 501

7.11.4 例四:比较现实的系统设计和性价比评估 502

7.11.5 例五:有效性设计 503

7.12综合:EMCSymmetrix和Celerra 505

7.12.1 EMCSymmetrix8000 505

7.12.2 EMCCelerra500 508

7.12.3 EMCSymmetrix和Celerra的性能和有效性 508

7.13 其他视角:Sanyo VPC-SX500数码相机 510

7.14 谬误和易犯的错误 512

7.16.1 磁性存储 516

7.15 结论 516

7.16 历史回顾和参考文献 516

7.16.2 RAID 518

7.16.3 I/O总线和控制器 519

参考文献 519

练习 522

第8章 互连网络与集群 528

8.1 简介 528

8.2 简单网络 532

8.3 互连网络介质 538

8.4 连接多台计算机 540

8.4.1 共享介质与交换介质 541

8.4.2 面向连接的通信和无连接的通信 543

8.4.3 路由:传送报文 544

8.4.4 拥塞控制 545

8.5 网络拓扑结构 546

8.5.1 集中式交换机 547

8.5.2 分布式交换机 548

8.6 商用互连网络的几个实际问题 551

8.6.1 连通性 552

8.6.2 网络接入计算机 552

8.6.3 标准化:跨企业的交互 552

8.6.4 报文容错 553

8.6.5 节点容错 553

8.7 互连网络举例 554

5.7.1 以太网:局域网 555

8.7.2 存储区域网:Infiniband 557

8.7.4 小结 558

8.7.3 广域网:ATM 558

8.8 网际互连 559

8.9 互连网络的几个相关问题 561

8.9.1 密度优化处理器和SPEC优化处理器 561

8.9.2 智能交换机与智能接口卡 563

8.9.3 对网络的保护和用户对网络的访问 563

8.9.4 高效的存储器层次结构接口和互连网络 564

8.9.5 经过计算优化的处理器和接收方的开销 564

8.10 集群 565

8.10.1 集群的性能挑战 565

8.10.2 集群可靠性和可扩展性的优势 565

8.10.3 集群造价的优势和劣势 565

8.10.5 集群的普及性 566

8.10.4 两全其美的方案 566

8.11 集群设计 568

8.11.1 例一:采用本地磁盘存储器的集群硬件的不同方案及其成本 569

8.11.2 例二:用存储区域网代替本地磁盘 572

8.11.3 例三:将其他成本考虑进去 573

8.11.4 例四:集群进行事务处理的代价和性能 575

8.11.5 小结 576

8.12 综合:Google集群介绍 577

8.12.1 Google底层组织结构的描述 578

8.12.2 性能 579

8.12.3 开销 581

8.12.4 可靠性 581

8.13.1 无线网络背景介绍 582

8.13 其他视角:手机内部的相关技术 582

8.13.2 蜂窝电话 583

8.13.3 手机标准和演进 585

8.14 谬误和易犯的错误 586

8.15 结论 588

8.16 历史回顾和参考文献 588

8.16.1 广域网 588

8.16.2 局域网 589

8.16.3 大规模并行处理器 589

8.16.4 集群 590

8.16.5 系统或存储区域网 590

参考文献 591

习题 592

附录A 流水线基础和中级概念 597

附录B 部分习题答案 656

精品推荐