Richardson, TX--"Intel Inside--R.I.P." Those are the words on a tombstone planted in the atrium at Cyrix. It's also pretty much the philosophy of the company. Cyrix doesn't expect to put Intel out of business any time soon; but if it did, it wouldn't be the first time a David beat a Goliath.
To that end, Cyrix announced the 6x86 microprocessor in October, marking the first time in microprocessor history that a company has introduced a chip that rivals Intel's fastest. The chip gives PC designers and buyers who want optimum performance a viable alternative to Intel chips.
"There's nothing on Intel's roadmap that's going to be faster than this chip," says Martin Reynolds, director of technology assessment at San Jose-based market-research firm Dataquest. He adds that the 6x86 is more advanced than the Pentium, but not as advanced as the Pentium Pro. "Still, the Cyrix part performs a lot better in typical desktop applications than the Pentium Pro," he notes, "which doesn't do very well with Windows code."
Intel has, however, repositioned the Pentium Pro for Windows NT systems and servers. Reynolds' assessment is that the 6x86 is a 1996 chip and that the Pentium Pro will come into its own in 1997.
Perhaps even more remarkable, Cyrix achieved this performance using 0.6-micron technology, a process a generation behind Intel's 0.35-micron manufacturing technology. As an added bonus, at $450 each in 1000-piece quantities, the Cyrix chip costs less than the Pentium.
The challenge 6x86 designers faced was to maximize performance while maintaining compatibility with the x86 instruction set. (Microprocessors that power IBM-compatible PCs run x86 instructions.) But before design even began, Cyrix had to predict where the PC market was going and decide what level of performance the new chip had to offer. The ultimate goal: to design the world's fastest microprocessor.
Breaking in. When Jerry Rogers founded Cyrix in 1988, the world believed that no one could build a compatible x86 processor without infringing on Intel's patents or microcode. Why?
"Because Intel's architecture is so perverted and complex and weird," says Mark Bluhm, Cyrix's director of engineering. "It's been modified and extended for about 10 years. Each time Intel added an extension, you had to worry about compatibility with the old stuff, plus all the new weirdness."
Cyrix proved the world wrong. In 1989, it introduced the first fully compatible but original-design math coprocessor--the 80387. The 486SLC integer unit came next in 1992. Then, designers combined the company's floating-point unit (math coprocessor) and integer unit to create the 486DX.
"Until recently, x86-processor companies were always one generation behind Intel," says Cyrix Vice President Steve Tobak. "We were no longer satisfied with that." In 1991, Cyrix hatched plans for the 6x86.
The first challenge involved picking a performance level that would be competitive by the time the design was in production. "We started when Intel's 486 was out and we didn't know what was going on with the Pentium," notes Project Manager Steve McMahan.
Peggy Herubin, director of applications engineering, helped define 6x86 specifications. Based on conversations with Microsoft, "we came to the conclusion that for desktop PCs, Windows 95 and Windows 3.1 would be the predominant operating systems, and that Windows NT was really a server type of thing." She also notes that the software community doesn't move that fast.
Intel saw things differently, says Herubin. It had assumed that NT would be the desktop operating system by the time they released the Pentium Pro, and that the whole PC software market would have moved to 32 bits. This miscalculation worked to Cyrix's advantage. It also explains why the Pentium actually outperforms the Pentium Pro on Windows 95, which is a mixture of 16- and 32-bit code.
"Intel's crystal ball wasn't clear with the Pentium Pro," says Tobak. "It bet on a faster move to 32-bit computing than has taken place, and it will be years before that transition happens in volume.
"Our crystal ball was clearer. We felt the strength of the market was in the existing 16-bit legacy code. You and I aren't going to go out and spend hundreds of dollars to upgrade software that already runs fine when we get a faster processor."
The 6x86 sports a dual-pipeline integer unit and a floating-point unit. (A pipeline is the part of the processor that actually fetches, decodes, and executes instructions.) Both units use register renaming, out-of-order execution, data forwarding, branch prediction, and speculative execution to speed instruction execution.
But, as Bluhm reports, "The difficulty in designing a microprocessor doesn't come from how to execute the code. The problems you run into are when you have exceptions and asynchronous things happen while you're executing that code."
For example, while an instruction is going down a pipeline, there could be a simultaneous interrupt, page fault, limit violation, or cache miss. No documentation of these phenomena exists.
The Cyrix team did have the advantage of experience with x86 code compatibility, and the fact that one core group of engineers followed the 6x86 design from start to finish. McMahan estimates that the Cyrix design team was one-fifth the size of Intel teams and had only one-tenth the computing resources. Ironically, Cyrix's smaller size resulted in faster design cycles, he says, because the core group understood the entire design and didn't engage in throw-it-over-the-wall tactics.
Optimizing writes. One tactic Cyrix designers did engage in was employing write buffers and write gathering to increase performance by utilizing the processor's full bus bandwidth during writes.
In a typical PC, when an application writes information to the screen, it does so with single-byte (8-bit) writes to contiguous memory locations. The Pentium does byte writes one at a time on a 64-bit bus, which wastes 7/8 of the bus bandwidth.
Cyrix engineers designed the 6x86 to use the write buffers to gather these contiguous byte writes into 64-bit packets. This technique--write gathering--requires 1/8 the number of bus cycles as does the Pentium, says Bluhm. Because of this innovation, the performance of the 100-MHz 6x86 running the graphics benchmark WinBench is 17% faster than the 133-MHz Pentium.
Breaking the tools. Engineers report that designing the chip wasn't nearly as challenging as implementing the design. "The software wasn't available for us to make it happen," Bluhm explains.
For example, the simulators the designers started out with ran too slowly. They found a new company, Chronologic, whose simulator ran ten times as fast for behavioral modeling. This testing verifies a design before it is committed to silicon.
Problems also cropped up in the software the designers used for chip layout--putting the actual transistors down and connecting them. They couldn't use the layout verification software they had because the design's database was so large. Changing to a package from ISS solved the problem, but it also required reformatting the database.
In addition, the team switched from one version of Cadence schematic-capture software to a totally different version. The software company had stopped supporting the first package, Edge.
Says McMahan: "We knew going in that we were going to break the software because we had too big of a database. So we looked for new software, which caused problems, required changes, and ate up a tremendous amount of time."
McMahan notes that Intel has many proprietary tools and probably didn't run into these same problems.
Compatibility testing. The designers began testing the 6x86 for compatibility with the x86 instruction set even before the chip existed. Over the years, Cyrix has developed a compatibility suite and uses it in the early design stages to test behavioral models. The suite includes tests written by design verification engineers, plus snippets of code from a real PC.
After committing the design to silicon, engineers ran application tests. Software included operating systems--such as DOS, various versions of Windows, OS/2, and Solaris--as well as software running under the operating systems, such as Word, AutoCAD, Excel, and DOOM. A Teradyne J971 tester runs tests in both the design debug stage and the production stage.
An additional post-silicon test developed by Cyrix, SOAR (silicon open-ended architectural reassurance), serves as an automated test generator and test checker. It takes a platform under test vs. a known-good platform and runs tests that it generates on both, then compares the results. The known-good platforms include systems based on an Intel 486, Cyrix 486, and Intel Pentium. Tests are randomly pieced-together instructions and interrupts. If the tester sees a difference in the results, it flags an error. SOAR has tested the 6x86 continuously since January 1995.
"Our basis for compatibility is the software," says Herubin. When a difference is flagged, designers don't necessarily consider that an error. They look at how the various processors execute the instruction combination, and go with what's truest to the x86 instruction set.
Roadmap. At the fall Comdex show, Cyrix demonstrated a 120-MHz version of the 6x86, which, according to industry standards, runs 32-bit applications under Windows 95 faster than any existing desktop PC processor. Cyrix expects the chip's performance to rival that of the as-yet-unreleased 166-MHz Pentium. Systems based on this faster Cyrix chip should hit the streets this quarter.
A re-layout of the original 6x86 processor resulted in a 50% die shrink by using all five metal layers of IBM's manufacturing process. The original die used only three. The shrink enables increased production capacity, lower costs, and higher clock speeds. By mid-1996, Cyrix plans to shrink the die another 33% and increase clock speeds to 133 MHz.
"We plan to achieve 200 MHz and maintain the performance lead through 1996," says Marketing Director Bill Blagdan. "Our seventh-generation chip will run the installed software base even faster--we're still not anticipating that everyone will be using 32-bit software."
Cyrix has no manufacturing facility, but uses IBM Microelectronics and SGS Thomson as its manufacturing partners. Customers include AST Research, Epson America, and Peacock in Germany, all of which offer 6x86-based PCs today. Compaq demonstrated the 120-MHz version at fall Comdex, but hasn't yet committed to making systems based on the part.
Having their cake. Reflects Project Manager McMahan: "It's great to go to a store and see a computer that uses a part you designed. On top of that, we've got this David-and-Goliath situation where people are saying that nobody can design an x86 processor that can ever be competitive with Intel."
After we proved them wrong with our 486 processor, we came out with a processor that beat Intel's. That's what the engineers find most satisfying. We can't match them in volume, but we can match them in performance."
Clock speed isn't everything
It used to be easy to figure out how fast a chip was: You looked at the frequency because there was only one architecture--Intel's. Now, companies such as Cyrix are innovating completely new architectures that don't really match up with Intel's anymore. As a result, the frequency-dependence of the performance varies greatly.
For example, Cyrix's 5x86 at 100 MHz competes with a Pentium at 75 MHz. The 6x86 has the reverse situation. At 100 MHz it competes with the Pentium 133. Performance still goes up as the frequency goes up, but that's about all a buyer can rely on when making processor comparisons. Says Steve Tobak: "Understanding the fact that frequency isn't the only ingredient in determining the performance of a system is a barrier that we have to overcome. You have to look at benchmarks, instead."