Computer Organization and Design, Third Edition and over one million other books are available for Amazon Kindle. Learn more

Kindle Edition
 
   
Have one to sell? Sell yours here
Computer Organization and Design, Third Edition: The Hardware/Software Interface, Third Edition (The Morgan Kaufmann Series in Computer Architecture and Design)
 
 
Start reading Computer Organization and Design, Third Edition on your Kindle in under a minute.

Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.

Computer Organization and Design, Third Edition: The Hardware/Software Interface, Third Edition (The Morgan Kaufmann Series in Computer Architecture and Design) [Paperback]

David A. Patterson (Author), John L. Hennessy (Author)
4.0 out of 5 stars  See all reviews (41 customer reviews)


Available from these sellers.


Textbook Student FREE Two-Day Shipping for Students. Learn more

Formats

Amazon Price New from Used from
Kindle Edition $45.49  
Paperback --  
Paperback, August 16, 2004 --  

Book Description

1558606041 978-1558606043 August 16, 2004 3
A revised printing for this book will be available in June 2007!

What's New in the Third Edition, Revised Printing

The same great book gets better! The revised printing features all of the original content along with these additional features:

. Appendix A (Assemblers, Linkers, and the SPIM Simulator) has been moved from the CD-ROM into the printed book

. Corrections and bug fixes

Click here to request a desk copy of the revised printing!

About the Third Edition

In addition to thoroughly updating every aspect of the text to reflect the most current computing technology, the third edition

*Uses standard 32-bit MIPS 32 as the primary teaching ISA.
*Presents the assembler-to-HLL translations in both C and Java.
*Highlights the latest developments in architecture in Real Stuff sections:

+ Intel IA-32
+ Power PC 604
+ Google's PC cluster
+ Pentium P4
+ SPEC CPU2000 benchmark suite for processors
+ SPEC Web99 benchmark for web servers
+ EEMBC benchmark for embedded systems
+ AMD Opteron memory hierarchy
+ AMD vs. 1A-64


New support for distinct course goals

Many of the adopters who have used our book throughout its two editions are refining their courses with a greater hardware or software focus. We have provided new material to support these course goals:

New material to support a Hardware Focus

+Using logic design conventions
+Designing with hardware description languages
+Advanced pipelining
+Designing with FPGAs
+HDL simulators and tutorials
+Xilinx CAD tools

New material to support a Software Focus

+How compilers Work
+How to optimize compilers
+How to implement object oriented languages
+MIPS simulator and tutorial
+History sections on programming languages, compilers, operating systems and databases

What's New in the Third Edition

New pedagogical features

Understanding Program Performance
-Analyzes key performance issues from the programmer's perspective

Check Yourself Questions
-Helps students assess their understanding of key points of a section

Computers In the Real World
-Illustrates the diversity of applications of computing technology beyond traditional desktop and servers

For More Practice
-Provides students with additional problems they can tackle

In More Depth
-Presents new information and challenging exercises for the advanced student


New reference features

Highlighted glossary terms and definitions appear on the book page, as bold-faced entries in the index, and as a separate and searchable reference on the CD.

A complete index of the material in the book and on the CD appears in the printed index and the CD includes a fully searchable version of the same index.

Historical Perspectives and Further Readings have been updated and expanded to include the history of software R&D.

CD-Library provides materials collected from the web which directly support the text.

On the CD

CD-Bars: Full length sections that are introduced in the book and presented on the CD

CD-Appendixes: The entire set of appendixes

CD-Library: Materials collected from the web which directly support the text

CD-Exercises: For More Practice provides exercises and solutions for self-study
In More Depth presents new information and challenging exercises for the advanced or curious student

Glossary: Terms that are defined in the text are collected in this searchable reference

Further Reading: References are organized by the chapter they support

Software: HDL simulators, MIPS simulators, and FPGA design tools

Tutorials: SPIM, Verilog, and VHDL

Additional Support: Processor Models, Labs, Homeworks, Index covering the book and CD contents

Instructor Support

+ Instructor Support is provided in a password-protected site to adopters who request the password from our sales representative
+ Solutions to all the exercises
+ Figures from the book in a number of formats
+ Lecture slides prepared by the authors and other instructors
+ Lecture notes

System Requirements
Operating System
Most of the content on this CD can be used under any operating system that includes an HTML browser and a PDF viewer. This includes Windows 98 or later, Mac OS 9 and OS X, and most Linux and Unix systems. Some contributed software on this CD is operating system specific. See the installation instructions on the Software page for details.

