THE READING ROOM / BOOK GUIDE
Computer organization and design
A textbook that connects instruction sets, datapaths and memory hierarchy to the machines programmers run on. Its examples come from processors and hardware trends of the early 2000s.
About the book
Computer Organization and Design, by David A. Patterson with John L. Hennessy, teaches how hardware executes software. It starts with the instruction set a compiler targets, follows those instructions through the datapath and control, and then moves outward to pipelining, memory hierarchy and input and output. The organizing idea is that architecture decisions carry measurable costs and benefits, so each mechanism comes with performance analysis instead of a bare list of components.
The edition's examples center on processors and memory technologies of its time, and its treatment of multicore computing and power reflects debates of the early 2000s. The style is quantitative: performance formulas, worked examples and end-of-chapter exercises carry much of the teaching load. Explanations give the reasoning behind a design choice, then ask the reader to check it against numbers.
The interface between software and hardware is the central subject, which makes the material useful beyond a single course. Much of the learning happens in the exercises and worked problems, so the text rewards active reading over skimming.
How to read it
Keep a pencil and paper at hand. Work through the performance equations and datapath examples yourself; the case for a design usually becomes clear only when you reproduce the calculation. Read the exercises even if you do not solve them all, since they show what the chapter expects you to be able to do.
The chapters build on one another, so skipping the instruction-set material to reach pipelining or memory leaves gaps. The quantitative sections can be dense for readers without some background in digital logic or programming. Allow time for the harder chapters, and return to earlier definitions when a later example assumes them.
Who it suits
This suits computer science and engineering students taking an architecture course, and self-taught programmers who want to understand why their code performs as it does. Systems developers, compiler writers and embedded engineers will find the instruction-set and memory material directly relevant. Readers who prefer conceptual overviews without mathematics will find it demanding.
Reading considerations
The edition describes hardware of its period, so specific processor examples and technology trends have aged. Later editions revise that material and shift emphasis toward multicore and power. Readers wanting current processor details should check which edition they have and supplement the dated sections with newer sources. The book is a teaching text, not a survey of every architecture in use.
Follow the HN conversation
50 different recommenders are recorded in the upstream dataset. These are AI-classified source counts, not an independent rating.
Search HN comments about this book ↗
Explore videos on the same subject ↗
Book notes prepared with DeepSeek, using catalogue records and Open Library subject information. They are reading guidance, not a personal review or a verified chapter-by-chapter account. Book details can vary by edition. HN data methodology · Book metadata and covers.
