Inside the Machine, by Jon Stokes, co-founder and Senior CPU Editor of Arstechnica, demystifies much of what computers do by presenting, from the ground up, a comprehensive picture of how modern CPUs work. Whether you are a student, IT professional, computer scientist or are simply curious about computer design this book has something in it for you.
In each chapter, Stokes guides the reader through the content, presenting the material in an manner that is accessible to the beginner, yet still informative for the advanced reader. The book starts with the basics and finishes with comprehensive discussions covering a wide range of CPU architectures from the early 32-bit Pentium and PowerPC chips, through the 64-bit PowerPC 970 and Core 2 micro-architecture.
The book is filled with color diagrams and schematics that help put the material in context. Those familiar with Stokes’ articles on Arstechnica will immediately recognize the style, while the new reader will appreciate how the figures aid in furthering their own comprehension of the subject matter. I’ll touch on some of the highlights of the book below.
In the Beginning
Stokes begins with the very basics of how modern CPUs work by easing the reader into the fundamentals of CPU design and operation. The first several chapters take the reader through a very basic CPU design, explaining in plain and simple terms the basis from which all modern CPUs work. One should not, however, confuse the easy approach with a lack of detail. To the contrary, Stokes not only presents the basics in the early chapters, but also inserts many notes and side bars containing additional information that more advanced readers will immediately appreciate.
Once the intial computing concepts are presented, Stokes moves on to program execution, opcodes and machine language, programming models, pipelined and superscalar execution (topics that are important in understanding how modern CPUs work). For each subject Stokes presents the reader is left with a solid understanding of the technology used in many, if not all, modern CPUs.
Folowing the presentation of the general concepts, Stokes moves on to detailed discussions about specific, and historically important CPU architectures (Note that in the previous sentence I said general, not basic. Indeed, once you are finished with the first four chapters you will have a very good understanding of how CPUs work). The majority of the discussions revolve around commodity CPUs, those found in the computers that most consumers tend to buy, therefore the material is not only informative, but practical.
Stokes begins with the first of the “modern” CPUs, the Pentium and Pentium Pro. Of course, the term modern is a relative one, as some younger readers will equate a Pentium to old, in the same way I equate the Commodore 64 to being old. Nonetheless, in order to appreciate the marvels of today’s current CPUs, it’s important to understand the lineage from where they come. Rather than dilute the material with a comprehensive listing of all CPUs, Stokes begins with the most common and those directly linked to todays offerings. In addition to presenting CPU details, Stokes provides the reasoning behind the engineering decisions, and their consequences. Unlike other books that tend to focus on low-level details, the historical perspective and design rationale is very useful in understanding why CPUs operate the way they do today.
Following the base discussion of the Pentium, detailed material is presented on its competitors, the PowerPC 600, 700 and 7400 based series. After which Stokes moves on to do a head-to-head comparison of the Pentium 4 and the PowerPC G4e (7400 based CPUs). Stokes provides a solid overview of the design approaches to each CPU architecture and compares and contrasts the means by which they achieve their results. He finishes off with the Pentium and early PowerPC chips with a discussion of the floating-point and vector units of each CPU.
From there it’s off to 64-bit computing, beginning first with an introduction of 64-bit processing and the IA-64 and x86-64 ISAs. This discussion leads nicely into the presentation of the PowerPC G5 (PPC 970). The discussion of the PowerPC G5 gives good insight not only into this massively superscalar CPU, but due to the G5’s Power4 lineage, a great deal of information about the Power lineage used in many of today’s supercomputers. The PowerPC chapter is followed by an entire chapter dedicated to CPU caches and performance.
Stokes finishes off the main text with the Pentium M, Core Duo and Core 2 Duo CPUs. Those (meaning Mac users) who have accepted Intel as our overlord, will appreciate the timeliness of the Core and Core 2 material. In particular the material is very enlightening as it pertains to power/energy efficiency in modern CPU design.
A while back I posted an entry about computer books I have on my shelf. In particular I mentioned one book, “Computer Architecture: A Quantitative Approach” by Hennessy and Patterson. This book is outstanding, but it’s designed for advanced reader. Inside the Machine, is the introduction that will get anyone ready to fully understand and appreciate the very detailed concepts presented in more advanced texts.
Not a day goes by that I don’t find myself in complete amazement of what computers can, and do, accomplish. I’m even more amazed at the human ingenuity that goes into creating them. Even though I think about computers quite a bit it’s still difficult for me to accept the fact that inside these packaged boxes, there are hundreds of components acting in concert, that allow us to work, communicate, share, teach and play in a manner that was not even conceivable twenty years ago. They are simply amazing machines.
However, Inside the Machine goes beyond that, because to be honest, sometimes the low, low level details in other books, simply aren’t necessary in order to appreciate how computers work. Even professionals who worry about the low level details will appreciate Stokes’ style and presentation of the material, as he does it in a manner that only a true expert can. Inside the Machine, can serve not only as a stand alone reference, but also as a complement to other texts that assume a certain level of understanding. Indeed, if you are at all involved, or simply interested, in the operations of computers, Inside the Machine is a must have.