计算机体系结构:量化研究方法(第5版) [Computer Architecture:A Quantitative]

计算机体系结构:量化研究方法(第5版) [Computer Architecture:A Quantitative] pdf epub mobi txt 电子书 下载 2025

[美] John L. Hennessy,[美] David A. Patterson 著,贾洪峰 译
图书标签:
  • 计算机体系结构
  • 量化研究方法
  • 计算机科学
  • 高性能计算
  • 处理器设计
  • 存储系统
  • 并行计算
  • VLSI
  • 性能评估
  • 硬件设计
想要找书就要到 图书大百科
立刻按 ctrl+D收藏本页
你会得到大惊喜!!
出版社: 人民邮电出版社
ISBN:9787115297655
版次:5
商品编码:11152134
包装:平装
丛书名: 图灵程序设计丛书
外文名称:Computer Architecture:A Quantitative
开本:16开
出版时间:2013-01-01
用纸:胶版纸
正文语种:中文

具体描述

编辑推荐

  

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

内容简介

《计算机体系结构:量化研究方法(第5版)》堪称计算机系统结构学科的“圣经”,是计算机设计领域学生和从业者的必读经典。在计算机体系结构的变革时期,作者在这一版中深入介绍了两项新内容:新平台(个人移动设备和仓库级计算机)以及新体系结构(多核和GPU),同时还秉承了前几版的做法,希望通过探讨如何在成本、性能、能耗之间实现平衡,并重点关注一些优秀的工程设计实践,从而揭去计算机体系结构的神秘面纱。
《计算机体系结构:量化研究方法(第5版)》特色:
每章中的“融会贯通”小节关注了业界的各种新技术,包括ARM Cortex-A8、Intel Core i7、NVIDIA GTX-280和GTX-480 GPU,以及谷歌仓库级计算机。
· 每章最后的“案例研究和练习”由业内和学术界的专家编撰而成,主要探讨该章的关键概念。
· “附录”中收录了正文内容所依赖的基本原则。

作者简介

  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一书的作者

目录

第1章  量化设计与分析基础
1.1  引言
1.2  计算机的分类
1.2.1  个人移动设备
1.2.2  桌面计算
1.2.3  服务器
1.2.4  集群/仓库级计算机
1.2.5  嵌入式计算机
1.2.6  并行度与并行体系结构的分类
1.3  计算机体系结构的定义
1.3.1  指令集体系结构:计算机体系结构的近距离审视
1.3.2  真正的计算机体系结构:设计满足目标和功能需求的组成和硬件
1.4  技术趋势
1.4.1  性能趋势:带宽胜过延迟
1.4.2  晶体管性能与连线的发展
1.5  集成电路中的功率和能耗趋势
1.5.1  功率和能耗:系统观点
1.5.2  微处理器内部的能耗和功率
1.6  成本趋势
1.6.1  时间、产量和大众化的影响
1.6.2  集成电路的成本
1.6.3  成本与价格
1.6.4  制造成本与运行成本
1.7  可信任度
1.8  性能的测量、报告和汇总
1.8.1  基准测试
1.8.2  报告性能测试结果
1.8.3  性能结果汇总
1.9  计算机设计的量化原理
1.9.1  充分利用并行
1.9.2  局域性原理
1.9.3  重点关注常见情形
1.9.4  Amdahl定律
1.9.5  处理器性能公式
1.10  融会贯通:性能、价格和功耗
1.11  谬论与易犯错误
1.12  结语
1.13  历史回顾与参考文献
第2章  存储器层次结构设计
2.1  引言
2.2  缓存性能的10种高级优化方法
2.2.1  第一种优化:小而简单的第一级缓存,用以缩短命中时间、降低功率
2.2.2  第二种优化:采用路预测以缩短命中时间
2.2.3  第三种优化:实现缓存访问的流水化,以提高缓存带宽
2.2.4  第四种优化:采用无阻塞缓存,以提高缓存带宽
2.2.5  第五种优化:采用多种缓存以提高缓存带宽
2.2.6  第六种优化:关键字优先和提前重启动以降低缺失代价
2.2.7  第七种优化:合并写缓冲区以降低缺失代价
2.2.8  第八种优化:采用编译器优化以降低缺失率
2.2.9  第九种优化:对指令和数据进行硬件预取,以降低缺失代价或缺失率
2.2.10  第十种优化:用编译器控制预取,以降低缺失代价或缺失率
2.2.11  缓存优化小结
2.3  存储器技术与优化
2.3.1  SRAM技术
2.3.2  DRAM技术
2.3.3  提高DRAM芯片内部的存储器性能
2.3.4  降低SDRAM中的功耗
2.3.5  闪存
2.3.6  提高存储器系统的可靠性
2.4  保护:虚拟存储器和虚拟机
2.4.1  通过虚拟存储器提供保护
2.4.2  通过虚拟机提供保护
2.4.3  对虚拟机监视器的要求
2.4.4  虚拟机(缺少)的指令集体系结构支持
2.4.5  虚拟机对虚拟存储器和I/O的影响
2.4.6  VMM实例:Xen虚拟机
2.5  交叉问题:存储器层次结构的设计
2.5.1  保护和指令集体系结构
2.5.2  缓存数据的一致性
2.6  融会贯通:ARM Cortex-A8和Intel Core i7中的存储器层次结构
2.6.1  ARM Cortex-A8
2.6.2  Intel Core i7
2.7  谬论与易犯错误
2.8  结语:展望
2.9  历史回顾与参考文献
第3章  指令级并行及其开发
3.1  指令级并行:概念与挑战
3.1.1  什么是指令级并行
3.1.2  数据相关与冒险
3.1.3  控制相关
3.2  揭示ILP的基本编译器技术
3.2.1  基本流水线调度和循环展开
3.2.2  循环展开与调度小结
3.3  用高级分支预测降低分支成本
3.3.1  竞赛预测器:局部预测器与全局预测器的自适应联合
3.3.2  Intel Core i7分支预测器
3.4  用动态调度克服数据冒险
3.4.1  动态调度:思想
3.4.2  使用Tomasulo算法进行动态调度
3.5  动态调度:示例和算法
3.5.1  Tomasulo算法:细节
3.5.2  Tomasulo算法:基于循环的示例
3.6  基于硬件的推测
3.7  以多发射和静态调度来开发ILP
3.8  以动态调度、多发射和推测来开发ILP
3.9  用于指令传送和推测的高级技术
3.9.1  提高指令提取带宽
3.9.2  推测:实现问题与扩展
3.10  ILP局限性的研究
3.10.1  硬件模型
3.10.2  可实现处理器上ILP的局限性
3.10.3  超越本研究的局限
3.11  交叉问题:ILP方法与存储器系统
3.11.1  硬件推测与软件推测
3.11.2  推测执行与存储器系统
3.12  多线程:开发线程级并行提高单处理器吞吐量
3.12.1  细粒度多线程在Sun T1上的效果
3.12.2  同时多线程在超标量处理器上的效果
3.13  融会贯通:Intel Core i7和ARMCortex-A8
3.13.1  ARM Cortex-A8
3.13.2  Intel Core i7
3.14  谬论与易犯错误
3.15  结语:前路何方
3.16  历史回顾与参考文献
第4章  向量、SIMD和GPU体系结构中的数据级并行
4.1  引言
4.2  向量体系结构
4.2.1  VMIPS
4.2.2  向量处理器如何工作:一个示例
4.2.3  向量执行时间
4.2.4  多条车道:每个时钟周期超过一个元素
4.2.5  向量长度寄存器:处理不等于64的循环
4.2.6  向量遮罩寄存器:处理向量循环中的IF语句
4.2.7  内存组:为向量载入/存储单元提供带宽
4.2.8  步幅:处理向量体系结构中的多维数组
4.2.9  集中-分散:在向量体系结构中处理稀疏矩阵
4.2.10  向量体系结构编程
4.3  SIMD指令集多媒体扩展
4.3.1  多媒体SIMD体系结构编程
4.3.2  Roofline可视性能模型
4.4  图形处理器
4.4.1  GPU编程
4.4.2  NVIDIA GPU计算结构
4.4.3  NVIDA GPU指令集体系结构
4.4.4  GPU中的条件分支
4.4.5  NVIDIA GPU存储器结构
4.4.6  Fermi GPU体系结构中的创新
4.4.7  向量体系结构与GPU的相似与不同
4.4.8  多媒体SIMD计算机与GPU之间的相似与不同
4.4.9  小结
4.5  检测与增强循环强并行
4.5.1  查找相关
4.5.2  消除相关计算
4.6  交叉问题
4.6.1  能耗与DLP:慢而宽与快而窄
4.6.2  分组存储器和图形存储器
4.6.3  步幅访问和TLB缺失
4.7  融会贯通:移动与服务器GPU、Tesla与Core i7
4.8  谬论与易犯错误
4.9  结语
4.10  历史回顾与参考文献
第5章  线程级并行
5.1  引言
5.1.1  多处理器体系结构:问题与方法
5.1.2  并行处理的挑战
5.2  集中式共享存储器体系结构
5.2.1  什么是多处理器缓存一致性
5.2.2  一致性的基本实现方案
5.2.3  监听一致性协议
5.2.4  基本实现技术
5.2.5  示例协议
5.2.6  基本一致性协议的扩展
5.2.7  对称共享存储器多处理器与监听协议的局限性
5.2.8  实施监听缓存一致性
5.3  对称共享存储器多处理器的性能
5.3.1  商业工作负载
5.3.2  商业工作负载的性能测量
5.3.3  多重编程和操作系统工作负载
5.3.4  多重编程和操作系统工作负载的性能
5.4  分布式共享存储器和目录式一致性
5.4.1  目录式缓存一致性协议:基础知识
5.4.2  目录式协议举例
5.5  同步:基础知识
5.5.1  基本硬件原语
5.5.2  使用一致性实现锁
5.6  存储器连贯性模型:简介
5.6.1  程序员的观点
5.6.2  宽松连贯性模型:基础知识
5.6.3  关于连贯性模型的最后说明
5.7  交叉问题
5.7.1  编译器优化与连贯性模型
5.7.2  利用推测来隐藏严格连贯性模型中的延迟
5.7.3  包含性及其实现
5.7.4  利用多重处理和多线程的性能增益
5.8  融会贯通:多核处理器及其性能
5.9  谬论与易犯错误
5.10  结语
5.11  历史回顾与参考文献
第6章  以仓库级计算机开发请求级、数据级并行
6.1  引言
6.2  仓库级计算机的编程模型与工作负载
6.3  仓库级计算机的计算机体系结构
6.3.1  存储
6.3.2  阵列交换机
6.3.3  WSC存储器层次结构
6.4  仓库级计算机的物理基础设施与成本
6.4.1  测量WSC的效率
6.4.2  WSC的成本
6.5  云计算:公用计算的回报
6.6  交叉问题
6.6.1  成为瓶颈的WSC网络
6.6.2  在服务器内部高效利用能量
6.7  融会贯通:Google仓库级计算机
6.7.1  集装箱
6.7.2  Google WSC中的冷却与供电
6.7.3  Google WSC中的服务器
6.7.4  Google WSC中的联网
6.7.5  Google WSC的监控与修复
6.7.6  小结
6.8  谬论与易犯错误
6.9  结语
6.10  历史回顾与参考文献
附录A  指令集基本原理
A.1  引言
A.2  指令集体系结构的分类
A.3  存储器寻址
A.4  操作数的类型与大小
A.5  指令集中的操作
A.6  控制流指令
A.7  指令集编码
A.8  交叉问题:编译器的角色
A.9  融会贯通:MIPS体系结构
A.10  谬论和易犯错误
A.11  结语
A.12  历史回顾与参考文献
附录B  存储器层次结构回顾
B.1  引言
B.2  缓存性能
B.3  6种基本的缓存优化
B.4  虚拟存储器
B.5  虚拟存储器的保护与示例
B.6  谬论与易犯错误
B.7  结语
B.8  历史回顾与参考文献
附录C  流水线:基础与中级概念
C.1  引言
C.2  流水化的主要阻碍--流水线冒险
C.3  如何实现流水化
C.4  妨碍流水线实现的难题
C.5  扩展MIPS流水线,以处理多周期操作
C.6  融会贯通:MIPS R4000流水线
C.7  交叉问题
C.8  谬论与易犯错误
C.9  结语
C.10  历史回顾与参考文献
参考文献
索引


















