计算机体系结构

当前位置:首页 > 计算机网络 > 计算机理论 > 计算机体系结构

出版社:人民邮电出版社
出版日期:2012-12
ISBN:9787115297655
作者:[美] John L. Hennessy,[美] David A. Patterson
页数:595页

作者简介

《计算机体系结构:量化研究方法(第5版)》是最权威的计算机体系结构著作,是久负盛名的经典作品。书中系统地介绍了计算机系统的设计基础、指令集系统结构、流水线和指令集并行技术、层次化存储系统与存储设备、互连网络以及多处理器系统等重要内容。在这个最新版中,作者增加了当前炙手可热的云计算和手机客户端技术等相关内容,探讨了在手机、平板电脑、笔记本电脑和其他移动计算设备上云计算的软硬件实现方式。

书籍目录

目    录
第1章  量化设计与分析基础  1
1.1  引言  2
1.2  计算机的分类  4
1.2.1  个人移动设备  5
1.2.2  桌面计算  5
1.2.3  服务器  6
1.2.4  集群/仓库级计算机  6
1.2.5  嵌入式计算机  7
1.2.6  并行度与并行体系结构的分类  7
1.3  计算机体系结构的定义  8
1.3.1  指令集体系结构:计算机体系结构的近距离审视  9
1.3.2  真正的计算机体系结构:设计满足目标和功能需求的组成和硬件  12
1.4  技术趋势  13
1.4.1  性能趋势:带宽胜过延迟  15
1.4.2  晶体管性能与连线的发展  17
1.5  集成电路中的功率和能耗趋势  17
1.5.1  功率和能耗:系统观点  17
1.5.2  微处理器内部的能耗和功率  18
1.6  成本趋势  21
1.6.1  时间、产量和大众化的影响  21
1.6.2  集成电路的成本  22
1.6.3  成本与价格  26
1.6.4  制造成本与运行成本  26
1.7  可信任度  26
1.8  性能的测量、报告和汇总  28
1.8.1  基准测试  29
1.8.2  报告性能测试结果  32
1.8.3  性能结果汇总  33
1.9  计算机设计的量化原理  34
1.9.1  充分利用并行  35
1.9.2  局域性原理  35
1.9.3  重点关注常见情形  35
1.9.4  Amdahl定律  36
1.9.5  处理器性能公式  38
1.10  融会贯通:性能、价格和功耗  40
1.11  谬论与易犯错误  42
1.12  结语  46
1.13  历史回顾与参考文献  47
第2章  存储器层次结构设计  53
2.1  引言  54
2.2  缓存性能的10种高级优化方法  59
2.2.1  第一种优化:小而简单的第一级缓存,用以缩短命中时间、降低功率  59
2.2.2  第二种优化:采用路预测以缩短命中时间  61
2.2.3  第三种优化:实现缓存访问的流水化,以提高缓存带宽  61
2.2.4  第四种优化:采用无阻塞缓存,以提高缓存带宽  62
2.2.5  第五种优化:采用多种缓存以提高缓存带宽  64
2.2.6  第六种优化:关键字优先和提前重启动以降低缺失代价  64
2.2.7  第七种优化:合并写缓冲区以降低缺失代价  65
2.2.8  第八种优化:采用编译器优化以降低缺失率  66
2.2.9  第九种优化:对指令和数据进行硬件预取,以降低缺失代价或缺失率  68
2.2.10  第十种优化:用编译器控制预取,以降低缺失代价或缺失率  69
2.2.11  缓存优化小结  72
2.3  存储器技术与优化  72
2.3.1  SRAM技术  73
2.3.2  DRAM技术  73
2.3.3  提高DRAM芯片内部的存储器性能  75
2.3.4  降低SDRAM中的功耗  77
2.3.5  闪存  77
2.3.6  提高存储器系统的可靠性  78
2.4  保护:虚拟存储器和虚拟机  79
2.4.1  通过虚拟存储器提供保护  79
2.4.2  通过虚拟机提供保护  81
2.4.3  对虚拟机监视器的要求  82
2.4.4  虚拟机(缺少)的指令集体系结构支持  82
2.4.5  虚拟机对虚拟存储器和I/O的影响  83
2.4.6  VMM实例:Xen虚拟机  84
2.5  交叉问题:存储器层次结构的设计  84
2.5.1  保护和指令集体系结构  84
2.5.2  缓存数据的一致性  85
2.6  融会贯通:ARM Cortex-A8和Intel Core i7中的存储器层次结构  85
2.6.1  ARM Cortex-A8  86
2.6.2  Intel Core i7  89
2.7  谬论与易犯错误  95
2.8  结语:展望  98
2.9  历史回顾与参考文献  99
第3章  指令级并行及其开发  109
3.1  指令级并行:概念与挑战  110
3.1.1  什么是指令级并行  111
3.1.2  数据相关与冒险  111
3.1.3  控制相关  114
3.2  揭示ILP的基本编译器技术  116
3.2.1  基本流水线调度和循环展开  116
3.2.2  循环展开与调度小结  119
3.3  用高级分支预测降低分支成本  120
3.3.1  竞赛预测器:局部预测器与全局预测器的自适应联合  122
3.3.2  Intel Core i7分支预测器  123
3.4  用动态调度克服数据冒险  124
3.4.1  动态调度:思想  124
3.4.2  使用Tomasulo算法进行动态调度  126
3.5  动态调度:示例和算法  130
3.5.1  Tomasulo算法:细节  132
3.5.2  Tomasulo算法:基于循环的示例  133
3.6  基于硬件的推测  135
3.7  以多发射和静态调度来开发ILP  143
3.8  以动态调度、多发射和推测来开发ILP  146
3.9  用于指令传送和推测的高级技术  150
3.9.1  提高指令提取带宽  150
3.9.2  推测:实现问题与扩展  155
3.10  ILP局限性的研究  158
3.10.1  硬件模型  158
3.10.2  可实现处理器上ILP的局限性  160
3.10.3  超越本研究的局限  163
3.11  交叉问题:ILP方法与存储器系统  164
3.11.1  硬件推测与软件推测  164
3.11.2  推测执行与存储器系统  165
3.12  多线程:开发线程级并行提高单处理器吞吐量  165
3.12.1  细粒度多线程在Sun T1上的效果  168
3.12.2  同时多线程在超标量处理器上的效果  170
3.13  融会贯通:Intel Core i7和ARMCortex-A8  173
3.13.1  ARM Cortex-A8  173
3.13.2  Intel Core i7  176
3.14  谬论与易犯错误  179
3.15  结语:前路何方  182
3.16  历史回顾与参考文献  183
第4章  向量、SIMD和GPU体系结构中的数据级并行  193
4.1  引言  194
4.2  向量体系结构  195
4.2.1  VMIPS  196
4.2.2  向量处理器如何工作:一个示例  198
4.2.3  向量执行时间  199
4.2.4  多条车道:每个时钟周期超过一个元素  201
4.2.5  向量长度寄存器:处理不等于64的循环  203
4.2.6  向量遮罩寄存器:处理向量循环中的IF语句  204
4.2.7  内存组:为向量载入/存储单元提供带宽  205
4.2.8  步幅:处理向量体系结构中的多维数组  206
4.2.9  集中—分散:在向量体系结构中处理稀疏矩阵  207
4.2.10  向量体系结构编程  208
4.3  SIMD指令集多媒体扩展  209
4.3.1  多媒体SIMD体系结构编程  212
4.3.2  Roofline可视性能模型  212
4.4  图形处理器  214
4.4.1  GPU编程  214
4.4.2  NVIDIA GPU计算结构  216
4.4.3  NVIDA GPU指令集体系结构  222
4.4.4  GPU中的条件分支  224
4.4.5  NVIDIA GPU存储器结构  226
4.4.6  Fermi GPU体系结构中的创新  228
4.4.7  向量体系结构与GPU的相似与不同  230
4.4.8  多媒体SIMD计算机与GPU之间的相似与不同  233
4.4.9  小结  233
4.5  检测与增强循环强并行  235
4.5.1  查找相关  238
4.5.2  消除相关计算  240
4.6  交叉问题  240
4.6.1  能耗与DLP:慢而宽与快而窄  240
4.6.2  分组存储器和图形存储器  241
4.6.3  步幅访问和TLB缺失  241
4.7  融会贯通:移动与服务器GPU、Tesla与Core i7  241
4.8  谬论与易犯错误  247
4.9  结语  248
4.10  历史回顾与参考文献  250
第5章  线程级并行  256
5.1  引言  257
5.1.1  多处理器体系结构:问题与方法  258
5.1.2  并行处理的挑战  260
5.2  集中式共享存储器体系结构  262
5.2.1  什么是多处理器缓存一致性  263
5.2.2  一致性的基本实现方案  264
5.2.3  监听一致性协议  265
5.2.4  基本实现技术  265
5.2.5  示例协议  267
5.2.6  基本一致性协议的扩展  270
5.2.7  对称共享存储器多处理器与监听协议的局限性  271
5.2.8  实施监听缓存一致性  272
5.3  对称共享存储器多处理器的性能  273
5.3.1  商业工作负载  274
5.3.2  商业工作负载的性能测量  275
5.3.3  多重编程和操作系统工作负载  279
5.3.4  多重编程和操作系统工作负载的性能  280
5.4  分布式共享存储器和目录式一致性  282
5.4.1  目录式缓存一致性协议:基础知识  283
5.4.2  目录式协议举例  285
5.5  同步:基础知识  288
5.5.1  基本硬件原语  288
5.5.2  使用一致性实现锁  289
5.6  存储器连贯性模型:简介  291
5.6.1  程序员的观点  292
5.6.2  宽松连贯性模型:基础知识  293
5.6.3  关于连贯性模型的最后说明  293
5.7  交叉问题  294
5.7.1  编译器优化与连贯性模型  294
5.7.2  利用推测来隐藏严格连贯性模型中的延迟  294
5.7.3  包含性及其实现  295
5.7.4  利用多重处理和多线程的性能增益  295
5.8  融会贯通:多核处理器及其性能  297
5.9  谬论与易犯错误  301
5.10  结语  304
5.11  历史回顾与参考文献  306
第6章  以仓库级计算机开发请求级、数据级并行  319
6.1  引言  320
6.2  仓库级计算机的编程模型与工作负载  323
6.3  仓库级计算机的计算机体系结构  327
6.3.1  存储  328
6.3.2  阵列交换机  328
6.3.3  WSC存储器层次结构  329
6.4  仓库级计算机的物理基础设施与成本  331
6.4.1  测量WSC的效率  334
6.4.2  WSC的成本  335
6.5  云计算:公用计算的回报  338
6.6  交叉问题  342
6.6.1  成为瓶颈的WSC网络  342
6.6.2  在服务器内部高效利用能量  343
6.7  融会贯通:Google仓库级计算机  344
6.7.1  集装箱  344
6.7.2  Google WSC中的冷却与供电  346
6.7.3  Google WSC中的服务器  348
6.7.4  Google WSC中的联网  348
6.7.5  Google WSC的监控与修复  349
6.7.6  小结  349
6.8  谬论与易犯错误  350
6.9  结语  353
6.10  历史回顾与参考文献  354
附录A  指令集基本原理  365
A.1  引言  366
A.2  指令集体系结构的分类  366
A.3  存储器寻址  369
A.4  操作数的类型与大小  374
A.5  指令集中的操作  375
A.6  控制流指令  376
A.7  指令集编码  380
A.8  交叉问题:编译器的角色  382
A.9  融会贯通:MIPS体系结构  388
A.10  谬论和易犯错误  396
A.11  结语  399
A.12  历史回顾与参考文献  400
附录B  存储器层次结构回顾  405
B.1  引言  406
B.2  缓存性能  416
B.3  6种基本的缓存优化  421
B.4  虚拟存储器  435
B.5  虚拟存储器的保护与示例  441
B.6  谬论与易犯错误  447
B.7  结语  448
B.8  历史回顾与参考文献  449
附录C  流水线:基础与中级概念  454
C.1  引言  455
C.2  流水化的主要阻碍——流水线冒险  461
C.3  如何实现流水化  476
C.4  妨碍流水线实现的难题  485
C.5  扩展MIPS流水线,以处理多周期操作  490
C.6  融会贯通:MIPS R4000流水线  498
C.7  交叉问题  504
C.8  谬论与易犯错误  511
C.9  结语  512
C.10  历史回顾与参考文献  512
参考文献  518
索引  543

