Crusoe: Transmeta Comes Out of the Closet
RISC to the Extreme
Because Transmeta was founded by Dave Ditzel, architect and evangelist of the SPARC processors used in Sun workstations, it had long been speculated that the firm would to produce some kind of RISC (Reduced Instruction Set Computing) microprocessor. RISC chips are widely used in embedded devices such as cell phones, video games, and computer peripherals. Some especially powerful RISC chips, such as the Alpha microprocessors developed by Digital Equipment Corporation and now sold by Compaq, are at the heart of powerful mission-critical servers.
As it turned out, the rumors were correct. Crusoe is a line of RISC microprocessors that use special translation software to run programs designed for other computer chips, including Intel's Pentiums. The chips will be designed by Transmeta but built by IBM at its chip plant in Burlington, Vermont.
Primitive as Can Be
While they were demonstrated running programs designed for Intel's Pentium, the Crusoe processors are very different from a Pentium chip on the inside. Each is a VLIW (Very Long Instruction Word) microprocessor which is capable of doing, at most, four things at once. (Intel's Pentium III, AMD's Athlon, and other popular chips such as the Alpha and Sun SPARC are capable of doing more things at one time.) Each Crusoe instruction consists of 128 bits of information (instead of as little as 8 for an Intel processor) and tells Crusoe which four things to do at once. The processor is small, simple, and compact, and uses very little power. It is also completely incompatible with any other. In fact, Transmeta's first two Crusoe chips--the TM3120 and the TM5400--are even incompatible with one another at the hardware level.
The "secret sauce" that makes the Crusoe chips capable of running code designed for other machines is Transmeta's "Code Morphing" software. This software examines a program written for another processor, translates the code into the Crusoe chip's own machine language, and then tells the chip to run the translation. The software tries to be efficient about how it does this, working only on the parts of the program that need to be run and saving (caching) translations that are likely to be used again later.
The notion of emulating another microprocessor by translating machine instructions is hardly new. Two other companies, Connectix and Insignia Solutions, both publish products that let a Macintosh emulate another machine, such as an IBM-compatible personal computer or a Sony PlayStation. JIT ("Just in Time") compilers that translate Java code do the same thing; in fact, many of the Transmeta programmers previously worked on Java Virtual Machines. The Alpha emulates the VAX minicomputer via a program called PAL and Intel microprocessors via one called FX!32. H-P has published papers about a technology called Dynamo, which uses techniques similar to those employed by Transmeta's "Code Morphing" software. And Colin Hunter, who now works for Transmeta, began work on fast emulation software nearly a decade ago.
For detailed technical information on the Crusoe processors and the translation process they use, see the white paper The Technology Behind Crusoe Processors on Transmeta's Web site.