will demonstrate PowerPC based applications running at well over 1+ GHz equivalent PowerPC speeds on a 1.4 GHz AMD Athlon processor today at the Microprocessor Forum. In the company’s demonstration, a PC will be running an X86 Linux distribution, and PowerPC compiled Linux applications are running using Transitive’s Dynamite code morphing engine.
Transitive announced its Dynamite code morphing software at the Embedded Processor Forum earlier this year. Since then, they have been working on specific demonstrations that would be compelling to future customers. Last month, Transitive announced Dynamite X/M, which allows X86 code to run on MIPS processors. Transitive’s CEO John Graham told MacCentral that the PowerPC to X86 conversion software is now also available at an alpha level/evaluation stage.
Transitive’s Dynamite code morphing software is tailored to each translation, but the kernel itself is CPU agnostic. In the PowerPC to X86 example being demonstrated today, the PowerPC code is first decoded into an intermediate abstract language by a specific PowerPC decoder running on the X86 processor. That data is then given to the Dynamite kernel which generates optimized binary code for the X86 processor. The Dynamite kernel then sends that data to a X86 encoder that allows the translated and optimized PowerPC code to run on the X86 processor.
Dynamite is fast, and it gets faster the longer an application is used. Dynamite examines code as it translates and works to optimize the output that is ultimately sent to the CPU. With Each iteration of an application or task, Dynamite moves more relevant data to the processor’s cache and discards more code that is in the application but not needed for the task at hand. Additionally, Dynamite saves commonly used translations and is able to quickly re-use repeated instructions. For example, a short movie might play 90 percent as fast in translation as the original processor on the first pass. However, the second pass might be as fast as the original processor, and the third might be far faster than the original processor. This performance improvement happens quickly within a running, translated application — in many cases within seconds.
Dynamite is not a shrink-wrapped product for consumers. It is intended to allow developers to develop their code in a more processor agnostic fashion. For example, a developer might want to use another processor family because that family has a more aggressive performance roadmap or offers other attractive features. However, before making a change that developer has to weigh the expense of converting its legacy code to the new CPU. Transitive will allow developers who move from one processor to another to save their legacy code by running it in translation. “We wanted to enable customers to detach their code base from one CPU,” Graham told MacCentral.
Transitive will work with their customers to develop a specific translation that is not seen by end users. Dynamite is radically different from SoftPC or VirtualPC both in its translation methodology and in its implementation. “The company [Transitive] sells deployment and integration work, and in some cases extensive ongoing CPU support and maintenance,” said Graham. “The focus is entirely on CPU translation and hardware reliability at native speeds. Being able to let customers choose the right CPU is the goal.”
Graham said that the PowerPC and X86 processors were selected for translation because both are commonly used, and both processors have different roadmaps. “Dynamite enables people to break that restraint [of supporting or abandoning legacy code] to move from the PowerPC roadmap onto a different CPU with a more aggressive roadmap,” said Graham. Transitive will be providing morphing software packages for more processor types in the future, but the company will be looking first at cores that have more drastically differing roadmaps.
“This is purely a technology demonstration,” said Graham, “we have no relationship with Apple.” However, Graham suggested that Dynamite might be valuable to Apple. “Dynamite may enable Apple to run in spaces they have not previously considered — say running the Mac OS in sub-laptop or mobile environments,” said Graham. “Once a company has choice about what CPU is can run on, it opens a lot of very interesting possibilities.”