# Transmeta Crusoe

The Transmeta Crusoe is a family of x86-compatible microprocessors developed by Transmeta and introduced in 2000.
Instead of the instruction set architecture being implemented in hardware, or translated by specialized hardware, the Crusoe runs a software abstraction layer, or a virtual machine, known as the Code Morphing Software (CMS). The CMS translates machine code instructions received from programs into native instructions for the microprocessor. In this way, the Crusoe can emulate other instruction set architectures (ISAs). This is used to allow the microprocessors to emulate the Intel x86 instruction set.

## Design

The Crusoe is notable for its method of achieving x86 compatibility. Instead of the instruction set architecture being implemented in hardware, or translated by specialized hardware, the Crusoe runs a software abstraction layer, or a virtual machine, known as the Code Morphing Software (CMS). The CMS translates machine code instructions received from programs into native instructions for the microprocessor. In this way, the Crusoe can emulate other instruction set architectures (ISAs). This is used to allow the microprocessors to emulate the Intel x86 instruction set. In theory, it is possible for the CMS to be modified to emulate other ISAs. Transmeta demonstrated Crusoe executing Java bytecode by translating the bytecodes into instructions in its native instruction set. The addition of an abstraction layer between the x86 instruction stream and the hardware means that the hardware architecture can change without breaking compatibility, just by modifying the CMS. For example, Transmeta Efficeon — a second-generation Transmeta design — has a 256-bit-wide VLIW core versus the 128-bit core of the Crusoe. Efficeon also supports SSE instructions.
The Crusoe is a VLIW microprocessor that executes bundles of instructions, termed molecules by Transmeta. Each molecule contains multiple instructions, termed atoms. The Code Morphing Software translates x86 instructions into native instructions. The native instructions are 32 bits long. Instructions that meet a set of conditions can be executed simultaneously and are combined to form a 64- or 128-bit molecule containing two or four atoms, respectively. In the event that there are not enough instructions to fill a molecule, the software inserts NOPs as padding to fill out empty slots. This is required in all VLIW architectures and is criticised for being inefficient, which is why there are molecules of two separate lengths.
The Crusoe performs in software some of the functionality traditionally implemented in hardware (e.g. instruction re-ordering), resulting in simpler hardware with fewer transistors. The relative simplicity of the hardware means that Crusoe consumes less power (and therefore generates less heat) than other x86-compatible microprocessors running at the same frequency. A 700 MHz Crusoe ran x86 programs at the speed of a 500 MHz Pentium III x86 processor, although the Crusoe processor was smaller and cheaper than the corresponding Intel processor.
The Crusoe was initially available in two forms: the TM3120 (later called TM3200) for embedded applications and the TM5400 for low-power personal computing. Both were based on the same architecture but differed in clock frequency and peripheral support. The TM3120/TM3200 were manufactured in speeds of 333(TM3120 only) 366 and, 400 MHz using a 220 nm process. It has a 96k L1 cache (64 KB instruction and 32 KB data) and no L2 cache. The TM3120/TM3200 has an integrated SDRAM memory controller and a PCI interface. It measures 77 mm$^2$ and uses a 1.5 V power supply, dissipating less than 1.5 W of power (typically). The TM5400 differs from the TM3120/TM3200 with the inclusion of a 128K of L1 Cache(with the addition of 32 KB data cache) as well as the addition of DDR memory support, 256 KB unified L2 cache and LongRun power reduction technology manufactured using a smaller 180 nm process. It measures 73 mm$^2$ and uses a 1.10 V (f = 25%) and 1.6 V (f = 100%) power supply, dissipating 0.5–1.5 W typically and a maximum of 6 W. Later the TM5600 was introduced as a higher end offering to the TM5400 with double the L2 cache (512 KB vs 256 KB). Both the TM5400 and TM5600 operated at clock frequencies of 500–700 MHz.
The TM5500/TM5800 are die shrunk versions of the TM5400/5600 Built on a TSMC 130 nm process at clock frequencies of 667-1000 MHz. Embedded versions rated for 10 years of continuous use were marketed as Crusoe SE (for Special Embedded) TM55E/TM58E respectively at clock frequencies of 667-993 MHz.
The TM5700/TM5900 removes SDRAM support for its integrated memory controller and now comes in a 54% smaller 399 pin FC-OBGA package rather than the ceramic 479 BGA package used previously. Clock speed remains the same between 667 and 1000 MHz.

## Production

Transmeta was a fabless semiconductor company, without the facilities to fabricate their designs. Instead, both processors were fabricated by IBM Microelectronics, the semiconductor business of IBM. IBM fabricated the Crusoe in a 0.18 μm CMOS process with five levels of copper interconnect.

## Software limitations

The Crusoe processor supports MMX but not SSE. As of 2022, most browsers on Windows and Linux, and some other programs, need SSE or SSE2 support; therefore, that software will no longer run on the Crusoe platform. For example, Firefox dropped support for systems without SSE2 in 2017, although K-Meleon could run without SSE on Windows XP. The Efficeon processor added support for SSE and SSE2.

## Products

* Blue Coat Systems Proxy SG210-25 (800 MHz TM5800)
* Casio Cassiopeia Fiva MPC-205/206E
* Casio MPC-701 pen tablet PC
* Compaq TC1000
* Compaq T5300, T5500, T5510, T5515, T5700 and T5710 thin clients
* Dialogue Flybook A33i/V33i
* ECS EZ-Tablet EZ30
* ECS i-Buddie A907
* ECS A530 (ODM, was sold as IRu Stilo 1514 and PCChips A530)
* Flybook
* Fujitsu FMV-BIBLO LOOX s5/53w, t5/53w, t5/53
* Fujitsu / Siemens Futro S300 (800 MHz TM5800)
* Fujitsu LifeBook P1032, P1100, P1120, P2040, P2110, P2120
* Gateway Touch Pad
* HP Compaq t5300 thin client (with TM5600 533 MHz)
* HP Compaq t5500 thin client (with TM5800 733 MHz)
* HP Compaq t5700 thin client (with TM5800 733 MHz or 1 GHz)
* NEC LaVie MX
* MSI PenNote3100 (TM5800 at 1 GHz)
* NEC PowerMate Eco
* NEC Versa DayLite/UltraLite
* OQO Model 01 and 01+
* Orion Multisystems DT-12 desktop cluster workstation
* Orion Multisystems DS-96 deskside cluster workstation
* RLX ServerBlade 1000t
* Sharp Actius/Mebius MM10
* SONICblue ProGear information appliance
* Sony VAIO PCG-U1 and PCG-U3
* Sony VAIO PCG-C1VE, PCG-C1VP, PCG-C1VPK and PCG-C1VN
* Sony VAIO PCG-GT1 (with TM5600 at 600 MHz)
* Syntax A530 laptop (TM5600 clocked at 599.174 MHz)
* Tatung Wireless Thin Client TWN-5213 CU
* TDV Vison V800XPT Tablet
* Toshiba Libretto L1, L2, L3, L3 Adidas Edition and L5 (L1–L3 at 600 MHz and L5 at 800 MHz)