编辑推荐

《计算机体系结构:量化研究方法(第5版)》可作为高等院校计算机专业本科生或研究生教材,也可作为从事计算机体系结构或计算机系统设计的工程技术人员的参考书。

前言

  本书的目的  本书到现在已经是第5个版本了,我们的目标一直没有改变,就是要阐述那些为未来技术发展奠定基础的基本原理。计算机体系结构的各种发展机遇总是让我们激情澎湃,不曾有丝毫消退。我们在第1版中就作出过如下的论述:“这个学科不是令人昏昏欲睡、百无一用的纸版模型。绝对不是!这是一个受到人们热切关注的学科,需要在市场竞争力与成本·性能·能耗之间作好权衡,从事这个学科既可能导致可怕的失败,也可能带来显赫的成功。”  在编写第1版时,我们的主要目的是希望改变人们原来学习和研究计算机体系结构的方式。现今,我们感到这一目标依然正确,依然重要。该领域日新月异,在对其进行研究时,必须采用真实计算机上的测量数据和真实示例,而不是去研究一大堆从来都不需要实现的定义和设计。我们不仅热烈欢迎过去与我们结伴而行的老读者,同样也非常欢迎现在刚刚加入我们的新朋友。不管怎样,我们都保证将采用同样的量化方法对真实系统进行分析。  和前几版一样,在编写这个新版本时,我们力争使其既适用于学习高级计算机体系结构与设计课程的学生,也适用于专业的工程师和架构师。与第1版类似,这个版本重点介绍新平台(个人移动设备和仓库级计算机)和新体系结构(多核和GPU)。这一版还秉承了前几版的做法,希望能够通过强调成本、性能、能耗之间的平衡和优秀的工程设计,揭去计算机体系结构的神秘面纱。我们相信这一领域正在日趋成熟,发展成为一门具备严格量化基础的经典理工学科。  关于第5版  我们曾经说过,第4版可能因为转向讨论多核芯片而成为自第1版以来的最重要版本。但我们收到了这样的反馈意见:第4版已经失去了第1版重点突出的优点,它一视同仁地讨论所有内容,不分重点和场合。我们非常确信,第5版不会再有这样的评价了。  我们相信,最令人激动的地方在于计算规模的两个极端:以移动电话和平板电脑之类的个人移动设备(PMD)为客户端,以提供云计算的仓库级计算机为服务器。(具有敏锐观察力的读者可能已经看出本书封面上云计算的寓意。)尽管这两个极端的规模大小不同,但它们在成本、性能和能效方面的共同主题给我们留下了深刻印象。因此,每一章的讨论背景都是PMD和仓库级计算机的计算,第6章是全新的一章,专门讨论仓库级计算机。  本书的另一条主线是讨论并行的所有不同形式。我们首先在第1章指出了两种应用级别的并行,一个是数据级并行(DLP),它的出现是因为有许多数据项允许同时对其进行操作;另一个是任务级并行(TLP),它的出现是因为创建了一些可以独立执行并在很大程度上并行的工作任务。随后解释4种开发DLP和TLP的体系结构样式,分别是:第3章介绍的指令级并行(ILP),第4章介绍的向量体系结构和图形处理器(GPU),这一章是第5版新增加的内容;第5章介绍的线程级并行;第6章通过仓库级计算机介绍的需求级并行(RLP),这一章也是第5版中新增加的。本书中,我们将存储器层次结构的内容提前到第2章,并将存储系统那一章改作附录D。我们对第4章、第6章的内容尤为感到自豪,第4章对GPU的解读是目前最详尽、最清晰的,第6章首次公布了Google仓库级计算机的最新细节。  与前几版相同,本书前三个附录提供了有关MIPS指令集系统、存储器层次结构和流水线的基础知识,如果读者没有读过《计算机组成与设计》之类的书籍,可用作参考。为了在降低成本的同时还能提供一些读者感兴趣的补充材料,我们在网络上提供了另外9个附录,网址为:http://booksite.mkp.com/9780123838728。这些附录的页数之和比本书还要多呢!  这一版继续发扬“以真实示例演示概念”的传统,并增加了全新的“融会贯通”部分。这一版中的“融会贯通”内容包括以下各服务器的流水线组成与存储器层次结构:ARM Cortex A8处理器、Intel core i7处理器、NVIDIA GTX-280和GTX-480 GPU,还有Google仓库级计算机。  主题的选择与组织  和以前一样,我们在选择主题时采用了一种保守的方法,毕竟这个领域中值得讨论的思想实在太多了,不可能在这样一本主要讨论基本原理的书中将其全部涵盖在内。我们没有面面倶到地分析读者可能遇到的所有体系结构,而是将重点放在那些在任何新计算机中都可能涉及的核心概念上。根据一贯坚持的选材标准,本书讨论的思想都经过深入研究并已被成功应用,其内容足以采用量化方法进行讨论。  我们一直重点关注的内容都是无法从其他来源获取的同类资料,因此我们将继续尽可能讨论比较高级的内容。事实上,本书介绍的有些系统,就无法在文献中找到相关描述。如果读者需要了解更为基础的计算机体系结构知识,可以阅读《计算机组成与设计:硬件/软件接口》(Computer Organization and Design: The Hardware/Software Interface)一书。  内容概述  这一版对第1章进行了补充,其中包括能耗、静态功率、动态功率、集成电路成本、可靠性和可用性的计算公式。(封二上也列出了这些公式。)在本书后续部分读者能够一直应用这些公式。除了计算机设计与性能测量方面的经典量化原理之外,还对PIAT一节进行了升级,采用了新的SPECPower基准测试。  我们认为,与1990年相比,指令集体系结构扮演的角色有所弱化,所以我们把这一部分内容作为了附录A。它仍然采用MIPS64体系结构。(为便于快速查看,封三汇总了MIPS ISA相关信息。)网站上的附录K介绍了10种RISC体系结构、80x86、DEC VAX和IBM 360/370,献给ISA爱好者们。  随后,我们在第2章开始讨论存储器层次结构,这是因为很容易针对这些内容应用成本·性能·功耗原理,而且存储器是其余各章的关键内容。和上一版一样,附录B对缓存机制作了概述,以供读者需要时查阅。第2章讨论了对缓存的10种高级优化方法。这一章还介绍了虚拟机,它便于提供保护、进行软硬件管理,而且在云计算中也扮演着重要角色。除了介绍SRAM和DRAM技术之外,这一章还包括了闪存的内容。PIAT示例选择了PMD中使用的ARM Cortex A8和服务器中使用的Intel Core i7。  第3章主要研究高性能处理器中的指令级并行开发,包括超标量执行、分支预测、推理、动态调度和多线程。前面曾经提到,附录C是关于流水线的一个综述,以备随时查阅之用。第3章还研究了ILP的局限性。和第2章一样,PIAT示例还是ARM Cortex A8和Intel Core i7。第3版包括大量有关Itanium和VLIW的材料,现在这些内容放在网上的附录H中,这表明了我们的观点:这种体系结构未能达到过去所宣称的效果。  多媒体应用程序(比如游戏和视频处理)的重要性在提高,因此,开发数据级并行的体系结构也变得更为重要。具体来说,越来越多的人在关注利用图形处理器(GPU)执行的运算,但很少有架构师了解GPU到底是如何工作的。我们决定编写新的一章,主要就是为了揭开这种新型计算机体系结构的奥秘。第4章开始介绍向量体系结构,对多媒体SIMD指令集扩展和GPU的解释就是以此为基础的。(网站上的附录G深入地讨论了向量体系结构。)GPU一节是本书最难写的部分,需要多次反复才能给出一个既精确又容易理解的描述。一个重大挑战就是术语。我们决定使用我们自己的术语,然后给出这些术语与NVIDIA官方术语之间的对应关系。这一章介绍了Roofline性能模型,然后用它来对比Intel Core i7、NVIDIA GTX 280和GTX 480 GPU。这一章还介绍了供PMD使用的Tegra 2 GPU。  第5章介绍多核处理器,探讨了对称、分布式存储器体系结构,考查了组织原理和性能。接下来是有关同步和存储器一致性模型的主题,所采用的示例是Intel Core i7。对片上互连网络感兴趣的读者可以阅读网站上的附录F,对更大规模多处理器和科学应用感兴趣的读者可以阅读网站上的附录I。  前面曾经提到,第6章介绍了计算机体系结构中的最新主题——仓库级计算机(Warehouse- Scale Computer,WCS)。依靠Amazon Web服务部门和Google工程师的帮助,本章整合了有关WSC设计、成本与性能的详细资料,而以前了解这些内容的架构师寥寥无几。在开始描述WSC的体系结构和物理实现(及成本)之前,首先介绍了MapReduce编程模型。从成本的角度可以解释为什么会有云计算,以及为何在云中使用WSC进行计算的成本要低于在本地数据中心的计算成本。PIAT实例是对Google WSC的描述,有些内容是首次公开的。  接下来就是附录A到附录L。 附录A介绍ISA的原理,包括MIPS64,附录K介绍Alpha、MIPS、PowerPC和SPARC的64位版本及其多媒体扩展。其中还包括一些经典体系结构(80x86、VAX和IBM 360/370)和流行的嵌入指令集(ARM、Thumb、SuperH、MIPS16和Mitsubishi M32R)。附录H与其相关,介绍了VLIW ISA的体系结构和编译器。  前面曾经提到,附录B和附录C是缓存与流水线基本概念的教程。建议对缓存不够熟悉的读者在阅读第2章之前先阅读附录B,新接触流水线的读者在阅读第3章之前先阅读附录C。  附录D“存储系统”包括:进一步讨论可靠性和可用性,以RAID 6方案介绍为主体的RAID教程,非常珍贵的真实系统故障统计信息。接下来介绍了排队理论和I/O性能基准测试。我们评估了一个真实集群Internet Archive的成本、性能和可靠性。“融会贯通”部分以NetApp FAS6000文件管理程序为例。  附录E由Thomas M. Conte撰写,汇总了嵌入式系统的相关内容。  附录F讨论网络互连,由Timothy M. Pinkston和José Duato进行了修订。附录G最初由Krste Asanovi·撰写,其中详细介绍了向量处理器。就我们所知,这两个附录是其各自相关主题的最好材料。  附录H详细介绍了VLIW和EPIC,也就是Itanium采用的体系结构。  附录I详细介绍了大规模共享存储器多处理方面用到的并行处理应用和一致性协议。附录J由David Goldberg撰写,详细介绍了计算机算法。  附录L将第3版每一章中的“历史回顾与参考文献”部分集中在一起。对于各章介绍的思想,它尽量给予一个恰当的评价,并让读者了解这些创造性思想背后的历史。我们希望以此来展现人类在计算机设计方面的戏剧性发展过程。这个附录还提供了一些参考文献,主修体系结构的学生可能会非常喜欢它们。其中提到了本领域的一些经典论文,如果时间允许,建议读者阅读这些论文。直接听原创者讲述他们的思想,在深受教育的同时,也是一种享受。而“历史回顾”是以前版本中最受欢迎的章节之一。  内容导读  所有读者都应当从第1章开始阅读,除此之外并不存在什么唯一的最佳顺序。如果你不想阅读全部内容,可以参考下面这些顺序。  · 存储器层次结构:附录B、第2章、附录D。  · 指令级并行:附录C、第3章、附录H。  · 数据级并行:第4章、第6章、附录G。  · 线程级并行:第5章、附录F、附录I。  · 请求级并行:第6章。  · ISA:附录A、附录K。  附录E可以随时阅读,但在ISA和缓存序列之后阅读,效果可能会更好一些。附录J可以在涉及运算时阅读。附录L的各部分内容应当在读完正文中相应章节后阅读。  章节安排  我们根据一种统一的框架安排内容,使各章在结构方面保持一致。首先会介绍一章的主题思想,然后是“交叉问题”部分,说明本章介绍的思想与其他各章有什么相互关系。接下来是“融会贯通”部分,通过展示如何在实际计算机中应用这些思想,将它们串在一起。  再下面是“谬论与易犯错误”,让读者从他人的错误中汲取教训。我们将举例说明一些常见误解与体系结构陷阱,要避免犯错是非常困难的,哪怕你明明知道它们就在前面等着你。“谬论与易犯错误”部分是本书最受欢迎的内容。每一章都以一个“结语”节结束。  案例研究与练习  每一章的最后都有案例研究和练习。这些案例研究由业内和学术界的专家编撰而成,通过难度逐渐增大的练习来探讨该章的关键概念,检验读者的理解程度。教师们会发现这些案例研究都非常详尽和完善,完全可以针对它们设计出一些练习。  每个练习中用尖括号括起的内容()指明了做这道题应该阅读哪部分正文内容。我们这样做的目的,一方面是为了提供复习内容,另一方面是希望帮助读者避免在还没有阅读相应正文的情况下去做一些练习。为了使读者大致了解完成一道题需要多长时间,我们为这些练习划定了不同等级:  [10]  短于5分钟(阅读和理解时间);  [15]  5~15分钟给出完整答案;  [20]  15~20分钟给出完整答案;  [25]  在1小时内给出完整的书面答案;  [30]  小型编程项目:时间短于1整天;  [40]  大型编程项目:耗时2周;  [讨论]  与他人一起讨论的主题。  在textbooks.elsevier.com注册的老师可以得到案例研究与习题的解答。  我们会定期补充新材料和网上其他可用资源的链接。  帮助改进本书  如果你阅读后面的“致谢”部分,将会看到我们已经下了很大的功夫来纠正错误。由于一本书会进行多次印刷,所以我们有机会进行更多的校订。如果你发现了任何遗留错误,请通过电子邮件联系出版商。  结语  本书仍然是一本真正的合著作品,我们每人编写的章节和附录各占一半。如果没有对方完成另一半工作,如果没有对方在任务似乎无望完成时给予鼓励,如果没有对方点透某个难以表述的复杂概念,如果没有对方花费周末时间来审阅书稿,又如果没有对方在自己因为其他繁重职责而难以提笔时给予宽慰(从简历可以看出,这些职责是随着本书的版本号以指数形式增加的),我们无法想象这本书要花费多长时间才能完成。当然,对于你将要读到的内容,其中若有不当之处,我们也负有同等责任。  John Hennessy  David Patterson

