Inside the Machine: An Illustrated Introduction to Microprocessors and Computer Architecture Hardcover – Dec 11 2006
No Kindle device required. Download one of the Free Kindle apps to start reading Kindle books on your smartphone, tablet, and computer.
To get the free app, enter your e-mail address or mobile phone number.
About the Author
Jon M. Stokes is co-founder of and Senior CPU Editor for Ars Technica. He has written extensively on microprocessor architecture and the technical aspects of personal computing for a variety of publications. Stokes holds a degree in computer engineering from Louisiana State University and two advanced degrees in the humanities from Harvard University. He is currently pursuing a Ph.D. at the University of Chicago.
Inside This Book(Learn More)
Most Helpful Customer Reviews on Amazon.com (beta)
The first four chapters lay the conceptual groundwork for later chapters' studies of real-world microprocessors. These chapters use a simplified example processor, the DLW, to illustrate basic and intermediate concepts like the instructions/data distinction, assembly language programming, superscalar execution, pipelining, the programming model, and machine language. This section is essential reading for those who are new to the world of microprocessors.
The middle section of the book consists of detailed studies of two popular desktop processor lines: the Pentium line from Intel and the PowerPC from IBM and Motorola. These chapters walk the reader through the chronological development of each processor line, describing the evolution of the microarchitectures and instruction set architectures under discussion. Along the way, more advanced concepts such as speculative execution, vector processing, and instruction set translation are introduced and explored via a discussion of one or more real microprocessors. Throughout the middle part of the book the approach is to explain each new processor's features in terms of how they differ from analogous features found in predecessors or competitors. The comparative part of the book culminates in chapters 7 and 8 which consists of detailed comparisons of two starkly different and important processors: Intel's Pentium 4 and Motorola's MPC7450, popularly known as the G4e.
After a brief introduction to 64-bit computing and the 64-bit extensions to the popular x86 instruction set architecture in chapter 9, the microarchitecture of the first mass-market 64-bit processor, the IBM PowerPC 970, is treated in chapter 10. The study of the 970, the majority of which is also directly applicable to IBM's POWER4 mainframe processor, concludes the book's coverage of PowerPC processors. Chapter 11 covers the organization and functioning of the memory hierarchy found in almost all modern computers.
The final chapter contains a detailed examination of the latest generation of processors from Intel: the Pentium M, Core Duo and Core 2 Duo. This chapter contains the most detailed discussion of these processors available online or in print, and it contains some new information not previously released and specially granted by Intel for printing in this book.
I found this book a great read - it is both accessible and enlightening, even for someone with many years experience of working with microprocessors. I really liked how the author used 4-color diagrams to illustrate whatever point he was trying to make. I also appreciate that unlike Patterson's classic book, you don't need to review your combinatorics and discrete math before and after opening the book. The following is the table of contents:
Chapter 1: Basic Computing Concepts
Chapter 2: The Mechanics of Program Execution
Chapter 3: Pipelined Execution
Chapter 4: Superscalar Execution
Chapter 5: The Intel Pentium and Pentium Pro
Chapter 6: PowerPC Processors: 600 Series, 700 Series, and 7400
Chapter 7: Intel's Pentium 4 vs. Motorola's G4e: Approaches and Design Philosophies
Chapter 8: Intel's Pentium 4 vs. Motorola's G4e: The Back End
Chapter 9: 64-Bit Computing and x86-64
Chapter 10: The G5: IBM's PowerPC 970
Chapter 11: Understanding Caching and Performance
Chapter 12: Intel's Pentium M, Core Duo, and Core 2 Duo
Inside the Machine is fairly dense with both content and color. Lots of information is available here with colorful diagrams and illustrations to back it up. You'll need a more than basic understanding of computers and at least a bit of programming experience under your belt to get the most out of it. With that, the average computer enthusiast can pick up this book and find themselves in possession of a clear and concise guide to basic processor theory and real processor architecture. if you are interested in how microprocessors really work and why they were developed as they were but not interested in obtaining a CS degree this book is your first, best stop.
The book is divided into 12 chapters, with a bibliography and index following. The first four chapters lead the reader through basic computing concepts, discussing how a program actually executes when it arrives at the processor and brings us through pipelined and superscalar execution, ways to increase speed and throughput of processors.
Once a basic understanding of how the microprocessor works is reached, Stokes then disects a number of popular processors that have existed in the last decade and a half. These chapters cover the Intel's Pentium and Pentium Pro, the 600. 700 and 7400 Power PC processors, Intel's P4 vs Motorola's G4, 64-bit and x86-64 processors, the G5 and IBM's PowerPC 970 and finally Intel's Pentium M, Core Duo and Core 2 Duo processors. If you do want to delve deeper into the world of microprocessors the bibliography supplied in the book is a great resource.
If anything in that last paragraph sounded really interesting to you or made you say "Oh I loved that processor!" than this book should go on your to-read list.
I was not a CS major and though I do work in IT I'm not an expert on microprocessor architecture. I knew what I needed to know about the products to do my job. When this book came along it was a real joy for me to read it. I've looked at a number of popular text books concerned with microprocessors and while reading this book won't get you a job with Intel it will certainly be a bit easier to digest and thus offer a lot more to readers like myself.
Don't expect to breeze through this if you're going to pick it up though. You should glance through it first if you have a chance. If everything you're reading in the first four chapters is causing you to say "uh huh" and "oh yeah" then you're ready for some more advanced material and won't really need this unless you're into historical data about microprocessors. If you're familiar with some of the concepts and would like a solid grounding in current architecture based on understanding popular prior models then this book is certainly for you.
For me a broad understanding of how these things worked and a bit of programming was all I needed to enjoy this book and what it has to offer. While you won't be up late a few nights glued to the page (well, okay I was up late one night. I was really digging into the differences between the P4 and the G4 and thinking "Finally, that's what all this meant" when my wife told me in no uncertain terms to shut the light out and go to bed. That's just me though.) You will find just about every page full of useful theory or practical knowledge that will increase your understanding and prepare you for the next section of the book until you find yourself reading about processors being sold right now.
Contents: Basic Computing Concepts; The Mechanics of Program Execution; Pipelined Execution; Superscalar Execution; The Intel Pentium and Pentium Pro; PowerPC Processors - 600 Series, 700 Series, and 7400; Intel's Pentium 4 vs. Motorola's G4E - Approaches and Design Philosophies; Intel's Pentium 4 vs. Motorola's G4E - The Back End; 64-Bit Computing and x86-64; The G5 - IBM's PowerPC 970; Understanding Caching and Performance; Intel's Pentium M, Core Duo, and Core 2 Duo; Bibliography and Suggested Reading; Index
Normally, books like this are endless pages of painfully detailed descriptions of technology that only a true engineering geek could understand and love. For the rest of us mere mortals, we have to make do with simplistic descriptions of the chip that runs our computers. All the details are taken on faith. Stokes successfully bridges the gap between textbook details and real-life analogies to make the work of the CPU understandable. He starts off with the basics of how a CPU works and how instructions are executed. From there, he introduces the concept of pipelined instructions, and shows how that creates a much faster chip. But there are drawbacks, and when you're done reading you readily understand those limitations. Once the general groundwork is in place, the discussion moves to specific microprocessors in the market and how they are designed. Yes, those chips are highly complex, but Stokes lays a solid foundation that makes it possible to actually grasp what's going on without a Masters in chip design. By the time you're done with the book, you are well-equipped to understand why a 2.8 GHz processor may be infinitely faster than a 3.2 GHz processor, depending on how the design was implemented. The graphic illustrations are colorful and clear, and coupled with a conversational teaching tone, this book is... dare I say... "fun" to read.
Definitely a recommended read for anyone who wants to delve into microprocessor design without taking a four year degree program prior to doing so.
From top to bottom it describes the microarchitecture of every Intel processor from the Pentium to the Core 2 Duo and likewise with every PowerPC processor with the exception of the G6, (which was released around the same time as this book). Jon Stokes (the writer) uses easily identifiable analogies to describe otherwise incredibly complex systems. He has a sort of "down to earth" way about his writing and throws in a few cute jokes about Oprah and smoking cigarettes. Anyone with a cursory knowledge of computing can understand 90% of the text in this book. All you need is basic logic skills, math, and a halfway decent memory for what was written in the chapter before. If you're looking for a text on how the Core 2 Duo works and what differentiates it from the Pentium 4 (or any other previous microarchitecture), this is your book. Same goes for the PowerPC line of CPU's. There's also GREAT chapters on caching and x86-64.
Now the bad:
The biggest bone to pick is that he almost completely leaves AMD out of the book. The only mention AMD gets is in regards to x86-64. He sort of gives AMD "cred" for x86-64 and then moves on to how it works. This is unfortunate because AMD has made a lot meaningful contributions to x86 computing; the most notable being the IMC on the Opteron. The IMC gets one sentence in the entire book, which is this: it exists. To expand upon this particular bone, he doesn't even mention Sun's SPARC or DEC's Alpha, both of which have had major influences on x86 and RISC. I was flat out floored that the IMC received so little mention in the caching chapter of the book.
Granted, AMD and Intel's x86 processors aren't radically different from one another (especially compared to PowerPC), but with the level of detail this book goes into, he could have at least dedicated a single chapter to the Opteron. Furthermore, it seems like he compares Intel processors to PowerPC/Gx processors just for comparisons sake. Now that PowerPC is essentially dead, why write half the book about it? Let's get real here, PowerPC isn't going to contribute anything meaningful to computing from here on out. It'll live on in supercomputing and very high end servers, but the aim of this book is desktop computing. Another major microarch that goes unexplored is Itanium. Yes, Itanium hasn't been a commercial success, but it's definitely the best performing 64 bit solution out there and it's a complete and total departure from x86 which makes it interesting in my book. (Yes, I do realize I just contradicted myself w/ the G6 and Itanium lines)
Moving on there's little mention of dual core computing or parallelism outside C2D. He puts a small paragraph in on virtualization, but doesn't explain what the benefits are. He also completely leaves out hyperthreading (which will reappearing in Penryn). He doesn't really explain the difference in manufacturing technologies or other parts of a computer's "system." You get the idea (in the VERY last paragraph) that the industry is moving towards parallelism and multicore computing, but he never explains why or what the benefits are. And my final complaint is that the book ends rather abruptly. There's no closing chapter or conclusion... just a small paragraph that says something to the effect of "intel is moving away from higher clock speeds and focusing on more cores and it's a really big deal." And BAM! it's over.
To sum it up, I was a little disappointed with the lack of AMD's mention and overall Jon doesn't really exude "excitement" about computing. He seems to forget he's writing a book and not a white paper. Still, the book is probably one of the more definitive publishings on Intel's modern day x86 CPU's and IBM/Motorola's PPC line of CPU's, all written in a way easily understood. I wouldn't say it was a complete waste of my time, but a newcomer to computing would walk away from this book with almost no knowledge on Intel's biggest (and most important) competitor: AMD. Jon makes out Intel's biggest competitor to be IBM and the PowerPC line of processors, which of course is absurd.
I hate to call this book biased, but it's hard not to after reading it.
Inside the Machine benefits from several strong features. First, the book's color illustrations are a treat, nicely explaining many topics. Second, the comparative approach taken by author Jon Stokes is a powerful and enlightening educational tool. By comparing aspects of different processors (G4e as "wide and shallow" vs P4 as "narrow and deep") I learned more than reading about the processors individually. Third, the author "builds" processors feature-by-feature, starting with the hypothetical DLW-1, continuing with the DLW-2, and then showing how his constructs compare against real processors. Modern processors are very complicated, and a powerful way to learn how they work is to start simple and progress from there. Fourth, astute readers might use Inside the Machine as a simple introduction to assembly language. The book doesn't teach assembly, but it shows, instruction by instruction, how it maps to machine language (bit by bit).
A few minor aspects of Inside the Machine caused me to not give the book five stars. First, I would have liked at least some coverage of the 386 and 486, prior to the Pentium. The i386 at least seems to be the least common denominator for many Unix variants, even though some now use the Pentium for that role. Second, some of the material seemed a little unorganized. For example, a chapter on caching (ch 11) appears to have been thrown after ch 10, but doesn't seem to fit there. Elsewhere, I have to wait to ch 10 to learn about the front side bus, in the middle of a discussion of the G5. I would have also liked to have learned a little more terminology associated with motherboards and the like. Finally, each chapter lacks a summary or conclusion. A few times I felt like the chapter just ended full-stop, with no sense of what had been discussed.
I think addressing these shortcomings would make for an excellent second edition. Perhaps including an appendix with a processor summary would help. I guess if I really want more details, I can turn to Scott Mueller's Upgrading and Repairing PCs; the 18th edition arrives this summer. Inside the Machine is the book that will help you understand how the components of a modern microprocessor function.
Look for similar items by category
- Books > Computers & Technology > Hardware > Design & Architecture
- Books > Computers & Technology > Hardware > Microprocessors & System Design > Computer Design
- Books > Computers & Technology > Hardware > Microprocessors & System Design > Microprocessor Design
- Books > Computers & Technology > Hardware > PCs
- Books > Textbooks > Computer Science & Information Systems > Computer Science