计算机系统结构-量化研究方法 第3版PDF电子书下载
- 电子书积分:19 积分如何计算积分?
- 作 者:(美)John L.Hennessy,(美)David A.Patterson著;郑纬民等译
- 出 版 社:北京:电子工业出版社
- 出版年份:2004
- ISBN:7505399160
- 页数:684 页
目录 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
- 《中风偏瘫 脑萎缩 痴呆 最新治疗原则与方法》孙作东著 2004
- 《计算机网络与通信基础》谢雨飞,田启川编著 2019
- 《大学计算机实验指导及习题解答》曹成志,宋长龙 2019
- 《联吡啶基钌光敏染料的结构与性能的理论研究》李明霞 2019
- 《异质性条件下技术创新最优市场结构研究 以中国高技术产业为例》千慧雄 2019
- 《计算机辅助平面设计》吴轶博主编 2019
- 《基于地质雷达信号波的土壤重金属污染探测方法研究》赵贵章 2019
- 《计算机组成原理解题参考 第7版》张基温 2017
- 《第一性原理方法及应用》李青坤著 2019
- 《云计算节能与资源调度》彭俊杰主编 2019
- 《SQL与关系数据库理论》(美)戴特(C.J.Date) 2019
- 《魔法销售台词》(美)埃尔默·惠勒著 2019
- 《看漫画学钢琴 技巧 3》高宁译;(日)川崎美雪 2019
- 《优势谈判 15周年经典版》(美)罗杰·道森 2018
- 《社会学与人类生活 社会问题解析 第11版》(美)James M. Henslin(詹姆斯·M. 汉斯林) 2019
- 《海明威书信集:1917-1961 下》(美)海明威(Ernest Hemingway)著;潘小松译 2019
- 《迁徙 默温自选诗集 上》(美)W.S.默温著;伽禾译 2020
- 《上帝的孤独者 下 托马斯·沃尔夫短篇小说集》(美)托马斯·沃尔夫著;刘积源译 2017
- 《巴黎永远没个完》(美)海明威著 2017
- 《剑桥国际英语写作教程 段落写作》(美)吉尔·辛格尔顿(Jill Shingleton)编著 2019
- 《电子测量与仪器》人力资源和社会保障部教材办公室组织编写 2009
- 《少儿电子琴入门教程 双色图解版》灌木文化 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019
- 《通信电子电路原理及仿真设计》叶建芳 2019
- 《高等院校旅游专业系列教材 旅游企业岗位培训系列教材 新编北京导游英语》杨昆,鄢莉,谭明华 2019
- 《电子应用技术项目教程 第3版》王彰云 2019
- 《中国十大出版家》王震,贺越明著 1991
- 《近代民营出版机构的英语函授教育 以“商务、中华、开明”函授学校为个案 1915年-1946年版》丁伟 2017