内容概要

John L. Hennessy 斯坦福大学校长,IEEE和ACM会士,美国国家工程研究院院士及美国科学艺术研究院院士。Hennessy教授因为在RISC技术方面做出了突出贡献而荣获2001年的Eckert-Mauchly奖章,他也是2001年Seymour Cray计算机工程奖得主,并且和David A.Patterson分享了2000年约翰 · 冯 · 诺依曼奖。
David A. Patterson 加州大学伯克利分校计算机科学系教授,美国国家工程研究院院士,IEEE和ACM会士。他因为对RISC技术的贡献而荣获1995年IEEE技术成就奖,而在RAID技术方面的成就为他赢得了1999年IEEE Reynold Johnson信息存储奖。2000年他和John L. Hennessy分享了约翰 · 冯 · 诺依曼奖。

媒体关注与评论

  “《计算机体系结构:量化研究方法(第5版)》继续发扬传统,为学习计算机体系结构的学生提供了当前计算平台的最新信息,使他们能够洞悉体系结构,便于设计未来系统。这一版的亮点在于大幅修订了数据级并行那一章,用传统的体系结构术语清晰地解读了GPU体系结构。”  ——Krste Asanovi·,加州大学伯克利分校  “《计算机体系结构:量化研究方法》是一部经典,犹如美酒,历久而弥醇。我在本科毕业时第一次购买了本书,它到现在仍然是我最经常参考的书籍之一。第4版问世时,我发现其中包含了如此之多的新材料,为了跟上这一领域的最新趋势,我必须得再买一本。而当审阅第5版时,我发现Hennessy和Patterson再现神奇。全书内容都进行了大量更新,对于希望真正理解云和仓库级计算的人们来说,单凭第6章的内容,这个新版本就值得一读。只有Hennessy和Patterson才可能接触到谷歌、微软等云计算与互联网规模的应用提供商的内部人士,对这一重要领域,业内的介绍材料无出其右。”  ——James Hamilton  “Hennessy和Patterson撰写本书的第一版时,研究生们是在用50 000个晶体管组装计算机。今天,仓库级的计算机集群会包含50 000个服务器,每个服务器中包含数十个处理器和数十亿个晶体管。计算机体系结构一直在不停地快速发展,而《计算机体系结构:量化研究方法》紧跟它的步伐,每个版本都准确地解释和分析了这一领域激动人心的最新重要思想。”  ——James Larus,微软研究院  “这一版新增加了一章非常丰富的内容,用来讨论向量、SIMD和GPU体系结构中的数据级并行技术。它解释了应用于大众市场的GPU内部的关键体系结构概念,给出这些概念与传统术语的对应关系,并与向量和SIMD体系结构进行了对比。这一内容非常及时,与业内转向GPU并行计算的潮流相适应。《计算机体系结构:量化研究方法》继续独领风骚,全面地介绍了体系结构方面的重大新进展!”  ——John Nickolls,NVIDIA  “本书已经成为一本经典教科书了,这一版突出介绍了各种显式并行技术(数据、线程、请求)的兴起,各用整整一章来描述。数据并行一章尤为夺目:通过向量SIMD、指令级SIMD和GPU的对比,避开每种体系结构的专用术语,揭示了这些体系结构之间的相似与区别。”  ——Kunle Olukotun,斯坦福大学  “《计算机体系结构:量化研究方法(第5版)》探讨了各种并行概念和它们各自的技术权衡。和过去的几个版本一样,这一新版本中同样涵盖了最新的技术发展趋势。两个重点是个人移动设备(PMD)和仓库级计算(WSC)的爆炸性增长——与原来一味追求性能相比,这里的焦点已经转为更全面地寻求性能与能效之间的平衡。这些趋势刺激了人们不断追求更强劲的处理能力,而这种追求又推动人们在并行道路上走得更远。”  ——Andrew N. Sloss,实施顾问,ARM公司 ARM System Developer’s Guide一书的作者

