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.