SANTA CLARA, Calif.—The relentless gains wrought by Moore's Law, coupled with changing application trends, have effectively ended the instruction-set architecture (ISA) religious wars of yore, according to Dave Ditzel.

Ditzel (left) should know. He is one of the industry's computer science luminaries, having begun his career writing a C-based microprocessor called CRISP at Bell Labs, helping pioneer RISC with a seminal 1980 paper co-written with David Patterson, and then pursuing binary translation technology in the 1990s and up to today (Also in the early 1980s, Cadence Fellow Chris Rowen and Stanford's John Hennessy were pursuing similar research and went on to found MIPS using RISC).
Today Ditzel is the CEO of ThruChip Communications, a seven-year-old company that offers wireless near-field communications for stacked die.
"For a while, I believed that if you had the right instruction set you could build fundamentally better hardware," Ditzel told an audience at the Imagination Technologies summit here May 22. But today"maybe the choice of instruction set is no longer so critical as it once was."
Ditzel, in his Imagination Technologies presentation, argued that ISA differences are small when it comes to the software:
"Over billions of instructions...it's the simplest instructions that are used most often. Compilers aren't really that much better at picking very complex instructions. So load, compare, branch is still the most common sequence of what goes on."
Ditzel argued that compiler quality makes a bigger difference than the instruction set. "We looked at a boot of Android on ARM versus x86, and it was a surprisingly small difference in instruction path links between those," he said.
Earlier ISAs
But for decades, which ISA and which microarchitecture a company would choose was predicated in large part on business considerations: How many applications were written to it?
"We used to argue a lot about application compatibility," he said. When Intel and Microsoft settled on x86, it created a powerful incentive for companies to follow along. Then"(Motorola veteran) Roger Ross (who founded SPARC-focused Ross Technology) argued for SPARC because more applications had been written for it." (Ditzel spent the better part of a decade as Sun Microsystems' CTO, helping, among other things, to develop the 64-bit SPARC architecture).
Today, the application landscape is fundamentally different and driven in large part by mobile forces and mobile apps.
When we download the apps, we're not downloading, for example, an ARM binary; the apps are distributed using Dalvik bytecode, Google's proprietary runtime software developed for Android, Ditzel said.
"This helps reduces dependency for a particular ISA," he said. "In many ways these companies have built up the infrastructure to make the dependence on a particular instruction set much less than it would have been before."
Translation please
The covers most but not all of today's code. For the remainder, there's binary translation. The relentless performance gains that Moore's law has delivered for hardware now means that the hardware has the head room to use binary translation technology to convert remaining applications from one ISA to another.
"You can run a variety of different ISAs on one piece of hardware regardless of... the instructions sets are you're starting off with and you minimize the software overheads to very acceptable levels," Ditzel said.
He cited as examples:
- Apple's use of Rosetta to bridge PowerPC and x86 architectures
- Intel's Houdini (ARM to x86)
- Imagination's MagicCode (ARM to MIPS)
- Eltechs (x86 to ARM)
Ditzel knows whereof he speaks on binary translation: In 1995, after leaving Sun, he founded Transmeta, which developed x86-compatible microprocessors based on a VLIW core and a software layer called Code Morphing Software.
As the performance of silicon has soared over the past couple of decades, the utility of binary translation has grown:
"20 years ago...people were very scared of it (binary translation). Now you say,'Are you worried when you run Java or Android apps?' You say, 'No problem. That seems to work ok.' We're a lot more calm about this whole issue."
And that's why the religious wars have ebbed.
"The use of binary translation judiciously can help level the playing field between different instruction sets to where all processors can run all instruction sets and the religious debates and wars about instruction sets are largely over."
He added:
"Whether it's ARM, x86, or MIPS, modern instruction sets have all evolved to the point where... things have balanced out quite a lot. I don't think there's a giant difference enough to be anything to worry about. You should pick the best hardware that's good for you."
Brian Fuller
Related stories
—What do Applications Dream About?