There was a problem filtering reviews right now. Please try again later.

101 of 106 people found the following review helpful
on March 18, 2005
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.
11 commentWas this review helpful to you?YesNoSending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
39 of 39 people found the following review helpful
on March 4, 2013
I have the Second Edition of this text and think rather highly of it, despite some missteps here and there. When I first reviewed the Fourth Edition, I was a bit concerned about the reorganization of the topics because it didn't feel like a natural progression to me, but I was willing to concede that there are a number of ways to come at this material and allowed that what felt "natural" to me was almost certainly influenced by the Second Edition, so I was willing to go with the flow of the new text and see how it played out.

Half way through a semester trying to teach from this edition I still feel that there is no coherent flow, but again I'm willing to chalk that up to personal subjective preference.

The rest of my objections, however, are much more objective.

First, there are TWO versions of The Revised Printing of the 4th Edition! They appear to be the same, including identical copyright pages right down to the printing history. Yet they are not the same. As an example, on page 182 problem 2.4.3 the code in row b is significantly different. As near as I can tell, the errata sheet that is on the publisher's website is the difference -- it's as if part way through the printing run they decided to stop the presses, apply the errata, and then restart the presses and complete the run. This, on top of the fact that the exercises in the Revised Printing do not match those in the basic 4th Edition, makes it very difficult to assign problem sets to students since they are literally not reading from the same page.

Second, the authors have taken significant amounts of material out of the text yet have kept many exercises that rely on the removed material. Here are just two examples:

The concept of "speed-up" was a central theme in the early portion of the 2nd Edition and hence there were many problems that asked the student to compute the speed-up under different scenarios. Well, in the 4th Edition many of those problems are still there, but the concept of speed-up isn't even introduced let alone defined. The first place it is mentioned is when, on page 61 in Exercise 1.4.6, you are asked to compute it. The problem indicates that the relevant material is covered in Section 1.4, but there is no mention of speed-up at all. The term is not even defined in the GLossary (which is only on the CD anyway).

As another example, several problems in Chapter 4 (the first being Exercise 4.1 on page 410) task the student with identifying the critical path under certain conditions.claiming the relevant material is in Section 4.1. Yet the first mention of the term is on page 385 in Section 4.9 in which it is mentioned in passing during a discussion on exceptions and with the assumption that the reader already knows what is meant.

Turning to other criticisms, the books does not maintain a consistent presentation of the MIPS instruction set. The terminology used in one part of the text does not match the way the the same instruction is presented in the appendix and that is not always consistent with the green reference card. As a result, the student is left bouncing back and forth trying to figure out what is really meant.

Then many problems are very ambiguous at the very least or outright nonsensical in some cases. As one example, Exercise 2.5.1 asks the student to write C code (and Exercise 2.5.2 to write MIPS code) to sort a list of values that happen to be in an array in memory. The implication is that some sort of sorting algorithm, such as a simple bubblle sort, should be used. But the authors' solution simply has hardcoded instructions to copy values from one location to another based on the actual values in the table. Well, if you are going to do that, then why not just use addi and sw instructions to force the right values ithose same array locations since both require the programmer to known apriori the values in the table? As another example, Exercise 4.1.1 asks the student to determine what the values of the control signals in Figure 4.2 are for various instructions. The problem is that Figure 4.2 doesn't specify which values accomplish what; for instance, none of the multiplexers are annoted with which port the two input signals are applied to.

For my final critixism, many of the authors' solutions are simply and demonstrably wrong -- far too many to be acceptable, even in a 1st Edition, let alone a 4th Edition.
11 commentWas this review helpful to you?YesNoSending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
16 of 17 people found the following review helpful
on September 19, 2012
First, be aware that this is NOT the revised fourth edition, even though it says that it is.
The professor assigned problems, which the entire class got wrong because it was not the same version. It took 20 minutes to realize the exercise problems were just slightly different.
The formatting of the book is terrible. Critical paragraphs are split across pages. Exercise problems are also run-ons.
I love Kindle books for literature, but it is a bad way to present a textbook.
I called Amazon help, described the problem and they refunded the money. I purchased the print copy instead.
The takeaway: Get the print version.
Second takeaway: Amazon customer service is exceptional. That's why I buy from them.
0CommentWas this review helpful to you?YesNoSending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
19 of 21 people found the following review helpful
on November 26, 2006
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.
0CommentWas this review helpful to you?YesNoSending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
16 of 17 people found the following review helpful
on September 19, 2012
The Kindle version is horrible. The figures are pretty much unreadable and I need them for my class. I may end up having to buy the paperback even though I already paid for the kindle edition.
0CommentWas this review helpful to you?YesNoSending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
10 of 10 people found the following review helpful
on September 17, 2013
I rented the third edition from the library. The kindle version of this book is very bad. It's incredibly difficult to make sense of the page numbers since they're like 13,420 and it doesn't translate to a standard book version. Additionally, it just hard to navigate. I need to flip around my books to look at the diagrams and it's too hard to do in the Kindle version.

The largest issue though is that I cannot read the table of assembly opcodes at the front. You can't zoom on the image as far as I can tell and since it's an image the table text does not adjust with the rest of the text settings from the Kindle.

I'd return it but it's been two weeks already and I just rented it for ~$17 on the Kindle anyways.

Tried the windows app and the windows 8 tablet app kindle.

Just rent the book or buy it. You'll actually be able to use the book. The real version of the book is pretty good in my opinion. Stay away from the kindle version though.
0CommentWas this review helpful to you?YesNoSending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
17 of 19 people found the following review helpful
on January 20, 2012
I'm reviewing this book for its eBook form.

Computer Organization and Design in Kindle form is hard to read for numerous figures (on a Kindle Touch). Some of the figures are in reverse video. Some need to be zoomed and are already so large relative to the space on a page that there is little scaling. The text flow is OK. The publisher/typesetter should have considered how to rework some of these diagrams for electronic form. Overall, it was a bad decision to buy this in eBook for a class.
0CommentWas this review helpful to you?YesNoSending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
9 of 10 people found the following review helpful
on March 16, 2005
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.
0CommentWas this review helpful to you?YesNoSending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
6 of 6 people found the following review helpful
on December 21, 2012
This book is great for introducing the MIPS architecture, single and multicore processors, datapaths, pipelining, and data forwarding. However, it does not go very in depth in each topic.
Most of the exercises at the end of the book cannot be answered through reading the chapters because there aren't enough similar examples. I do not recommend the exercises as homework problems to students, speaking from personal experience. It still serves as a pretty good supplement (not a required book) to a Computer Architecture course.
I had a bad experience using this book for homework problems which is why I gave the low score.
0CommentWas this review helpful to you?YesNoSending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
8 of 9 people found the following review helpful
on December 27, 2012
Pretty bad when you learn more about the course material from free online resources than you do from the course book. I even found a couple errors in some of the example problems they made. Not recommended for reading.
0CommentWas this review helpful to you?YesNoSending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse

Send us feedback

How can we make Amazon Customer Reviews better for you?
Let us know here.