Observations on the processor industry
Surgeon General’s Warning: This blog entry could cause significant eye glaze.
I just watched an hour and a half long graduate presentation given by Bob Colwell that The Inquirer linked to in an article today. Bob Colwell was one of the lead architects at Intel of the i386 microprocess between 1992-2000, and as a computer enthusiast who has been following the hardware game since about 1997, I thought he had a lot of fascinating insights into not only the technical issues of scaling the x86 architecture, but the interactions among management, marketing, engineers and the “weird” public that led to things being the way they are.
For example, the infamous FDIV erratum on the original Pentium (aka the floating point bug) started with management dictating that they wanted to shrink the processor die by reimplimenting the floating point logic on the chip with respect to how much space it took up on the 486. Someone wrote a formal proof of how to rework the chip logic, and it looked good so they implemented it on silicon. They then discovered a problem with the proof while they were implementing it, but I guess with the enormous costs involved, it made more sense to produce the silicon as-is and fix it in the next stepping (aka processor revision). Unfortunately for Intel, the internet was just starting to catch on, and one Professor Nicely discovered the bug and released a program on the internet to test for the bug. The non-technical public got hold of the program, found the bug in their processors, and demanded that Intel replace it with a working processor, which, prior to the advent of the internet, would not have been the 475 million dollar issue it ended up. Ironically after all that, the die was no smaller than before! And even more ironically, the fiasco made the Pentium brand name a household word nearly, and Intel got a reputation as a company who stood by their product. The rest is history.
I found those kind of insights particularly interesting. I also found his comments on Itanium to be particularly poignant considering the corner that architecture seems to have painted itself into. Apparently (and I do seem to recall this when I first heard about IA64) Itanium was originally meant to replace x86. In fact, x86 was never meant to be the success it eventually became — it just wasn’t designed with the future in mind to the consternation of many an engineer. So Intel had all these lofty goals to migrate from x86 to this new architecture, but according to Calwell, the design suffered from lack of a clearly defined target; as the design progressed, based on the performance levels they wanted, it became clear that the power disappation was way too high, so they had to start scaling back the clockspeed to compensate, which of course lowered the performance. Also, 1/3 of the (huuuge!) die size was given to x86 compatibility, and it was awfully slow to boot. Merced — the first generation Itanium — ended up being pitched as a server solution only, and I remember hearing that it would eventually trickle down to desktops in the future, but that marketing spin disappeared pretty quickly. So now, the third generation in, Intel is left with a chip architecture that took billions of dollars to produce whose only market is high-end vertical server applications. Talk about vaporware. Even worse, hype about this upcoming architecture contributed to killing the Alpha architecture, which was a truly wonderful high-end server solution done the Right Way. Whereas the high-end 64-bit playing field used to hold several players, it’s now down to Itanium, Sparc, and PowerPC. IIRC, SGI stopped contributing to their MIPS architecture. HP-UX is basically in a holding pattern. Alpha is dead, lost in the shuffle from the whole HP-ate-Compaq-which-ate-DEC bigger fish conundrum. Sparc has been in trouble for some time, actually, with Sun floundering on their wishy-washy business plan/s. I always liked the McNealy quote, “Sun is not in a hole. There are a lot of companies that wish they were in Sun’s hole.”
The fact is, the chip market is really changing, and seeing Calwell’s presentation, it really drives home the degree to which that’s true. It’s been no secret for quite some time now that AMD chips are much better performers than Intel chips at equivalent clock speeds, yet it’s the public’s incorrect perception the clock speed determines how fast a computer is which has driven the market. The problem is, we’re running into several dead ends on the x86 front. Chip complexity has gone through the roof in recent generations. Power dissapation is getting higher and higher. And for Intel, they’ve just increased the pipeline to a whopping 31 stages so they can continue to raise clock speeds in the coming year, never mind that the Northwood beats Prescott at equivalent speeds. Even the first generation Pentium IV, the Willamette, was a disappointment compared to the Pentium III.
Now enter the Pentium M, part of the Centrino brand, which is essentially a reworked Pentium III for higher performance per clock and lower power. According to a recent article at The Inquirer, in another couple of years, the Pentium IV is going to be scrapped in favor of the Pentium M for desktops as well as laptops. If this does turn out to be true, it’s a significant admission that the Pentium IV really does suck, and that the design decisions they’ve made were the wrong ones. Speaking of which, Intel has also fessed up to the long-rumored Yamhill instruction set, which is nothing more than AMD’s AMD64 extensions to make x86 64-bit. AMD is really looking very good right now, especially with the whole 100 watt Prescott fumble. It’ll be interesting to see how much market AMD manages to steal before Intel starts to recover.
Either way, I’m not sure it’s going to matter that much, because except for memory bandwidth and latencies, I don’t think there’s that much life left in the x86 architecture. I think Intel made some fundamental mistakes by driving the cpu clock speed ever higher and essentially ignoring the rest of the system. In a way, I think Intel has reached the point with x86 that Motorola hit with their G4 back when they capped out at 500MHz. Except, Motorola didn’t cheat the way Intel has to keep driving clock speeds ever higher.
In the end, I’m kind of hoping that Apple has the last laugh now that they’ve partnered with IBM for the PowerPC. For one thing, PowerPC is RISC, which is really where ideally Wintel should have headed ages ago. Intel *did* try to do something different with Itanium, but they fumbled bigtime. They still have a lot of money in their coffers, so even in their weakened state right now they’re still a force to be reckoned with for some time to come. But I think the limitations of the CISC-based x86 architecture are going to start getting more and more impossible — and expensive — to surmount. By comparison, IBM should have a lot of life left in the PowerPC, and they have the roadmap to prove it currently. I think eventually PowerPC will surpass x86 in performance and scalability, and at that point the Wintel holy alliance will be irrevocably shattered; sooner or later people have to start seeing that x86 is a dead end, and I delight in wondering where that will leave Microsoft. In fact, this could be Linux’s big chance.
Of course it’s easy to speculate where the future of architecture is, but legacy applications tend to bind people to a given technology, which has been the case with x86 and will make any future migration to PowerPC or another architecture very painful. I just hope I’m retired to a nice tropical island by then.
Ah well, I’ve rambled on long enough. If you’ve been brave enough to read this whole entry, you should definitely check out the video, especially if you’re interested in this kind of thing.
February 24th, 2004 at 6:56 am
Hey Tim: did you know about the CubeOwner.com site? It’s got all sorts of info about the cube.
February 24th, 2004 at 10:27 am
Actually, yeah, I did run across that in my travels, and let me tell you it’s been a *great* resource. Helped me quite a bit.