名人推荐

“本书之所以会成为不朽的经典之作,是因为每次再版都不仅仅是一次更新补充,而是全面修订,针对这个激动人心且快速变化的领域,给予我们最及时的信息和权威的解读。即便对于我这样已从业二十多年的人来说,再次阅读本书时,依旧自觉学无止境,感佩于两位卓越大师的渊博学识和深厚功底。” ——Luiz Andre Barroso,Google公司 “《计算机体系结构:量化研究方法》是一部经典,犹如美酒,历久而弥醇。只有Hennessy和Patterson才可能接触到谷歌、亚马逊、微软等云计算与互联网规模的应用提供商的内部人士,对这一重要领域,业内的介绍材料无出其右。” ——James Hamilton,Amazon web服务部 “《计算机体系结构:量化研究方法(第5版)》继续发扬传统,为学习计算机体系结构的学生提供了当前计算平台的最新信息,使他们能够洞悉体系结构,便于设计未来系统。这一版的亮点在于大幅修订了数据级并行那一章,用传统的体系结构术语清晰地解读了GPU体系结构。” ——Krste Asanovic,加州大学伯克利分校 “Hennessy和Patterson撰写本书的第一版时,研究生们是在用50000个晶体管组装计算机。今天,仓库级的计算机集群会包含50000个服务器,每个服务器中包含数十个处理器和数十亿个晶体管。计算机体系结构一直在不停地快速发展,而《计算机体系结构:量化研究方法》紧跟它的步伐,每个版本都准确地解释和分析了这一领域激动人心的最新重要思想。” ——James Larus,微软研究院

