15 June 2005--Apple Computer Inc.'s recently revealed switch from PowerPC processors to Intel microchips led naturally to the question: will software written for the PowerPC, made by IBM and Freescale Semiconductor, run on the new Intel-driven Macintosh computers due out in 2006? Yes, thanks to a program called a translator, which transforms instructions meant for one chip into instructions that another chip can understand.
Apple has made such a switch before--changing from the Motorola 68k processor to the PowerPC in 1994and a translator made it seem easy from the user's perspective. Constructing a suitable translator "was very expensive for Apple and very painful internally, from what I understand, but very seamless from the user's point of view," says Doug Burger, an associate professor at University of Texas at Austin who is an expert on software and hardware interaction.
This time around, Apple is getting outside help. The company developed its new translator program, named Rosetta, with the aid of Transitive Ltd., a five-year-old firm headquartered in Manchester, England. Transitive has had its own translator on the market since September 2004. Called QuickTransit, the software translates between a wide variety of processors, including the PowerPC, the x86, and the Itanium.
Two different chips can accomplish all the same tasks--from simple arithmetic to fast Fourier transforms--but they do so in different ways and, accordingly, need software to communicate with them differently. An instruction set defines the list of operations that a processor can do. Since an application consists of instructions for a specific processor, a PowerPC application might as well be Greek to an x86 chip.
Software makers have tried various techniques to run software on inhospitable hardware. For example, Apple's 1994 68k interpreter, at least in its earliest version, converted just one instruction at a time into an equivalent instruction for the PowerPC chip. It then waited for a response from the chip and converted that response into a format the application could understand, and so on. This kind of software, often called an emulator, usually runs rather slowly.
Both Rosetta and QuickTransit rely on a technique called dynamic translation. Like emulators, dynamic translators work while an application is running, but instead of stepping through an application one instruction at a time, they work with chunks of instructions. What's moreand here's a big efficiency advantagedynamic translators store translations in working memory. The next time an application hands them the same chunk of instructions, they simply pull out its ready-made translation. Since many applications end up running certain blocks of code repeatedly, not having to redo translations saves time.
Some dynamic translators employ further tricks to boost performance. QuickTransit goes back to frequently used translations and continues to tweak them to run faster. "We're constantly watching the code, looking for what the hot spots are at that point in time," says Transitive CEO and President Bob Wiederhold.
Apple and Transitive won't say whether Rosetta uses similar performance enhancers. Likewise, they won't comment directly on how Rosetta will affect the speed of the applications it translates.
Though Wiederhold won't make predictions about Rosetta's performance, he notes that QuickTransit doesn't slow down graphics or a user's interactions with an application, such as cursor control. Other computations run at about 80 percent of the speed they would achieve if they had been written specifically for the new chip.
QuickTransit's actual performance depends on the application and the intensity of its computations. In particular, it doesn't work well for the most computation-heavy applications, such as three-dimensional modelling. "We're not saying it's the right technology for every application," Wiederhold says of QuickTransit. "It's a great technology for a high percentage of applications."
As for Rosetta, users will have to wait to see what happens when the first Intel-based Mac emerges by this time next year. "I don't think Apple would be making the transition if they didn't think they could pull it off," says Austin professor Burger.