Need to get inside the hardware, and don't mind a few
bumps along the way? Computer Architecture: A Quantitative
Approach will take you deeper than you probably ever
thought you wanted to go. The focus is on uniprocessor
architecture, although it does provide introductory
coverage of multiprocessors. This work covers the various
designs and alternatives for instruction sets, pipelining,
cache, memory, I/O, etc. and provides current examples as
well as historical references.
The weakness of the book is that the exercises at the end
of each chapter go beyond the scope of the material covered.
Although certainly worthwhile and complimentary to the
material presented in the chapters, the exercises seem to
be material for the next level. The authors should either
make the exercises more related to the chapter explanations
and examples, or they should offer relevant extended
references. It would also be helpful if they provided
an answer set to a percentage of the exercises.
The user of the 2nd edition is well advised to grab the
errata file from the publisher, see Preface, as there are
many errors in the printing.
Overall, I would recommend this book to those who are
serious about gaining an advanced understanding of modern
computer architecture. Be advised, a good basic
understanding is necessary before tackling this work.