章节摘录

版权页:   插图:   遗憾的是,在对比计算机性能时并非总是使用时间这一度量标准。我们的观点是:唯一稳定、可靠的性能度量就是实际程序的执行时间,以任意其他度量代替时间或者以任意其他被测项目代替实际程序,最终都会在计算机设计中产生误导,甚至是错误。 即使是执行时间,也可以根据我们的测量内容采用不同的定义方式。最直接的时间定义被称为挂钟时间,响应时间或已用时间,也就是完成一项任务的延迟,包括磁盘访问、存储器访问、输人/输出活动、操作系统开销等所有相关时间。在同时运行多个程序的情况下,处理器在等待I/O时处理另一个程序,不一定使某一程序的已用时问缩至最短。因此,我们需要有一个术语来表达这一行为。CPU时间可以区分这种不同,它是指处理器执行计算的时间,不包括等待I/O或运行其他程序的时间。(显然,用户观测到的响应时间是程序的已用时间,而不是CPU时间。) 那些定期运行相同程序的计算机用户当然是评估新计算机性能的最佳候选人。如果他们要评估一个新系统的性能,只需要比较其工作负载的执行时问就行了(其工作负载就是在计算机上运行的程序和操作系统命令)。但很少有用户具备这种得天独厚的条件。大多数用户必须依赖其他方法来评价计算机的性能,还经常需要使用评估软件,希望这些方法能够预测自己在使用新计算机时的性能。 1.8.1 基准测试 测量性能的最佳基准测试方法就是采用实际应用程序,比如1.1节的Google Goggles。人们曾经尝试运行一些远比实际应用程序简单的程序,但这种做法已经导致了性能隐患。这些简单程序的示例包括: 程序内核,即实际应用程序中的短小、关键部分; 玩具程序,为了完成编程入门作业而编写的小程序,通常不超过100行,比如快速排序; 合成基准测试程序,为了匹配实际应用程序的特征和行为而编写的虚拟程序,比如Dhrystone。 今天,所有这三种方法都没有什么好名声,主要是因为编译器的编写人员和架构师可以串通起来,使计算机在执行这些替代程序时能够比运行实际应用程序时显得更快一些。令本书作者感到沮丧的是,合成程序Dhrystone仍然是应用最为广泛的嵌入式处理器基准测试程序!

