Computer Architecture: A Quantitative Approach

Front Cover
Elsevier, May 29, 2002 - Computers - 1136 pages


This best-selling title, considered for over a decade to be essential reading for every serious student and practitioner of computer design, has been updated throughout to address the most important trends facing computer designers today. In this edition, the authors bring their trademark method of quantitative analysis not only to high performance desktop machine design, but also to the design of embedded and server systems. They have illustrated their principles with designs from all three of these domains, including examples from consumer electronics, multimedia and web technologies, and high performance computing.


The book retains its highly rated features: Fallacies and Pitfalls, which share the hard-won lessons of real designers; Historical Perspectives, which provide a deeper look at computer design history; Putting it all Together, which present a design example that illustrates the principles of the chapter; Worked Examples, which challenge the reader to apply the concepts, theories and methods in smaller scale problems; and Cross-Cutting Issues, which show how the ideas covered in one chapter interact with those presented in others. In addition, a new feature, Another View, presents brief design examples in one of the three domains other than the one chosen for Putting It All Together.


The authors present a new organization of the material as well, reducing the overlap with their other text, Computer Organization and Design: A Hardware/Software Approach 2/e, and offering more in-depth treatment of advanced topics in multithreading, instruction level parallelism, VLIW architectures, memory hierarchies, storage devices and network technologies.


Also new to this edition, is the adoption of the MIPS 64 as the instruction set architecture. In addition to several online appendixes, two new appendixes will be printed in the book: one contains a complete review of the basic concepts of pipelining, the other provides solutions a selection of the exercises. Both will be invaluable to the student or professional learning on her own or in the classroom.


Hennessy and Patterson continue to focus on fundamental techniques for designing real machines and for maximizing their cost/performance.

* Presents state-of-the-art design examples including:
* IA-64 architecture and its first implementation, the Itanium
* Pipeline designs for Pentium III and Pentium IV
* The cluster that runs the Google search engine
* EMC storage systems and their performance
* Sony Playstation 2
* Infiniband, a new storage area and system area network
* SunFire 6800 multiprocessor server and its processor the UltraSPARC III
* Trimedia TM32 media processor and the Transmeta Crusoe processor

* Examines quantitative performance analysis in the commercial server market and the embedded market, as well as the traditional desktop market.
Updates all the examples and figures with the most recent benchmarks, such as SPEC 2000.
* Expands coverage of instruction sets to include descriptions of digital signal processors, media processors, and multimedia extensions to desktop processors.
* Analyzes capacity, cost, and performance of disks over two decades.
Surveys the role of clusters in scientific computing and commercial computing.
* Presents a survey, taxonomy, and the benchmarks of errors and failures in computer systems.
* Presents detailed descriptions of the design of storage systems and of clusters.
* Surveys memory hierarchies in modern microprocessors and the key parameters of modern disks.
* Presents a glossary of networking terms.

 

Contents

2 Instruction Set Principles and Examples
89
3 InstructionLevel Parallelism and Its Dynamic Exploitation
171
4 Exploiting InstructionLevel Parallelism with Software Approaches
303
5 Memory Hierarchy Design
389
6 Multiprocessors and ThreadLevel Parallelism
527
7 Storage Systems
677
8 Interconnection Networks and Clusters
787
Basic and Intermediate Concepts
A-1
The VAX Architecture
B-49
F The IBM 360370 Architecture for Mainframe Computers
B-51
G Vector Processors
B-53
H Computer Arithmetic
B-55
I Implementing Coherence Protocols
B-57
Computer Architecture Definitions Formulas and Rules of Thumb
B-59
Subset of the Instructions in MIPS64
B-61
Hardware Description Notation and some standard C operators
B-62

B Solutions to Selected Exercises
B-1
C A Survey of RISC Architectures for Desktop Server and Embedded Computers
B-45
The Intel 80x86
B-47

Other editions - View all

Common terms and phrases

About the author (2002)

John L. Hennessy is the tenth president of Stanford University, where he has been a member of the faculty since 1977 in the departments of electrical engineering and computer science. Hennessy is a Fellow of the IEEE and ACM; a member of the National Academy of Engineering, the National Academy of Science, and the American Philosophical Society; and a Fellow of the American Academy of Arts and Sciences. Among his many awards are the 2001 Eckert-Mauchly Award for his contributions to RISC technology, the 2001 Seymour Cray Computer Engineering Award, and the 2000 John von Neumann Award, which he shared with David Patterson. He has also received seven honorary doctorates.

David A. Patterson has been teaching computer architecture at the University of California, Berkeley, since joining the faculty in 1977, where he holds the Pardee Chair of Computer Science. His teaching has been honored by the Distinguished Teaching Award from the University of California, the Karlstrom Award from ACM, and the Mulligan Education Medal and Undergraduate Teaching Award from IEEE. Patterson received the IEEE Technical Achievement Award and the ACM Eckert-Mauchly Award for contributions to RISC, and he shared the IEEE Johnson Information Storage Award for contributions to RAID. He also shared the IEEE John von Neumann Medal and the C & C Prize with John Hennessy. Like his co-author, Patterson is a Fellow of the American Academy of Arts and Sciences, the Computer History Museum, ACM, and IEEE, and he was elected to the National Academy of Engineering, the National Academy of Sciences, and the Silicon Valley Engineering Hall of Fame. He served on the Information Technology Advisory Committee to the U.S. President, as chair of the CS division in the Berkeley EECS department, as chair of the Computing Research Association, and as President of ACM. This record led to Distinguished Service Awards from ACM, CRA, and SIGARCH.

Bibliographic information