LONDON Transitive Technologies Ltd., a San Diego startup, has introduced software that lets code written for one microprocessor architecture run on another. The company uses software-emulation or "code-morphing" technology similar to that in Transmeta Corp.'s Crusoe processor to give system designers more freedom in processor choices. The technology's arrival in a generic form, potentially targeting any microprocessor's instruction set, could make a big splash in the industry.
Transitive Technologies says its Dynamite software can take binary code compiled for one processor and translate it into the binary code for a different one on the fly, as the code is running.
The first version, Dynamite X/M, turns X86 code into the binaries required to run on the MIPS32 or MIPS64 instruction-set architectures of MIPS Technologies Inc. (Mountain View, Calif.). Dynamite X/M is being evaluated at beta sites now and production will begin in the fourth quarter, Transitive executives said.
While remaining cautious, industry observers said that if compatibility and performance claims are met, Transitive's technology could change the way engineers think about legacy code and diminish the importance of microprocessor architecture loyalty.
At the same time, Dynamite has the potential to be disruptive. A chip maker might, for example, welcome a Dynamite tool that translates other processor binaries for its own microprocessor ISA, but frown on one that sends code compiled for its processors to other targets.
The company gave its first public demonstration of the raw Dynamite technology this past June at the Embedded Processor Forum in San Jose, Calif. Transitive plans to demo the technology working with multiple processor pairs at next week's Microprocessor Forum, also in San Jose.
"I tend to think they're on to something, but I also think they haven't found all the tough problems yet," said Jim Turley, an independent consultant who until recently was senior vice president of technology at Arc Cores, a configurable-processor company. "This is a case where the devil is in the details, and you don't find those until you think you're 99 percent done."
Transitive's code-morphing technology is similar to static compilation, but because Dynamite optimizations are done at run-time they can be more extensive. As a result, code run through Dynamite could produce better results than code that has been conventionally compiled, the company claims.
The Dynamite kernel is generic and customized by software modules specific to the source and target processors. The company says that by adding modules, it can produce Dynamite tools for different processor pairs in a matter of four or five months.
Translation demo
Besides putting Dynamite X/M through its paces, Transitive plans to demonstrate at the Microprocessor Forum ARM-to-MIPS and PowerPC-to-X86 translation. Products based on these schemes, Dynamite A/M and Dynamite P/X, could be introduced as early as the first quarter of 2002, said John Graham, Transitive's chief executive officer.
Alasdair Rawsthorne, the company's chief technology officer and previously a lecturer in the computer science department of Manchester University, is also scheduled to give a presentation in San Jose. (An interview with Rawsthorne is available online.)
Dynamite X/M's arrival should help MIPS processor cores gain design wins in sockets where X86 processors might otherwise have been specified. Transitive has joined the MIPS Alliance Program and will get technical assistance and broad marketing support from MIPS.
"With Dynamite X/M we'll be demonstrating Flash plug-ins on Mozilla running on a MIPS development board," said Graham. Flash is a browser animation system developed by Macromedia Inc. (San Francisco) and Mozilla is an open-source Internet browser that runs on Linux, he explained. "Running X86 plug-ins on a MIPS platform has never been seen before."
Transitive is pursuing an initial-license plus unit-royalty model similar to the one used by processor providers such as ARM and MIPS. Initial-license pricing would fall somewhere between those for an operating system and a processor core, with different fees for single or multiproject terms, Graham said.
By the end of 2002 the company expects to have products for most of the major architecture combinations in the embedded space.
Lessening legacy's import
Despite MIPS' leading position in the set-top-box market, some OEMs have considered using an X86 chip instead, just to handle this Internet legacy code, Graham said. The existence of Dynamite X/M removes that requirement, he said.
"Transitive's ability to enable OEM hardware design engineers to easily port legacy-code applications will strengthen the MIPS architecture's applications in the embedded electronics industry," said Kevin Meyer, vice president of marketing at MIPS Technologies.
Although Transitive has previously claimed that Dynamite can achieve parity with or even better the speed of the target processor running native code, Graham admitted this is not the case with the Dynamite X/M-over-Linux product.
"Remember, this is translating from CISC to RISC, which is the worst case," he said. "We're getting a ratio of 1:1.6. So translating code to a 500-MHz MIPS core will yield 300-MHz Pentium performance."
Dynamite can also "exploit discontinuities in CPU vendors' road maps," said Graham. Referring to next week's ARM-to-MIPS demo, Graham said: "For example, at present ARM and StrongARM run out of steam at a couple of hundred megahertz clock frequency, but MIPS does not." Licensable MIPS cores can synthesize to 500 MHz, and dedicated suppliers of MIPS-based processors have announced chips with cores running at 1 GHz. Developers could, therefore, get a performance boost by moving to a sufficiently faster processor without having to recompile code, Graham said.
But Dynamite does have drawbacks. Dynamite X/M occupies about 750 kbytes of memory and the translation work it does results in latency in the early stages of running any particular program. This latency diminishes with time, or can be minimized by running code during an imposed startup-delay or "learning" period.
"Emulation or code morphing or whatever you want to call it is as old as computers. It works, after a fashion, but it's always been dreadfully slow and the bugs are painfully subtle," said analyst Turley. "Apple did an amazing job with its Power Macintosh running 68000 code on the PowerPC several years ago. Most other companies have fared much worse."
Dynamite is thought to be the first generic approach to dynamic translation applicable to many processor and DSP pairs.
"I don't think the latency is going to go away and for that reason, for real-time applications emulation is generally not a good idea," said analyst Turley, who says he has seen Transitive's MIPS/X86 demo.