ARM Compatibility: Binary Translation

Similar to Apple's move from PowerPC to x86, Intel finds itself in a difficult position with bringing Atom to Android. The OS isn't an issue as it has already been ported to x86 and all further releases will be available in both ARM and x86 flavors. The bigger problem is application compatibility.

There's already support for targeting both ARM and x86 architectures in the Android NDK so anything developed going forward should be ok so long as the developer is aware of x86.

Obviously the first party apps already work on x86, but what about those in the Market?

By default all Android apps run in a VM and are thus processor architecture agnostic. As long as the apps are calling Android libraries that aren't native ARM there, once again, shouldn't be a problem. Where Intel will have a problem is with apps that do call native libraries or apps that are ARM native (e.g. virtually anything CPU intensive like a 3D game).

Intel believes that roughly 75% of all Android apps in the Market don't feature any native ARM code. The remaining 25% are the issue. The presumption is that eventually this will be a non-issue (described above), but what do users of the first x86 Android phones do? Two words: binary translation.

Intel isn't disclosing much about the solution, but by intercepting ARM binaries and translating ARM code to x86 code on the fly during execution Intel is hoping to achieve ~90% app compatibility at launch. Binary translation is typically noticeably slower than running native code, although Intel is unsurprisingly optimistic about the experience on Android. I'm still very skeptical about the overall experience but we'll have to wait and see for ourselves.

 

What's Different This Time Around: Google & A Sweet Reference Platform Final Words
Comments Locked

164 Comments

