Ⅷ 使得处理器可以由单独的一章而不是两章来呈现,并且有关处理器的内容通过删除得到了加强。 在第3版中单独作为一章的有关性能的内容,在本版中被合并到了第1章。 第三个目的是提升本书的教学方法。现在第1章变得更加充实,内容包括性能、集成电路、 功耗,为全书奠定了基础。第2、3章原本以演进的风格进行编写,以“单细胞”的体系结构开 始,并以第3章最后的完整MIPS体系结构结束。这种松散的写作风格不能很好地适应现代读者 的需要。本版将所有的整型指令集归并到第2章,使第3章成为多数读者可以选读的内容,并且 每节各自独立,读者不再需要阅读之前的所有节。因此,与之前版本相比,现在第2章是一个更 好的参考资料。由于多周期实现会分散读者的注意力,而处理器现在变为单独的一章,所以第4 章的编写效果更好。第5章新增了构建cache控制器的部分,此外,CD中新增的部分包含了该 cache的Verilog代码。 第3版配有CD,使得书的页数减少,从而降低了书的价格。而且,有兴趣的读者还可更深 入地阅读其中的参考资料。但是,我们积极减少页数的同时,读者却要过于频繁地在书和CD之 间来回使用。本版中将不会出现这个问题。现在,CD中有每章的拓展阅读,以及四个章节的更 加深人的材料。另外,所有练习都集中在书中,在书和CD之间进行交替使用的次数应该比较 少了。 对于那些想知道为什么我们在本书中包含了CD的读者,答案也很简单:CD中包含了那些 我们觉得无论读者在哪里都应该很容易并且即刻可以获得的内容。如果你对更进一步的内容感 兴趣,或者你想复习一个VHDL教程(举例来说),它就在CD中,可供你使用。CD的另一个特 点是,能极大地加强你对材料的学习:它包含了一个搜索引擎,使你可以搜索书中或CD本身的 文本中的任何字符串。如果你正在寻找书的索引中没有包含的内容,你可以简单地输人你要搜 索的文本和想要显示在搜索结果中的页码。这是一个非常有用的特点,我们希望当你阅读和回 顾本书的时候,可以经常使用。 这是一个快速发展的领域,并且对于本书新的版本也是同样的情况,编写新版的一个重要 的目的就是更新技术内容。AMD Opteron X4模型2356(代码为Barcelona)用来运行书中第1、 4、5和7章的示例。第1、6章增加了SPEC中新的功耗测试程序的结果。第2章增加了ARM体 系结构的部分,ARM是当前世界上最流行的32位指令集体系结构。第5章新增了一部分内容介 绍虚拟机,其重要性再次呈现出来。第S章对Opteron X4多核的cache性能测量进行了详细的描 述,以及对其竞争对手Intel Nehalem(将在本版书出版之后进行发布)的性能测量进行了一些细 节描述。第6章第一次描述了Flash存储器,同时也对Sun公司的卓越的小型服务器进行了描述, 它包含由8个核、16个DMM和8个碟片组成的1Uit的磁盘。第6章还描述了关于长期磁盘失 效的最新研究结果。第7章涵盖了有关并行的大量话题,包括多线程、SMD、向量、GPU、性能 模型、测试程序和多处理器网络,并描述了Opteron X4额外的3个多核处理器:Intel Xeon模型 e5345(Clovertown)、IBM Cell模型OS20和Sun微系统T2模型5120(Niagara2)。 最后的目的是,在这个网络时代,尽量使习题对教师有用,因为布置家庭作业一直是学习资 料的一个重要方式。然而,几乎是在本书出现的同时,习题答案就会立刻被贴出。对此,我们采 取两种方式。首先,专家撰稿人一直在努力为书中的每一章编写全新的习题。第二,大多数习题 都有一个含有多种可供替换的量化参数的表格,这些参数用于回答该问题,这种方式为练习题 提供了量化描述支持。对指导教师如何选择布置练习而言,绝对的数量加上灵活性使得学生很 难在线找到与习题对应的答案。指导教师还可以按照自己的意愿改变这些量化参数,有效阻止 那些依赖互联网寻找固定不变的习题集答案的学生。我们认为这种新方法是对本书有价值的补 充,无论你是学生还是教师,请让我们知道对于你来说它的效果如何。 我们保留了以往版本中有用的书本元素。为使本书更好地作为参考书,我们还在新术语第 PDG
X 一次出现的页的页脚放置了定义。书中标题为“理解程序性能”部分的内容用于帮助读者理解 他们的程序性能,以及如何进行提高,就像书中“硬件/软件接口”部分会帮助读者理解有关接 口的权衡问题一样。“宏观图”部分仍然存在,以使读者看到整个“森林”而不是每一棵 “树”。“小测验”部分通过在每章的最后提供答案,帮助读者在第一时间加强他们对内容的理 解。本版同样提供了MIPS参考数据,这是从IBM System/360得到的灵感,并对可去掉的数据进 行了更新,在编写MPS汇编语言程序时,应该是一个方便的参考。 教学支持 我们已收集了大量材料供教师授课使用,包括题解、各章测验、本书的图表、讲义注解和幻 灯片等,都可从出版商处获得。如需更多信息,请访问以下网址: textbooks.elsevier.com/9780123744937 结语 从下面的致谢中,你会知道我们花费了大量精力去修改本书的错误。由于本书印刷了多次, 因此我们有机会做更多的校正。如果你发现有遗留的错误,请通过电子邮件与出版社联系: cod4bugs@mkp.com。 本版标志了Hennessy和Patterson自l989年以来长期合作的中止。由于要管理一所世界知名 大学,Hennessy校长将不能继续实质性地承担新版本的编写工作。留下的作者感觉像个总是和伙 伴一起演出的演员,突然被推到戏台上独自表演。所以,在致谢名单中列出的人和Berkeley的同 行们在撰写本书的过程中甚至起了更大的作用。 第4版致谢 感谢David Kirk、John Nickolls和他们在NVIDIA的同事们(Michael Garland、John Mon- trym、Doug Voorhies、Lars Nyland、Erik Lindholm、Paulius Micikevicius、Massimiliano Fatica、Stuart Oberman和Vasily Volkov)提供了第一个深入介绍GPU的附录A。再次感谢Microsoft Research的 Jim Larus贡献了他在汇编语言方面的专长,并欢迎本书读者使用他开发并维护的仿真器。 也要感谢许多专家的贡献,他们为新版编写了大量新的练习题。写出好的练习题并不是一 件容易的任务,在此感谢每位贡献者长期而艰苦地开发具有挑战性并吸引人的题目: ·第l章:Javier Bruguera(Universidade de Santiago de Compostela) 。第2章:John Oliver(Cal Poly,San Luis Obispo)、Nicole Kaiyan(University of Ade- laide)Milos Prvulovic Georgia Tech) ·第3章:Matthew Farrens(University of California,Davis) ●第4章:Milos Prvulovic(Georgia Tech) ·第5章:Jichuan Chang、Jacob Leverich、Kevin Lim和Partha Ranganathan(均来自 Hewlett-Packard),Nicole Kaiyan (University of Adelaide) ●第6章:Perry Alexander(University of Kansas) ·第7章:David Kaeli(Northeaster University) 感谢Peter Ashenden编辑和评价了所有的新习题,并完成本书的CD和新的幻灯片的制作。 感谢普林斯顿大学的David August和Prakash Prabhu提供了每章测验题。 感谢硅谷的同行们提供了大量新的技术数据: ·AMD一Opteron X4(Barcelona)的详细数据和测量数据:William Brantley、Vasileios Liaskovitis、Chuck Moore和Brian Waldecker. PDG
X ·Intel-一在Intel Nehalem上的预报信息:Faye Briggs。 ·Micron--一第6章中闪存的背景信息:Dean K☒ein。 ·Sun Microsystems--一第2章中SPEC2006基准测试程序的混合指令测量和第6章中Sun Server x4150的详细数据和测量数据:Yan Fisher、John Fowler、Darryl Gove、Paul Joyce、Shenik Mehta、Pierre Reynes、Dimitry Stuve、Durgam Vahia和David Weaver。 ·U.C.Berkeley-一Krste Asanovic(在第7章中提供了软件并发与硬件并行的思想), James Demmel和Velvel Kahan(有关并行性和浮点计算的注释),Zhangxi Tan(在第5 章中设计了cache控制器及其Verilog程序),Sam Williams(在第7章中提供了屋顶线模 型及其多核测量结果的数据),以及我在Par Lab中的所有同事,他们对全书的并行性 主题给出了大量的建议和回馈。 感谢许多教师的贡献,他们回答出版商的问卷调查,评审我们的提议,出席小组会议,对第 4版计划进行分析和回答。他们是中心组:Mark Hill(Wisconsin大学,Madison),E.J.Kim(Tex- asA&M大学),Jihong Kim(Seoul National大学),Lu Peng(Louisiana州立大学),Dean Tullsen (UC San Diego),Ken Vollmar(Missouri州立大学),David Wood(Wisconsin大学,Madison),Ki Hwan Yum(Texas大学,San Antonio),以及评审:Mahmoud Abou-Nasr(Wayne州立大学),Per ry Alexander(Kansas大学),Hakan Aydin(George Mason大学),Hussein Badr(New York州立大 学at Stony Brook),Mac Baker(Virginia Military Institute),Ron Barne(George Mason大学), Douglas Blough (Georgia Institute of Technology),Kevin Bolding (Seattle Pacific),Miodrag Bol- ic (Ottawa),John Bonomo Westminster College),Jeff Braun Montana Tech),Tom Briggs (Shippensburg大学),Scott Burgess(Humboldt州立大学),Fazli Can(Bilkent大学),Warren R.Carithers (Rochester Institute of Technology),Bruce Carlton (Mesa Community College),Nicholas Carter(Illinois大学at Urbana-Champaign),Anthony Cocchi(City大学of New York),Don Cooley (Utah州立大学),Robert D.Cupper(Allegheny College),Edward W.Davis(North Carolina州立大 学),Nathaniel.J Davis(Air Force Institute of Technology),Molisa Derk(Oklahoma City大学),De- rek Eager(Saskatchewan大学),Ernest Ferguson(Northwest Missouri州立大学),Rhonda Kay Gaede (Alabama大学),Etienne M.Gagnon(UQAM),Costa Gerousis(Christopher Newport大学),Pal Gillard(Memorial大学of Newfoundland),Michael Goldweber(Xavier大学),Georgia Grant(College of San Mateo),Merrill Hall (The Master's College),Tyson Hall (Southern Adventist),Ed Har- court(Lawrence大学),Justin E.Harlow(South Florida大学),Paul F.Hemler(Hempden-Sydney College),Martin Herbordt Boston),Steve J.Hodges Cabrillo College),Kenneth Hopkinson (Corell大学),Dalton Hunkins(St.Bonaventure大学),Baback Izadi(州立大学of New York一New Paltz),Reza Jafari,Robert W.Johnson Colorado Technical),Bharat Joshi North Carolina 学,Charlotte),Nargarajan Kandasamy(Drexel大学),Rajiv Kapadia,Ryan Kastner(California大 学,Santa Barbara),Jim Kirk(Union大学),Geoffrey S.Knauth(Lycoming College),Manish M.Kochhal(Wayne州立大学),Suzan Koknar-Tezel(Saint Joseph's大学),Angkul Kongmunvattana (Columbus州立大学),April Kontostathis(Ursinus College),Christos Kozyrakis(Stanford大学), Danny Krizanc(Wesleyan大学),Ashok Kumar,S.Kumar(Texas大学),Robert N.Lea(Houston) 大学,Baoxin Li(Arizona州立大学),Li Liao(Delaware大学),Gary Livingston(Massachusetts大 )Michael Lyle,Duoglas W.Lynn (Oregon Institute of Technology),Yashwant K.Malaiya (Colo- rado州立大学),Bill Mark(Texas大学at Austin),Annanda Mondal(Claflin大学),Alvin Moser (Seattle大学),Walid Najjar(California大学,Riverside),Danial J.Neebel(Loras College),John Nestor (Lafayette College),Joe Oldham (Centre College),Timour Paltashev,James Parkerson (Ar- PDG
Ⅺ kansas大学),Shaunak Pawagi(SUNY at Stony Brook),Steve Pearce,Ted Pedersen(Minnesota大 学),Gregory D Peterson(Tennessee大学),Dejan Raskovic(Alaska大学,Fairbanks),Brad Rich- ards(Puget Sound大学),Roman Rozanov,.Louis Rubinfield(Villanova大学),Md Abdus Salam (Southern大学),Augustine Samba(Kent州立大学),Robert Schaefer(Daniel Webster College), Carolyn.JC.Schauble(Colorado州立大学),Keith Schubert(CSU San Bernardino),William L Schultz,Kelly Shaw(Richmond大学),Shahram Shirani(McMaster大学),Scott Sigman(Drury 大学),Bruce Smith,David Smith,JefW.Smith(Georgia大学,Athens),Philip Snyder(Johns Hopkins大学),Alex Sprintson(Texas A&M),Timothy D.Stanley(Brigham Young大学),Dean Ste- vens(Morningside College),Norza Tabrizi(Kettering大学),Yuval Tamir(UCLA),Alexander Taubin(Boston大学),Will Thacker(Winthrop大学),Mithuna Thottethodi(Purdue大学),Mang hui Tu(Southern Utah大学),Rama Viswanathan(Beloit College),Guoping Wang(Indiana-Purdue 大学),Patricia Wenner(Bucknell大学),Kent Wilken(California大学,Davis),David Wolfe Gustavus Adolphus College),David Wood Wisconsin,Madison),Mohamed Zahran City Col- lege of New York),Gerald D.Zarnett (Ryerson),Nian Zhang (South Dakota School of Mines Technology),Jiling Zhong(Troy大学),Huiyang Zhou(Central Florida大学),Weiyu Zhu(Illinois Wesleyan大学)。 特别感谢Berkeley大学的相关人士,他们为本版最具挑战性的内容(第7章和附录A)提供 了大量回.馈信息。他们是Krste Asanovic、Christopher Batten、Rastilav Bodik、Bryan Ca- tanzaro、Jike Chong、Kaushik Data、Greg Giebling、Anik Jain、Jae Lee、Vasily Volkov和 Samuel Williams。 感谢Mark Smotherman-一遍又一遍地反复寻找本书中的技术错误和写作错误,显著改进了 这一版的写作质量。鉴于本版像是个人演出,他所发挥的作用就更为重要了。 感谢Morgan Kaufmann公司的Denise Penrose同意再次出版本书。Nathaniel McFadden是本 版的策划编辑,每周都与我讨论本书内容。Kimberlee Honjo负责组织用户调查和回馈。 感谢Dawnmarie Simpson管理本书的出版过程,同时感谢对本版做出贡献的许多自由职业 者,特别是Multiscience出版社的Alan Rose和diacriTech公司,为本书完成了排版。 以上提到的近200名人士为本版提供了大量帮助,使之成为我所希望的最好的书。 David A.Patterson A鸟光 券 PDG
目录 Computer Organization and Design:The Hardware/Software Interface,4E 出版者的话 2.4有符号和无符号数…50 译者序 2.5计算机中指令的表示…54 前言 2.6逻辑操作 4… 59 2.7决策指令 61 第】章计算机概要与技术…1 2.7.1循环… 62 1,1引言…1 2.7.2ca3e/switch语句…64 1.1.1计算应用的分类及其特性…2 2.8计算机硬件对过程的支持…65 1.1.2你能从本书学到什么…3 2.8.1使用更多的寄存器…………66 1.2程序概念人门… 4 2.8.2嵌套过程…68 1.3硬件概念人门……7 2.8.3在栈中为新数据分配空间 69 1.3.1剂析鼠标……8 2.8.4在堆中为新数据分配空间 70 1.3.2显示器…8 2.9人机交互…72 1.3.3打开机箱 9 ·2.10MS中32位立即数和地址的寻址…75 1.3.4数据安全…12 2.10.132位立即数… 75 1.3.5与其他计算机通信…13 2.10.2分支和跳转中的寻址…76 1.3.6处理器和存储器制造技术 ……14 2.10.3MIPS寻址模式总结 78 1.4性能…15 2.10.4机器语言解码 79 1.4.1性能的定义…15 2.11并行与指令:同步 81 1.4.2性能的测量…17 2.12翻译并执行程序 …83 1.4.3CPU性能及其因素…18 2.12.1编译器…… 84 1.4.4指令的性能…19 2.12.2汇编器… 84 1.4.5经典的CPU性能公式…19 2.12.3链接器… 85 1.5功耗墙…21 2.12.4加载器…… 87 1.6沧海巨变:从单处理器向多处理器 2.12.5动态链接库… 87 转变…… 23 2.12.6启动一个Java程序 ……88 1.7实例:制造以及AMD Opteron X4基准·25 2.13以一个C排序程序为例 ”4”4。 89 1.7.1 SPEC CPU基准测试程序·27 2.13.13wap过程…89 1.7.2SPEC功耗基准测试程序…28 2.13.2s0xt过程…90 1.8谬误与陷肼…… 29 2.14数组与指针… 95 1.9本章小结 …31 2.14.1用数组实现clear 0…4g 96 1.10拓展阅读……… 32 2.14.2用指针实现clear… 96 1.11练习题…… 32 2.14.3比较两个版本的clear …97 第2章指令:计算机的语言… 42 2.15高级内容:编译C语言和解释 2.】引言…42 Jav阳语言…98 2.2计算机硬件的操作… 43 2.16实例:ARM指令集 …98 2.3计算机硬件的操作数… 46 2.16.1寻址模式…99 2.3.1存储器操作数… 47 2.16.2比较和条件分支 ……100 2.3.2常数或立即数操作数… 49 2.16.3ARM的特色…100 PDG