News & Views / September 1995

P6 Weakness Revealed

When running legacy applications,
a fast Pentium may outperform the first P6 processors

Tom R. Halfhill

Trick question: When is a Pentium faster than a P6? Surprise answer: When it's running 16-bit software, including DOS and Windows 3.1.

Intel's latest benchmark testing reveals that a 133-MHz Pentium consistently outruns a 150-MHz P6 when executing the 16-bit code found in today's most popular software. Even a 100-MHz Pentium runs neck and neck with a 150-MHz P6.

Theoretically, the sixth-generation P6 chip should blow the fifth-generation Pentium out of the water. The P6 has three-way superscalar superpipelines, speculative execution, out-of-order execution, additional registers, 2.2 million more transistors, more headroom for higher clock speeds, a closely coupled secondary cache, and a higher price tag (see "Intel's P6," April BYTE). But some of those fancy features actually slow down the P6 when running 16-bit code.

The problem, says Intel, is with today's installed base of software, not with the chip. The P6 is optimized for 32 bits. When Intel engineers began designing the P6 about four years ago, they figured everyone would be running 32-bit software by now. After all, Intel's first 32-bit x86 processor (the 386) dates back to 1985. But the industry hasn't moved quite as fast as Intel and others expected: Most PCs today run 16-bit Windows. When Intel ran the SysMark application-level benchmark programs on a P6, old-generation software embarrassed Intel's next-generation chip.

It's certainly not unusual for a new processor to deliver less-than-optimum performance unless old software is recompiled to take advantage of the new design. That's especially true of RISC processors. While the P6 is still a CISC chip, it adopts several RISC-like techniques. However, it's definitely unusual for a new CPU to run old software slower than existing CPUs that share the same basic architecture. (For more information on why this is, see the sidebar "Why Legacy Code Snags the P6.")

The P6 lives up to expectations with 32-bit code. Intel's benchmarks show that it easily outperforms the fastest Pentiums when running 32-bit applications on a 32-bit OS, such as Windows 95 or Windows NT. Interestingly, however, the P6 does much better with NT than it does with Windows 95. Intel says that there are vestiges of 16-bit code in the Windows GDI (Graphical Device Interface), while NT is thoroughly 32-bit.

The P6's poor showing with 16-bit software is probably not as serious as it seems. High prices will initially limit the P6 to servers and workstation-class desktop systems, whose performance-minded users will almost certainly be running 32-bit OSes and applications. If the P6 follows an adoption curve similar to the Pentium's, it will not appear in mainstream PCs until 1997. By then, 80 percent of new PCs will ship with a 32-bit OS, according to International Data (Framingham, MA). And Windows 95 should accelerate the migration to 32 bits.

Intel says the P6 will get a performance boost when the company moves from its current 0.6- to 0.35-micron process. That raw performance boost should let the P6 outperform the Pentium in running legacy 16-bit software. Until then, anyone who is contemplating the purchase of a P6 should be forewarned: If you're running 16-bit software, the Pentium delivers more bang for fewer bucks.

P6 Faster in Raw Performance...but Slower for 16-bit Applications

P6 vs. Pentium
                  benchmarks.

The P6 outruns the fastest Pentiums when measured by low-level 32-bit benchmarks, as seen in these SPECmark estimates from Intel (see graph on left). Although Intel initially planned to introduce the P6 at 133MHz, it's now likely the chip will debut this fall at speeds of 133, 150, and 166 MHz.

Although the P6 outruns the fastest Pentiums in low-level 32-bit benchmarks, a 150-MHz P6 is outraced by a 133-MHz Pentium and matched by a 100-MHz Pentium when running 16-bit programs under Windows 3.1, as seen in these preliminary benchmarks from Intel (see graph on right). With 32-bit Windows 95 or Windows NT, however, the P6 meets expectations. As of this writing, Intel has not permitted BYTE to run our own benchmarks on the P6.


Letters / December 1995

P6 Revisited

When is someone going to write an "emperor's new clothes" story about Intel's P6 chip? If I compile a word processor with a 32-bit compiler, it still does byte manipulation, and if it uses the string manipulation instructions for string searches, it will have target bytes in registers, etc. Why should such software speed up on a P6 if compiled with a 32-bit compiler as compared to a 16-bit compiler?

I think the P6 team really blew it. The Pentium is the last x86 chip to give great gains in existing software without recompilation. It will be interesting to see if Intel can convince people to drop their Pentiums for P6s. I wouldn't.

Bob Morris
morris@sce.carleton.ca

We've published two stories (plus a sidebar) on the P6's problems with 16-bit software (September and October BYTE). The fact is, our own benchmarks — as well as other widely used benchmarks, such as SysMark — confirm that the P6 does a very good job of running 32-bit software. I don't think the P6 team "blew it." I do think that Intel misjudged how long it would take for Microsoft to ship a mainstream 32-bit OS, and also how much old 16-bit code would be left in that "32-bit" OS.

The P6 is optimized for 32-bit code, not a specific flavor of 32-bit code, and the software industry — pushed by Microsoft's Win32 API — is moving to 32 bits independently of the P6's characteristics. The P6's product life will probably extend to the end of this decade. I can't fault Intel for designing the chip with the future in mind. — Tom R. Halfhill, senior editor

For an update on BYTE benchmarks and the P6 chip, see "BYTEmark Bug Bashed" in this issue's News & Views section. — Eds.

Letters / February 1996

P6 Weakness

What a wonderful world we live in. Microsoft's benevolent influence is so great that you counted the P6's 32-bit optimization as a technological disadvantage ("CPU Scorecards," November).

Dean Roddey
Dean_Roddey@FIDO.qmi.mei.com

The P6's optimizations for 32-bit code are not a disadvantage. But the chip's poor performance when running 16-bit code will be a distinct disadvantage to anyone using Windows 95, Windows 3.1, DOS, or 16-bit application software. There's nothing wrong with tuning a next-generation processor for 32-bit code, but Intel could have achieved good 16-bit performance as well, and without major sacrifices. — Tom R. Halfhill, senior editor

I am in no way distressed that Intel's P6 chip shows weakness when running 16-bit code. Intel should abandon unnecessary functionality and produce chips with less than 100 percent compatibility with its earlier chips. The result would be an ideal chip for workstations running Windows NT or Unix and the basis for the next generation of Intel chips — a pure 32-bit, flat-model CPU, with binary compatibility for all Win32 and OS/2 applications.

Phil Jollans
Wolfratshausen, Germany
100275.2756@compuserve.com

While your suggestion would reduce the complexity of the P6 (Pentium Pro) and probably increase its performance, another result would be howls of protest from x86 users. Intel's best argument in favor of the x86 is its backward compatibility with existing software. If you take that away, there would be no reason to buy an x86 chip instead of a RISC chip. It will be interesting to see if Intel can maintain full x86 compatibility in the new processor it is designing with Hewlett-Packard. — Tom R. Halfhill, senior editor

Copyright 1994-1998 BYTE

Return to Tom's BYTE index page