HTML Browser
The navigation framework and some of the content on this CD is delivered in HTML and JavaScript. It is recommended that you install the latest version of your favorite HTML browser to view this CD. The content has been verified under Windows 2000 with the following browsers:
Internet Explorer 6.0, Mozilla 1.6, Netscape 7.1, Opera 7.23. Under Mac OS X with the following browsers: Internet Explorer 5.2.3, Mozilla 1.6 , Netscape 7.1, Safari 1.2. And under Mandrake Linux with the following browser:
Galeon 1.3.8.

The content is designed to be viewed in a browser window that is at least 720 pixels wide. You may find the content does not display well if your display is not set to at least 1024x768 pixel resolution.

PDF Viewer
The CD material includes PDF documents that you can read with a PDF viewer such as Adobe® Acrobat® or Adobe Reader®. Recent versions of Adobe Reader for supported platforms are included on the CD. Visit the Adobe Reader home page for more information.

Browser Plugins
Some of the material on this CD makes use of Flash® animations. To view this material, you will need to have Macromedia® Flash Player installed. You can install the Shockwave® Player (which includes Flash) on Windows and Macintosh from this CD. Visit the Macromedia homepage for more information. Note that recent versions of some browsers, including Internet Explorer, Netscape, and AOL, already incorporate Flash Player.

Some of the material on this CD contains photographic panoramas that can only be viewed with the iseemedia Zoom Viewer browser plugin on Windows and Mac OS 9 platforms. Visit iseemedia's website for download instructions.

For instructor resources click on the grey "companion site" button found on the right side of this page.
This new edition represents a major revision.
New to this edition:

* Entire Text has been updated to reflect new technology
* 70% new exercises.
* Includes a CD loaded with software, projects and exercises to support courses using a number of tools
* A new interior design presents defined terms in the margin for quick reference
* A new feature, "Understanding Program Performance" focuses on performance from the programmer's perspective
* Two sets of exercises and solutions, "For More Practice" and "In More Depth," are included on the CD
* "Check Yourself" questions help students check their understanding of major concepts
* "Computers In the Real World" feature illustrates the diversity of uses for information technology
*More detail below...


Editorial Reviews

Review

"The choice of 'Real Stuff' is judicious. The 'Computers in the Real World' sections are interesting to read and should widen the horizons of the too often too tech-oriented Sophomores and Juniors. On the whole this is a very solid book and the success of the third edition is assured as has been the success of its two predecessors."
-Jean-Loup Baer, University of Washington

"I am very impressed with the new sections 'Computers in the Real World.' It is very interesting and speaks to the students who would like to feel a connection between classroom materials and real-world applications. I am very pleased with the manuscript for the third edition. This revision is well-updated and a comprehensive introduction to the hardware and software fundamentals."
-David Brooks, Harvard University

"The logical development and explanations and examples were always great to begin with. The 'Historical Perspectives' have become even better-- they are part of the book that I enjoy most."
-David Harris, Harvey Mudd

Book Description

A thourough update of the Morgan Kaufmann classic.

Product Details

  • Paperback: 656 pages
  • Publisher: Morgan Kaufmann; 3 edition (August 16, 2004)
  • Language: English
  • ISBN-10: 1558606041
  • ISBN-13: 978-1558606043
  • Product Dimensions: 9 x 8 x 1.1 inches
  • Shipping Weight: 3 pounds
  • Average Customer Review: 4.0 out of 5 stars  See all reviews (41 customer reviews)
  • Amazon Best Sellers Rank: #380,925 in Books (See Top 100 in Books)

 

Customer Reviews

41 Reviews
5 star:
 (20)
4 star:
 (9)
3 star:
 (6)
2 star:
 (2)
1 star:
 (4)
 
 
 
 
 
Average Customer Review
4.0 out of 5 stars (41 customer reviews)
 
 
 
 
Share your thoughts with other customers:
Most Helpful Customer Reviews

96 of 101 people found the following review helpful:
4.0 out of 5 stars Very Informative, But Has Many Editing Problems, March 18, 2005
This review is from: Computer Organization and Design, Third Edition: The Hardware/Software Interface, Third Edition (The Morgan Kaufmann Series in Computer Architecture and Design) (Paperback)
This is a tough book to review. On one hand, it's got an amazing amount of information in it. On the other, it's got a lot of editing problems. It also suffers from a lack of focus on who its audience is. So, splitting the difference, I'm rating this book at 4 stars out of 5.

