1. 首页
  2. 课程学习
  3. 讲义
  4. 计算机体系结构:量化研究方法第五版(中文版)

计算机体系结构:量化研究方法第五版(中文版)

上传者: 2021-04-25 06:39:59上传 PDF文件 23.55MB 热度 216次
作者简介 John i。 Hennessy是斯坦福大学的第10任校长,从1977年开始在该校电子工程与计算机 系任教。 Hennessy是EE和ACM会士,美国国家工程院、国家科学院和美国哲学院院士,美 国艺术与科学院院士。他获得过众多奖项,如2001年度 Eckert-Mauchly奖,表彰他对RIC 技术的贡献;2001年度 Seymour Cray计算机工程奖;与 David patterson共同获得的2000年 度约翰·冯·诺依曼奖章。他还拥有7个荣誉博士学位。 1981年, John L. Hennessy带领几位研究生在斯坦福开始MPS项目的研究。1984年完成该 项目之后,他暂时离开大学,与他人共同筹建MPS计算机系统公司(也就是现在的MPS技术 公司,这家公司开发了最早的商用RSC微处理器之一。到2006年,已经有20多亿个MIPS 微处理器被用于视频游戏、掌上电脑、激光打印机和网络交换机等各种设备中。 Hennessy后来 领导了DASH( Director Architecture for Shared Memory,共享存储器控制体系结构)项目,这 项目设计了第一个可扩展缓存一致性多处理器原型,其中的许多重要思想都在现代多处理器 中得到了应用。除了参与科研活动、履行学校职责之外,他仍作为前期顾问和投资者参与了无 数的创业项目。 David a. Patterson自1977年进入加州大学伯克利分校执教以来,一直讲授计算机体系结 构课程,拥有该校计算机科学 Pardee讲座教授职位。他因为教学成果显著而荣获了加州大学的 杰出教学奖、ACM的 Karlstrom奖、IEEE的 mulligan教育奖章和本科生教学奖。因为在RISC 方面的贡献而获得了IEEE技术成就奖和 ACM Eckert-Mauchly奖,他还因为在RAD方面的贡 献而分享了 IEEE Johnson信息存储奖,并与 John Hennessy共同获得了IEE约翰·冯·诺依曼 奖章和C&C奖金。和 John Hennessy相似, Patterson也是美国艺术与科学院院士、美国计算机 历史博物馆院士、ACM和EEE会士。他还被选人美国国家工程院、美国国家科学院和硅谷工 程名人堂。 Patterson身为美国总统信息技术顾问委员会委员,同时也是伯克利电子工程与计算 机科学系计算机科学分部主任、计算机研究协会主席和ACM主席。这-履历使他荣获了ACM 和CRA颁发的杰出服务奖。 在加州大学伯克利分校, Patterson领导了RCI的设计与实现工作,这可能是第一台 精简指令集计算机,为商业 SPARO体系结构奠定了基础。他曾是廉价磁盘冗余阵列( Redundant 2作者简介 Arrays of Inexpensive Disks,RAID)项目的领导者之一,正是由于这项目,才有了后来许多 公司出品的可靠存储系统。他还参与了工作站网络( Network of workstations,NOw)项目,因 为这一项目而有了因特网公司使用的集群技术和后来的云计算。这些项目获得了ACM颁发的 三个论文奖。作为“算法机器-人类”(AMP)实验室和并行计算实验室的主管,他目前在这 里开展自已的研究项目。AMP实验室的目标是开发可扩展的机器学习算法、适用于仓库级计算 机的编程模型、能够快速洞悉云中海量数据的众包( Crowd-Sourcing)工具。并行计算实验室 的目标是研发先进技术,为并行个人移动设备提供可扩展、可移植、方便快捷的效率软件。 序言 Hennessy和 Patterson合著的《计算机体系结构:量化研究方法》第1版是在我刚上研究生 时出版的,因此,我属于第一批在本书指导下学习体系结构的人。要写一篇有用的序言,少不 了要有作序者自己的独特观点,而我发现自己在这方面有点欠缺,因为我已深受本书前4个版 本的影响。还有另外一个不利因素,就是我从学生时代就对这两位计算机科学巨匠心存敬畏, 尽管后来我有机会与他们合作,近距离了解他们,但也可能正因如此,所以这种敬提心现在仍 未消失。不过,由于我从第一版开始就一直从事这一领域的研究,有机会看到它不断完善,欣 赏它持久不变的实用性,这从一定程度上抵消了上述不利因素。 几年前,英特尔取消其4GHz单核CPU开发项目,转向多核CPU研发,标志着业内对更 高CPU时钟频率的激烈竞争正式结束,两年之后,本书第4版出版。经过两年的充分观察,John 和Dave在书中将这一变化明确表述为计算技术在过去10年中的一个转折点,而不是一次非常 随意的生产线升级。第4版对指令级并行(IP)的强调有所降低,增加了线程级并行的相关内 容;第5版则更进一步,用整整两章的篇幅来讨论线程级和数据级并行,而将IIP的讨论压缩 为一章。新增加的第4章会让刚刚接触新型图形处理引擎的读者受益匪浅,这一章的重点是数 据级并行,解释了一些虽有不同但正在趋于一致的解决方案,这些方案是由通用处理器中的多 媒体扩展以及可编程性日益增强的图形处理器提供的。这一章还有一些非常实用的内容:如果 你一直被CUDA术语搞得晕头转向,可以参考表4-10。(难题:“共享存储器”实际上是本地存 储器,而“全局存储器”更接近于大众认知的共享存储器。) 多核技术仍处在不断变化之中,但第5版还介绍了下一代重大技术:云计算。因特网的无 处不在和Web服务的发展将人们的注意力引向两个极端:一端是超小型设备(智能手机、平板 电脑),一端是超大型设备(仓库级计算系统)第3章的“融会贯通”一节(313节)介绍了 ARM Cortex a8,它是智能手机中的一种常用CPU,而新增加的整个第6章则专门结合仓库级 计算系统讨论了请求级并行和数据级并行。在这一章中,Joh和Dave将这些新出现的大型集 群看作一类特殊的新型计算机欢迎广大计算机架构师一同来推动这一新兴领域的发展。将 第3版中的Gog集群体系结构与这一版第6章中更现代化的具体实现进行对比,读者就可以 欣赏到这一领域在过去10年的发展过程。 2序言 本书的老读者将会再一次领略两位杰出计算机科学家的贡献,他们在整个职业生涯中,将 严谨的学术研究和对前沿产品与技术的深刻理解非常完美地结合在一起,形成了一门艺术。如 果你见过Dave如何实施他一年两度的项目调整,如何精心筹办研讨会,从校企合作之中萃取最 多的精华,如果你能回想起John在创办MPS时获得的巨大成功,或者曾经在Goog公司的走 廊里碰到他(我偶尔就会在那里遇到他),那你就不会再为两位作者与业界交流何以如鱼得水而 感到惊讶了。 新老读者购买本书绝对物超所值,这可能是最重要的一点了。这本书之所以会成为不朽的 经典,是因为它的每个版本都不只是更新,而是一次全面修订,力求向读者展示最新信息,以 及作者对这个快速变化的迷人领域最独到的见解。对我来说,在从事这个行业20多年之后,它 让我又一次有机会体验学生时代对这两位杰出师长的敬仰之情。 Luiz Andre Barroso,Coge公司 前 本书的目的 本书到现在已经是第5个版本了,我们的目标一直没有改变,就是要阐述那些为未来技术 发展奠定基础的基本原理。计算机体系结构的各种发展机遇总是让我们激情澎湃,不曾有丝毫 消退。我们在第1版中就作出过如下的论述:“这个学科不是令人昏昏欲睡、百无一用的纸版模 型。绝对不是!这是一个受到人们热切关注的学科,需要在市场竞争力与成本一性能-能耗之间 作好权衡,从事这个学科既可能导致可怕的失败,也可能带来显赫的成功。” 在编写第1版时,我们的主要目的是希望改变人们原来学习和研究计算机体系结构的方式。 现今,我们感到这一目标依然正确,依然重要。该领域日新月异,在对其进行研究时,必须采 用真实计算机上的测量数据和真实示例,而不是去研究一大堆从来都不需要实现的定义和设计。 我们不仅热烈欢迎过去与我们结伴而行的老读者,同样也非常欢迎现在刚刚加入我们的新朋友 不管怎样,我们都保证将采用同样的量化方法对真实系统进行分析。 和前几版一样,在编写这个新版本时,我们力争使其既适用于学习高级计算机体系结构与 设计课程的学生,也适用于专业的工程师和架构师。与第1版类似,这个版本重点介绍新平台 (个人移动设备和仓库级计算机)和新体系结构(多核和GPU这一版还秉承了前几版的做法, 希望能够通过强调成本、性能、能耗之间的平衡和优秀的工程设计,揭去计算机体系结构的神 秘面纱。我们相信这一领域正在日趋成熟,发展成为一门具备严格量化基础的经典理工学科。 关于第5版 我们曾经说过,第4版可能因为转向讨论多核芯片而成为自第1版以来的最重要版本。但 我们收到了这样的反馈意见:第4版已经失去了第1版重点突出的优点,它一视同仁地讨论所 有内容,不分重点和场合。我们非常确信,第5版不会再有这样的评价了。 我们相信,最令人激动的地方在于计算规模的两个极端:以移动电话和平板电脑之类的个 人移动设备(PMD)为客户端,以提供云计算的仓库级计算机为服务器。(具有敏锐观察力的 读者可能已经看出本书封面上云计算的寓意。管这两个极端的规模大小不同,但它们在成本 性能和能效方面的共同主题给我们留下了深刻印象。因此,每一章的讨论背景都是PMD和仓 库级计算机的计算,第6章是全新的一章,专门讨论仓库级计算机。 本书的另一条主线是讨论并行的所有不同形式。我们首先在第1章指出了两种应用级别的 并行,一个是数据级井行(DLP),它的出现是因为有许多数据项允许同时对其进行操作;另 个是任务级并行(TLP),它的出现是因为创建了一些可以独立执行并在很大程度上并行的工作 任务。随后解释4种开发DLP和TLP的体系结构样式,分别是:第3章介绍的指令级并行(IIIP), 第4章介绍的向量体系结构和图形处理器(GPU),这一章是第5版新增加的内容;第5章介绍 的线程级并行;第6章通过仓库级计算机介绍的需求级井行(RLP),这一章也是第5版中新增 加的。本书中,我们将存储器层次结构的内容提前到第2章,并将存储系统那一章改作附录D。 我们对第4章、第6章的内容尤为感到自豪,第4章对GPU的解读是目前最详尽、最清晰的 第6章首次公布了Gge仓库级计算机的最新细节。 与前几版相同,本书前三个附录提供了有关MPS指令集系统、存储器层次结构和流水线 的基础知识,如果读者没有读过《计算机组成与设计》之类的书籍,可用作参考。为了在降低 成本的同时还能提供一些读者感兴趣的补充材料,我们在网络上提供了另外9个附录,网址为 htt:/ booksite. mkp. com/9780123838728。这些附录的页数之和比本书还要多呢! 这一版继续发扬“以真实示例演示概念”的传统,并增加了全新的“融会贯通”部分 这一版中的“融会贯通”内容包括以下各服务器的流水线组成与存储器层次结构: ARM Cortex A8处理器、血 ntel core i7处理器、 NVIDIA GTX280和Grx480GPU,还有Goge仓库级计 算机。 主题的选择与组织 和以前一样,我们在选择主题时采用了一种保守的方法,毕竟这个领域中值得讨论的思想 实在太多了,不可能在这样一本主要讨论基本原理的书中将其全部涵盖在内。我们没有面面俱 到地分析读者可能遇到的所有体系结构,而是将重点放在那些在任何新计算机中都可能涉及的 核心概念上。根据一贯坚持的选材标准,本书讨论的思想都经过深人研究并已被成功应用,其 内容足以采用量化方法进行讨论。 我们一直重点关注的内容都是无法从其他来源获取的同类资料,因此我们将继续尽可能讨 论比较高级的内容。事实上,本书介绍的有些系统,就无法在文献中找到相关描述。如果读者 需要了解更为基础的计算机体系结构知识,可以阅读《计算机组成与设计:硬件/软件接口》 omputer Organization and Design: The Hardware/Software Interface)-t5 内容概述 这一版对第1章进行了补充,其中包括能耗、静态功率、动态功率、集成电路成本、可靠 前言 性和可用性的计算公式。(封二上也列出了这些公式。)在本书后续部分读者能够一直应用这些 公式。除了计算机设计与性能测量方面的经典量化原理之外,还对PAT一节进行了升级,采用 了新的 SPECPower基准测试。 我们认为,与1990年相比,指令集体系结构扮演的角色有所弱化,所以我们把这一部分内 容作为了附录A。它仍然采用MPS64体系结构。(为便于快速查看,封三汇总了 MIPS ISA相 关信息。)网站上的附录K介绍了10种RISC体系结构、80x86、 DEC VAX和IBM360370,献 给ISA爱好者们。 随后,我们在第2章开始讨论存储器层次结构,这是因为很容易针对这些内容应用成本 性能-功耗原理,而且存储器是其余各章的关键内容。和土一版一样,附录B对缓存机制作了 概述,以供读者需要时查阅。第2章讨论了对缓存的10种高级优化方法。这一章还介绍了虚拟 机,它便于提供保护、进行软硬件管理,而且在云计算中也扮演着重要角色。除了介绍SRAM 和DRAM技术之外,这一章还包括了闪存的内容。PAT示例选择了PMD中使用的 ARM Cortex A8和服务器中使用的 ntel core7。 第3章主要研究高性能处理器中的指令级并行开发,包括超标量执行、分支预测、推理、 动态调度和多线程。前面曾经提到,附录C是关于流水线的一个综述,以备随时查阅之用。第 3章还研究了IIP的局限性。和第2章一样,PAT示例还是 ARM Cortex A8和 ntel Core门7。第 3版包括大量有关 Itanium和VILW的材料,现在这些内容放在网上的附录H中,这表明了我们 的观点:这种体系结构未能达到过去所宣称的效果。 多媒体应用程序(比如游戏和视频处理)的重要性在提高,因此,开发数据级并行的体系 结构也变得更为重要。具体来说,越来越多的人在关注利用图形处理器(GPU)执行的运算 但很少有架构师了解GPU到底是如何工作的。我们决定编写新的一章,主要就是为了揭开这种 新型计算机体系结构的奥秘。第4章开始介绍向量体系结构,对多媒体SIVMmD指令集扩展和GPU 的解释就是以此为基础的。(网站上的附录G深入地讨论了向量体系结构。)GPU一节是本书最 难写的部分,需要多次反复才能给出一个既精确又容易理解的描述。一个重大挑战就是术语。 我们决定使用我们自己的术语,然后给出这些术语与NVmA官方术语之间的对应关系。这 章介绍了 Roofline性能模型,然后用它来对比 Intel Core订7、 NVIDIA GTX280和GTX480GU。 这一章还介绍了供PMD使用的 Tegra2GPU 第5章介绍多核处理器,探讨了对称、分布式存储器体系结构,考查了组织原理和性能。 接下来是有关同步和存储器一致性模型的主题,所采用的示例是 Intel Core订。对片上互连网络 感兴趣的读者可以阅读网站上的附录F,对更大规模多处理器和科学应用感兴趣的读者可以阅 读网站上的附录I 前面曾经提到,第6章介绍了计算机体系结构中的最新主题—仓库级计算机( Warehous Scale Computer,wcs)依靠 Amazon Web服务部门和Gge工程师的帮助,本章整合了有关 4前言 wsC设计、成本与性能的详细资料,而以前了解这些内容的架构师寥寥无几。在开始描述WSC 的体系结构和物理实现(及成本)之前,首先介绍了 MapReduce编程模型。从成本的角度可以 解释为什么会有云计算,以及为何在云中使用WSC进行计算的成本要低于在本地数据中心的 计算成本。PIAT实例是对 Google WSC的描述,有些内容是首次公开的 接下来就是附录A到附录L。附录A介绍ISA的原理,包括MPS64,附录K介绍 Alpha、 MPS、 PowerPC和 SPARO的64位版本及其多媒体扩展。其中还包括一些经典体系结构80x86、 VAX和IBM360/370和流行的嵌入指令集ARM、 Thumb、 SuperH、MPs16和 Mitsubishi m32R) 附录H与其相关,介绍了 VLIW ISA的体系结构和编译器。 前面曾经提到,附录B和附录C是缓存与流水线基本概念的教程。建议对缓存不够熟悉的 读者在阅读第2章之前先阅读附录B,新接触流水线的读者在阅读第3章之前先阅读附录C。 附录D“存储系统”包括:进一步讨论可靠性和可用性,以RAm6方案介绍为主体的RAmD 教程,非常珍贵的真实系统故障统计信息。接下来介绍了排队理论和O性能基准测试。我们 评估了一个真实集群 Internet Archive的成本、性能和可靠性。“融会贯通”部分以 NetApp FAS6000 文件管理程序为例。 附录E由 Thomas m. conte撰写,汇总了嵌人式系统的相关内容。 附录F讨论网络互连,由 Timothy M. Pinkston和 Jose duato进行了修订。附录G最初由 Krste asanovic撰写,其中详细介绍了向量处理器。就我们所知,这两个附录是其各自相关主题的最 好材料。 附录H详细介绍了vW和EPC,也就是Ianm采用的体系结构。 附录I详细介绍了大规模共享存储器多处理方面用到的并行处理应用和一致性协议。附录J 由 David Goldberg撰写,详细介绍了计算机算法。 附录L将第3版每一章中的“历史回顾与参考文献”部分集中在一起。对于各章介绍的思 想,它尽量给予一个恰当的评价,并让读者了解这些创造性思想背后的历史。我们希望以此来 展现人类在计算机设计方面的戏剧性发展过程。这个附录还提供了一些参考文献,主修体系结 构的学生可能会非常喜欢它们。其中提到了本领域的一些经典论文,如果时间允许,建议读者 阅读这些论文。直接听原创者讲述他们的思想,在深受教育的同时,也是一种享受。而“历史 回顾”是以前版本中最受欢迎的章节之一。 内容导读 所有读者都应当从第1章开始阅读,除此之外并不存在什么唯一的最佳顺序。如果你不想 阅读全部内容,可以参考下面这些顺序。 1本书中文版未收录附录D到附录L,这些内容可在英文书网站htp:/ booksite. mkp. com/9780123838728获取 编者注
下载地址
用户评论