前言/序言

  本书的目的
  本书到现在已经是第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

《计算机体系结构:量化研究方法(第5版)》 是一本深入探索现代计算机系统设计核心原理和实践的权威著作。本书以严谨的量化分析为指导,为读者提供了理解和评估计算机体系结构性能、效率和成本的关键工具和方法论。 本书的独特之处在于其强调“量化”的视角。 在计算机体系结构领域,仅仅理解概念是不够的,更重要的是能够通过精确的度量和分析来评估设计的优劣。本书作者 David A. Patterson 和 John L. Hennessy,两位在该领域享有盛誉的学者,将他们数十年的教学和研究经验倾注其中,系统地阐述了如何运用数学模型、性能指标和仿真工具来揭示计算机系统中隐藏的性能瓶颈,并指导设计者做出明智的权衡。 本书的结构设计旨在循序渐进地引导读者掌握计算机体系结构的精髓。 它从最基础的概念入手,例如指令集架构(ISA)的演进,到处理器设计的各个层面,如流水线技术、分支预测、缓存一致性,再到存储层次结构、I/O系统以及并行处理等复杂议题,都进行了详尽而深入的讨论。每一章都建立在前一章的基础上,形成一个逻辑严密的知识体系,确保读者能够逐步构建起全面的计算机体系结构认知。 在指令集架构(ISA)部分,本书深入剖析了不同ISA的设计哲学及其对性能的影响。 从早期的CISC(复杂指令集计算)到现代主流的RISC(精简指令集计算),本书详细介绍了它们的设计原则、指令编码、寻址模式以及它们在处理器实现上的不同考虑。读者将能够理解为什么RISC架构在现代高性能处理器中占据主导地位,以及ISA的设计如何在硬件和软件之间建立起至关重要的桥梁。本书还会探讨指令集的设计如何影响编译器和操作系统的效率,以及未来的ISA发展趋势,例如向量指令集和针对特定应用的指令集扩展。 处理器设计是本书的核心内容之一。 本书详细讲解了如何通过各种技术来提升处理器的执行速度和效率。流水线技术作为提高指令级并行性的关键手段,本书将其从理想模型逐步推进到实际的超标量处理器设计,解释了冒险(hazards)的类型(结构冒险、数据冒险、控制冒险)以及相应的解决方案,如流水线重排、数据转发、延迟槽等。分支预测是另一个至关重要的性能优化技术,本书详细介绍了各种分支预测器(如静态预测、动态预测、关联式预测器、两级预测器)的原理、实现和评估方法,并深入分析了现代处理器中预测错误所带来的代价和如何最小化其影响。缓存层次结构的设计对于缓解内存延迟至关重要,本书详细阐述了缓存的工作原理,包括块大小、关联度、写策略(写回、写通)、替换算法(LRU、FIFO、随机)等,以及如何通过多级缓存来构建高性能的内存系统。读者将学习到如何使用性能指标来评估缓存的命中率、失效率,并理解不同设计选择对整体性能的影响。多处理器和并行处理部分则将读者带入了现代高性能计算的领域。本书深入探讨了共享内存多处理器(SMP)、NUMA(非一致性内存访问)架构以及多核处理器设计。重点关注了缓存一致性协议(如MESI、MOESI)的原理和实现,以及如何在多处理器环境中有效地管理并发和同步。本书还会介绍不同类型的并行编程模型(如共享内存、消息传递)以及它们对硬件体系结构的需求。 存储层次结构的设计也是本书的重中之重。 除了CPU缓存,本书还深入探讨了主存储器(DRAM)的组织方式、内存控制器、内存带宽和延迟的优化,以及固态硬盘(SSD)和传统硬盘(HDD)等存储设备的特性及其对系统性能的影响。读者将理解存储层次结构如何通过在速度、容量和成本之间进行权衡来满足应用程序的性能需求。 I/O系统及其与处理器和存储的交互也是本书的重要组成部分。 本书讲解了各种I/O设备的接口技术(如PCIe)、I/O设备的管理方式(如DMA、中断),以及操作系统如何有效地管理I/O操作以最小化其对CPU的影响。本书还会探讨存储设备的技术演进,例如NVMe协议在提升SSD性能方面的作用。 本书在量化研究方法方面的贡献尤为突出。 作者提供了详细的指导,教导读者如何进行性能分析和评估。这包括: 定义和度量性能指标: 如指令数、时钟周期数、CPI(每条指令的平均周期数)、时钟频率、吞吐量(Throughput)、响应时间(Response Time)等,以及如何正确地收集和解释这些数据。 建立性能模型: 利用数学公式和统计方法来预测和分析不同设计选择对性能的影响,例如 Amdahl 定律和 Gustafson 定律在并行计算中的应用。 使用仿真工具: 介绍业界常用的仿真器(如SPEC基准测试套件、gem5、SimpleScalar等),指导读者如何配置、运行和分析仿真结果,从而在不构建昂贵硬件的情况下评估设计。 进行功耗和能效分析: 随着移动设备和数据中心的兴起,功耗和能效已成为计算机体系结构设计中不可忽视的因素。本书探讨了如何度量和优化处理器的功耗,以及如何权衡性能与能效。 成本和可靠性考量: 计算机体系结构的设计并非只关注性能,成本、功耗、散热和可靠性也是至关重要的因素。本书会涉及这些方面,并强调在设计过程中进行权衡的必要性。 《计算机体系结构:量化研究方法(第5版)》的读者群体广泛。 对于计算机科学、计算机工程、电子工程等相关专业的本科生和研究生来说,本书是学习和掌握计算机体系结构知识的经典教材。对于从事处理器设计、系统软件开发、性能优化、嵌入式系统设计等工作的工程师和研究人员而言,本书提供了深入的理论基础和实用的分析工具,能够帮助他们解决实际工作中遇到的技术难题,并做出更优的设计决策。 本书的特点还体现在其丰富的案例研究和实践性练习。 作者通过分析现实世界中知名处理器(如Intel Core系列、AMD Ryzen系列、ARM Cortex系列)的设计,将理论知识与实际应用相结合。每一章的结尾都提供了精心设计的练习题,帮助读者巩固所学知识,并鼓励他们进行更深入的探索和研究。 总而言之, 《计算机体系结构:量化研究方法(第5版)》是一本集理论深度、实践指导和量化分析于一体的里程碑式著作。它不仅传授了计算机体系结构的基础知识,更重要的是教会了读者如何以一种科学、严谨和量化的方式来理解、评估和设计计算机系统,为读者在快速发展的计算领域中取得成功奠定坚实的基础。本书的价值在于它赋予读者一种“看透”计算机底层工作原理的能力,并提供了一套行之有效的方法论来应对未来计算挑战。

