计算机体系结构

出版时间:2003-12-1  出版社:机械工业出版社  作者:John L.Hennessy,David A.Patterson  页数:883  
Tag标签:无  

内容概要

The third edition of Computer Architecture: A Quantitative Approach should have been easy to write. After all, our quantitative approach hasn't changed, and we sought to continue our focus on the basic principles of computer design through two editions. The examples had to be updated, of course, just as we did for the second edition. The dramatic and ongoing advances in the field as well as the creation of new markets for computers and new approaches for those markets, however, led us to rewrite almost the entire book. The pace of innovation in computer architecture continued unabated in the six years since the second edition. As when we wrote the second edition, we found that numerous new concepts needed to be introduced, and other material designated as more basic. Although this is officially the third edition of Computer Architecture: A Quantitative Approach, it is really our fifth book in a series that began with the first edition, continued with Computer Organization and Design:The Hardware/Software Interface (COD:HSI), and then the second edition of both books. Over time ideas that were once found here have moved to COD:HSI or to background tutorials in the appendices. This migration, combined with our goal to present concepts in the context of the most recent computers, meant there was remarkably little from the second edition that could be preserved intact, and practically nothing is left from the first edition.

书籍目录

Chapter 1 Fundamentals of Computer Design1.1 Introduction1.2 The Changing Face of Computing and the Task of the Computer Designer1.3 Technology Trends1.4 Cost, Price, and Their Trends1.5 Measuring and Reporting Performance1.6 Quantitative Principles of Computer Design1.7 Putting It All Together: Performance and Price-Performance1.8 Another View: Power Consumption and Efficiency as the Matric1.9 Fallacies and Pitfalls1.10 Concluding Remarks1.11 Historical Perspective and References ExercisesChapter 2 InStruction Set Prindples and Examples2.1 Introduction2.2 Classifying Instruction Set Architectures2.3 Memory Addressing2.4 Addressing Modes for Signal Processing2.5 Type and Size of Operands2.6 Operands for Media and Signal Processing2.7 Operations in the Instruction Set2.8 Operations for Media and Signal Processing2.9 Instructions for Control Flow2.10 Encoding an Instruction Set2.11 Crosscutting lssues:The Role of Compilers2.12 Putting It All Together:The MIPS Architecture2.1 3 Another View: The Trimedia TM32 CPU2.14 Fallacies and Pitfalls2.15 Concluding Remarks2.16 Historical Perspective and ReferencesExercisesChapter 3 Instruction-Level Parallelism and Its Dynamic Exploitation3.1 Instruction-Level Parallelism:Concepts and Challenges3.2 Overcoming Data Hazards with Dynamic Scheduling3.3 Dynamic Scheduling: Examples and the Algorithm3.4 Reducing Branch Costs with Dynamic Hardware Prediction3.5 High-Performance Instruction Delivery3.6 Taking Advantage of More ILP with Multiple Issue3.7 Hardware-Based Speculation3.8 Studies of the Limitations of ILP3.9 Limitations on ILP for Realizable Processors3.10 Putting It All Together: The P6 Microarchitecture3.11 Another View: Thread-Level Parallelism3.12 Crosscutting lssues: Using an ILP Data Path to Exploit TLP3.13 Fallacies and Pitfalls3.14 Concluding Remarks3.15 Historical Perspective and ReferencesExercisesChapter 4 Exploiting Instruction-Level Parallelism with Software Approaches4.1 Basic Compiler Techniques for Exposing ILP4.2 Static Branch Prediction4.3 Static Multiple Issue: The VLIW Approach4.4 Advanced Compiler Support for Exposing and Exploiting ILP4.5 Hardware Support for Exposing More Parallelism at Compile Time4.6 Crosscutting Issues: Hardware versus SoftwareSpeculation Mechanisms4.7 Putting It All Together:The Intel IA-64 Architecture and Itanium Processor4.8 AnotherView: ILP in the Embedded and Mobile Markets4.9 Fallacies and Pitfalls4.10 Concluding Remarks4.11 Historical Perspective and ReferencesExercisesChapter 5 Memory Hierarchy Design5.1 Introduction5.2 Review of the ABCs of Caches5.3 Cache Performance5.4 Reducing Cache Miss Penalty5.5 Reducing Miss Rate5.6 Reducing Cache Miss Penalty or Miss Rate via Parallelism5.7 Reducing Hit Time5.8 Main Memory and Organizations for Improving Performance5.9 Memory Technology5.10 Virtual Memory5.11 Protection and Examples of Virtual Memory5.12 Crosscutting Issues: The Design of Memory Hierarchies5.13 Putting It All Together: Alpha 21264 Memory Hierarchy5.14 Another View: The Emotion Engine of the Sony Playstation 25.15 Another View: The Sun Fire 6800 Server5.16 Fallacies and Pitfalls5.17 Concluding Remarks5.18 Historical Perspective and ReferencesExercisesChapter 6 Multiprocessors and Thread-Level Parallelism6.1 Introduction6.2 Characteristics of Application Domains6.3 Symmetric Shared-Memory Architectures6.4 Performance of Symmetric Shared-Memory Multiprocessors6.5 Distributed Shared-Memory Architectures6.6 Performance of Distributed Shared-Memory Multiprocessors6.7 Synchronization6.8 Models of Memory Consistency: An Introduction6.9 Multithreading: Exploiting Thread-Level Parallelism within a Processor6.10 Crosscutting Issues6.11 Putting It All Together: Sun's Wildfire Prototype6.12 Another View Multithreading in a Commercial Server6.13 Another View f Embedded Multiprocessors6.14 Fallacies and Pitfalls6.15 Concluding Remarks6.16 Historical Perspective and ReferencesExercisesChapter 7 Storage Systems7.1 Introduction7.2 Types of Storage Devices7.3 Buses--Connecting I/O Devices to CPU/Memory7.4 Reliability, Avai1ability, and Dependability7.5 RAlD: Redundant Arrays of Inexpensive Disks7.6 Errors and Failures in Real Systems7.7 I/O Performance Measures7.8 A Little Queuing Theory7.9 Benchmarks of Storage Performance and Availability7.10 Crosscutting Issues7.11 Designing an I/O System in Five Easy Pieces7.12 Putting It All Together: EMC Symmetrix and Celerra7.13 Another View: Sanyo VPC-SX500 Digital Camera7.14 Fallacies and Pitfalls7.15 Concluding Remarks7.16 Historical Perspective and ReferencesExercisesChapter 8 Interconnection Networks and Clusters8.1 Introduction8.2 A Simple Network8.3 Interconnection Network Media8.4 Connecting More Than Two Computers8.5 Network Topology8.6 Practical Issues for Commercial Interconnection Networks8.7 Examp1es of Interconnection Networks8.8 Internetworking8.9 Crosscutting Issues for Interconnection Networks8.10 Clusters8.11 Designing a C1uster8.12 Putting It All Together: The Google Cluster of PCs8.13 Another View: Inside a Cell Phone8.14 Fallacies and Pitfalls8.15 Concluding Remarks8.16 Historical Perspective and ReferencesExercisesAppendix A Pipelining: Basic and Intermediate ConceptsA.1 IntroductionA.2 The Major Hurdle of Pipelining--Pipeline HazardsA.3 How Is Pipelining Implemented?A.4 What Makes Pipelining Hard to Implement?A.5 Extending the MIPS Pipeline to Handle Multicycle OperationsA.6 Putting It All Together: The MIPS R4000 PipelineA.7 Another View: The MIPS R4300 PipelineA.8 Crosscutting IssuesA.9 Fallacies and PitfallsA.10 Concluding RemarksA.11 Historical Perspective and ReferencesExercisesAppendix B Solutions to Selected ExercisesIntroductionB.1 Chapter 1 SolutionsB.2 Chapter 2 SolutionsB.3 Chapter 3 SolutionsB.4 Chapter 4 SolutionsB.5 Chapter 5 SolutionsB.6 Chapter 6 SolutionsB.7 Chapter 7 SolutionsB.8 Chapter 8 SolutionsB.9 Appendix A SolutionsOnline Appendices (www.mkp.com/CA3/)Appendix C A Survey of RISC Architectures for Desktop, Server,and Embedded ComputersAppendix D An Alternative to RISC:The Intel 80X86Appendix E Another Alternative to RISC:The VAX ArchitectureAppendix F The IBM 360/370 Architecture for Mainframe ComputerAppendix G Vector ProcessorsRevised by Krste AsanovicAppendix H Computer Arithmoticby David GoldbergAppendix I Implementing Coherence ProtocolsReferencesIndex

