xvi Preface
About the Other Book
Some readers may be familiar with Computer Architecture: A Quantitative
Approach, popularly known as Hennessy and Patterson. (is book in turn is
oen 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 tradeos. 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. e performance and energy eciency of future soware systems will
be dramatically aected, however, by how well soware designers understand the
basic hardware techniques at work in a system. us, compiler writers, operating
system designers, database programmers, and most other soware engineers
need a rm grounding in the principles presented in this book. Similarly,
hardware designers must understand clearly the eects of their work on soware
applications.
us, 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
dierent 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 rst editions of both books.
Why ARMv8 for This Edition?
e choice of instruction set architecture is clearly critical to the pedagogy of a
computer architecture textbook. We didn’t want an instruction set that required
describing unnecessary baroque features for someone’s rst instruction set, no
matter how popular it is. Ideally, your initial instruction set should be an exemplar,
just like your rst love. Surprisingly, you remember both fondly.
Since there were so many choices at the time, for the rst edition of Computer
Architecture: A Quantitative Approach we invented our own RISC-style instruction
set. Given the growing popularity and the simple elegance of the MIPS instruction
set, we switched to it for the rst edition of this book and to later editions of the
other book. MIPS has served us and our readers well.
e incredible popularity of the ARM instruction set—14 billion instances were
shipped in 2015—led some instructors to ask for a version of the book based on
ARM. We even tried a version of it for a subset of chapters for an Asian edition
of this book. Alas, as we feared, the baroqueness of the ARMv7 (32-bit address)
instruction set was too much for us to bear, so we did not consider making the
change permanent.