View All Comments

  • Exophase - Tuesday, January 10, 2012 - link

    ... my point being that by the time others have 28nm ARM SoCs - you know, in a couple months - Intel's 22nm Atom will still be a good year off, quite contrary to your original claim.. Did I actually need to type that?

    It's not 1-2 quarters, and we know this because we're seeing Transformer Prime TF202 with Krait, not to mention the release of AMD's Southern Islands which is also on TSMC's 28nm process.

    Of course it'll be a few months before we see Medfield phones on the market too: this article says Q2 for Chinese phones, which means 3+ months, and "by the end of the year" for something released from a decent global player. Not really uplifting schedules.

    Of course Intel certainly may gain a much bigger process lead with Atom on 22nm and beyond, but your original comment was just wrong. That's all I'm saying.
  • Exophase - Tuesday, January 10, 2012 - link

    Oh, and Intel's first step into the smartphone market was Moorestown. Just because almost no one used it doesn't mean that it wasn't an attempt and that we should congratulate Medfield as a first try.
  • french toast - Wednesday, January 11, 2012 - link

    ARM vendors will be RELEASING chips on 32nm HK and 28nm 4/months before Medfield hits anyware but China.

    The above tests are misleading, but desite that they are impressive as i thought they would be a lot further away than that.

    Medfield = tegra 2 class, you have to remember that the above chips are clocked alot lower than 1.66ghz and they are single thread benchmarks.
    regards to power consumption,as stated they are 45nm designs, when 28&32nm big_LITTLE arrives in a couple of months,with on die 4g, we are in another territory altogether.

    When silvermont arrives it will fair against 28nmHK QUAD CORE KRAITS running at 2.5ghz and above....cant see Intel smashing that, but long term if they can be competitive then they may win due to resouces.
  • Braumin - Tuesday, January 10, 2012 - link

    Yeah I always found the comments on x86 phones hillarious because of the ARM loving going on. I mean, it is an instruction set. Stop being an instruction set fanboy people.

    I've said from the beginning that Intel is not a company to expect to lay down. They just have way too many smart people, money, and by far the best fab in the industry to expect them not to be able to compete.

    I'm no Intel fanboy (and certainly not x86 I mean who can love an instruction set) but they have been killing it in all sectors lately. Even their GPUs don't suck as bad as before.

    I am impressed.
  • Hector2 - Wednesday, January 11, 2012 - link

    even AMD doesn't whine about being at least a couple years behind Intel's process technology and that fact has hurt them big time. In the end, the consumer doesn't care "why" Intel has a strategic advantage with their technology it'll make them successful in smartphones
  • tecknurd - Wednesday, January 11, 2012 - link

    Dark_Archonis, Does not matter that the Medfield processor is based on 5 year old hardware design. ARM processors uses hardwired microcode while 80x86 processors uses software microcode. There is a difference how fast and how easy it is to design and optimize a processor with either of these ways. Intel can take a ten year old model and optimize the microcode while ARM will have to keep on designing new models in hardware to push out higher performing processors.

    The number one question, will the mobile industry take this processor even though software have to be rewritten. Sure Intel said that about 75% of Android apps can be used. Sure 90% of apps can be used if emulation is used. Mac users knows all to well that Rosetta slows down PowerPC software on an x86 processor because of the emulation.

    Now why can Intel can fix their five year old Atom processor to be crammed into a smartphone is most of Intel's money goes into R&D. ARM does not have that money to go into R&D. If ARM did, Intel will have a very, very serious competitor even though ARM is an engine that runs on a completely different fuel. So the comparison of the Medfield processor from Intel and ARM Cortex A9 is like comparing apples to oranges.

    ARM processors suits niche markets better than x86 processors. x86 processors suits a general purpose setup. This means Intel will have to be ready to make dramatic changes to Medfield to suit many different configurations. Intel's history for this type of business is poor or is not capable because of the tight control of the license. ARM succeeds in a market the requires many different changes thanks to its lighter control of the license. ARM processors are like lego blocks and x86 processors are like as-is.
  • stadisticado - Wednesday, January 11, 2012 - link

    I know what you're saying but I really feel you're wrong on one point and need clarification on another.

    First, assuming Intel or x86 processors are not built with a (lego) block architecture is a fallacy that needs to stop right now. There's no reason x86 processors and SOCs can't be built this way and Penwell is the first example of this. I think you'll see Intel reusing and sharing a whole lot more IP blocks internally up and down the vertical stack because of this move into phones/tablets.

    Second, its starting to get a little old always referring to ARM, especially how you do with respect to RnD. Its not ARM spending those dollars, its four or five discrete companies: Qualcomm, TI, nVidia, Samsung, etc. ARM sells licenses...it doesn't generally give a rip how many of its chips are sold unless the license fee is predicated on volume. Its up to the chip designers to compete with Intel, not ARM.
  • french toast - Wednesday, January 11, 2012 - link

    Partly true, ARM does spend R&D of course, else there wouldn't be a Cortex/Mali reference design to buy..let alone any interconnects/future ISAs
  • tecknurd - Wednesday, January 11, 2012 - link

    You did not read my comment correctly. I said that ARM processors are like legos while Intel or x86 is as-is. The problem with Intel's Medfield is Intel's business model. Their model is as-is, so companies that want to use this processor will have to add the components outside of this processor. In ARM case, the components can be added in the chip which does not take any space on the motherboard. When components are placed outside of the processor, the space that could have been a bigger battery will be taken up by additional components. The companies that will use the Medfield is smartphone and tablet brands like Lenovo and others.

    ARM makes the processor models while Qualcomm, TI, nVidia, Samsung, and others integrates them in their designs and with other technologies that these companies have created themselves. The companies that takes these processors and put them in their smartphones and tablets are LG, HTC, Nokia, ASUS, Samsung and others.

    IMHO, ARM based smartphones and tablets will be cheaper than Intel based because there is least amount of effort for designing ARM based versions. Sure you can keep on supporting and hoping that Intel looks good in the smartphones and tablets, but the as-is business model is going to hurt Intel.
  • Exophase - Wednesday, January 11, 2012 - link

    Only a few percent of instructions executed on Atom even use microcode at all. It's not so much that ARM CPUs use "hardwired microcode", it's more that they don't have instructions that are complex enough to merit microcode at all. There are a few that have some sequencing in the decoder, mainly the load/store multiple instructions, but their mapping is really straightforward; there isn't any real element of being able to "optimize" them in the same uarch.

    Most x86 instructions that are implemented as microcode on Atom are legacy instructions that made sense 30 years ago but don't today, either due to changes in software requirements (see BSD numeric instructions for a good example of this..) or changes in what is efficient to implement directly (see loop instruction). For a lot of these instructions you're better off doing it using simpler non-microcoded instructions. So Intel optimizing their microcode is worth mentioning (some of the instructions looked WAY slower than they should have been, going by Agner Fog's timings) but not really some massive competitive edge against ARM. It'll probably barely register as a change on any benchmarks. Hopefully Intel will make the optimizations available for the older Atoms too (the microcode can be soft-patched) and then you can see for yourself.

Log in

Don't have an account? Sign up now