The 5th edition is seriously out of date. The last 15 years or so have seen massive changes in computer architecture, in particular the explosion of all manner of hardware accelerators, including modern GPUs.
The 7th edition is supposed to come out on 1 January 2025.
This book ( or rather a much older edition ) literally changed my life, by essentially teaching me that the whole of a computer was about measurable tradeoffs, from hardware to software.
The fact that it was true for hardware as well hadn’t been obvious to me till then, coming from a math background and being a self taught coder.
The beauty in this is that you can then build systems that fly if you understand the tradeoffs of all your layers, and make sure you fall on the right side of each of them.
Rather unsurprisingly, I ended up doing HPC, where this is all pretty obvious, but I strongly believe that this is true for all software.
Personally, I recommend "Computer Organization and Design - The Hardware Software Interface" by Patterson and Hennessy. From it's preface (regarding this book):
Some readers may be familiar with Computer Architecture: A Quantitative Approach, popularly known as Hennessy and Patterson. (This book in turn is often called Patterson and Hennessy.) Our motivation in writing the earlier book was to describe the principles of computer architecture using solid engineering fundamentals and quantitative cost/performance tradeoffs. We used an approach that combined examples and measurements, based on commercial systems, to create realistic design experiences. Our goal was to demonstrate that computer architecture could be learned using quantitative methodologies instead of a descriptive approach. It was intended for the serious computing professional who wanted a detailed understanding of computers.
A majority of the readers for this book do not plan to become computer architects. The performance and energy efficiency of future software systems will be dramatically affected, however, by how well software designers understand the basic hardware techniques at work in a system. Thus, compiler writers, operating system designers, database programmers, and most other software engineers need a firm grounding in the principles presented in this book. Similarly, hardware designers must understand clearly the effects of their work on software applications.
Thus, we knew that this book had to be much more than a subset of the material in Computer Architecture, and the material was extensively revised to match the different audience. We were so happy with the result that the subsequent editions of Computer Architecture were revised to remove most of the introductory material; hence, there is much less overlap today than with the first editions of both books.
There's a new edition coming out next year, and I think this edition is already outdated, the most recent one is the 6th edition from 2017.
I wonder if the 7th edition will cover the Mill CPU. It should but I doubt it will.
I remember when the first edition came out---back in the early 90's!!!! I was young, slim, had a full head of hair---and this new textbook was the bomb. Vastly better than any previous textbook on computer architecture.
I can't believe it is still the best. it's been like 30 years. During that time, so much has happened--the death of supercomputer companies like Convex and Cray, SIMD going from expensive computers like the MASPAR MP-1 to being on virtually every processor, the dot com boom, the rise of google-style server farms, etc etc.
And now the transition to neural net processing.
I mean, it is a testament to the authors that they could keep their competitors from even thinking about trying to write a competing book for so long. It is a great case study in how to stay relevant in tech for the long term.
But man, before it came out, every year 2 or 3 new textbooks in computer architecture came out, each one detailing the next cool thing which computer architectures were being called upon to do.
It's exhibit A of Peter Thiel's case that we are living in an era of very low innovation. If Computer Architecture were a really healthy field, classes would have to be taught from recently-published papers, because it was moving faster than a textbook could be published.
Hat's off to the authors, but man, this is really depressing.
First edition still has a better cover, but the 7th edition one isn’t… bad.
This is the September 2011 edition to be, uh, quantitative.
I just discovered that this book by John L. Hennessy & David A. Patterson is freely available from ACM, so just wanted to share it. I came across it by reading this thread from three weeks ago: https://news.ycombinator.com/item?id=42157558