用户评价

评分

这本书简直是一场思想的盛宴!它不仅仅是一本技术书籍,更像是一本哲学著作,探讨着计算的本质和未来的发展方向。我尤其被书中对“量化”的强调所吸引,作者用严谨的数据分析和仿真模型,揭示了计算机体系结构设计的深层逻辑。这不像我之前看过的那些理论堆砌的书籍,它让我明白,在计算机科学领域,没有绝对的对错,只有在特定约束条件下的最优解。书中对各种性能指标的讨论,比如指令流水线、分支预测、多核处理器的互联等等,都充满了智慧的闪光。我感觉自己仿佛置身于一个高水平的学术研讨会,与一群顶尖的工程师和研究者一起,共同探讨如何让计算机跑得更快、更高效。书中的图表和公式虽然不少,但作者的解释总能让我豁然开朗,感觉那些复杂的数学模型背后隐藏着深刻的道理。我特别喜欢它对摩尔定律的探讨,以及对后摩尔时代计算机体系结构挑战的分析,这让我对未来的技术发展充满了好奇和期待。这本书给我带来的不仅仅是知识,更是一种解决问题的思维方式和对技术创新的深刻洞察。

评分

这本书的价值绝对超出了我的预期。我原本只是想找一本关于计算机硬件的书籍来拓宽知识面,但这本书带给我的启发远不止于此。它以一种非常独特的方式,将理论知识与实际应用紧密结合。书中对各种性能指标的量化分析,让我第一次真正理解了“性能”这个词背后的具体含义。它不是凭空而谈,而是基于精确的测量和评估。我特别喜欢书中关于并行处理和分布式系统的章节,作者详细阐述了多处理器之间的通信、同步以及如何高效地利用计算资源。这些内容让我对现代高性能计算的挑战和解决方案有了更深刻的认识。而且,书中的案例研究非常丰富,涵盖了从早期的计算机设计到最新的处理器架构,让我能够看到技术发展的脉络和演变。我感觉自己仿佛成了一名体系结构工程师,在阅读这些案例的时候,我也在思考,如果是我,会做出怎样的设计决策。这本书不仅仅是知识的传授,更是思维方式的塑造,让我学会了如何从量化的角度去审视和解决问题。

