I think this is a nice project for some research work but not so much for a startup company. I wonder what they aim to monetize by making the emulator run x86 apps. The world of internet is becoming more and more ISA and OS agnostic where the only winning combination is performance and power.
It think this is interesting but not a game changer. Emulation has been around a long time.
For instance, I still have and use a Palm OS PDA. Original Palm devices used Motorola Dragonball processors. As devices required more power, they outgrew the Dragonball, and Palm and competitors shifted to ARM devices. To avoid making the vast amount of existing Palm software incompatible, Palm implemented a hardware compatibility layer. Motorola instructions were intercepted and converted on the fly to ARM instructions. In fact, it wasn't possible to write fully native apps. You wrote and compiled to Motorola code, but you could write "ARMlets" in native code to speed up critical operations.
Granted, the ARM CPUs were a *lot* faster than the Dragonball chips they supplanted (My ARM device runs at 200mhz. The last Dragonball device ran at 33mhz), so the overhead of emulation wasn't a factor.
It will be here, but that may not be critical. It will depend on exactly what X86 apps will run under it, and I would expect the emulation to improve over current levels, so while it might not be as fast as native code, it might be fast *enough*.
And it would be a stopgap in any case: it's a fair assumption that if ARM gains traction in the server space, proprietary X86 apps will be rewritten/recompiled for ARM to sell into that space.
Several very good comments here. As some note, in the area of cloud platforms, the software assets are owned by the data center. So this type of emulaton technology is less relevant. However if you imagine an Enterprise severl where there is a mix of apps written in a high level (and therefore relatviely easy to recompile and run natively) language and an (annoying) application where only the x86 binary is available. Here, this type of translation is useful. And the performance hit will lessen. Trust me.
x86 emulation has been attempted in the past including on big iron DEC Alpha; always fell short on overhead.
Although can yield an interesting engineering lesson, especially in Nx486 to 586 example on
reverse engineering x86 instruction set for implementation in RISC hard wired decoder.
Not seeing the compelling anywhere. Power efficiency is a fiction if it takes more total energy to go your computation.
So it emulates at 40% of ARM, which is, in turn a percentage of x86. By the time you get done with the calculation, you have run for so much longer that the total energy (operating cost dollars) is greater than just running on x86.
On the other hand, at a cutting edge supercomputer research lab in the US, we were given by a team from Moscow state University a floppy disk which you would stick into your 286 and it could derive Feynman diagrams to tree level from a Lagrangian. Yeah early 1990s it was...
This does reduce the barrier to adoption for ARM in the server space though. I agree that the future is less sticky as far as ISA's go with most of the could applications running on higher abstracted platforms that hide the underlying h/w. But it is a compelling story to be able to say to the datacenter operators that they can run their existing software (albiet at lower performance) and all the new stuff with great power efficiency.
I just don't understand how an x86 emulation on ARM can help. ARM lags in performance, but makes it up in its market segment by superior power efficiency. Emulating x86 on such slower chips is bound to be slow-squared. The only reason to do it would be legacy applications, but the whole point of the post-PC era is that it's no longer the Wintel monopoly: backwards compatibility requirement is over.
The new software is portable---either because it's Open Source (like Android) or because it is written in Java or HTML5, or is really a light client running against a cloud-based back end.
Look at Transmeta---they couldn't make the emulation win, even though they emulated on a custom-fit microarchitecture rather than general ISA like ARM. Intel is just too good at improving their product for those that needed it.
The bottom line is, those sorry chaps who cannot move away from x86 will use Intel. Those who can port will make a decision based on cost, performance, power consideration, etc. I'll just say that I just got my $30 Raspberry running yesterday. It's slowish, but it runs off battery and did I mention that the entire computer costs $30?
Blog Make a Frequency Plan Tom Burke 17 comments When designing a printed circuit board, you should develop a frequency plan, something that can be easily overlooked. A frequency plan should be one of your first steps ...