
Modern processor design
by John Paul Shen · first published 2005
17mentions
6recommended by
8HN commenters
2010–2023first – last mentioned
75% recommend25% neutral
Why HN recommends it
Covers superscalar pipelines, caches, memory systems and renaming with real-chip detail, using PowerPC and P6 as case studies. Suits engineers who have the conceptual basics and want implementation specifics.
Summarised by Claude from recommending comments
Affiliate links. As an Amazon Associate I earn from qualifying purchases.







John Paul Shen's _Modern Processor Design_ is my current favorite. It covers the design of recent (and also some historic) processor architectures, including pipelining, cache and memory systems, superscalar, and so on. Some concrete examples…
on “Ask HN: Good books to learn more about computer architecture?” ↗My favorite books on computer architecture: _Modern Processor Design_ (Shen and Lepasti). Lots of material on superscalar processors, with some nice examples from existing work. _The Pentium Chronicles_ (Robert Colwell). Much less technical, but a lot about the social…
on “Advanced Computer Architecture Reading List” ↗Past the Patterson/Hennessy books, Shen/Lipasti's "Modern Processor Design" was really helpful to get a better sense of the implementation details of real chips, especially when you move past the 'conceptual' views (e.g. Tomasulo) and start to ask how instruction schedulers…
on “Modern Microprocessors: A 90 Minute Guide” ↗…modules can handle those. However there is only one of those so it can become a performance bottleneck if you use too many of those complex instructions. If you really want a technical book on this, read "Modern Processor Design" by Shen. A bit pricey though (I got one second hand cheap.)
on “Does a compiler use all x86 instructions? (2010)” ↗I assume you mean the "Modern Processor Design: Fundamentals of Superscalar Processors" by Shen and Lipasti. I agree that is a great book to read. Just quite an expensive book for a casual reading. I was fortunate to get it cheap at a local used book…
on “Programming books you might want to consider reading” ↗Modern Processor Design by Shen is a great book if you want to read more on this stuff.
on “Modern Microprocessors – A 90-Minute Guide (2001-2016)” ↗…https://www.raspberrypi.org/blog/why-raspberry-pi-isnt-vulne... b) Inside the Machine: An Illustrated Introduction to Microprocessors and Computer Architecture by Jon Stokes. c) Computer Systems: A Programmer's Perspective by Bryant and O'Hallaron. d) Modern Processor Design: Fundamentals of Superscalar Processors by Shen and Lipasti
on “How and why CPUs do “branch prediction” (2017)” ↗Check out the WikiChip tops level page. Covers both Intel, AMD, and ARM. Nothing particular to Apple though. https://en.wikichip.org/wiki/WikiChip Also a great book though maybe dated by now is Modern Processor Design by Shen.
on “A Look at the AMD Zen 2 Core” ↗I liked John Shen's Modern Processor Design and Noam Nisan's The Elements of Computing Systems. The websites I mentioned have hobbyist-level details that are pretty interesting (but in general won't teach you much about things like concurrency…
on “ZedRipper: A 16-core Z80 laptop” ↗Modern Processor Design: Fundamentals of Superscalar Processors by Shen & Lipasti Computer System Design: System-on-Chip by Flynn & Luk
on “Jim Keller Resigns from Intel, Effective Immediately” ↗"Modern Processor Design" - John Shen and Mikko Lipasti edit: There are also a lot of open-source out-of-order machines nowadays, ie. https://docs.boom-core.org/en/latest/ edit: Also, Onur Mutlu @ ETH Zurich has a lot of lectures…
on “Processor Design: An Introduction (1998)” ↗…Venkateswaran. - Embedded Linux Primer 2nd ed. by Hallinan - The Unix Programming Environment by Kernighan and Pike - Advanced Unix Programming 2nd ed. by Rochkind Computer Architecture/Organization - Modern Processor Design: Fundamentals of Superscalear Processors by Shen and Lipasti - Computer System Design: System-on-Chip by Flynn and Luk Parallel/Distributed processing: - Foundations of Multithreaded, Parallel, and…
on “Ask HN: What should a systems/low-level software engineer know?” ↗Modern Processor Design: Fundamentals of Superscalar Processors is a great book. It uses the P6 uarch (so Pentium Pro through Pentium III) as a case study to contrast against the PowerPC 620 and is a great place to start as…
on “Running a Unix-like OS on a home-built CPU with a home-built C compiler” ↗…a reading list from a course given in Summer 2002. I took this same class at UCF more recently with Dr. Heinrich, who did an amazing job. I don't think his course materials are public, though he used Modern Processor Design[1]. [1] http://amzn.com/B00HCLUL5O
on “Advanced Computer Architecture Reading List” ↗…answer the questions you're interested in. The 8086 patent [1] is a non-awful patent that provides a lot of information, including the instruction decoder. For something slightly more recent, the book "Modern Processor Design" has 40 pages on the microarchitecture of the P6 processor. In brief, the P6 has three decoders running in parallel. An Instruction Length Decoder determines instruction boundaries before decoding, so…
on “Reverse-engineering the Intel 8086's instruction register” ↗