x86: The Right Choice?
We might tend to forget this additional cost of several hundred thousand transistors today, when modern processors have several hundred million transistors, but if you go back in time 15 years ago when the Pentium and PowerPC 601 were in rivalry, Intel’s latest processor used approximately 15% more transistors than IBM’s did. And a difference of 500,000 transistors when the entire processor had approximately three million is far from negligible. So did economic factors run counter to good technological sense? Not really.
First of all, Intel has the benefit of 30 years of expertise with its x86 architecture, and even if it does possess skills with VLIW (IA64) and even RISC (i860, i960) architectures, its experience with the x86 architecture is a genuine advantage. Obviously, that experience is with hardware as well as software, since Intel can re-use its years of research on x86 compilers.
A second point is that the choice of CISC has advantages as well as disadvantages. while RISC instructions are of similar size and constructed in the same way to make decoding easier, CISC instructions are of variable size. Also, while decoding is complicated, x86 code is traditionally more compact than the equivalent RISC code. Here again you might tend to think that factor is negligible, but in this case, these are processors with very small caches, where every kilobyte counts.
The choice of the x86 has one more advantage: it’s an opportunity for Intel to re-use one of its older designs, which is exactly what the engineers did. Intel’s last in-order processor was the Pentium MMX (P55), but the improvements it made over the classic Pentium (the P54C) weren’t really worthwhile in the context of the Larrabee project. It made more sense to use the original. But here again a question arises: Wouldn’t it have made more sense to start from scratch and design a processor that was perfectly suited to Larrabee?
There’s a tenacious myth in the public’s mind associated with starting with a clean slate when it comes to processor designs, which is seen as synonymous with quality. Most people see it as an opportunity to get rid of all the encumbrances of the past. But in practice, it’s extremely rare for engineers to start from scratch. First of all, because there’s no point in it. Many building blocks are perfectly reusable and don’t need to be created all over again. Also, it would be too expensive in terms of time and money.
While Intel undeniably knows how to design and produce x86 processors, we tend to forget the amount of time it takes to completely debug a design. Obviously, famous bugs like the Pentium floating-point division bug or Phenom Translation Lookaside Buffer (TLB) come to mind because they made headlines. But in fact, all processors have bugs of varying significance. All you need to do is read the manufacturers’ data sheets that list them for a certain processor model. The advantage of modifying an existing design like the Pentium is that it has already been extensively tested and debugged, which is a great head start. Insider rumors say that Intel has re-used the Pentium design that the Pentagon carefully modified when it was used for military purposes. That’s not very credible, but it adds to the Larrabee mystique, and Intel will likely not deny it.