评分

这本书真是太出乎我的意料了!原本以为只是另一本枯燥的技术手册,结果却意外地打开了我对计算机系统底层运作的新认知。拿到书的第一天,我就被它厚重的分量和严谨的排版吸引住了,书页的触感也很舒服,是那种适合长时间翻阅的纸张。刚开始翻看的时候,我就被书中那些清晰的图表和精炼的文字所吸引。作者在讲解一个概念的时候,总是能用非常直观的方式来呈现,即便是一些非常抽象的原理,也能被描绘得生动形象。我尤其喜欢书中对各种硬件组件的细致剖析,从CPU的核心指令集到内存的层次结构,再到I/O设备的工作机制,每一个细节都讲解得深入浅出。感觉就像是在拆解一台真实的计算机,然后把每一个零件都看得清清楚楚。而且,这本书并没有止步于理论的讲解,它更强调“量化研究方法”,这意味着书中会涉及到大量的实验数据、性能评估和优化策略。这让我意识到,计算机体系结构不仅仅是关于“是什么”,更是关于“如何做得更好”。这本书就像一个经验丰富的向导,带领我一步步探索计算机世界的奥秘,让我对性能瓶颈、功耗管理以及新兴技术有了更深刻的理解。我迫不及待地想继续深入研究,特别是那些关于并行计算和分布式系统的章节,感觉那将是一次更具挑战性的旅程。

