Intel: "ARM can't run legacy apps on Windows 8"

Should Intel be concerned over the end of the "Wintel" era? For the past decade, the strong duo of Intel processors and Windows operating systems dominated 90% of computers worldwide, although now the domination is slowly shrinking with the emergence of mobile devices displacing traditional computers. Opponents of "Wintel," at least the Intel part of the equation, might have been happy to learn earlier this year of Microsoft's decision to support the ARM architecture in Windows 8. There is a large ecosystem of mobile devices with efficient low-power processors, powering a wide range of mobile operating systems from iOS to Android to Windows Phone 7.

But now, the world's most widely used desktop operating system is making its presence felt in the mobile market. System on a Chip (SoC) manufacturers find this an exciting prospect. Well, except for one problem: backwards compatibility. Although it is still Windows 8 on the surface, the architecture it runs on is completely incapable of running any Windows application today. Almost all Windows applications are compiled for the x86 and x86_64 architectures (and a sprinkling of Itanium), and the low-power aspects of ARM processors make it very expensive for Windows to emulate the x86 architecture in software. In other words, unless developers are quick to recompile their applications, ARM on Windows is a whole new ecosystem with the familiar Windows GUI.

And that's where Intel has the upper hand, claims Renée James, Intel's general manager of its software and services group. James's comments, which were reported on by The Register, came at Intel's Investor Meeting at their headquarters in Santa Clara. James did make one interesting comment, that the "traditional" Windows 8 flavour for the x86 architecture will have a "Windows 7 mode" for legacy applications. It is unclear whether Microsoft is planning on a seamless virtual desktop for old legacy applications in a simlar manner as Windows XP Mode, or if these are simply compatibility shims for applications.

Regardless of the terminology used, James makes clear that only Intel will deliver both sides of the coin: a low-power solution that may make Intel chips more desirable than ARM chips thanks to the use of Tri-Gate transistors, and also backwards compatibility with a decades-old catalog of applications. Then there's the long standing relationship between Microsoft and Intel, which James pointed out:

We've been working with Microsoft on Windows for probably 20 years, this year. We've been their partner for a long time – everybody writes about it, everybody talks about it.

But what you may not know, is that we have an on-site development team in Redmond that actually works deep inside the OS to make sure that the platforms, and the features, and the new instructions – whatever new thing we're inventing – is ready to go at the time of introduction of the latest Microsoft environment.

Intel has a unified architecture. What that means is that applications and operating systems can run from one generation of Intel platform to the next generation, and the same applications are going to run, forward- and backward-compatible. You can run the same application between different versions of our architecture – between Atom, between Xeon, between Core – which is not the case for our competitors in the ARM ecosystem.

​Image Credit: Long Zheng

Report a problem with article
Previous Story

French anti-piracy firm Trident Media Guard hacked

Next Story

MacBook Air Sandy Bridge, Thunderbolt update expected in June

36 Comments

View more comments

fehu said,
ok it's only curiosity
i always thinked that ce is the microsoft take on reliability performance and flessibility on arm, if win8 will not even be compatible with well everything, why brother to port a full nt kernel?

Well there are a lot reasons known and unknown.

The reasons known is that NT offers a lot of kernel and architectural features that WinCE is not capbable of providing. WinCE was designed based on some of NT's design, but was written very specifically to do things as fast and light as possible. (This is why WP7 is significantly faster than Android and iOS on comparable hardware.)

NT is a rather 'smart' OS architecture, that has brilliance in the kernel and the general OS model that makes it highly flexible and powerful, as it deals with higher level concepts and structures than WinCE or even iOS/OSX or Linux does. This is how they can morph it and add on new stacks, video subsystems, new schedulers, etc without having to rewrite or deal with the cascading issues that the other OSes would have to rewrite to make the same modifications work properly.

So NT is powerful, and it also can be fairly light, lighter than even Linux, which is something people don't realize. Microsoft just hasn't ever focused on making NT 'tiny' as it is a desktop and server OS, and they had WinCE to fill in the device and light OS market needs.

As far as ARM is concerned, there are things beyond what the 'misinformation' people at Intel throw out. Just like when they dismissed AMD64 technology as worthless, and then after realizing the world was paying attention and knew better, they brought out EMT64, and stopped the misinformation campaign.

So here are things to consider that we don't know:
• Running x86 code on ARM is not easy, but could in theory be done. And Microsoft has done technologies like this before going back to the VDM in NT that runs DOS/Win16 as well as realtime recompiling technologies like they helped DEC design for x86 code on Alpha versions of NT in the mid 90s, and to current VM and other virtualization technologies that could be used.

