Microsoft Confirms No x86 Wrapper For ARM Systems

rated by 0 users
This post has 10 Replies | 2 Followers

Top 10 Contributor
Posts 26,082
Points 1,183,070
Joined: Sep 2007
ForumsAdministrator
News Posted: Sun, Sep 18 2011 5:01 PM
Earlier this year, Intel software VP Renee James caused a kerfluffle between himself and Microsoft when he claimed Microsoft's upcoming OS wouldn't support older x86 applications when running on an ARM processor. Microsoft, in response, called his characterization "factually inaccurate and unfortunately misleading."



...Except, apparently, it wasn't—at least, not as far as ARM/x86 compatibility were concerned. During a Q&A session this past week, Windows division President Steven Sinofsky clarified the relationship between the two architectures:
We've been very clear since the very first CES demos and forward that the ARM product won't run any X86 applications... We built a great deal of what we call class drivers, with the ability to run all sorts of printers and peripherals out of the box with the ARM version.  What we talked about yesterday was... when you write a Metro style application, all the tools are there to enable you in any of the languages that we support to automatically support ARM or X86...

If we allow the world of X86 application support like that, or based on what we call desktop apps in our start yesterday, then there are real challenges in some of the value proposition for system on a chip, you know, will battery life be as good, for example?  Well, those applications aren't written to be really great in the face of limited battery constraints, which is a value proposition of the Metro style apps.  So, we have to be careful that we don't remove the value proposition for those applications.  On the other hand, people would say, oh, but you have to let them run because then there's that whole ecosystem.  And then if we do let them run, we just brought the perceived negatives of some of the ecosystem.  So, people say, great, now it's easy to port viruses and malware and we'll port those.  

So, we've taken the approach that we're going to build a bunch of rich capabilities in the operating system that allow devices and peripherals and a broad range of form factors all to run and working with multiple ARM partners on the ARM side, and then Intel and AMD on the system on a chip side, but then focus on the Metro style applications as the opportunity.
It's Not A Feature, Just Inevitable

Sinofsky's explanation is confused, at best, particularly when he implies that allowing x86 applications to run on ARM tablets is an unacceptable security risk. His comments on battery life are closer to the mark. Even if Microsoft could write a perfect application translation layer, there's no way to perform such tasks without  incurring a significant performance penalty and thereby reducing battery life. It's one thing to create platform-agnostic development tools that can be used to create compatible software and something altogether different to provide the sort of translation layers that would allow x86 programs to run seamlessly on ARM processors. Relying on software emulation worked for Apple in the 1990s when it transitioned from the 68k microarchitecture to PowerPC, partly because the entire emulator could fit within 16K of L1 cache, but it's the kiss of death for any mobile architecture.

Generally speaking, emulation only works when the new processor is powerful enough to run a non-native application with a minimal performance hit. The current shipping crop of ARM-based products have no realistic chance of pulling this off. 45nm Atom CPUs may not be able to match Cortex-A9 TDP, but Atom offers far more performance. This throws the performance-related problems of emulation into stark relief; Atom's native x86 application performance is poor-to-mediocre at the best of times. Attempting to compete with Atom by emulating x86 on ARM is as bass-ackwards a proposition as one could ask for.

When Business Interests Collide


The APIs and environments are architecture-agnostic by design

Microsoft's Windows 8 development strategy de-emphasizes CPU architecture in favor of application-level compatibility and unified programming tools. The (theoretical) advantage of the new scheme is that programmers who develop Metro-compatible software can do so without worrying about needing to maintain separate code for the x86 and ARM versions. From Microsoft's perspective, such flexibility is enormously appealing. From Intel's, it's a nightmare. The last thing Intel wants is an agnostic development environment that lets Windows 8 developers target both CPU architectures at the same time. Allowing them to do so prevents the company from arguing that sinking cash into x86 development is a better use of resources. The company is left with no choice but to emphasize a legacy compatibility argument that Windows 8 undermines with its own emphasis on Metro and the need to switch into the clunky (for tablets) legacy UI in order to run legacy apps.

Five years ago, Microsoft undermined its own Windows Vista design goals, angered HP, and sparked a chain of events that got the company sued over the definition of 'Vista Capable,' all in the name of helping Intel to sell more chipsets. The two companies remain allies, but the hand-in-glove relationship that characterized the original WinTel alliance is, by all appearances, over.
  • | Post Points: 95
