How does the ARM differ from x86

Recently I was adopting to Marmalade SDK, a native cross platform mobile apps development tool. Marmalade is very good for programming. I mainly used Marmalade Quick because I am much familiar with Lua then C++. OK lets see the Marmalade story later, but why I am telling this abstract here is a problem I faced while deploying the apps I made via Marmalade SDK.

image

The problem I faced is running the apps I developed were not running in Windows Phone Emulator, because I accidentally selected ARM architecture to develop my apps. When I use this Marmalade system deployment tool to get .xap file and use XapDeploy.exe to deploy app to the WP emulator it shows the icon but app returns null.

image

While I was binging about this I found a solution here saying “Use VS 2012 for testing marmalade app on emulator Windows Phone. Your *.xap file created through Deploy Tool can only load on real Windows Phone 8.” yes this is the problem, when ou use the Marmalade deploy tool, it creates an ARM release version of the app. You need to use VS 2012 to create a x86 version to run in the emulator. 

So what is ARM vs x86 and why are they exist in Mobile device architectures. Answer for this question is

 ARM has had a pretty substantial advantage in terms of power consumption, which made it attractive for all sorts of battery operated devices.

As far as the actual differences: ARM has more registers, supported predication for most instructions long before Intel added it, has a “thumb” mode that’s intended primarily to increase code density (so a program fits in less memory) and has long incorporated all sorts of techniques (call them “tricks”, if you prefer) to save power almost everywhere it could.

At one time Intel put a lot more emphasis on speed than power consumption. They started emphasizing power consumption primarily on the context of laptops. For laptops their typical power goal was on the order of 6 watts for a fairly small laptop. More recently (much more recently) they’ve started to target mobile devices (phones, tablets, etc.) For this market, they’re looking at a couple of watts or so at most. They seem to be doing pretty well at that, though their approach has been substantially different from ARM’s, emphasizing fabrication technology where ARM has mostly emphasized micro-architecture (not surprising, considering that ARM sells designs, and leaves fabrication to others).

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s