图书封面


 计算机体系结构下载 精选章节试读 更多精彩书评



发布书评

 
 


精彩书评 (总计5条)

  •     如题,翻译差,差,差。。。。。。。。。。。。。。。。。。。。。!!!!!!!!!!!!翻译差,差,翻译差,差,翻译差,差,翻译差,差,翻译差,差,如题,翻译差,差,差。。。。。。。。。。。。。。。。。。。。。!!!!!!!!!!!!翻译差,差,翻译差,差,翻译差,差,翻译差,差,翻译差,差,
  •     每一个搞计算机的必读之一,如果想让你的程序运行的快,那么你就读完这本书。这本书会让你真正的理解什么是cache, cache并不是对程序员是透明的,在编程的时候是需要考虑到的。这本书需要读至少两遍才能真正体会其中的奥秘。这本书是我们公司人手必读的一本书之一。
  •     大学接触过计算机组成原理,但基本和那玩意儿没啥关系。这本书算是紧跟潮流,例子基本符合当前水准,会有不少core i7的例子。对于之前对体系结构不熟悉的人来说,阅读起来非常吃力。还好我基本当做床头书过了一遍,就当是给自己扫盲了。这本书的翻译不敢恭维,对于英语还ok的推荐阅读原版,还有再次强调,这本书并不适合新手阅读...

