Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Computer organization and design : the hardware/software interface (5th ed.)
Patterson D., Hennessy J., Morgan Kaufmann Publishers Inc., Waltham, MA, 2014. 800 pp. Type: Book (978-0-124077-26-3)
Date Reviewed: Jul 22 2014

With the advent of the post-personal computer (PC) era, computing systems have been evolving from traditional desktop computers to cloud-based mobile devices. Energy and reliability concepts gain importance as well as performance in modern computer architectures. Due to frequent generational change in computing hardware and requirements, it is not an easy task to explain both basics and state-of-the-art techniques in a single material. However, this book achieves this harmony in its fifth edition (as well as in previous editions). It is the fundamental computer organization book, both as an introduction for readers with no experience in computer architecture topics, and as an up-to-date reference for computer architects. It presents a large spectrum, from the very basics of computers to advanced research topics in computer architecture.

Chapter 1 attracts the reader’s attention with plain and friendly language by talking about the impact of computers in our everyday lives. It introduces basic definitions related to computer systems and explains the main concepts of computer architecture by using a high-level perspective. The chapter presents software abstraction levels and hardware components to build a general view of a complete computer system. Performance and power measurement/comparison metrics are also provided. The authors also introduce parallelism and refer to the related sections throughout the book, which provide a good reference for the reader who wants to jump to parallelism concepts.

In chapter 2, the authors introduce instruction sets and present the details of the chosen MIPS instruction set. The chapter includes both theoretical concepts (arithmetic, memory, logic, branch operations, and number representations) and many practical source code examples. It builds step-by-step content for the instruction set of the MIPS language, and this approach makes the language easier to understand thoroughly, even for a reader with no background in assembly languages.

The authors provide insight into the implementation of binary arithmetic operations on computers in chapter 3. While the chapter presents algorithms and hardware for these operations, it also gives numerical examples for each operation. Floating point representation and related operations are also provided.

The details of processor design based on MIPS implementation is explained in chapter 4. It not only explains the basic single-cycle processor concepts, but also covers complex pipeline design. Datapath design is explained in a step-by-step manner, starting from the basics of logic design to a complete datapath. The complex concept becomes easier and pleasant with this gradual approach. The chapter explains datapath and control details of the pipelining approach, and also describes data and control hazards that cause incorrect computation results.

Chapter 5 presents a summary of memory technologies and details of caches, virtual memory, and memory performance issues. It includes a short section for dependable memory hierarchy to raise the criticality of reliability as well as performance for contemporary architectures.

In chapter 6, the authors draw attention to parallel computer architectures. They start with a classification of parallel systems, and describe the basic concepts of vector processors, shared memory systems, graphics processing units, and clusters. The chapter presents performance results for benchmark applications to reflect the parallel speedup and motivation for parallel systems.

The book includes two appendices. Appendix A presents details of the MIPS assembly language, and Appendix B provides the fundamental logic design background necessary to understand the concepts in the book.

Visual icons offer a quick reference to basic ideas throughout the book. Moreover, each chapter includes “Real Stuff” and “Fallacies and Pitfalls” sections. The former introduces a real computer system that implements the related concepts in the chapter, and the latter explains common misconceptions and mistakes. Real system examples in this edition are mostly updated to the mobile device processor ARM Cortex-A8 and the latest Intel microarchitecture Intel Core i7 (AMD Opteron X4 and Intel Nehalem were used in the previous edition [1]).

This edition’s chapter on parallel processors has been reorganized by adding a discussion about warehouse scale computers and cluster networking, which provides background information related to cloud computing systems. Moreover, a separate chapter on storage and input/output (I/O) is omitted in this edition; instead, the I/O-related concepts have been spread throughout the book. All of the exercises have been updated with more comprehensive and instructive ones.

As an undergraduate student with no background, and later as a more experienced graduate student studying computer architecture, I had enjoyed reading the earlier editions of this book. As I take my first steps as a computer architecture researcher, the same is true for the fifth edition. The language and the presentation of the book make it easier to understand the concepts. The material could be an excellent resource for both naive and experienced readers.

More reviews about this item: Amazon, Goodreads

Reviewer:  Isil Oz Review #: CR142533 (1410-0806)
1) Patterson, D. A.; Hennessy, J. L. Computer organization and design: the hardware/software interface (4th ed.). Morgan Kaufmann, Burlington, MA, 2009.
Bookmark and Share
  Reviewer Selected
 
 
General (C.0 )
 
 
Instruction Set Design (C.0 ... )
 
 
System Architectures (C.0 ... )
 
 
General (B.0 )
 
 
General (D.0 )
 
Would you recommend this review?
yes
no
Other reviews under "General": Date
Structured computer organization (3rd ed.)
Tanenbaum A., Prentice-Hall, Inc., Upper Saddle River, NJ, 1989. Type: Book (9780138546625)
Oct 1 1991
Principles of computer systems
Karam G., Bryant J., Prentice-Hall, Inc., Upper Saddle River, NJ, 1992. Type: Book (9780131594685)
Sep 1 1992
Computer organization
Scragg G., McGraw-Hill, Inc., New York, NY, 1992. Type: Book (9780070558434)
May 1 1994
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy