Transmeta Rewrites the Rules
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.
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.
- Readers' Choice Awards--Nominate Your Apps & Gadgets Now!
- Memory Ordering in Modern Microprocessors, Part I
- Source Code Scanners for Better Code
- diff -u: What's New in Kernel Development
- RSS Feeds
- Non-Linux FOSS: AutoHotkey
- Using Django and MongoDB to Build a Blog
- Tech Tip: Really Simple HTTP Server with Python
- Security Hardening with Ansible