图书封面

图书标签Tags

评论、评分、阅读与下载


    计算机体系结构 PDF格式下载


用户评论 (总计24条)

 
 

  •   已购版本4,再收藏版本3,版本3主要讲ILP,版本4主要讲TLP,所以感觉版本3对于ILP的论述更到位。
  •   令人满意的书!
  •   真的太好了
  •      大学接触过计算机组成原理,但基本和那玩意儿没啥关系。这本书算是紧跟潮流,例子基本符合当前水准,会有不少core i7的例子。对于之前对体系结构不熟悉的人来说,阅读起来非常吃力。还好我基本当做床头书过了一遍,就当是给自己扫盲了。
       这本书的翻译不敢恭维,对于英语还ok的推荐阅读原版,还有再次强调,这本书并不适合新手阅读...
  •     为了图速度,就买了中文,太坑了,翻译完全没逻辑,请翻译的老师不要找你的学生翻译这种经典书籍了。还得网上下载原版英文看,更浪费时间,建议直接买英文版,如果英语不太好,那也别买中文版,汉字你是认识,但放在一起,那句子。。。fk 把我整的很凌乱。计算机类的经典书籍建议全部看原著,国人翻译很没道德,这些教授哪有时间搞翻译,全是研究生做的 UML那个经典也是。。。
  •     翻译太差,汉字是认识,但句子没逻辑,很多翻译 是错的。还得看原版,浪费时间,教授们没时间自己翻译,都是研究生做的。书绝对是经典,一定要买原版,不要看翻译,太坑了。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
  •     每一个搞计算机的必读之一,如果想让你的程序运行的快,那么你就读完这本书。
      这本书会让你真正的理解什么是cache, cache并不是对程序员是透明的,在编程的时候是需要考虑到的。
      这本书需要读至少两遍才能真正体会其中的奥秘。
      这本书是我们公司人手必读的一本书之一。
  •     我个人认为任何一个学计算机的,你可以不把自己的研究方向设在架构,编译器等等,但你必须要懂架构,编译器,操作系统。我个人认为这些东西对于一个CS的人来说不亚于结构,算法,以及标准库的重要。
      
      我一直觉得英文书比中文书好懂,因为中文书喜欢咬文嚼字装专业,也或者是译者害怕出现歧义,字对字翻译。比如我记得这本书有一个地方说一个什么的好处的时候说的是the attractive of xxx is xxxx, 中文版写的是xxx的吸引力是xxxx。勺子的吸引力是它比筷子更适合喝汤...这是人类说法的方式吗?还有更多的例子我记不清了,反正很极品,属于光读中文你完全不知道他在说什么,一看英文恍然大悟,给人一种 “你有什么事=U have what thing?”的感觉。。。
      
      架构这种东西其实和工业界距离很大,貌似从很久很久以前RISC就以统治性的支持率压倒CISC,学术界一边倒的全部支持MIPS,蛋似这么多年统领天下的居然是CISC的X86。大家总是酸溜溜的说其实在X86内部其实有模仿RISC的翻译层。但X86和MIPS的差距还是异常的大。如今智能手机和平板帮助ARM打下半边天下,还算看到点希望,真想知道10年前学架构的人是什么心情。
      
      RISC确实是大势所趋,一直以为萎的快要死掉的AMD推出个APU大出了风头,CPU和GPU统一寻址也算加固了NV的阵营,让从前的X86大战ARM同时加上了thread level vs data level。
      
      X86自古就问题不少,但Intel瘦死的骆驼比马大,撑个三年没什么问题,而且谁知这几年还会发生什么,ARM现在这么火不用多说。thread level parallelism还是data level谁优谁弱还言之过早。CUDA这几年如日中天,AMD的APU也来凑热闹,但美国国家实验室的超级计算机还都是thread level的并行,data level仅仅是局部的加速器。冷战时期的超级计算机都是vector machine,后来发展出了thread level的并行,然后又跳回的data level。根本问题还是没解决,就是你究竟有多少部分of 你的code可以做到SIMD。
      
      CUDA虽然火,但我个人认为仅仅是NV宣传做的好,是个商品不是个好产品,事实上它仅仅是个半成品。举个最简单的例子,在thread level并行,我们遇到任何困难,得到的答案都是硬件上的技巧,而在CUDA中,我们遇到任何问题,得到的答案都是一个API。When you face a problem you can not solve, make it someone else's problem. 这就是CUDA。传统架构中出现问题,会在架构中自省,而在CUDA中出现问题,NV会推给写软件的人去解决。
      
      说远了,这本书很不错,从最初的pipeline到MIMD再到SIMD。基本所有的技巧都提了,可能会不是很详细,比如tomasulo,当年我读了好几遍都没读懂。但人无完人,多搜一搜也就明白了。
  •     “《计算机体系结构:量化研究方法》(第5版)继续发扬传统,为学习计算机体系结构的学生提供了有关当前计算平台的最新信息,使他们能够洞悉体系结构,为设计未来系统提供帮助。这一新版本的亮点在于大幅修订了数据级并行章节,用传统的计算机体系结构术语进行了清晰的解读,褪去了GPU体系结构的神秘感。” ——Krste Asanović,加州大学伯克利校区
      
      “《计算机体系结构:量化研究方法》是一部经典,犹如美酒,久而弥醇。我在本科毕业时第一次购买了本书,它到现在仍然是我最经常参考的书籍之一。当第4版问世时,我发现其中包含了如此之多的新材料,为了跟上这一领域的最新趋势,我必须得再买一本。而当我审阅第5版时,我发现Hennessy和Patterson几乎是重写了一遍。全书内容都进行了大量更新,对于希望真正理解云和仓库级计算的人们来说,单凭第6章一章的内容,这个新版本就值得一读。只有Hennessy和Patterson才可能接触到Google、Amazon、Microsoft、其他云计算与互联网级应用提供商的内部人士,对这一重要领域,业内再也找不到更出色的介绍材料了。” ——James Hamilton,Amazon Web服务部门
      
      “当研究生们用50000个晶体管制造计算机时,Hennessy和Patterson撰写了本书的第一版。今天,仓库级的计算机中包含了许多服务器,每个服务器中包含数十个独立处理器和数十亿个晶体管。计算机体系结构一直在不停地快速发展,而《计算机体系结构:量化研究方法》紧紧跟随它的步伐,每个版本都准确地解释和分析了这一领域激动人心的新兴重要思想。” ——James Larus,微软研究院
      
      “这一版新增加了一章非常丰富的内容,用来讨论向量、SIMD和GPU体系结构中的数据级并行。它解释了畅销GPU内部的关键体系结构概念,给出这些概念与传统术语的对应关系,并与向量和SIMD体系结构进行了对比。这一内容非常及时,与业内向GPU并行计算的普遍转向相适应。《计算机体系结构:量化研究方法》继续发扬了自己的优点——全面地介绍了体系结构方面的重大新进展!” ——John Nickolls,NVIDIA
      
      “本书现在已经成为一本经典教科书了,这一版突出介绍了显式并行(数据、线程、请求)的优势,用整整一章来描述每一种类型。数据并行一章尤为夺目:通过向量SIMD、指令级SIMD和GPU的对比,避开每种体系结构的专用术语,揭示了这些体系结构之间的相似与区别。” ——Kunle Olukotun,斯坦福大学
      
      “《计算机体系结构:量化研究方法》(第5版)探讨了各种并行概念和它们各自在不同方面做出的权衡。和过去的几个版本一样,这一新版本中同样涵盖了最新的技术发展趋势。两个重点是个人移动设备(PMD)和仓库级计算(WSC)的爆炸性增长——与原来的性能相比,这里的焦点已经转为寻求在更高层次上达到性能与能效之间的平衡。这些趋势刺激了人们对更强劲处理功能的需求,而这种需求又推动人们在并行道路上走得更远。” ——Andrew N. Sloss, Consultant Engineer, ARM ARM System Developer’s Guide一书的作者
  •     看第三版是因为家里已经有了。因为实在太厚(比乔布斯传还厚),拿起来太不方便,于是在网上寻找电子版。结果找到的大都是第4版的了,也挺好的。
      
      第三版是2002年的,第四版这是2006年出版的。从封面的照片上就可以看出不同了:从一根柱子,变成了一堆柱子。
      
      这真是一本与时俱进的教材。由于书的内容在不断增加,作者把前一版的很多内容放到附录中,并且把附录中的一半部分又都放在了网上。这一版把ISA挪到了附录中,因为作者认为ISA已经不像90年代初那么重要了,从实现方式上讲各种ISA的具体实施已经非常相似了,都是RISC的做法了。主流的处理器实例则选择了AMD Athlon, Intel Pentium4, Itanium 2 和Power 5. 在线程级并行中,则对Sun T1 Niagara做了细致的分析。Cache的优化仍然是主要内容,但加入了虚拟机来表明最新的进展。(也如此得知IBM在虚拟机技术上的领先地位)。
      
      片上多核已经是这一版本的主流了,封面上的一堆柱子也反映了这种趋势。
      
      但是,当我试图通过作者的主页发现更多的进展时,赫然发现,第五版已经在2011年下半年发行了。我也要与时俱进了。
      
  •     最近在关注多核计算机体系结构方面的内容,颇感当年读书不用功,很多基本的东西都忘记了。好在当你读书记住的东西不多,书倒是不少。于是翻箱倒柜的把这本体系结构的圣经给翻了出来。
      
      《计算机体系结构:量化研究方法》不愧是此中的经典,把体系结构层次化的展现出来,同时把各种优化方法也仔细的介绍,更重要的是用量化的方法来评估各种结构优化方法的差异以及适用场景。这种场景对于初学者来说,其方法学的教育意义颇为重要,可以说色奠定了研究的基础。对于我这种补课的人来说,对被研究的细节也可以有更加深入细致的了解。
      
      指令集(ISA)和指令集平行(ILP)是基本的内容,memory的层次结构下最关注的是Cache,线程级别的并行也是提上日程的技术。从实例处理器来说,集中于MIPS R4K, IA-64, P6。Google的集群也有所涉及。
      
      不过第三版是2002年出版的,对于多核的内容实在是比较少,更多的关注与传统的单核体系结构方向。另外,这书也是在是厚了些,一定要上网找本电子版看看。
      
  •     Computer Architecture的另一个名字是Trade-off。看着整个体系结构的发展历程中种种新技术的使用,无不体现了Trade-off的设计思想。硬件一直都是并行工作的,不管是pipeline, out-of-order, superscale, VLIW, Instruction Level Parallelism抑或是现在的Multicore,硬件的发展都是为了追求更优的性能。整本书的阅读过程就像是在经历一次冒险,你会被一个个绝妙的新点子、新技术所深深折服。 为了榨干硬件的每一分性能而不懈努力的一群人,他们被称为Architect。
  •     我只是刚刚开始读, 但是已经明白为什么L1Cache有ICache和DCache之分,为什么有N-way Cache, 为什么Pipeline让CPU更快, CPU的Pipeline的风险以及解决之道... 总之这本书让我大开眼界!
  •     书籍说明
      
      计算机体系结构领域最经典著作
      
      两位作者都是该领域的大牛
      
      特别是附录部分,对计算机硬件的基础知识有一个全面介绍
      
      适合基础不好的同学认真阅读(比如我。。。)
      
      阅读建议
      
      计算机体系结构最经典书籍,适合和第四章结合起来阅读
      
      另外:
      
      还是英文原版比较靠谱。。。
  •     这本书能够很全面的介绍计算机体系结构方面的知识,对于有兴趣在计算机体系结构,编译原理等方面进行发展的学生来说,个人觉得是必看的书。即使你的兴趣不在体系结构这个方面,读这本书对你也会有很大的帮助。
      不过现在已经出到第四版了,建议大家还是参考最新的文献。
  •   白跃彬翻译的实在是烂透了
  •   到底何为架构?各种架构,惑!
  •   我的理解 control flow+data flow
  •   第五版的中文版将在1月中旬上市
  •   图灵即将出版这本书的中文版,一月中旬可上市!http://www.ituring.com.cn/book/888
  •   这本书是Hennessy的经典之作,权威性毋庸置疑。
    该书是第四版最新版,内容“与时俱进”,做了些修正,绝大部分经典内容当然还是做了保留。
    与前一版不同的是,这一版把一些不是基础性的内容收进了光盘之中,这样减小了块头,便于携带和阅读,挺不错的。
    推荐该书的一个在线学习中心:http://bbs.theithome.com/thread-htm-fid-112.html
  •   晕,ls给的学习中心毫无人气呀。。。
  •   我只记得里面的八卦了,看来要重新翻翻才行。
  •   这本书我也大致的浏览了一下,发现还不错,可惜只有英文原版的电子书,狠了一下心就直接读英文的了。
 

250万本中文图书简介、评论、评分,PDF格式免费下载。 第一图书网 手机版

京ICP备13047387号-7