ARM And Microsoft’s Big Tease

The biggest tease of the year is the Microsoft-ARM architectural and instruction set licensing deal.

The companies announced the deal. Every hack in sight rang to ask ARM and Microsoft what would be done with the licence. Both companies said no more details are available.

“So why announce the deal at all?” I asked ARM’s PR. She did her best for me, but I’m still no wiser.

Microsoft’s PR couldn’t get a dicky bird out of them.

The commonsense explanation is that, after an abysmal performance trying to get Windows Mobile OSes into handsets, Microsoft have come to the conclusion that, if they tweak ARM cores and add some custom instructions to the ARM instruction set, they can give users of Windows OS-based handsets a better experience.

The wild-eyed, super-hopeful explanation is that Microsoft is now going to port Windows to ARM for desktops, laptops, notebooks and tablets so elbowing Intel out of the personal computing space.

But, if the commonsense explanation is the right one, then making a Windows OS run on an optimised ARM core, with an optimised ARM instruction set, aimed at smartphone applications, is tantamount to making the same combination applicable to portables of every hue – tablets, netbooks, laptops and whatever future hybrid beastie the OEMs throw up.

And with the future of personal computing expected to be driven by wireless portable computing, then ARM-Microsoft would become the main personal computing platform succeeding Intel-Microsoft.

Wintel becomes Warm.


Comments