Top 10 Contributor
Posts 8,621
Points 103,870
Joined: Apr 2009
Location: Shenandoah Valley, Virginia
MembershipAdministrator
Moderator
realneil replied on Sun, Sep 18 2011 8:15 PM

Don't buy any land from these people,..........

Dogs are great judges of character, and if your dog doesn't like somebody being around, you shouldn't trust them.

  • | Post Points: 20
Top 50 Contributor
Posts 3,236
Points 37,910
Joined: Mar 2010
AKwyn replied on Sun, Sep 18 2011 8:37 PM

realneil:
Don't buy any land from these people,..........

I think I have to agree with you there...

Also I think the battery life argument is BS, they could at least make it an optional feature for us to install instead of just a feature included on the OS. I mean have they forgotten about Microsoft Live Essentials?

 

"The future starts with you; now start posting more!"

  • | Post Points: 5
Top 50 Contributor
Posts 2,865
Points 29,645
Joined: Mar 2011
Location: United States, Connecticut

Windows 8 is still early enough in development that they may change their minds and make it something optional. Although I do understand the position they are taking on this. Of course if they can make their OS work on all these different processor architectures there is no reason that they could not figure out some way to make X86 apps work on multiple processor types. As far as Live Essentials I would not doubt that they will develop a version to work on ARM processors.

  • | Post Points: 20
Top 100 Contributor
Posts 1,072
Points 11,625
Joined: Jul 2009
Joel H replied on Sun, Sep 18 2011 10:00 PM

Taylor,

No, it isn't. Work requires energy. Emulation is work. Assume MS managed to create an x86 translation layer that ran at just a 50 percent performance penalty compared to native code. That means it would take an ARM CPU 1.5x as long to handle an x86 task as a native task.

Boom. Battery life takes an enormous hit. The CPU is literally working half again as hard. It's that simple, and trust me, a 50 percent performance penalty for emulation would be an excellent emulator. ARM is *inherently* unsuited to the task of emulating x86.

There's no point to discussing a non-mobile scenario because ARM has no near-term future as an x86 desktop/laptop competitor. That means any discussion of CPU performance is going to intrinsically involve battery life. Intel's own design criteria take battery life into strict consideration, it's why the company implemented a policy that any feature that improves performance by one percent must pay for itself by reducing power consumption by two percent.

Omega:

" there is no reason that they could not figure out some way to make X86 apps work on multiple processor types."

Re-read the relevant portion of the article. This isn't a question of whether or not MS could create an emulation layer. It's a question of whether or not it makes any sense to do so. In this case, it doesn't. It's not going to make any MORE sense in the future, because the future of Windows development is WinRT, and WinRT is architecturally agnostic.

It makes no sense for MS to create an x86 emulator layer when ARM CPUs are unsuited to x86 emulation by performance and the impact on battery life is so high. That doesn't mean someone else won't create an emulator--it just means that Windows 8 isn't going to offer native support. The farther you step out from launch day, the more native Metro apps will be on the market, and the less sense it would make to offer such a product.

True, Windows 8 is over a year away, but emulation is the sort of project you build early on, when it makes the most sense, not something you offer later. In this case, MS is pushing WinRT instead of emulation. That's a deliberate decision with far-reaching implications and it's not something they're going to reverse.

  • | Post Points: 20
Top 50 Contributor
Posts 3,236
Points 37,910
Joined: Mar 2010
AKwyn replied on Sun, Sep 18 2011 11:00 PM

@Joel H: That's why I insisted it should be "optional" as in "you have the choice to install it". I mean Windows Live Essentials was optional in the fact that you didn't have to install it even though you were missing out on features such as email and an enhanced picture viewer. Logic goes is that those who need x86 compatibility and can deal with the performance/battery life hit can install the emulator and those that don't need it don't. I mean there are some people who'll use these for business (as in run apps that can't be otherwise had in an ARM-powered tablet.), and shouldn't we give them an option in the matter?

I'm not insisting that the Battery Life and Performance Penalty is BS. It's just the fact that they don't realize the other options that are available.

 

"The future starts with you; now start posting more!"

  • | Post Points: 20
Top 100 Contributor
Posts 1,072
Points 11,625
Joined: Jul 2009
Joel H replied on Sun, Sep 18 2011 11:50 PM

Taylor,

That's where the performance angle really comes into play. Microsoft's point here is that they're taking a stand and saying: "We aren't going to drive terrible experiences on our platform."

  • | Post Points: 5
