Iown all 4 editions of this book, plus the 4 published editions (and one preliminary edition) of the related "Computer Architecture - A Quantitative Approach".
Why?
Because, every time one of these comes out, they become clear standards. The last 20 years have been a period of rapid changes in computing. Fortunately Patterson and Hennessy somehow find time to update their books about every 5 years, not only adding new material, but also improving the pedagogy and readability for different audiences.
This book offers a thoughtful combination of printed and electronic information that potential authors should study, as this combination has evolved across the various iterations.
I especially appreciate the reader's guide (page xvii), which highlights different paths through the book for different audiences. This is very important in books that cover material comprehensively, as not everyone needs to read everything, especially the first time through.
This edition is well worth having, even if one already has the earlier ones. The additional material on multiprocessors is especially crucial, given that uniprocessor performance growth has slowed, and multiprocessor software remains challenging.
I spent many years trying to get people to write software at the highest level possible, but the otherwise-desirable trend in that direction can have one unfortunate side-effect. Some younger software designers have little or no experience with computer architecture and hardware/software interface, and it is all too easy to create performance and scalability surprises that could easily be avoided.
I'd strongly recommend this book to avoid such surprises. Even if a programmer writes in very high level languages, some knowledge of the lower levels and their pitfalls goes a long way.
I used to recommend the other book to people like technology journalists, venture capitalists, and financial analysts, i.e., people who are rarely computer professionals, but need to understand computer technology and its trends. Many such have been surprised to find the book was useful to them.
However, as Patterson and Hennessy have reworked the balance of material between the two books, the more introductory material is located here, whereas the other book is more appropriate for computer designers or software people working close to the hardware.
Hence, the next time someone needs to understand computer technology, well-explained by experts, this is the book I'd recommend.