Archive for the ‘CPU’ Category
The first post of 2007 is dedicated to the review of a book that I’ve read during the Christmas period: “Inside the Machine”, by Jon “Hannibal” Stokes, Senior CPU Editor of Ars Technica. The book subtitle says “An Illustrated Introduction to Microprocessors and Computer Architecture” and I think that it pretty much keeps its promise.
The book contains a detailed review of all the major microprocessor architectures that have seen the light since the early ’90s.
After four chapters where all the basic concepts are reviewed, from the mechanics of program execution inside CPUs, to pipelining and superscalar execution, the author jumps right into the description of one of the most widely know microprocessors from Intel, and a brand which lived for quite a long time: the Pentium.
From there on most of the chapters are dedicated to the description and comparison of the major microarchitectures and microprocessors from Intel, IBM and Motorola. In order:
- Intel P6 microarchitecture (used in Pentium Pro, Pentium II and Pentium III)
- PowerPC: 601, 603/603e, 604/604e, 750 (a.k.a G3), 7400 (a.k.a.G4)
- Intel NetBurst and the Pentium 4
- Motorola G4e (PowerPC 7450, an optimized version of the G4′s microarchitecture)
- IBM PowerPC 970 (a.k.a. G5)
- Intel Pentium M, Core Duo and Core 2 Duo
Especially interesting are the two chapters (7 and 8) dedicated to a detailed comparison of the Pentium 4 and the PowerPC G4e. Those two processors were designed with two completely different strategies, with the Pentium 4 sporting a deep and narrow pipeline, while the G4e a wide and shallow one. Jon goes into great detail on the implications of the two choices and how they impacted other design decisions and the final performance (both in raw speed and power) of the two approaches.
In between the discussion of the G5 and the PentiumM/Core, there are two interesting chapters which introduce the topics of 64bit computing (and how this was addressed by Intel and AMD) and of cache and memory hierarchy.
The chapter about PentiumM and Core/Core2 is in my opinion a bit too short: I hoped there would be more discussion on those 3 microarchitectures, especially in the light of the multi-core versions and how this impacted the architecture of the L2 cache, etc…
Jon has done a pretty good job at describing at a good level of detail some of the most important microarchitectures, always putting them into their historical context and guiding the reader in understanding how the focus of microprocessor designers has shifted from pure raw speed and high clock frequencies, to creating high-peforming low-power architectures.
Reading the book has reminded me of the cover stories I used to find in Byte Magazine which described in great details the new microprocessors as they were introduced in the market. This book helped revive in me an interest in CPU architectures and I hope Jon will consider doing a “sequel”, maybe including some of the CPUs and topis that are missing and that I think are very interesting: Stream Processors (now widely used in GPUs), VLIW processors, IBM Cell, IBM POWER6, HyperThreading and CMP (chip-multiprocessing), Sun Niagara, ARM processors, …
I wish I had such a book during my microelectronics degree courses!
Definitely a good buy.