Top 500 Contributor
Posts 309
Points 2,695
Joined: Aug 2010
JDiaz replied on Mon, Sep 19 2011 12:39 AM

ARM has much more hardware fragmentation issues than traditional x86 hardware. Many use components with closed drivers, which prevent easy fixing of any problems that may turn up. This is why for Android, software is often separate from hardware. I.E. lack things like hardware acceleration support, etc. So performance on a given ARM device can vary greatly, even if the specs are similar. Not to mention it's one of the reasons why it can take months for a given ARM device to get the latest Android release.

The thing with ARM is each manufacture is free to customize the entire architecture as they wish. This allows them to make custom optimization and easily design even niche products, along with lowering costs and improving efficiency but makes it harder to get everything to work on all devices. While it also is part of the reason why support for older devices gets dropped so fast.

Intel already gave us a taste of how badly such fragmentation could effect a system with Intel GMA 500, they used Imagainations PowerVR SGX535 GPU but that limited them to closed drivers and Imagination didn't offer any Linux support back then. So of course the experience was horrible for many.

Add the fact ARM processors are still 32bit, they are only started adding 64bit memory management. Only the next gen chips coming out next year finally go down to 28nm, even the Tegra 3 is still a 40nm design. Along with performance only starting to rival Intel ATOM CPU performance means it's probably for the best that MS focus on new apps instead of focusing on getting old programs working.

While MS already imposed specifications that any ARM system wishing to run Windows 8 will have to comply with to help minimize fragmentation issues and help ensure a more unified experience with those ARM systems utilizing Windows 8.

Most of the big name products should also be able to easily port their products to multiple platforms. They were doing so even before Apple started using Intel hardware for example. So likely there will be plenty of new software that will work on either platform. Leaving just the older and smaller company or independently produced products.

While we already have services like those provided by Citrix, which will actually run better from Windows 8 than either iOS or Android. So they probably decided it won't be a big issue and those who really need it can look for 3rd party solutions.

Meanwhile they're working on at least 300 new changes to Windows for Windows 8 and have to have it all working perfectly for launch in just about a year from now.

On the plus side, virtualization can be assisted with hardware acceleration if that is supported, which next gen ARM chips based on Cortex A15 will start to have. So add they'll be going up to speeds as high as 2.5GHz with those new 28nm chips means emulations will become a more practical option by the time Windows actually comes to market. So while I don't think MS will change their minds by then, but 3rd party solutions might be able to offer it instead.

  • | Post Points: 5
Top 500 Contributor
Posts 220
Points 2,745
Joined: Apr 2011
gazd1 replied on Mon, Sep 19 2011 7:09 AM

I thought that this would happen, because they have a sort of hybrid operating system called Windows 8. That they'll use for smart phones, laptops, tablets, desktops & if they think that they can save money, then they will choose the money saving cloud options of the windows 8 series of operating systems over anything else. If they can get away with it (make the public believe what they want them to).

  • | Post Points: 5
Top 100 Contributor
Posts 1,072
Points 11,625
Joined: Jul 2009
Joel H replied on Mon, Sep 19 2011 2:46 PM

Gazd1,

Windows Phone 7 and Windows 8 are not the same thing. Windows Phone 8 is already in developer beta and is *not* the same thing as Windows 8. The two share certain conceptual elements common to a touchscreen UI, much as OS X Lion introduced certain organizational concepts and touchscreen options that iOS users would find familiar. That's not at all the same thing as saying that OS X is iOS.

  • | Post Points: 5
Top 10 Contributor
Posts 4,830
Points 45,790
Joined: Feb 2008
Location: Kennesaw
rapid1 replied on Mon, Sep 19 2011 3:06 PM

In the end (mind you this is the first public build, and roughly a year out from release or there about) the phone and the OS will all work together as that is what M$ does. They take a product and adapt it to fit what the users in a market segment want. This will be like Lion and iOS in one package, which is also what M$ has always done, it is there strategy and you know why, well because it leads to dependence and then domination. Your desktop, you slate, your laptop, your work PC, and your phone will all run the same OS, and of course the real money maker the same Office (like Office 365) in your own personal M$ cloud.

OS:Win 7 Ultimate 64-bit
MB:ASUS Z87C
CPU:Intel(R) Core(TM) i7 4770 ***
GPU:Geforce GTX 770 4GB
Mem:***ingston 16384MB RAM
  • | Post Points: 5
Page 1 of 1 (11 items) | RSS