The Transmeta Code Morphing Software
Appeared in the Proceedings of the First Annual IEEE/ACM International Symposium on Code Generation and Optimization, 27-29 March 2003, San Francisco, California The Transmeta Code Morphing Software: Using Speculation, Recovery, and Adaptive Retranslation to Address Real-Life Challenges James C. Dehnert, Brian K. Grant, John P. Banning, Richard Johnson, Thomas Kistler, Alexander Klaiber, Jim Mattson Transmeta Corporation, 3990 Freedom Circle, Santa Clara, CA 95054 VLIW instruction set architecture (ISA) with little Abstract resemblance to the external ISA (x86) that it presents to users. This approach allows a simple, compact, low- Transmeta’s Crusoe microprocessor is a full, system- power microprocessor implementation, with the freedom level implementation of the x86 architecture, comprising to modify the internal ISA between generations, while a native VLIW microprocessor with a software layer, the supporting the broad range of legacy x86 software Code Morphing Software (CMS), that combines an in- available. Producing robust runtime performance terpreter, dynamic binary translator, optimizer, and run- comparable to competing x86 implementations requires time system. In its general structure, CMS resembles that CMS deal effectively with a number of difficult other binary translation systems described in the litera- problems that have usually been ignored in the literature ture, but it is unique in several respects. The wide range on binary translation and dynamic optimization. of PC workloads that CMS must handle gracefully in In this paper, we will sketch the structure of CMS, but real-life operation, plus the need for full system-level x86 our focus will be on several of the challenges it faced that compatibility, expose several issues that have received set it apart from other systems described in the literature, little or no attention in previous literature, such as excep- and on the solutions we implemented.
[Show full text]