Computer Organization and Design

4th Edition

The Hardware/Software Interface

Editors:

  • David Patterson
  • John Hennessy
  • Description

    This Fourth Revised Edition of Computer Organization and Design includes a complete set of updated and new exercises, along with improvements and changes suggested by instructors and students. Focusing on the revolutionary change taking place in industry today--the switch from uniprocessor to multicore microprocessors--this classic textbook has a modern and up-to-date focus on parallelism in all its forms. Examples highlighting multicore and GPU processor designs are supported with performance and benchmarking data. As with previous editions, a MIPS processor is the core used to present the fundamentals of hardware technologies, assembly language, computer arithmetic, pipelining, memory hierarchies and I/O. Sections on the ARM and x86 architectures are also included.

    All disc-based content for this title is now available on the Web.

    Key Features

    • This Revised Fourth Edition of Computer Organization and Design has been updated with new exercises and improvements throughout suggested by instructors teaching from the book
    • Covers the revolutionary change from sequential to parallel computing, with a chapter on parallelism and sections in every chapter highlighting parallel hardware and software topics
    • Includes an appendix by the Chief Scientist and the Director of Architecture of NVIDIA covering the emergence and importance of the modern GPU, describing in detail for the first time the highly parallel, highly multithreaded multiprocessor optimized for visual computing
    • The companion CD provides a toolkit of simulators and compilers along with tutorials for using them, as well as advanced content for further study and a search utility for finding content on the CD and in the printed text. For the convenience of readers who have purchased an ebook edition or who may have misplaced the CD-ROM, all CD content is available as a download at bit.ly/nFXcLq

    Readership

    Professional digital system designers, programmers, application developers, and system software developers. Undergraduate students in Computer Science, Computer Engineering and Electrical Engineering courses in Computer Organization, Computer Design, ranging from Sophomore required courses to Senior Electives

    Table of Contents

    MIPS Reference Data

    In Praise of Computer Organization and Design The HardwareSoftware Interface Revised Fourth Edition

    Acknowledgments

    Dedication

    Preface

    1. Computer Abstractions and Technology

    1.1 Introduction

    1.2 Below Your Program

    1.3 Under the Covers

    1.4 Performance

    1.5 The Power Wall

    1.6 The Sea Change: The Switch from Uniprocessors to Multiprocessors

    1.7 Real Stuff: Manufacturing and Benchmarking the AMD Opteron X4

    1.8 Fallacies and Pitfalls

    1.9 Concluding Remarks

    Historical Perspective and Further Reading

    1.11 Exercises

    2. Instructions

    2.1 Introduction

    2.2 Operations of the Computer Hardware

    2.3 Operands of the Computer Hardware

    2.4 Signed and Unsigned Numbers

    2.5 Representing Instructions in the Computer

    2.6 Logical Operations

    2.7 Instructions for Making Decisions

    2.8 Supporting Procedures in Computer Hardware

    2.9 Communicating with People

    2.10 MIPS Addressing for 32-bit Immediates and Addresses

    2.11 Parallelism and Instructions: Synchronization

    2.12 Translating and Starting a Program

    2.13 A C Sort Example to Put It All Together

    2.14 Arrays versus Pointers

    Advanced Material: Compiling C and Interpreting Java

    2.16 Real Stuff: ARM Instructions

    2.17 Real Stuff: x86 Instructions

    2.18 Fallacies and Pitfalls

    2.19 Concluding Remarks

    Historical Perspective and Further Reading Historical Perspective and Further Reading

    2.21 Exercises

    3. Arithmetic for Computers

    3.1 Introduction

    3.2 Addition and Subtraction

    3.3 Multiplication

    3.4 Division

    3.5 Floating Point

    3.6 Parallelism and Computer Arithmetic: Associativity

    3.7 Real Stuff: Floating Point in the x86

    3.8 Fallacies and Pitfalls

    3.9 Concluding Remarks

    Historical Perspective

    Details

    No. of pages:
    914
    Language:
    English
    Copyright:
    © 2012
    Published:
    Imprint:
    Morgan Kaufmann
    Print ISBN:
    9780123747501
    Electronic ISBN:
    9780080886138

    About the editors

    David Patterson

    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.

    John Hennessy

    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.

    Reviews

    "The new coverage of multiprocessors and parallelism lives up to the standards of this well-written classic. It provides well-motivated, gentle introductions to the new topics, as well as many details and examples drawn from curent hardware." -- John Greiner, Rice University

    "Patterson and Hennessy not only improve the pedagogy of the traditional material on pipelined processors and memory hierarchies, but also greatly expand the multiprocessor coverage to include emerging multicore processors and GPUs. Computer Organization and Design sets a new benchmark against which all other architecture books must be compared." -- David A. Wood, University of Wisconsin-Madison

    "Intended for computer science students and programmers of varied experience levels, this textbook on computer design and engineering provides a firm foundation in hardware engineering and computer architecture that will aid readers not only in working with hardware design and assembly language programming, but inform software engineers as to the underlying technologies and principles at work in machines they program for. Topics discussed include computer abstractions and technologies, instructions as to the language of computer hardware, arithmetic for computers, processors, memory hierarchies, storage and I/O, and multicores and multiprocessors. A series of appendices offers detailed information on graphics and GPU processes. Chapters include numerous illustrations and code examples and an accompanying CD-ROM provides additional chapters and other resources. This fourth edition is updated to account for the latest technological improvements."--Reference and Research Book News, Inc.

    "This book, now in its fourth edition, is a comprehensive introduction to modern computer architecture and is aimed at a variety of audiences with backgrounds in either hardware or software…While there is a great deal of technical content,