Regarding the book's audience, it's vital that you pay attention to the chart on page xiii of the Preface. It maps your path through the book based on whether you're a software-type or a hardware-type. Assuming I was so brilliant that I could ignore such trivia, I attempted to plow my way through the whole book. Software-type that I am, I had some tough times in a couple of sections and then utterly failed to understand anything when I hit the core of Chapter 5. If I had paid attention to that chart, I would have known to skip that part of the book. However, even for the material that's within the path laid out for you by that chart, a lot of the work seems to assume knowledge on the part of the reader. For instance:

- Chapter 2 is about the MIPS assembly language. In the exercises, you're supposed to write various code snippets. Many of these snippets assume far more familiarity with writing entire assembly programs than is presented.
- The exercises at the end of each chapter are broken into three types: regular, "For More Practice," and "In More Depth." Those last two types require far more knowledge than is presented. It looks like the authors culled them from previous editions and, instead of trashing them, just stuck them on the CD and referenced them.
- Exercise 3.9 is annotated as requiring Section 3.2. But, unless you're very familiar with the implementation of MIPS assembly language, there's no way that someone using the material in that section alone could do the problem.
- Exercise 3.13 is annotated as requiring Section 3.3. Yet, the question is completely undoable unless you've at least read Appendix B. Of course, Appendix B, itself, is practically indecipherable unless you've had previous experience/knowledge with Logic Design.
- Exercises 7.21, 7.22 and 7.38 talk about "the first 1 million references in a trace of gcc." The book contains no definition of what that means. Those questions also mention the cache simulator "dinero" and say, "see the Preface of this book for information on how to obtain them." There's no such information in the Preface or on the CD. The CD does have MipsIt software which includes a cache simulator, but it doesn't seem to work reliably on my XP SP2 system (it also doesn't seem to accept those "traces" as input). That could be operator error, though. Doing a Google search pointed me to max.stanford.edu as a source of the software and traces. But, it seems you have to have a Linux system (or be smarter than me) to use them.
- Exercise 7.35 gives a C code snippet and asks you to calculate the expected cache miss rate. There's nothing in the book about calculating expected miss rates from algorithms. Also, the exercise is assigned partially against section 7.4. Section 7.4 covers virtual memory, not caches.
- Most of the Chapter 8 exercises are mis-referenced (i.e., they're labeled as being associated with certain sections of the chapter which have nothing to do with the question). Along with the standard problem of assuming knowledge that's not covered in the book, many of them teach new information instead of testing/re-enforcing comprehension of the provided material.

There are many incorrect page number and section number references in the book. This is especially bad in the exercises where it becomes impossible to do certain ones since the code and data they're referencing isn't findable (at least easily). This problem does seem to get better as you get to the later chapters. There are also problems with basic typography. Some examples:

- Exercise 3.29 wants the reader to come up with a non-restoring division algorithm based on the restoring division algorithm in Figure 3.11 on page 185. The figure and page numbers are right, but the text of the question refers to "step 3b" and "restoring the Remainder" that aren't present there. So, there's no way to figure out what the authors are doing or what they want the reader to do in the exercise.
- Many of the tables and diagrams in the book use "color" to help indicate something important. Unfortunately, the color used is dark blue. Unless you look very carefully, there's no difference between the regular text/line color (black) and the "emphasized" version.
- The text description of Figure 7.31 on page 544 mentions labeled sections that show differences in performance based on cache associativity. The labels are missing.
- Exercise 7.45 gives you a C snippet that you're supposed to document. It contains "!!" as an operator. C has no such operator. My guess is it's either a logical AND, "&&", or a logical OR, "||".

Also, the chapters are WAY too long and there are no exercises following the sections. For instance, Chapter 2 is 100 pages long over 20 sections. All the exercises (59 of them) are clumped together in the back of the chapter. The authors note the necessary section numbers with these exercises, but each section needs its own set of exercises immediately following it. This would also alleviate the problem where the authors have the wrong section numbers assigned to exercises. If these exercises were at the end of a section instead of clumped with 60 other exercises at the back of the chapter, they'd stand out more if they didn't belong.

And, finally, the book needs answers to the questions.

As an aside, this book is used in Florida State University's (FSU) CDA 3101: Computer Organization course.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


16 of 18 people found the following review helpful:
2.0 out of 5 stars Good information; poor presentation, November 26, 2006
By 
Christopher D. Smith (Colorado Springs, CO) - See all my reviews
(REAL NAME)   
This review is from: Computer Organization and Design, Third Edition: The Hardware/Software Interface, Third Edition (The Morgan Kaufmann Series in Computer Architecture and Design) (Paperback)
The information contained in this book is sound, and the coverage of a variety of topics is relatively thorough. It is, however, difficult to appreciate these strengths given the numerous flaws in the text. Minor flaws include numerous misleading typographical errors, and too little attention to the flow of information.

The big mistake, though, is the failure to publish a complete book. If you want to learn from this book, then you will need to spend a good bit of time either sitting at a computer reading, or printing out the PDF files on the accompanying CD. The appendices (which are not extraneous, but rather a fundamental part of the text which contain information that's referred to throughout the book) are included ONLY on the accompanying CD. For more than 50% of the review exercises are just references to PDF files. The contents of the CD are not available from the publisher's web site. Do NOT buy a used copy of this book that's missing the accompanying CD. If you like taking books with you to read away from the office, don't buy this book at all. You'll spend too much effort wondering why the printer felt the need to offload a good bit of the printing work onto you. All of this is made even less tolerable by the poor information flow, which will leave you needing to make reference to the appendices many times throughout virtually all other chapters of the book.

It's possible that a future edition may fix these issues. Until then, there have to be better ways to learn.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


9 of 10 people found the following review helpful:
5.0 out of 5 stars Good technical introduction to computer organization topics, March 16, 2005
By 
Jose Portillo (Caracas, Venezuela) - See all my reviews
(REAL NAME)   
This review is from: Computer Organization and Design, Third Edition: The Hardware/Software Interface, Third Edition (The Morgan Kaufmann Series in Computer Architecture and Design) (Paperback)
I use this book as a reference in my technical writing.
I recommend this book to everyone who have a basic Assembly Language programming background and want to understand everything behind the Machine Language Operation Codes decoding process.

The authors build from scratch (and you learn from scratch):

* How to build a complete Arithmetic and Logic (ALU) Unit
- Basic Logic Gates processing
- more advanced topics as Ripple Carry

* How to build a complete Control Unit to guide the ALU Operation
- Microprogramming vs. Hardwired Control Implementation

* Assembly language examples for programming the Control Unit

It is a good Technical Book in this area.

Complement the study of this book with the Assembly Language Programming presented in the book "The Art of Computing Programming", Volume 1 by Donald Knuth (also, if you need more application examples of low level programming, review Volume 3 "Sorting and Searching"). This is a very good study track.

Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No

Share your thoughts with other customers: Create your own review
 
 
 
Most Recent Customer Reviews











Only search this product's reviews



Inside This Book (learn more)
Key Phrases - Statistically Improbable Phrases (SIPs): (learn more)
multicycle datapath, multicycle implementation, assembly language add add, sequential word addresses, write register number, funct field, multicycle control, immediate andi, five classic components, hazard detection unit, multicycle design, sign extension unit, laundry analogy, page table register, spilled registers, three register operands, advanced pipelining, local miss rate, load word instruction, logical sll, dynamic pipeline scheduling, bus clock cycles, associative placement, equal beq, associativity decreases
Key Phrases - Capitalized Phrases (CAPs): (learn more)
Concluding Remarks, Real Stuff, Intel Pentium, Check Yourself, Adding Instructions, Instruction Reg, Data Reg, Enhancing Performance, Exploiting Memory Hierarchy, Hardware Software Interface, Read Write, Analyzing Enhancements, Integrated Circuit Cost, Bubble Sort, Google News, Understanding Program Performance, World Wide Web, Instruction Instruction Execution Data, New York Times, Reg Write, Shift Div, Chavín de Huántar, Effects of Faults, Evaluating Instruction Frequencies, Java Virtual Machine
New!
Books on Related Topics | Concordance | Text Stats
Browse Sample Pages:
Front Cover | Table of Contents | First Pages | Index | Surprise Me!
Search Inside This Book:





Tags Customers Associate with This Product

 (What's this?)
Click on a tag to find related items, discussions, and people.
 
(2)
(1)

Your tags: Add your first tag
 

Customer Discussions

This product's forum
Discussion Replies Latest Post
No discussions yet

Ask questions, Share opinions, Gain insight
Start a new discussion
Topic:
First post:
Prompts for sign-in
 


Active discussions in related forums
Search Customer Discussions
Search all Amazon discussions
   
Related forums





Look for Similar Items by Category


Look for Similar Items by Subject