精彩短评 (总计55条)

  •     随机翻开几页,我敢说这书的翻译过程一定是:译者不需要知道任何术语,复制粘贴到google翻译,翻译成中文,译者觉得通顺,于是就出书了。本来想拿一本和英文对着看,还是直接英文吧。
  •     与时俱进的教科书,太有用了,经典,值得收藏。
  •     很多句子都不通顺。。。。
  •     是经典教材,推荐
  •     书是好书,就是速度太慢。花了5天时间才拿到。
  •     书是好书,就是翻译太垃圾(没时间啃英文版),配的图号码很多是错的,翻译也有不少错误,举个例子:"压缩十进制数,两个十进制数位被压缩到两个字节当中"。或者说是亚马逊卖给了我盗版书?
  •     有的地方翻译的真的很难懂,感觉就是google翻译等翻译工具翻译的的,硬邦邦的,最好还是看英文版吧,汉语版只做参考,还发现第四版和第五版不是一个人翻译的,也难怪!!
  •     很全面 很透彻 可以作为设计标准
  •     价格便宜、送货快、方便
  •     : TP303/0271-3
  •     纸张质量很好,比机工社的大理石书强多了。还没开始读,读完再评价内容。
  •     经典中的经典,难得是与时俱进,都是比较新的内容,尤其是和云计算联系起来,多核、众核、GPU计算都有,值得学习
  •     翻译的实在太差,语句都不通,严重怀疑译者的汉语水平,英语好的还是直接看原版好了
  •     很经典的讲述计算机系统结构的书,作者也是大牛
  •     好书,两个大爷都是牛逼人物
  •     书翻译的还行,送货也快。
  •     “圣经"第5版比第4版强太多了,整个书拿在手里就有种厚重感,而且这版的翻译质量也有很大提高
  •     发货速度慢得不忍直视,整整一周才到,
  •     的确是量化....基本都能得出相应的数值
  •     可以,推荐买翻译质量很好
  •     翻译差一把火
  •     送货很快,这本大牛写的书,拜读一下
  •     足足看了两个月才搞定,内容非常丰富,但理解的过程也困难重重。这本书对于理解计算机系统很有帮助,并且介绍了微处理器设计的未来10年的发展方向,着重介绍了数据级并行
  •     书很好,可是看不懂,心里面还是比较难过的。
  •     不废话!经典!读书用的第三版!实习买了第四版!第五版,哈哈
  •     经典课本,纸质不错,适合学习~
  •     这本书的亮点在于作者提到了Google的服务器集群架构。。。
  •     好书,研究数字经济必读
  •     翻译质量差了点
  •     “圣经”与时俱进的教科书
  •     与《计算机组成与设计:硬件、软件接口》-第4版 乃绝配,研习计算机组成与体系结构的童鞋们,两本书配合足矣。
  •     系统架构的全解
  •     看了第一,二,三,五,六章。从量化的角度理解计算机体系结构,更能深入的理解computer architecture. 设计优秀的指令集体系结构可以更好的指令流水线,分支预测,利于编译器编译出更优的代码等
  •     不错,阅读此书可以对计算机体系结构有透彻理解!
  •     书是好书,就是内容看不太懂。跟老师的课件不大一样,不过可以当工具书用
  •     翻译简直严重影响对内容的理解
  •     帕特森的两本经典名作之一,计算机体系结构的经典
  •     寫得挺好的。
  •     这本书是本领域权威,值得一读。
  •     翻译书籍的诟病在科技类中是如此的明显。 更让人无语的是,毛病不仅仅在于翻译。 尼玛如此简单的一个概念被解释得如此扑朔迷离我真是无语了,这其实现展示的是两种文化,两种学习计算机背景,甚至是语言的差异。 这本书很好我承认,前提是学习计算机通过英文媒介。
  •     书是经典。纸张质量差。小心收藏着
  •     先备货, 以后再慢慢看。 对体系结构了解多都不是多。
  •     第六章有点无厘头。。。
  •     真高级
  •     书很好!!!老师上课要求的课程书籍
  •     每次 送货 送来的书 就没让人舒服过。你就不能给弄个好包装啊。。。卧槽
  •     可惜买来准备考试不合适
  •     感觉还行吧,《高级计算机系统结构》课考试之前看的。
  •     coursera上的Computer Architecture.....准备看//怕忘记带书回家,提前Mark0603//
  •     这本书是我看过的最好的课本之一了,即使不是学这门课的也可以看看
  •     厉害真厉害,所以有的时候买点教材是很好的
  •     这本书是前一本书的高级版,所谓高级,指的是涉及到更多的公式、定理和算法。很多内容对于我要写的『导论』来说过于艰深了,比方说 CPU 具体的分支预测和调度算法,在 CMU 也是作为研究生课的内容的。但是部分理解计算机体系的角度很新颖,值得参考。
  •     涉及到的内容博大,讲解的方式精深,很不错的一版。而且全书几乎将近一半是在解说各种各样的并行结构,对于写高性能并行系统的coder也是很有参考价值。
  •     真的很不错,这一版更新了很多新的知识
  •     经典无需多说,适合体系结构相关的硬件人员。
 

农业基础科学,时尚,美术/书法,绘画,软件工程/开发项目管理,研究生/本专科,爱情/情感,动漫学堂PDF下载,。 PDF下载网 

PDF下载网 @ 2024