|
|||||||||||||||||||||||||||||||||||
|
41 Reviews
|
Average Customer Review
Share your thoughts with other customers
Create your own review
|
|
Most Helpful First | Newest First
|
|
96 of 101 people found the following review helpful:
4.0 out of 5 stars
Very Informative, But Has Many Editing Problems,
By
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.
16 of 18 people found the following review helpful:
2.0 out of 5 stars
Good information; poor presentation,
By
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.
9 of 10 people found the following review helpful:
5.0 out of 5 stars
Good technical introduction to computer organization topics,
By
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.
9 of 11 people found the following review helpful:
5.0 out of 5 stars
Best Book Out there!,
By
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)
If you are a computer scientist or engineer, you must have this book. This book introduces the basic and advanced principles of computing. It gives a good background on computer systems, how it works, how it performs and how to design a system. It teaches the relationship between hardware and low level sofware.
You might need to have a little background in digital design and little assembly knowlegde. It is well organized and maintains the reader's attention. It starts with simple and advances through out the chapter. Arithmetic, performance, processor design, pipelining, memory and more advanced topics are covered and explained really well. Especially if you are missing some background in any topic, you can look in to the cd that comes with the book and it has more than enough tutorial. (MIPS, Verilog, Risc architectures etc..). I can say that, its one of the best textbook I have ever had. If you want to advance yourself to next level after reading this book and understanding the concepts, then you should move on to "Computer Architecture: A Quantitative Approach" book by the same authors. It covers topics much more in depth.
3 of 3 people found the following review helpful:
2.0 out of 5 stars
Disorganized and "uncut",
By Null Pointer (Atlanta, GA) - See all my reviews
Amazon Verified Purchase(What's this?)
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 had to purchase this book for a graduate school course. There is a lot of good information here. Unfortunately lengthy examples and tangents muddy it up pretty badly. Also, I think the author(s) could have safely assumed that readers are familiar with programming; maybe that perspective could have grounded and guided the chapter flow a little better.
Looking at any 1 section, the writing is good and the explanations are clear for the most part. The catch is that the book as a whole is a collection of enormous disorganized chapters; chapter 2 is almost 100 pages. This work is dire need of editing and some understanding of its intended audience.
3 of 3 people found the following review helpful:
4.0 out of 5 stars
Informative but steep learning curve,
By John Doe (Greenville, SC) - See all my reviews
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 needed this book for a class, but had not taken assembler yet. by halfway through the course I was so very very lost, I had to drop the class. Well I took Assembler and then retook the class and everything was crystal clear. Do yourself a favor and learn assembler (self or class) before you take computer architecture (or whatever uses this book) or you'll have a much harder time. That being said once you have an idea what's going on this is a very informative book.
3 of 3 people found the following review helpful:
3.0 out of 5 stars
Uneven, intermediate-level qualitative treatment,
By
This review is from: Computer Organization and Design: The Hardware/Software Interface. Third Edition, Revised (Paperback)
The first few chapters are a bit wasted. If this is your first exposure to computer internals, the material there is densely packed and not so well organized. The authors take a sort of patchy top-down approach to introducing the computer, visiting instructions, high-level languages, compilers, arithmetic, memory addressing, etc. I found a much more coherent and satisfying introduction in Patt's "Introduction to Computing Systems", which starts from transistors and works its way up to C over a whole volume. In all fairness, the authors did include a brief introduction to digital logic in Appendix B.
It's around Chapter 4 that this book really takes off, as the topic shifts to performance and optimization. The explanations are very clear and punctuated with brief, worked-out numerical examples. The discussions of pipelines and memory hierarchy are superb. There are some interesting asides where they compare and contrast the MIPS RISC architecture used throughout the book with Intel's Pentium. These latter chapters have a certain story-telling quality, with gems of engineering wisdom. It's clear the authors have deep and practical knowledge of their subject. They often revisit the themes of simplicity, measurement and trade-offs as they introduce systems of growing complexity.
2 of 2 people found the following review helpful:
5.0 out of 5 stars
Excellent textbook for understanding how computers work under the hood,
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)
In particular, the chapters on pipelining and computer arithmetics are highly recommended.
As a subsequent stage, I would recommend the complimentary of this book, by the same authors - "Computer Architecture - A Quantitative Approach".
8 of 11 people found the following review helpful:
1.0 out of 5 stars
Terrible book,
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 book was used as the primary book for my last college class. The material is poorly laid out and very difficult to follow. Unless you are in your last year of CS or a Engineering student, do not buy this book. I even emailed one of the author's of the book to see if there was any other material available to help better understand the text, and his answer to me was, "you can buy the Advanced book." What a joke.
8 of 11 people found the following review helpful:
5.0 out of 5 stars
Positioned right between hardware and software,
By
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 has become one of the standard text books, and now that it's been updated to the third edition it is even more impressive than before. It's updated to cover the Pentium 4 and has a little bit on the AMD Opteron which is making very strong inroads in the high performance clustered supercomputer business. There's also a fair amount on the MIPS processor. (One of the authors was a cofounder of MIPS.)
This book is aimed at the intersection of the true hardware types and the low level software types. As such, it's guaranteed not to be deep enough in either area to satisfy all. But to the hardware type thinking in bits and discrete logic the programming aspects will be a good help. Likewise to the software type, learning what registers really do, and what's pipelining, will be a great help. Chapter 9, potentially the most interesting, is on clusters. This chapter is on the CD, not in the book itself. |
|
Most Helpful First | Newest First
|
|
Computer Organization and Design: The Hardware/Software Interface- Text Only by John L. Hennessy (Paperback - 2005)
Used & New from: $7.00
| ||