具体描述
编辑推荐
“本书之所以成为永恒的经典,是因为它的每一次再版都不仅仅是更新补充,而是一次全面的修订,对这个激动人心且快速变化领域给出了最及时的信息和最独到的解读。对于我来说,即使已有二十多年的从业经历,再次阅读本书仍自觉学无止境,感佩于两位卓越大师的渊博学识和深厚功底。”
——Luiz André Barroso,Google公司
内容简介
本书堪称计算机系统结构学科的“圣经”,是计算机设计领域学生和实践者的必读经典。本书系统地介绍了计算机系统的设计基础、存储器层次结构设计、指令级并行及其开发、数据级并行、GPU体系结构、线程级并行和仓库级计算机等。
现今计算机界处于变革之中:移动客户端和云计算正在成为驱动程序设计和硬件创新的主流范型。因此在这个最新版中,作者考虑到这个巨大的变化,重点关注了新的平台(个人移动设备和仓库级计算机)和新的体系结构(多核和GPU),不仅介绍了移动计算和云计算等新内容,还讨论了成本、性能、功耗、可靠性等设计要素。每章都有两个真实例子,一个来源于手机,另一个来源于数据中心,以反映计算机界正在发生的革命性变革。
本书内容丰富,既介绍了当今计算机体系结构的最新研究成果,也引述了许多计算机系统设计开发方面的实践经验。另外,各章结尾还附有大量的习题和参考文献。本书既可以作为高等院校计算机专业高年级本科生和研究生学习“计算机体系结构”课程的教材或参考书,也可供与计算机相关的专业人士学习参考。
本书特色
• 更新相关内容以覆盖移动计算变革,并强调当今体系结构中最重要的两个主题:存储器层次结构和各种并行技术。
• 每章中的“Putting It All Together”小节关注了业界的各种最新技术,包括ARM Cortex-A8、Intel Core i7、NVIDIA GTX-280和GTX-480 GPU,以及一种Google仓库级计算机。
• 每章都设计了常规主题:能力、性能、成本、可依赖性、保护、编程模型和新趋势。
• 书中包括3个附录,另外8个附录可以在原出版社网站在线得到。
• 每章最后都设置了由工业界和学术界专家提供的经过更新的案例研究,以及与之配套的全新练习题。
作者简介
John L. Hennessy 斯坦福大学校长,IEEE和ACM会士,美国国家工程研究院院士及美国科学艺术研究院院士。Hennessy教授因为在RISC技术方面做出了突出贡献而荣获2001年的Eckert-Mauchly奖章,他也是2001年Seymour Cray计算机工程奖得主,并且和本书另外一位作者David A. Patterson分享了2000年John von Neumann奖。
David A. Patterson 加州大学伯克利分校计算机科学系主任、教授,美国国家工程研究院院士,IEEE和ACM会士,曾因成功的启发式教育方法被IEEE授予James H. Mulligan,Jr.教育奖章。他因为对RISC技术的贡献而荣获1995年IEEE技术成就奖,而在RAID技术方面的成就为他赢得了1999年IEEE Reynold Johnson信息存储奖。2000年他和John L. Hennessy分享了John von Neumann奖。
目录信息
Preface
Acknowledgments
Chapter 1 Fundamentals of Quantitative Design and Analysis
1.1 Introduction
1.2 Classes of Computers
1.3 Defining Computer Architecture
1.4 Trends in Technology
1.5 Trends in Power and Energy in Integrated Circuits
1.6 Trends in Cost
1.7 Dependability
1.8 Measuring, Reporting, and Summarizing Performance
1.9 Quantitative Principles of Computer Design
1.10 Putting It All Together: Performance, Price, and Power
1.11 Fallacies and Pitfalls
1.12 Concluding Remarks
1.13 Historical Perspectives and References Case Studies and Exercises by Diana Franklin
Chapter 2 Memory Hierarchy Design
2.1 Introduction
2.2 Ten Advanced Optimizations of Cache Performance
2.3 Memory Technology and Optimizations
2.4 Protection: Virtual Memory and Virtual Machines
2.5 Crosscutting Issues: The Design of Memory Hierarchies
2.6 Putting It All Together: Memory Hierachies in the ARM Cortex-AS and Intel Core i7
2.7 Fallacies and Pitfalls
2.8 Concluding Remarks: Looking Ahead
2.9 Historical Perspective and References Case Studies and Exercises by Norman P. Jouppi, Naveen Muralimanohar, and Sheng Li
Chapter 3 nstruction-Level Parallelism and Its Exploitation
3.1 Instruction-Level Parallelism: Concepts and Challenges
3.2 Basic Compiler Techniques for Exposing ILP
3.3 Reducing Branch Costs with Advanced Branch Prediction
3.4 Overcoming Data Hazards with Dynamic Scheduling
3.5 Dynamic Scheduling: Examples and the Algorithm
3.6 Hardware-Based Speculation
3.7 Exploiting ILP Using Multiple Issue and Static Scheduling
3.8 Exploiting ILP Using Dynamic Scheduling, Multiple Issue, and Speculation
3.9 Advanced Techniques for Instruction Delivery and Speculation
3.10 Studies of the Limitations oflLP
3.11 Cross-Cutting Issues: ILP Approaches and the Memory System
3.12 Multithreading: Exploiting Thread-Level Parallelism to Improve Uniprocessor Throughput
3.13 Putting It All Together: The Intel Core i7 and ARM Cortex-AS
3.14 Fallacies and Pitfalls
3.15 Concluding Remarks: What's Ahead?
3.16 Historical Perspective and References Case Studies and Exercises by Jason D. Bakos and Robert R Colwell
Chapter4 Data-Level Parallelism in Vector, SIMD, and GPU Architectures
4.1 Introduction
4.2 Vector Architecture
4.3 SIMD Instruction Set Extensions for Multimedia
4.4 Graphics Processing Units
4.5 Detecting and Enhancing Loop-Level Parallelism
4.6 Crosscutting Issues
4.7 Putting It All Together: Mobile versus Server GPUS and Tesla versus Core i7
4.8 Fallacies and Pitfalls
4.9 Concluding Remarks
4.10 Historical Perspective and References Case Study and Exercises by Jason D. Bakos
Chapter 5 Thread-Level Parallelism
5.1 Introduction
5.2 Centralized Shared-Memory Architectures
5.3 Performance of Symmetric Shared-Memory Multiprocessors
5.4 Distributed Shared-Memory and Directory-Based Coherence
5.5 Synchronization: The Basics
5.6 Models of Memory Consistency: An Introduction
5.7 Crosscutting Issues
5.8 Putting It All Together: Multicore Processors and Their Performance
5.9 Fallacies and Pitfalls
5.10 Concluding Remarks
5.11 Historical Perspectives and References
Case Studies and Exercises by Amr Zaky and David A. Wood
Chapter 6 Warehouse-Scale Computers to Exploit Request-Level and
Data-Level Parallelism
6.1 Introduction
6.2 Programming Models and'Workloads for Warehouse-Scale Computers
6.3 Computer Architecture of Warehouse-Scale Computers
6.4 Physical Infrastructure and Costs of Warehouse-Scale Computers
6.5 Cloud Computing: The Return of Utility Computing
6.6 Crosscutting Issues
6.7 Putting It All Together: A Google Warehouse-Scale Computer
6.8 Fallacies and Pitfalls
6.9 Concluding Remarks
6.10 Historical Perspectives and References
Case Studies and Exercises by Parthasarathy Ranganathan
Appendix A Instruction Set Principles
A.1 Introduction
A.2 Classifying Instruction Set Architectures
A.3 Memory Addressing
A.4 Type and Size of Operands
A.S Operations in the Instruction Set
A.6 Instructions for Control Flow
A.7 Encoding an Instruction Set
A.8 Crosscutting Issues: The Role of Compilers
A.9 Putting It All Together: The MIPS Architecture
A.10 Fallacies and Pitfalls
A.11 Concluding Remarks
A.12 Historical Perspective and References
Exercises by Gregory D. Peterson
Appendix B Review of Memory Hierarchy
B.1 Introduction
B.2 Cache Performance
B.3 Six Basic Cache Optimizations
B.4 Virtual Memory
B.5 Protection and Examples of Virtual Memory
B.6 Fallacies and Pitfalls
B.7 Concluding Remarks
B.8 Historical Perspective and References
Exercises by Amr Zaky
Appendix C Pipelining: Basic and Intermediate Concepts
C.1 Introduction
C.2 The Major Hurdle of Pipelining--Pipeline Hazards
C.3 How Is Pipelining Implemented?
C,4 What Makes Pipelining Hard to Implement?
C.5 Extending the MIPS Pipeline to Handle Multicycle Operations
C.6 Putting It All Together: The MIPS R4000 Pipeline
C.7 Crosscutting Issues
C.8 Fallacies and Pitfalls
C.9 Concluding Remarks
C.10 Historical Perspective and References
Updated Exercises by Diana Franklin
Online Appendices
Appendix D Storage Systems
Appendix E Embedded Systems
By ThomasM Conte
Appendix F Interconnection Networks
Revised by Timothy M. Pinkston ond Jose Duoto
Appendix G Vector Processors in More Depth
Revised by Krste Asonovic
Appendix H Hardware and Software for VLIW and EPIC
Appendix I Large-Scale Multiprocessors and Scientific Applications
Appendix J Computer Arithmetic
by David Goldberg
Appendix K Survey of Instruction Set Architectures
Appendix L Historical Perspectives and References
References
Index
1.1 Introduction
1.2 Classes of Computers
1.3 Defining Computer Architecture
1.4 Trends in Technology
1.5 Trends in Power and Energy in Integrated Circuits
1.6 Trends in Cost
1.7 Dependability
1.8 Measuring Reporting, and Summarizing Performance
1.9 Quantitative Principles of Computer Design
1.10 Putting It All Together: Performance, Price, and Power
1.11 Fallacies and Pitfalls
1.12 Concluding Remarks
1.13 Historical Perspectives and References
1.14 Case Studies and Exercises by Diana Franklin
· · · · · · (收起)
读后感
为了图速度,就买了中文,太坑了,翻译完全没逻辑,请翻译的老师不要找你的学生翻译这种经典书籍了。还得网上下载原版英文看,更浪费时间,建议直接买英文版,如果英语不太好,那也别买中文版,汉字你是认识,但放在一起,那句子。。。fk 把我整的很凌乱。计算机类的经典书籍建...
北大东门附近交易吧。 第五版,英文版,机械工业出版的,9成新,原价138,80出。 电话:133411267三七 啦啦啊啦啦啦啊啦啦啦啊啦啦啦啊啦 啦啦啊啦啦啦啊啦啦啦啊啦啦啦啊啦啦啦啊啦啦啦啊啦啦啦啊啦啦啦啊啦
书对应的CD资源在这:[https://booksite.elsevier.com/9780123747501/downloads/Resources.zip] 勿需多言,此书让我大开眼界!相见恨晚!截止明年3月,必须啃完! 此版增加了一个新的章节,定制化的架构,因为在特定领域里,定制化的架构比通用架构有更好的性能 此版最大改动是...
为了图速度,就买了中文,太坑了,翻译完全没逻辑,请翻译的老师不要找你的学生翻译这种经典书籍了。还得网上下载原版英文看,更浪费时间,建议直接买英文版,如果英语不太好,那也别买中文版,汉字你是认识,但放在一起,那句子。。。fk 把我整的很凌乱。计算机类的经典书籍建...
Computer Architecture的另一个名字是Trade-off。看着整个体系结构的发展历程中种种新技术的使用,无不体现了Trade-off的设计思想。硬件一直都是并行工作的,不管是pipeline, out-of-order, superscale, VLIW, Instruction Level Parallelism抑或是现在的Multicore,硬件的发展...
用户评价
这本书的深度和广度都远超出了我的预期。初读时,我以为这只是对基础概念的简单罗列,但随着阅读的深入,我发现作者巧妙地将复杂的理论与实际应用场景紧密结合起来。特别是关于指令集设计那几章,作者不仅清晰地阐述了RISC和CISC的哲学差异,还用生动的案例展示了现代处理器如何通过流水线和乱序执行来优化性能。我尤其欣赏作者在处理存储层次结构时的细致入微,从L1缓存的组织方式到虚拟内存的管理机制,每一个细节都被剖析得淋漓尽致,让我对数据如何在CPU和内存之间高效流转有了全新的认识。对于那些想要从应用层面跃升到系统底层思考的工程师来说,这本书无疑是一份宝贵的参考资料,它提供了一种自底向上理解计算系统的视角,远非市面上那些只停留在“是什么”的教材可比拟。那种豁然开朗的感觉,只有真正沉浸其中才能体会到。
这本书的结构安排是极其精妙的,它采用了自上而下的方式逐步深入,使得知识点的递进显得水到渠成。开篇没有立刻陷入晶体管和逻辑门,而是从一个宏观的“计算模型”视角切入,定义了我们研究的对象和目标。随后,内容稳步过渡到指令集架构(ISA),再到数据通路和控制单元,每一步的衔接都非常自然,避免了早期技术书籍常有的那种突兀感。这种渐进式的复杂性提升,极大地帮助我梳理了知识体系的框架。我发现,读完这本书后,当我看到任何新的硬件技术新闻或论文时,我不再是茫然无知,而是能够迅速将其放置到已建立的框架中去理解其创新点和潜在影响,这本书为我提供了一个强健的分析“脚手架”。
这本书的叙事节奏非常引人入胜,完全不像一本技术专著,更像是一部探索计算奥秘的编年史。作者仿佛是一位经验丰富的向导,带领我们穿越了从早期冯·诺依曼结构到最新多核并行处理的漫长技术演进之路。我特别喜欢其中穿插的历史花絮和关键人物的故事,这些不仅丰富了文本的趣味性,更重要的是,它们解释了为什么今天的体系结构会呈现出现在的形态,而不是其他可能的路径。这种基于历史背景的解释,让抽象的逻辑和硬件约束变得有血有肉,极大地降低了初学者的理解门槛。读完后,我对处理器的演变脉络有了清晰的认知,明白了性能提升背后的驱动力和取舍,这种对“为什么会这样”的深刻理解,是单纯记忆规格参数无法获得的宝贵财富。
我向来对那些只谈论抽象概念而缺乏实际案例支撑的书籍感到厌倦,而这本著作在这方面做得极为出色。它不仅仅停留在理论层面,而是将每一种架构特性——无论是缓存一致性协议还是分支预测算法——都对应到业界主流处理器(如 x86 或 ARM)的具体实现上。书中附带的那些代码片段和性能测试场景,虽然不是完整的仿真环境,却足以让人在脑海中构建起一个运行中的微观世界。最让我印象深刻的是对系统级抽象的讨论,作者没有将软硬件视为泾渭分明的两个领域,而是展示了它们如何通过特权级、中断机制等相互作用。这对于系统程序员来说至关重要,它填补了操作系统课程和硬件课程之间的知识鸿沟,使得整套知识体系更加闭合和自洽。
坦白说,这本书的理论深度颇具挑战性,但正是这份难度,才使得它在众多入门读物中脱颖而出。它并没有回避那些晦涩难懂的数学模型和性能分析公式,反而直面它们,并提供了详尽的推导过程。我花了大量时间去啃食关于功耗管理和并行编程模型的部分,作者对能效比(Performance per Watt)的分析尤为透彻,展示了在移动计算时代,设计决策如何从单纯追求速度转向追求效率。对于那些希望深入研究编译器优化或硬件加速器设计的读者,书中提供的那些底层细节是必不可少的基石。虽然阅读过程需要反复查阅和演算,但每攻克一个难点,带来的成就感和知识积累是无可替代的,它真正教会了我如何用科学、量化的方法去评估一个计算系统的优劣。
一刷
北大CS研究生教材
这本书是普林斯顿大学EECS Computer Architecture这门课的标准教材,我当年去听过这门课,非常棒,学透的话对于CS科研和从业非常有帮助。
北大CS研究生教材
中英文的间杂着看,中文的太多瑕疵了,勘误了一堆。看了一部分只有,应试。