评分

说实话,我一开始对这本书抱有一些疑虑,毕竟“计算机体系结构”这个领域听起来就相当高深,担心内容会过于晦涩难懂,甚至会让我望而却步。然而,当我真正开始阅读后,我的顾虑荡然无存。作者的写作风格非常独特,既有学术的严谨性,又不失读者的可读性。他善于用类比和实例来解释复杂的概念,这一点我非常欣赏。比如,在讲解缓存一致性的时候,他会用生活中多人同时编辑一份文档的场景来比喻,一下子就把一个抽象的问题变得具体可感。而且,这本书的逻辑结构也安排得非常合理,从最基础的指令集架构讲起,逐步深入到更高级的并行和分布式系统,让我能够循序渐进地建立起对整个体系结构的认知。书中的案例研究更是亮点,它们不仅展示了理论的应用,还提供了宝贵的实践经验。我特别喜欢其中关于英特尔和AMD处理器设计的对比分析,这让我对不同厂商的权衡和选择有了更直观的认识。尽管我还没有完全读完,但已经感觉收获颇丰,对于理解现代计算机的性能提升和设计理念有了全新的视角。这本书无疑为我打开了一扇通往更深层次技术理解的大门。

评分

坦白说,当我拿到这本厚重的《计算机体系结构:量化研究方法(第5版)》时,内心是有些许压力的。毕竟,这个主题本身就不是轻松易懂的。然而,打开第一页,我的这种担忧就烟消云散了。作者展现出了非凡的教学能力,他能够将极其复杂的概念,如内存层级、指令集架构、并发模型等,分解成易于理解的组成部分,并用清晰的语言进行阐述。书中大量使用图示和流程图,这对于我这种视觉型学习者来说简直是福音。每一个图表都恰到好处地解释了关键的运作机制,让我能够更直观地把握整体脉络。我尤其惊叹于作者在阐述不同设计决策背后的权衡时所展现出的深度。他不会简单地告诉你“这样做”,而是会深入分析“为什么这样做”,以及这样做会带来哪些好处和坏处。这种深入的分析,让我不再是被动接受知识,而是学会了如何批判性地思考和评估。我发现自己不仅仅是在阅读一本教材,更像是在和一位经验丰富的导师对话,从他那里学习如何去分析、去设计、去优化。这本书已经成为了我深入理解计算机工作原理不可或缺的参考。

评分

给力

评分

每章中的&ldquo;融会贯通&rdquo;小节关注了业界的各种最新技术,包括ARM Cortex-A8、Intel Core i7、NVIDIA GTX-280和GTX-480 GPU,以及谷歌仓库级计算机。

评分

稍微被压皱了

评分

哈哈,逐梦系列必读书籍。

评分

&yen;68.80

评分

经典

评分

very good and fun and entertaining

评分

活动买的 价格便宜 刚开始看

评分

活动买的 价格便宜 刚开始看

相关图书

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 book.teaonline.club All Rights Reserved. 图书大百科 版权所有