• Has anyone considered dual CPU designs, with both ARM and x86 CPUs in the computer, NT can easily handle this type of concept seamlessly - giving users the light features needed for ARM and then flipping on the x86 CPU as needed. A lot like the hybrid video concepts using the lower powered integrated GPU and flipping to the higher end GPU when needed.

• Microsoft has talked about puting Win8 on a 'chip', this could mean a lot of things beyond what is basically known. For example, it could be a custom chip designed by Microsoft that handles the x86 translation without the need for a x86 CPU, and be very light on resources and fast.

Maybe they are working towards a new level of portability that is beyond code portability, and provided by an OS on a chip concept. (Microsoft has some brilliant chip/CPU/GPU engineers, just look at the Xeon in the XBox and the whole designs that are standard in computers today based on Microsoft's unified shader and other post processing technologies that they designed for the XBox 360.)

• Eventually WinCE will be replaced, as hardware will be so fast, that it will be relegated to a small market of devices that need an OS this light. Right now Microsoft is showing Windows 8 (NT) running on iPad level hardware, and shoving web pages and graphics many times faster than the iPad can do with iOS. So this shift is coming faster than people realize, and Microsoft seems to be preparing for it.

• As for Applications, WP7 is the first major step in moving to a full .NET based OS platform, and all the Apps written for WP7 are not locked to any hardware or CPU, just as .NET applications on Windows 7 or the XBox 360 are not locked to the hardware either. They wanted to make this shift with Vista originally, but had to back off, as .NET was not mature enough at the time to provide everything Microsoft wanted Vista to do. If this happens, it could be the runs anywhere anytime concept that Java and other technologies have tried to make happen, actually happen, as .NET is not hindered by the performance and compatibility issues that are now a part of Java and other similar technologies.

If you go look up NT vs WinCE (even WinCE 7.x) there is a lot of difference in what NT can provide that is just not inherent to WinCE or will ever be. (NT is a true Object Based OS model, which in the early 90s gave it 'bulk' when compared to the UNIX model, but as hardware and applications have evolved in the last 20 years, NT's nature makes it faster and lighter, as it is not having to use 'alternative/bandaid/ducktape' that now adds overhead to the UNIX type models to utilize the hardware and application technologies. (Yes Linux and OS X are victim of the 'simplistic' nature of the UNIX model they adhere use.)

Microsoft talked years ago about NT replace the DOS/x86 OSes, and also talked about NT replacing WinCE someday as technology and computing power allowed. One has already happened with the death of Win9x/ME, and WinCE is running towards the end of use as well.

(Microsoft under-estimated the first NT replacement cycle, as NT 4.0 could have replaced Win95. They didn't realize that the NT developers working with a much 'heavier' architecture and portable C based OS could pull off making NT 4.0 faster than Win95. As Win95 could had no rules, no security, no overhead, and could even use fully optimized hand coded x86 assembly. -Which is also why many of the Win9X OS developers didn't make it to WinXP team, whoops.)

So this is them preparing at the very least to happen as needed instead of at a future date.

We will see W8 ARM tablets, netbooks and office computers. Nowadays, a windows 7 os with ms office suite can do virtually everything without third party applications. Maybe with windows live apps...

I feel for the saps still running aplications built for windows 95, i know you are victims of circumstances or just lazy *******, but that will get companies to get off their asses and upgrade either to a web centric solution, or something like a universal binary sort of developement system for cross platform apps, which you bet your ass Microsoft is going to make available sometime in the future.

LauRoman said,
I feel for the saps still running aplications built for windows 95, i know you are victims of circumstances or just lazy *******, but that will get companies to get off their asses and upgrade either to a web centric solution, or something like a universal binary sort of developement system for cross platform apps, which you bet your ass Microsoft is going to make available sometime in the future.

This is what .NET is all about, and you are right, people should NOT be starting new development using the older API sets or coding models.

The only thing you are skipping, is that MS is already ahead of you, and has been moving towards this for over 10 years, with both .NET and web RIA technologies. (Office2000 was built around web technologies even, it just was too soon for the world to need them or realize they were useful.)

Microsoft has been about portability and new concepts of different types of portablity since they started designing NT, as it even has the 'OS subsystem' model that was a much newer concept than traditional code portability when it was designed.

They got stuck more x86 than they wanted with others yanking support NT on their architectures (DEC was bought out, IBM hated MS and had alliances with Apple with the PPC, etc.)

iKenndac said,
As a Mac user who went through a CPU architecture transition (PowerPC to Intel)... FEEL OUR PAIN!!

;-)


for most desktop users they will not notice anything.
Plus you got silverlight and .NET to create applications cross-platform.

With Windows 8 having an app store can one can conclude that once the Tablet/Mobile edition is installed (the one's running on ARM), it will somehow lock to only allow installations through the store to avoid issues?

Sadelwo said,
With Windows 8 having an app store can one can conclude that once the Tablet/Mobile edition is installed (the one's running on ARM), it will somehow lock to only allow installations through the store to avoid issues?

what about developers starting to use the power of .NET/Silverlight? They work on X86 and ARM processors without the need for recompile. Let MS worry about the cross-platform issues

Shadowzz said,

what about developers starting to use the power of .NET/Silverlight? They work on X86 and ARM processors without the need for recompile. Let MS worry about the cross-platform issues
Or Java, or anything that doesn't compile to native code. Yet one more reason to let C++ die.

This is to be expected considering ARM is a different architecture all together. I'll be surprised if they do get x86 apps to work. On that note though I'm sure Microsoft will have something in the next version of Visual Studio that will probably allow you to just take your existing code and compile it for ARM and it will just work. Especially if it uses .Net framework.

It's like Mac and when they moved from PPC to Intel. PPC apps won't run on Intel Macs. They would have to be recompiled as either Universal or Intel and from what I read 10.7 is doing away with the Univeral bit so they will have to be compiled for Intel only on that version.

Considering what Windows on ARM will mean, you are probably not expecting to run all Windows x86 apps. I am sure it will target the traditional Netbook market where computing is more casual. So, if you want an all day Netbook, ability browse the web, do light Office productivity (Microsoft has committed to bringing Office to ARM), then this is probably a decent solution. I am sure they are working on bringing Windows Live Essentials also to ARM, so that should be a decent start out for ARM notebooks. I don't expect to see the plethora of pro-apps like on x86. Hopefully companies like Adobe will bring products like Photoshop Elements to ARM too.

Wasn't this obvious? I also wonder if this would somehow give Microsoft a chance to clean up the Windows system folders and thereby resulting in a smaller footprint than the x64/x86 versions.

All I can say is... duh!

I doubt Microsoft is positioning ARM as the future of computing. They are just slotting Windows into the Tablet market which doesn't have the same legacy app needs. ARM and x86 will be seperate SKUs just like you have x86, x86-64, and IA64 as current build SKUs.

Gutierrez said,
**** you intel, the game is almost over

..and AMD too then?

Seriously, if Intel can compete in low power situations (and they're heading that way fast) ARM may not even be that relevant for Windows longer term. ARM is useful *now* but in two years?

Intel acts as if Windows has never compiled for other processor architectures when it most certainly has. Here's an entire list: IA-32, x86-64, Alpha, MIPS, PowerPC, ARM, Itanium.

Uhm, aren't all the .net applications available today already capable of running on ARM, as .net executables are MSIL instructions compiled just in time to native machine code? If so, MS could use this as an opportunity to really push for .net and managed code adoption (and lead by example, I'd love to see a future version of Office/Visual Studio/the Windows shell completely written in managed code). Heck, doing so would even benefit Itanium, even though its window of opportunity has long since closed.

Natively compiled programs should be relegated to only games, drivers, and very high-performance stuff such as layout engines and runtime engines.

MS Lose32 said,
Natively compiled programs should be relegated to only games, drivers, and very high-performance stuff such as layout engines and runtime engines.

That seems to be the way things are going, or trying to go. Gone are the days where everything was a compiled/assembled app.

Tuishimi said,

That seems to be the way things are going, or trying to go. Gone are the days where everything was a compiled/assembled app.
I completely agree, however Apple is way behind the times in this respect. Windows developers can use .NET while Linux developers can use one of their many scripting languages, or Java, if they need higher performance, but the primary development language (Objective-C) for Macs is still natively compiled!

Its going to be a long while before intel can achieve low powered chips that can compete with low powerd ARM chips. At least 5 or 6 years.

ARM should be able to run legacy apps.
Microsoft should be working on a WOWARM ... Windows On Windows ARM emulation that would enable legacy apps to run much like how 16-bit apps could still run on newer Windows and how 32-bit runs on 64-bit Windows now.
If Microsoft really wants the ARM version of Windows to mean anything, I'm sure they will get this worked out.

netsendjoe said,
ARM should be able to run legacy apps.
Microsoft should be working on a WOWARM ... Windows On Windows ARM emulation that would enable legacy apps to run much like how 16-bit apps could still run on newer Windows and how 32-bit runs on 64-bit Windows now.

If Microsoft really wants the ARM version of Windows to mean anything, I'm sure they will get this worked out.

Tha would be very slow. WOW on x64 is a no-brained as the only thing needed is to do some registry/folder redirection and enable the compatibity bit for x86 processors. Look at WOW for Itanium processors as an example of the speed hit you'll encounter. Probably would be worse for a mobile processor.

Commenting is disabled on this article.