14 comments

  1. I hope so, Kamal, thanks for that

  2. Good for Microsoft is good for ARM Holding, if the rumours are to be believed then ARM CPU will dominate the new Mobile Internet Devices.

  3. I’d go the Cloud server route too for MS as Torben states. Nothing at the OS level makes much sense due to lack of apps.
    However Windows Mobile is struggling and an architecture license may help them convince their partners they are serious about optimising their solution for this sector too. MS knows they cannot cede the windows apps space.
    MS has done very little game changing note for a long time, they’ve lost the capability imho. So I suspect they’ll take someone elses idea and try and do an MS ‘better’ version…..Google and Chrome OS comes to mind. So I’d guess they’d look to tie Azure into a mobile platform solution….I listened to an Azure presentation last year and the elephant in the room was its lack of a mobile platform end to end solution capability. Maybe they finally spotted that, and this technology gives them the credibility to sustain Windows Mobile long enough to address that issue with an Azure mobile capability. Bit tenuous, but its a possible extension of the Azure idea.

  4. That you Torben, that’s eminently plausible. Makes more sense than most explanations.

  5. I agree with Kyle that MS is moving towards doing everything on .NET to reduce their dependence on a single processor architecture. But I doubt the licensing deal is part of a plan to move desktop/laptop/server versions of Windows to ARM.
    For mobile applications, I doubt MS would need the architecture license — they could just do like Apple and add their own coprocessors around an Cortex A8 or A9 processor. So I suspect they have something else in mind.
    One possibility that some people have touted is a future Xbox games machine, but even that doesn’t make that much sense. Most games machines get their power from graphics processors rather than CPUs, so a Cortex A9 Multicore would suffice as central CPU if you add a sufficiently powerful graphics processor around it.
    I find it more likely that MS will optimise ARM for server farms for their Azure cloud computing service and Bing. Given that Azure runs .NET code, it is not tied to x86 to the same degree as their end-user OS, so using a cheap and lean CPU instead seems logical. I’m suspecting Google of planning to make their own ARM server chip too, for much the same purpose.

  6. I doubt very much that Microsoft is looking for some sort of extra performance by tweaking the ARM architecture, and I can’t see that custom silicon could result in something that was easier to port x86 code to – even if you could do that efficiently, you’d put the smarts in the translation software. Anything you can do in hardware you can do in software – unless performance is an issue, but in a one-off translation process, you don’t care about that. Especially if you’re a software company, who normally wants their software to run on multiple platforms.
    I’d think that this is MS faffing about building a locked-in media consumption device, for any one of a number of reasons. Might even not be ARM-based, if you just want to build a crypto co-processor.

  7. Thank you very much, Kyle, that’s extremely interesting. i shall watch this now all the more closely.

  8. I’ve always believed that Microsoft’s push to move developers to managed code was motivated by two factors: one, that the Windows experience would be improved if they could prevent memory leaks and other flaky developer problems that people attributed to Windows, and two, that it would lower the hurdle in moving Windows – and its applications – to another architecture if it came to it. I think we’ll see that second reason take hold soon.

  9. are we not supposed to be decoupling ourselves from back-end applications and our device need only be a browser?
    cloud computing is just client-server computing with better PR.
    and (just) maybe it gives us all freedom via a good standard terminal device (web browser).
    who the hell wants to run windows apps on a mobile device?
    however…
    perhaps microshaft would like to tether a mobile device to embed specialist support for silverlight or other weirdo web technologies?
    remember their approach – adopt – extend – destroy….. adopt standards – extend them (own them by adding private specifics) – destroy the competion (muddy the standards adoption).

  10. A single ARM Cortex A8 generally beats comparable x86 cores in integer operations. Most implementations are hamstrung by poor memory bandwidth, which is one of the reasons everyone thinks the Apple A4 has such amazing performance – it has very good memory bandwidth. An ARM core and subsystem should make a brilliant data farm processor, given how much power data farms use for cooling.
    Floating point is reported to be generally poorer in ARM, so I shouldn’t expect much penetration into scientific computing without it being allied to GPGPU hardware. This introduces lots of new programming challenges, but that’s what these scientific computing types love!
    Another problem is that all Windows apps are compiled for x86, and one or two are optimised for the architecture. That is a serious hurdle for widespread ARM desktop penetration. The real biggie in this respect is in device drivers though. The Vista debacle excepted, the admirable thing MS have achieved over the years is not making legacy hardware obsolete when introducing new OSs. This would surely be too tough a task for even MS with a change to ARM.
    MS could go down the Apple route and introduce something like the Rosetta Stone that Apple shipped when migrating from PPC to Intel x86. This translated PPC code to x86 on the fly. Transmeta (remember them?) did something similar for their stuff, translating x86 to Crusoe code at run-time.
    Apple also has the concept of universal apps, which run natively on either PPC or x86. I think (although I’ve not checked) that this is achieved by cross-compiling and having two functionally identical run-time codes (one for each architecture) in the installation package, the correct run-time being automatically installed without user intervention. This duplication and packaging is taken care of by the IDE tools so the developer gets it “free”. Indeed, this raises the question as to how far Apple will go with ARM cores in their own product range. iOS continues to be extended to incorporate more and more functionality which used only to be present in OSX – I wonder if we’ll see the introduction of capability which will allow universal iOS and OSX applications? This would certainly ease the introduction of ARM in to Apple’s more traditional computer platforms.

  11. @John – I probably wasn’t as clear as I could have been but what I was refering to is that the mainstream Windows code and Intel instruction set are so intertwined that just a cross-compilation to any other processor is going to produce something which runs like a dog. As I said Windows would need re-architecting and re-writing to run properly on an ARM no matter how good the upcoming new processor is.
    Of course Microsoft could choose to do this. Targetting a totally rewritten Windows 9 at a hypothetical 256 (or even 65536) core processor and then re-targeting and cross-compiling down to real-life current Intel, ARM and other processors would produce a really good product which ran far faster and smoother than Windows 7.
    Unfortunately in my hazy and somewhat cynical crystal ball I see something like Windows CE with some Windows 7 bits bolted on top to try to look the same even if it doesn’t feel the same.
    With that as an option Linux looks good πŸ™‚

  12. In the brief details of the announcement, john, there was also a mention of a licence for the instruction set. I took this to mean that MS could add instructions – but I may, of course, be wrong. It may be I am right in only one respect – that the announcement was a tease.

  13. Hi David,
    I really like your blog and read it often. There is, however, one foible that has cropped into your article here.
    I believe an ARM architecture license doesn’t allow a licensee to add instructions to the instruction set. That is fixed in the architecture.
    What an architecture license allows a licensee to do is to go and design their own processor implementation – from scratch – that is compliant with that architecture.
    Aside from that, I like your speculation about porting windows and so on. Let’s see which of your speculations are the more ludicrous!
    And @Mike Bryant: I think we’ll have to wait and see what ARM have got on their future roadmaps before making any assumptions about windows performance on ARM. We’ve all got our crystal balls, but only time will really tell! I keep hearing about the Eagle processor – it was mentioned in ARMs results as now having 3 lead licensees – I bet that’s a performance play!

  14. “The wild-eyed, super-hopeful explanation is that Microsoft is now going to port Windows to ARM”
    If they did we would all complain at how slow it was and how all our current applications wouldn’t run. Windows needs the power (Mips not Watts πŸ™‚ of Intel to run effectively and nothing short of a complete rewrite is going to fix that, whilst Wintel-only applications abound in the marketplace.
    I suspect this is driven more by Microsoft’s latest attempt at getting into the mobile space such as the recently announced partnership between Nokia and Microsoft and the focus will remain on smartphones large and small. Whether this will succeed is another matter altogether.

Leave a Reply

Your email address will not be published. Required fields are marked *

*