Transmeta Rewrites the Rules
When Linus Torvalds joined the secrecy-shrouded startup Transmeta Corporation, he couldn't tell anyone what he was working on. Now, the wraps are off a revolutionary new idea: a chip that combines the low power of a RISC chip with the software versatility of an x86 processor. This combination enables a new class of lighter, longer-lasting mobile devices with PC compatibility, and yes, some of these devices run Linux. The new chip (see Figure 1), dubbed Crusoe after the famous traveler, achieves this combination of features without any RISC or x86 hardware. Instead, it runs so-called code-morphing software on VLIW (very long instruction word) hardware to execute standard PC software. This unique combination delivers the low cost, low power and software compatibility needed in a mobile PC or a portable web pad.
Dave Ditzel (see Figure 2), a former Bell Labs and Sun CPU architect, founded Transmeta in 1995 to pursue a novel approach to x86 microprocessor design. Whereas Intel and AMD take power-hungry desktop PC processors and cripple them to fit into a notebook PC, Transmeta decided to design a new mobile x86 processor from the ground up. As a result, the company's Crusoe chips dissipate as little as one-fifth the power of Intel's Mobile Pentium III. To minimize power, Crusoe uses a simple yet powerful VLIW architecture that requires far fewer transistors than Pentium III or AMD's Athlon. These traditional chips execute several instructions at once to improve performance. Standard x86 programs, however, assume the processor executes one instruction at a time. Therefore, a huge portion of a Pentium III or Athlon chip is devoted to checking and arranging instructions so they can be safely executed together.
A VLIW design, such as Crusoe, avoids this overhead. Each Crusoe instruction contains the equivalent of four x86 instructions, all prearranged for optimum execution. With no checking or reordering logic, the processor can execute all four instructions at once and immediately begin the next set of four instructions. As a result, the processing logic in Crusoe requires 75% fewer transistors than in Pentium III. This difference provides several advantages. Each transistor on a chip consumes electricity; with far fewer transistors, Crusoe needs less power to operate. The missing transistors also make Crusoe less expensive to build than a Pentium III. The simpler chip requires less time to design and is easier to test—important issues for a small company such as Transmeta.
Alone, a VLIW chip is incapable of running programs designed for an x86 processor. But the Crusoe chips are paired with Transmeta's patented code-morphing software (CMS), which converts x86 programs into VLIW instructions that the chips can understand. Although Transmeta is a chip company, developing this software was a more daunting task than developing the chip itself.
The CMS, which Torvalds helped to develop, analyzes an x86 program and feeds the corresponding VLIW instructions to the processor. This translation is done on the fly and is invisible to the user. The CMS translates only those portions of the program that are in use; for example, when executing Microsoft Word, the “mail merge” module is not translated unless it is invoked.
Translated code blocks are saved in a translation cache; on subsequent iterations, no retranslation is needed. Since programs often execute the same loops and subroutines over and over, the translation cache is very effective. But the CMS has the odd property that it executes a program relatively slowly to start, but faster over time. Translations are not saved when the user quits an application, so the learning process starts anew each time the application is launched. The overhead of code morphing reduces the raw performance of the VLIW engine, but over time, this overhead is amortized across many iterations of frequently used code blocks. Transmeta's VP of Product Development, Doug Laird, claims that the 667MHz Crusoe chip will match the performance of a 500MHz Pentium III, although the company has not released benchmark data to support this claim.
Many popular PC benchmarks use a particular feature of an application very briefly before moving on, reducing the advantage of the translation cache. This problem makes measuring the performance of the Crusoe chip difficult. Real users, in contrast, typically use the same features again and again. For Transmeta to compete well against Intel, end users must perceive Crusoe to be just as fast as Pentium III.
Processor designers and software designers typically work for different companies. If they do work at the same company, they rarely deign to speak to one another. At Transmeta, these engineers work hand in hand. The unique combination of hardware and code-morphing software allows them to solve problems in ways no other company can.
This is because the CMS is the only code that uses Crusoe's VLIW instructions; all other software for the chip is written in x86 code. Therefore, the processor designers are freed from the burden of maintaining compatibility; in fact, the first two Transmeta chips are not even compatible with each other! Each uses its own version of the CMS, and both are fully compatible with all x86 programs through code morphing. If the hardware team wants to give the chip a feature that improves performance or reduces cost, they need only clear it with their compatriots in CMS land, and the change can be made. Conversely, a bug in the hardware design can often be solved by telling the CMS “don't do that”, avoiding a costly and time-consuming redesign of the chip.
The biggest fear of an Intel CPU engineer is that their design will have a bug that prevents some application from running correctly. The infamous Pentium floating-point bug cost the company hundreds of millions of dollars in 1995. In contrast, if the CMS doesn't execute an x86 application correctly, the CMS can usually be patched and reissued within a matter of days. Crusoe may be the first microprocessor to be upgraded in the field. CMS engineers also ask for and receive hardware changes that accelerate x86 execution. Previous attempts to implement x86 compatibility in software, such as Sun's WABI (x86 on SPARC) and Digital's FX!32 (x86 on Alpha), failed because they didn't offer the right combination of 100% compatibility and competitive performance. Neither SPARC nor Alpha offers any support for x86 in hardware, whereas the Crusoe chips include small but important circuits that speed the code-morphing software beyond what previous efforts achieved.
With its low power and x86 compatibility, Crusoe is an obvious fit for a notebook PC. The processor runs Microsoft Windows and standard PC software, just like a system that uses an Intel or AMD processor. Its low power extends battery life and reduces the amount of heat the processor gives off. With a cooler chip, notebook makers can take out fans and heat sinks that add weight, burn power and make noise. Not satisfied with the inherent benefits of its VLIW design, Transmeta developed its LongRun technology to further trim Crusoe's power consumption. During operation, the CMS monitors the workload of the processor and dynamically adjusts its clock speed to match. Unlike other chips, Crusoe can reduce its voltage as well as its clock speed; because CMOS power equals cv<+>2<+>f, at 50% workload the chip needs less than 20% of its peak power.
LongRun was announced the day after Intel's SpeedStep technology, which also changes clock speed and voltage in mobile systems. SpeedStep processors go faster when the notebook PC is plugged into the wall, but SpeedStep has no effect in battery mode. In contrast, LongRun conserves power, extending battery life when a notebook user is on the go. The low power of Crusoe will extend the battery life of traditional notebook PCs, but only by 30% or so in most situations. That's because the CPU typically consumes about a quarter of the battery's output, with most of the rest used by the display backlight, hard drive and CD-ROM drive. Transmeta likes to focus on applications, such as DVD, that are more CPU-intensive and therefore have a bigger advantage on Crusoe. But simply adding Crusoe to today's notebook PCs will not result in an eight-hour battery life.
Crusoe's power advantage is more critical in the emerging market for portable web devices. In a wireless web pad with no drives (see Figure 3), the CPU is a large part of the power budget. Intel suggests its Celeron processor for these devices, but Celeron burns too much power for extended battery life. Intel's StrongArm chip uses even less power than Crusoe, but doesn't offer x86 compatibility.
Figure 3. Prototype Web Pad Using Crusoe Chip
Why is x86 compatibility important? After all, these devices don't run Windows or Windows software; they use an embedded operating system, in some cases the new Mobile Linux, and a browser that has been compiled specifically for the internal processor.
Transmeta points out that many browser plug-ins are written in x86 code. To get the full web experience, a web pad must be able to download and execute new plug-ins. Without these plug-ins, some web pages simply won't work. To offer the same experience for a StrongArm web pad, a system vendor would have to fund the porting of each new plug-in to the StrongArm instruction set.
Instead, Crusoe offers out-of-the-box compatibility with all web content. In addition, it gives the system maker the choice of Linux, Windows CE, or any other operating system that already runs on the x86 platform. Crusoe also supports all of the popular x86 software-development tools. The chip's low power and x86 compatibility give it a clear advantage in this market segment.
The bad news is that the market for web pads is basically nonexistent, limiting Transmeta's potential sales. Crusoe burns too much power for today's most popular portable web device, the Palm VII. But this market could grow to tens of millions of units over the next five years, and Transmeta is poised to grow along with it.
By boldly combining hardware and software in a new way, Transmeta has built a processor with clear advantages in power and compatibility. If Transmeta delivers on its performance claims, Crusoe should launch a new class of devices which let you take the Web wherever you go. With their code-morphing software, Crusoe devices will run nearly any operating system. But as Transmeta's Torvalds says with a smile, they will run Linux just a little bit better.