, Sun Microsystems
Pages: pp. 162-163
The Pentium Chronicles is to microprocessor design what The Mythical Man Month was to software design. In both, a senior leader of a project tells the human aspects of what makes a large development effort work. Another comparable book is The Soul of a New Machine by Tracy Kidder, the story of the development of a minicomputer; but Kidder was an outsider, whereas Robert Colwell is an insider.
Colwell was the chief architect of the Intel P6, the code name for the processor that Intel eventually released as the Pentium Pro. The Pentium Chronicles is mostly the story of the development of the P6, with a bit on the early development of the Pentium 4, code named Willamette. Colwell splits the book into the four phases of processor (or any) development:
He then adds a chapter on the "People Factor," and finishes with a helpful set of answers to the questions people have asked him most often.
Don't expect to learn the technology of microprocessor design from this book. Although Colwell gives a very helpful analogy for out-of-order execution, involving shopping carts and grocery lists, the emphasis is on the processor development process in general, not the details of his design. That seems like the right decision; technology will change, but the process of microprocessor design will not. In this book, the processor's floorplan gets fewer words than the floorplan of the design team's cubicles or the layout of the conference rooms in which the team made critical decisions.
The heart of this book is the anecdotes. Colwell lays out how he hired the team for the design, and recounts customer visits, critical choices he had to make, the development of simulators and performance estimators, and, most of all, meetings with senior management—with all their farce and horror. He describes his correct decisions and the ones he regrets. Through it all, you not only understand what he did, but why he did it. This insight into the thought processes of a brilliant architect (and brilliant manager) is the most valuable part of the book.
One example is the discussion of whether a project should overpromise (higher speed or lower cost than is feasible) and just assume that customers don't expect you to hit your target, or over deliver, promising only what you are confident you can deliver and resisting the marketing department's desire for more. Colwell comes down strongly on the side of over delivering, and explains why.
The concept phase sets the basic architecture of the design, based on a market need and criteria for success. This is where you consult customers. Though ideas flow freely in this phase, Colwell emphasizes the need for a data-driven culture in which decisions rely on experiments (often one-day experiments) and tools. Ultimately, this phase establishes the design team. Colwell typically talks about the importance of assigning cubicles to designers to encourage teamwork and flow of information—he does not believe in leaving anything to chance if it can be planned.
The refinement phase weeds out the impractical solutions left over from the concept phase, and ends with a plan of record. This phase sets the ways of handling changes and bugs. Colwell goes into some detail about the do's and don'ts of design reviews and when to conduct them. He notes that some projects decide to forego design reviews if there isn't enough time, which he considers a very bad idea.
The realization phase encompasses most of the design work. In this section, Colwell discusses the continual trade-offs required to produce a marketable product, validation (which has even more resonance after the Pentium floating-point bug), and project management. This is the longest part of the project, and Colwell gives some good ideas on how to motivate the designers. The P6 project provided breakfasts and dinners, both to keep the designers on campus and to give them healthier food than they'd get at the local fast food outlet. But they did other things to improve morale, including paying for lawn service for those working Saturdays and not having time to mow their lawn, and inviting families to dinner once a week, to let the designers see their kids once in a while.
The final phase, production, is the ramp to volume Production—and it ends when Colwell goes on stage with Andy Grove during the product rollout. But this phase is not only the technical work; the book covers how to do (and not do) press interviews and gives advice on giving presentations.
The next chapter, "People," covers hiring and firing but also includes the interesting struggles Colwell had against some Intel policies, like bag checks upon leaving the building. These checks were supposedly to keep Intel's IP in the building, but with small disks and dialup access from home, he notes that anyone not smart enough to figure out a way of circumventing the checks was not smart enough to be working at Intel.
I must disclose that I worked at Intel briefly during the period this book covers—at a different location and on a different project. Colwell gets the good and the bad parts of the Intel culture exactly right. I've never seen a more insightful or more accurate description of working for a large company.
As far as I'm concerned, every teacher of microprocessor architecture should assign this book along with the standard text. Standard texts describe what features to design, but this book describes how the microprocessor design process actually works. Any student who intends to work in this field will find reading this book more valuable than learning about instruction decode, caches, and out-of-order execution. Students can learn the importance of trade-offs, how to fight with management, and what it takes to design a processor and get it out the door—all before experiencing these things themselves. Colwell has been there, and he's as good a guide to what design is really like as you will ever likely see. I predict this book will become a classic.
The Pentium Chronicles, by Robert P. Colwell (Wiley-IEEE CS Press, 2005, ISBN 0-471-73617-1, 208 pp., $24.95