This textbook provides a basic introduction to the fundamentals of current computer designs. As the title suggests, the text skirts the border between hardware and software. After an overview of the subject and a discussion of performance, the book launches into technical matter such as instruction sets, how they are constrained by the underlying processor hardware, the constraints on their design, and more. An excellent critique of computer arithmetic methods leads to a high-level discussion on processor design. Following is a great introduction to pipelining, nice coverage of memory issues, and solid attention to peripherals. The book concludes with a brief discussion of the additional issues inherent in multiprocessing machines. The extremely lucid description is grounded in real-world examples. Interesting exercises help reinforce the material, and each section contains a write-up of the historical background of each idea. Computer Organization and Design is accessible to the beginner, but also offers plenty of valuable knowledge for experienced engineers.
Book Description
The classic introduction to the field for all computer scientists and engineers, by the authors of the best-selling advanced computer architecture book, Computer Architecture: A Quantitative Approach. Features: * Presents the fundamentals of organization for all the subfields of computing. * Based on a RISC architecture to teach readers the basics of an instruction set and of assembly-language programming. * Emphasizes the relationship between hardware and software focusing on the concepts that are the basis for modern computing.
From Book News, Inc.
An introduction to the field for students in software and hardware design, emphasizing the relationships between software and hardware. Presents each idea from its first principles, adding complexity through a series of worked examples and solutions, with coverage of the MIPS instruction set, fundamentals of assembly language, computer arithmetic, pipelining, and memory hierarchies. Discusses design, performance, and significance of I/O systems, and emerging architectures of multiprocessor systems. Each chapter includes sections on examples (new to this edition), fallacies and pitfalls, and history of the field, plus exercises and key terms. Layout is attractive and readable. Assumes beginning courses in programming. Book News, Inc.®, Portland, OR
Review
"This book trains the student with the concepts needed to lay a solid foundation for joining this exciting field. More importantly, this book provides a framework for thinking about computer organization and design that will enable the reader to continue the lifetime of learning necessary for staying at the forefront of this competitive discipline."
John Crawford, Intel Fellow, Director of Microprocessor Architecture, Intel
Review
"This book trains the student with the concepts needed to lay a solid foundation for joining this exciting field. More importantly, this book provides a framework for thinking about computer organization and design that will enable the reader to continue the lifetime of learning necessary for staying at the forefront of this competitive discipline."
John Crawford, Intel Fellow, Director of Microprocessor Architecture, Intel
Book Description
The performance of software systems is dramatically affected by how well software designers understand the basic hardware technologies at work in a system. Similarly, hardware designers must understand the far reaching effects their design decisions have on software applications. For readers in either category, this classic introduction to the field provides a deep look into the computer. It demonstrates the relationship between the software and hardware and focuses on the foundational concepts that are the basis for current computer design.
Using a distinctive "learning by evolution" approach the authors present each idea from its first principles, guiding readers through a series of worked examples that incrementally add more complex instructions until they have acquired an understanding of the entire MIPS instruction set and the fundamentals of assembly language. Computer arithmetic, pipelining, and memory hierarchies are treated to the same evolutionary approach with worked examples and incremental drawings supporting each new level of sophistication. The design, performance, and significance of I/O systems is also discussed in depth, and an entire chapter is devoted to the emerging architectures of multiprocessor systems.
* Real Stuff provides relevant, tangible examples of how the concepts from the chapter are implemented in commercially successful products.
* Fallacies and Pitfalls share the hard-won lessons of the authors and other designers in industry.
* Big Pictures allow the reader to keep major insights in focus while studying the details.
* Key terms, all fully defined in an end-of-book glossary, summarize the essential ideas introduced in the chapter.
From the Back Cover
"This book trains the student with the concepts needed to lay a solid foundation for joining this exciting field. More importantly, this book provides a framework for thinking about computer organization and design that will enable the reader to continue the lifetime of learning necessary for staying at the forefront of this competitive discipline."
--John Crawford
Intel Fellow
Director of Microprocessor Architecture, Intel
The performance of software systems is dramatically affected by how well software designers understand the basic hardware technologies at work in a system. Similarly, hardware designers must understand the far reaching effects their design decisions have on software applications. For readers in either category, this classic introduction to the field provides a deep look into the computer. It demonstrates the relationship between the software and hardware and focuses on the foundational concepts that are the basis for current computer design.
Using a distinctive "learning by evolution" approach the authors present each idea from its first principles, guiding readers through a series of worked examples that incrementally add more complex instructions until they have acquired an understanding of the entire MIPS instruction set and the fundamentals of assembly language. Computer arithmetic, pipelining, and memory hierarchies are treated to the same evolutionary approach with worked examples and incremental drawings supporting each new level of sophistication. The design, performance, and significance of I/O systems is also discussed in depth, and an entire chapter is devoted to the emerging architectures of multiprocessor systems.
Special features in each chapter
Real Stuff provides relevant, tangible examples of how the concepts from the chapter are implemented in commercially successful products.
Fallacies and Pitfalls share the hard-won lessons of the authors and other designers in industry.
Big Pictures allow the reader to keep major insights in focus while studying the details.
Key terms, all fully defined in an end-of-book glossary, summarize the essential ideas introduced in the chapter.
Instructors are invited to request an examination copy.
About the Author
John L. Hennessy teaches computer architecture at Stanford University, where he has been a member of the faculty since 1977. He is currently Dean of the School of Engineering and the Frederick Emmons Terman Professor of Engineering. Hennessy is a fellow of the IEEE and ACM, a member of the National Academy of Engineering, and a fellow of the American Academy of Arts and Sciences. He received the 1994 IEEE Piore Award for his contributions to the development of RISC technology. Hennessy's original research group at Stanford developed several of the techniques now in commercial use for optimizing compilers. In 1981, he started the MIPS project at Stanford with a handful of graduate students. After completing the project in 1984, he took a one-year leave from the university to co-found MIPS Computer Systems, which developed one of the first commercial RISC microprocessors. After being acquired by Silicon Graphics in 1991, MIPS Technologies became an independent company in 1998, focusing on microprocessors for the embedded marketplace. As of 1998, over 100 million MIPS microprocessors have been shipped in devices ranging from video games and palmtop computers to laser printers and network switches. Hennessy's recent research at Stanford focuses on the area of designing and exploiting multiprocessors. Recently, he has been involved in the development of the DASH multiprocessor architecture, the first distributed shared-memory multiprocessors supporting cache coherency, and the basis for several commercial multiprocessor designs. David A. Patterson (University of California at Berkeley) has been teaching computer architecture at the University of California, Berkeley, since joining the faculty in 1977, and he holds the Pardee Chair of Computer Science. His teaching has been honored by the ACM, the IEEE, and the University of California. Patterson has also received the 1995 IEEE Technical Achievement Award for contributions to RISC and the 1999 IEEE Reynold B. Johnson Information Storage Award for contributions to RAID. He is a member of the National Academy of Engineering and is a fellow of both the ACM and the IEEE. In the past, he has been chair of the CS division in the EECS department at Berkeley, the ACM SIG in computer architecture, and the Computing Research Association. At Berkeley, Patterson led the design and implementation of RISC I, likely the first VLSI Reduced Instruction Set Computer. This research became the foundation of the SPARC architecture, currently used by Sun Microsystems, Fujitsu, and others. He was also a leader of the Redundant Arrays of Inexpensive Disks (RAID) project, which led to high-performance storage systems from many companies. These projects earned three dissertation awards from the ACM. His current research interests are in building novel microprocessors using Intelligent DRAM (IRAM) and he currently consults for Sun, where he holds the title of Chief Scientist of the Network Attached Storage Division.
Computer Organization and Design Second Edition: The Hardware/Software Interface ANNOTATION
The prior edition of this text is a computer science classic, and now has been updated to reflect the rapid evolution of software and hardware trends, concepts, issues and technologies. Although this is an undergraduate CS text, it's not an introductory one. It lays a solid foundation for the student, then plumbs the boundary between hardware and software as described and defined by architecture specifications, computer design principles, and best described in the author's words, "...where compilation (in software) ends and interpretation (in hardware) begins." The book discusses concepts of computer abstraction, technology, and performance issues. It initiates the process of "learning by evolution" of assembly language instructions and numbers, datapath and control concepts, pipelining and performance enhancement.
FROM THE PUBLISHER
Hennessy's original research area was optimizing compilers. His research group at Stanford developed many of the techniques now in commercial use. In 1981, Hennessy started the MIPS project at Stanford with a handful of graduate students. After completing the project in 1984, he took a one-year sabbatical to co-found MIPS Computer Systems, which has since merged with Silicon Graphics. The RISC architecture developed at MIPS has been utilized by a number of companies including DEC, NEC, Siemens, Silicon Graphics, and Tandem. Hennessy's current research at Stanford focuses on the area of designing and exploiting multiprocessors. Most recently, he has been involved in the development of the DASH multiprocessor architecture.
FROM THE CRITICS
Booknews
An introduction to the field for students in software and hardware design, emphasizing the relationships between software and hardware. Presents each idea from its first principles, adding complexity through a series of worked examples and solutions, with coverage of the MIPS instruction set, fundamentals of assembly language, computer arithmetic, pipelining, and memory hierarchies. Discusses design, performance, and significance of I/O systems, and emerging architectures of multiprocessor systems. Each chapter includes sections on examples (new to this edition), fallacies and pitfalls, and history of the field, plus exercises and key terms. Layout is attractive and readable. Assumes beginning courses in programming. Annotation c. by Book News, Inc., Portland, Or.