In
January of 2000, Transmeta Corporation introduced the Crusoe
processors, an x86-compatible family of solutions that combines strong
performance with remarkably low power consumption. As might be
expected, a new technology for designing and implementing
microprocessors underlies the development of these products. As might
not be expected, the new technology is fundamentally software-based:
the power savings come from replacing large numbers of transistors with
software. The Crusoe processor solutions consist of a hardware engine
logically surrounded by a software layer. The engine is a very long
instruction word (VLIW) CPU capable of executing up to four operations
in each clock cycle. The VLIW’s native instruction set bears no
resemblance to the x86 instruction set; it has been designed purely for
fast lowpower implementation using conventional CMOS fabrication. The
surrounding software layer gives x86 programs the impression that they
are running on x86 hardware. The software layer is called Code Morphing
software because it dynamically “morphs” x86 instructions into VLIW
instructions. The Code Morphing software includes a number of advanced
features to achieve good system-level performance. Code Morphing
support facilities are also built into the underlying CPUs. In other
words, the Transmeta designers have judiciously rendered some functions
in hardware and some in software, according to the product design goals
and constraints. Transmeta’s Code Morphing technology changes the
entire approach to designing microprocessors. Finally, decoupling the
hardware design from the system and application software that use it
frees hardware designers to evolve and eventually replace their designs
without perturbing legacy software.