Slashdot Mirror


Next Generation of Windows To Run On ARM Chip

Hugh Pickens writes "Sharon Chan reports in the Seattle Times that at the Consumer Electronics Show in Las Vegas, Microsoft showed the next generation of Windows running natively on an ARM chip design, commonly used in the mobile computing world, indicating a schism with Intel, the chip maker Microsoft has worked with closely with throughout the history of Windows and the PC. The Microsoft demonstration showed Word, PowerPoint and high definition video running on a prototype ARM chipset made by Texas Instruments, Nvidia. 'It's part of our plans for the next generation of Windows,' says Steve Sinofsky, president of Windows division. 'That's all under the hood.' According to a report in the WSJ, the long-running alliance between Microsoft and Intel is coming to a day of reckoning as sales of tablets, smartphones and televisions using rival technologies take off, pushing the two technology giants to go their separate ways. The rise of smartphones and more recently, tablets, has strained the relationship as Intel's chips haven't been able to match the low power consumption of chips based on designs licensed from ARM. Intel has also thumbed its nose at Microsoft by collaborating with Microsoft archrival Google on the Chrome OS, Google's operating system that will compete with Windows in the netbook computer market. 'I think it's a deep fracture,' says venture capitalist Jean-Louis Gassee regarding relations between Microsoft and Intel."

307 comments

  1. Nvidia cpu by assemblerex · · Score: 3, Interesting

    just happens to be coming out as well.

    1. Re:Nvidia cpu by click2005 · · Score: 0

      I agree. Why isn't the 'mainstream' press making more of the fact they're the last one to market and their product won't even be available for 18 months. I guess its Microsoft's only option when they cant buy/steal an existing product.

      --
      I am a free slashdotter. I will not be modded, blogged, DRM'd, patented, podcasted or RFID'd. My life is my own.
    2. Re:Nvidia cpu by mwvdlee · · Score: 4, Insightful

      Imagine placing your mobile phone in the docking station on top of your TV and it instantly being transformed in a full-blown desktop-capable PC functionally similar to an average PC of today.

      --
      Slashdot social media options: AIM, ICQ, Yahoo, Jabber and Mobile Text. Why no MySpace?
    3. Re:Nvidia cpu by MrHanky · · Score: 1

      Mobile? It's going to change the office desktop.

    4. Re:Nvidia cpu by RoboRay · · Score: 1

      ARM is the market referred to in this story, not x86.

      I don't expect people to RTFA or even RTFS, but is it too much to ask for people to at least RTFHL?

    5. Re:Nvidia cpu by ArcherB · · Score: 4, Informative

      Last one to market?

      Can you name any other operating system that works on both x86 and ARM procs out of the box, with no modification or intervention necessary on the user end?

      Linux. Well, that's the only one I can think of.

      --
      There is no "I disagree" mod for a reason. Flamebait, Troll, and Overrated are not substitutes.
    6. Re:Nvidia cpu by Inda · · Score: 2

      The wife's HTC Wildfire is more powerful and has more RAM than the P3 I still use to run FF, file servers and other stuff.

      Amazing for a budget smart-phone.

      --
      This post contains benzene, nitrosamines, formaldehyde and hydrogen cyanide.
    7. Re:Nvidia cpu by TheRaven64 · · Score: 4, Informative

      OS X, Linux, FreeBSD, and NetBSD. Not sure about OpenBSD - they did have an unmaintained port to some older ARM chips, which was discontinued, but I think they've got a newer one.

      All of these have both ARM and x86 versions that work out of the box. Debian, for example, has complete software repositories for ARM so you can typically install the same software on ARM as on x86, and you have exactly the same user environment on both (well, except that the Linux kernel sucks at providing portable abstractions, so things like power management are very different on both). Apple supports OS X on both platforms, although their ARM port ships with UIKit instead of AppKit and doesn't include autozone, Carbon, Rosetta, or any of the legacy APIs.

      Actually, now that I think about it, Windows CE shipped an x86 version (as well as ARM, PowerPC, and MIPS) for a while. Not sure if anyone used it, but it worked out of the box, at least as much as it did on any other architecture...

      --
      I am TheRaven on Soylent News
    8. Re:Nvidia cpu by TheRaven64 · · Score: 1

      Imagine your TV having a high-end multicore ARM CPU and both the phone and TV running Xen, so you just live-migrate the VM from your phone to your TV when you get home. Samsung had a demo of this working in 2007, but I've not seen it in any shipping products yet.

      --
      I am TheRaven on Soylent News
    9. Re:Nvidia cpu by aztracker1 · · Score: 2

      Debian (and other Linux distros), FreeBSD (and others)... What makes you think that no modification or intervention is necessary for users running ARM based windows? Outside of .Net applications that don't use P/Invoke (FYI, anything relatively complex in .Net probably uses P/Invoke, or a library it uses does). Native applications will need to be recompiled, and users will need to be aware of said differences.

      --
      Michael J. Ryan - tracker1.info
    10. Re:Nvidia cpu by ozmanjusri · · Score: 1

      Linux, of course.

      --
      "I've got more toys than Teruhisa Kitahara."
    11. Re:Nvidia cpu by LizardKing · · Score: 3, Interesting

      I'm sure you already know this, but for the benefit of other readers, Windows NT used to run on PowerPC and Alpha processors. My first employer even had a DEC Alpha server that arrived with a test install of Windows NT on it - rapidly nuked in favour of Unix. I've heard credible rumours that MS also had NT running on Sparc processors at one point, but whether that was just the kernel or included the userland as well I don't know. Many articles about the design and implementation of the NT kernel mention that it is very portable, so this comes as no surprise.

    12. Re:Nvidia cpu by petermgreen · · Score: 1

      Well debian linux runs on arm, it's a bit more of a pain to install it than on PCs but that is more the fault of the arm platforms in question than of linux.

      PCs have a standard BIOS that provides a number of basic services including communication with the user and reading boot images from hard drives and CD-ROM drives. Arm systems sometimes have something similar but it's generally specific to a particular subfamily and is often designed to be driven from a serial terminal since a lot of arm hardware lacks displays.

      --
      note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
    13. Re:Nvidia cpu by jonbryce · · Score: 1

      This isn't about the mobile market though. Windows Mobile and Windows Phone already run on ARM chips.

      This is initially about low end laptops and small servers and it will eventually filter up to the whole PC market. That's why Intel should be worried.

    14. Re:Nvidia cpu by TheRaven64 · · Score: 4, Informative

      It's also worth remembering that the x86 version of NT is itself a port. The NT actually comes from Intel's NT architecture, which eventually became the i860. The next target was MIPS, and then x86. It was intentionally not written on x86 to prevent any architecture-specific assumptions creeping into the codebase.

      The Alpha version of Windows NT came with a thing called FX32!, which ran emulated x86 apps. It was pretty horrible, because the Windows codebase is full of endian assumptions (the Alpha version did lots of byte order swapping in the background) and emulator technology was not very advanced back then so the emulator needed a fast Alpha to run at a decent speed. It also ran in some weird pretending-to-be-32-bit mode, although they fixed that when eventually doing the win64 version for Itanium.

      --
      I am TheRaven on Soylent News
    15. Re:Nvidia cpu by the+linux+geek · · Score: 1

      Office is getting ported. That's a start.

    16. Re:Nvidia cpu by Predius · · Score: 0

      I had the last Win 2k beta for Alpha, ran quite well on my 533mhz 21164, could even run some games via FX32!.

    17. Re:Nvidia cpu by Anonymous Coward · · Score: 0

      Linux and pretty much every flavor of BSD?

    18. Re:Nvidia cpu by fuzzyfuzzyfungus · · Score: 1

      While I suspect that MS will be delighted to gradually kill off CE in all but the most constrained environments, and go the way that everybody else is going(same/extremely similar kernel across all devices, with only library and UI differences to suit the form factor in question), since WinCE kind of sucked compared to NT, and NT's base system requirements are now pretty attainable for almost anything that is called a "SoC" rather than a "microcontroller".

      However, while I'm seeing the incremental savings and conveniences, I'm not seeing the "game changer"... NT/ARM will have an overwhelmingly tiny application base, unless MS does a truly heroic job of kicking third-party ass(look at how long it took to get the wintel vendors on board the relatively minor changes required to comply with Vista/7, and the number of applications that still aren't 64 bit, and the length of time, and discarding of peripherals, that it took for 64bit drivers to actually be available...) Even .net stuff, which will theoretically benefit from the agnosticism of the CLR, is usually packaged behind one or more layers of x86 win32 installer wrappers. With some hacking, you can often get around those; but even the relative minority of beautifully clean .net stuff, with no win32 dependencies, architectural assumptions, or kernel drivers, will require a vendor re-release of the installer to be usable by Joe User on an NT/ARM system...

      Furthermore, while consolidating kernels will likely be a long term benefit, has kernel quality actually been the deciding factor in any of the skirmishes in the PDA, smartphone, or tablet wars thus far? It seems, from what I've been able to observe, that virtually all the fighting has been in the areas of UI quality, developer base, and hooks to various other ecosystems(ie. blackberries kind of suck; but they have BBM and an integrated email service, Windows Mobile was traditionally the best bet for Exchange integration and policy control for any IT shop that couldn't afford/support a full BES instance. Android has its Google overlord's services integrated, iDevices have iTunes and ITMS...)

      Now that mobile devices are getting substantially more powerful than the hardware that NT was originally developed on, it seems perfectly reasonable to start prepping CE for the hospice and/or very low end embedded devices, and consolidating kernel work on NT; but without a new UI, userland legacy support, or similar, this seems about as significant as a version bump in the CE kernel. Will it be a better kernel? Certainly. Will that change the user experience? Not so clear...

    19. Re:Nvidia cpu by fuzzyfuzzyfungus · · Score: 1

      Given the debacle about "Windows Vista Capable" vs. "Windows Vista Ready" I, for one, trust that there will be no customer confusion regarding what software and peripherals are supported on Windows 8/ARM vs. Windows 8/x86...

    20. Re:Nvidia cpu by Anonymous Coward · · Score: 1

      CE has an important feature that isn't always visible to the standard IT crowd. You can use it in hard real-time mode. Couple this with the fact that you get to use the same Visual Studio dev tools and 90% of the windows API in the real-time environment and it becomes easier for Windows/PC programmers to move to get familiar graphical interfaces going on things like medical devices and industrial control systems. The down-side is that CE uses a derivative of the insane windows driver model. Writing drivers is never easy but it's not made easier by the complexity of the interface to the windows kernel and the relatively lower-quality tools that the driver writers have had to put up with relative to desktop development tools. They have made good progress in cleaning this up on all fronts, (especially since Microsoft realized that over 50% of the system crashes they get complaints about are due to crappy drivers) but it's still probably harder than it needs to be.

    21. Re:Nvidia cpu by Anonymous Coward · · Score: 0

      None, because there is no operating system that runs on ARM out of the box. Except maybe RISC OS but the Acorn Archimedes has been dead for a long, long time. The ARM business model isn't like x86 where everybody buys hardware that runs any OS you want. It's very much manufacturer oriented, and manufacturers don't sell open hardware platforms that you can install onto. Unless you're willing to buy an SoC and wire it up yourself, but then again that's not exactly out-of-the-box, is it?

      Granted, Project Denver might change this, since Nvidia sounds like they're targeting this at PCs, which means it probably would actually install arbitrary ARM-compatible OSes and run them.

    22. Re:Nvidia cpu by Anonymous Coward · · Score: 0

      It's also worth remembering that the x86 version of NT is itself a port. The NT actually comes from Intel's NT architecture, which eventually became the i860.

      [citation needed]

    23. Re:Nvidia cpu by Anonymous Coward · · Score: 0

      Alpha was little-endian. Endianness had nothing to do with it.

    24. Re:Nvidia cpu by Anonymous Coward · · Score: 0

      The only thing I'm worried about are kernel drivers, and really that just means that printers won't work. Which is pretty much the same boat Apple, Google, and everyone else are in anyway, and all the more reason why we shouldn't have printer drivers. Since Win8/ARM seems to be targeted towards tablet hardware, I don't think that will be too much of a problem.

      That being said, I'm surprised they didn't announce an x86 userland emulator. That would be rather easy for someone at Microsoft to make; with modern JIT techniques you could easily translate binaries on the fly and still maintain decent performance.

    25. Re:Nvidia cpu by Just+Some+Guy · · Score: 1

      [citation needed]

      Wikipedia, thus completing the circle.

      --
      Dewey, what part of this looks like authorities should be involved?
    26. Re:Nvidia cpu by GrumblyStuff · · Score: 1

      Think about all the info you have on your phone and computer and all the things that keep you logged in. Now imagine losing that phone...

    27. Re:Nvidia cpu by mweather · · Score: 1

      That didn't help OS9 out much.

    28. Re:Nvidia cpu by ncc74656 · · Score: 1

      Linux. Well, that's the only one I can think of.

      Darwin runs on ARM, x86, and PowerPC (the former as iOS, the latter two as Mac OS X).

      --
      20 January 2017: the End of an Error.
    29. Re:Nvidia cpu by treeves · · Score: 1

      Sounds like the Motorola Atrix they just announced at CES.

      --
      ...the future crusty old bastards are already drinking the Kool-Aid.
    30. Re:Nvidia cpu by fwarren · · Score: 2

      Office is getting ported. That's a start.

      Yes, but not much of a start. So the only reason to run WinARM is a familiar interface and Microsoft Office? What about Quicken, Quickbooks, PhotoShop, AutoCAD or any other big time application? You may laugh at the Gimp, GNUCash, or some Linux CAD program now. But when the choice is Linux on ARM with apps and Openoffice (and probably some way to run WinARM Office if you want), or WinARM with AutoDesk and Adobe having NO intention of porting their apps to the platform, Linux looks pretty good.

      Or perhaps you are of the mindset that such a small device is not meant for running desktop apps? Well, then what advantage would running Windows have? Price? Better power consumption? A better touch interface? It will be a zombie. It runs Windows, but not your windows software, just Microsoft Office. What? People are just going to love that.

      Lets not forget, this is still vaporware for at least 18 months. There is no guarantee that any product will ever hit the market. Where as Linux/Android on ARM is here today. Ubuntu should have a pretty slick Unity interface by that point and Wayland could be standard on such devices. With Microsofts track record with CE and smart phones, I don't think there is much to worry about. Somehow I don't think Microsoft will own the ARM market.

      --
      vi + /etc over regedit any day of the week.
    31. Re:Nvidia cpu by fwarren · · Score: 1

      Imagine placing your mobile phone in the docking station on top of your TV and it instantly being transformed in a full-blown desktop-capable PC functionally similar to an average PC of today.

      How is it going to be a full-blown desktop PC if the only app that runs on it is Microsoft Office? What happens when they can't take their favorite program they bought for their desktop and run it on there ARM system? What happens when there is no NetFlix player for it or any of their other favorite apps?

      Unless Microsoft has created a free compiler that can convert win32 binaries to ARM binaries Microsoft loses their one big advantage, 30 years of DOS/Windows 3.1/Windows XP/Windows Seven compatibility for legacy software titles.

      --
      vi + /etc over regedit any day of the week.
    32. Re:Nvidia cpu by Doctor+Memory · · Score: 1

      Why not leave the VM running on some proper hardware and just use the phone and/or TV as UI? I mean, if I'm in the middle of a firefight in Black Ops, the last thing I'll want to do is shift my game from my quad-core 3GHz TV and start running it on a dual-core 1GHz phone...

      --
      Just junk food for thought...
    33. Re:Nvidia cpu by xonicx · · Score: 1

      No need to imagine when you can have Atrix http://www.youtube.com/watch?v=1x7omSTSzl8

    34. Re:Nvidia cpu by Anonymous Coward · · Score: 0
    35. Re:Nvidia cpu by default+luser · · Score: 1

      How is it going to be a full-blown desktop PC if the only app that runs on it is Microsoft Office? What happens when they can't take their favorite program they bought for their desktop and run it on there ARM system? What happens when there is no NetFlix player for it or any of their other favorite apps?

      Unless Microsoft has created a free compiler that can convert win32 binaries to ARM binaries Microsoft loses their one big advantage, 30 years of DOS/Windows 3.1/Windows XP/Windows Seven compatibility for legacy software titles.

      I'm sure they'll include a translator.

      Unfortunately, the ultimate goal of a translation engine is for it to be a temporary thing while you move to another exclusive platform. This fragmented platform support for the next version of Windows is a poor move in that respect, because it's not making clear what the long-term goal is.

      The end result will be code bloat, because Universal Binaries will become the rule rather than the transitional fix they should be.

      --

      Man is the animal that laughs.
      And occasionally whores for Karma.

    36. Re:Nvidia cpu by hairyfeet · · Score: 3, Insightful

      I think you are missing the point, and why this could really be a threat: Think "persistent user experience". imagine your average guy, we'll call him Bob. Bob gets up, gets ready for work, and before he walks out the door he pops his Win 8 tablet out of the cradle where it has not only charged but loaded the data he was working on and maybe even the morning paper as well if they don't have wifi on the train.

      Bob gets to work and he either sets the tablet in a cradle or uses Bluetooth and the data he was working on is beamed into the apps he is used to like Word, Excel, Access, etc. If he works on the floor he simply inputs his data into the familiar Windows apps and when he walks by the bosses desk on the way out it is all shot into the bosses PC all nice and neat. Bob will also be able to stream movies and shows to/from his desktop at home thanks to the deals MSFT is making with content providers. Bob goes home and it all syncs up with no tweaking from Bob, and he plops on the couch and can surf and control everything from his Wintab.

      If this was 5 years ago I'd be right there laughing with you, but with Windows 7 and how nicely it networks and plays with other devices like the x360 it seems MSFT is finally starting to get persistent user experience. The user must NEVER have to fiddle with layers of submenus or pages of checkboxes, which has always been MSFT's big weakness in the past. They seem to finally get KISS and do the setup work FOR the user, which means if they have everything just plug into each other, such as MSFT cloud into WinPhone into WinTablet into WinDesktop? They already have the desktop and a good chunk of the living room with the X360. They manage to tie the rest into that then yeah, this thing could sell.

      If it is one thing we should have learned over the years is that MSFT always starts lame, but then they learn and get better if they choose to stay in the market. Just look at the Xbox. Who would have thought they would ever beat Sony in the console wars? I sure as hell didn't. I would say this is the one advantage they have over Apple and Google in this arena, because MSFT can tie it all together nicely with the OS everybody already uses and the X360 which is in millions of homes. Of course never underestimate the ability of MSFT to do something stupid ala the Kin, but to count them out without even seeing the product is more than a little premature.

      --
      ACs don't waste your time replying, your posts are never seen by me.
    37. Re:Nvidia cpu by sangreal66 · · Score: 1

      Actually, they made a pretty big deal about demonstrating printer support during their presentation

    38. Re:Nvidia cpu by mwvdlee · · Score: 1

      It seems to run only media and web viewing apps, nothing like productivity or creativity tools.

      --
      Slashdot social media options: AIM, ICQ, Yahoo, Jabber and Mobile Text. Why no MySpace?
    39. Re:Nvidia cpu by Anonymous Coward · · Score: 0

      The ARM had in 1987 an 8086 PC Emulator, running on RISC OS. Acorn sold the Archimedes 310M (the M being for Microsoft) with the PC Emulator, but it was also available as a separate package for all machines with at least one megabyte of RAM in the Archimedes line. It emulated a PC on a 4/8MHz ARM at the speed of an IBM PC-XT (the IBM PC-AT line were the main workhorses at that time). It came on two diskettes: one with the emulator and one with MS/DOS (version 5.something_weird IIRC). Wordperfect 5 ran fine on it, as did the TopSpeed Modula-2 compiler.

    40. Re:Nvidia cpu by TheRaven64 · · Score: 1

      Your memory is slightly fuzzy. The PC Emulator that ran on the A3000 and similar shipped with DR-DOS, not MS-DOS. As I recall, it was a slightly modified version to work better with the emulator, but I might have made that bit up.

      --
      I am TheRaven on Soylent News
    41. Re:Nvidia cpu by h4rr4r · · Score: 1

      Debian.

      What do I win?

    42. Re:Nvidia cpu by 31eq · · Score: 1

      Imagine that "docking station" already having an Intel chip in it, so you get the functionality without the phone plugged in! It's not like low-end processors are hugely expensive, after all. All the phone needs to bring to the party is its memory.

    43. Re:Nvidia cpu by judeancodersfront · · Score: 1

      Why couldn't WinArm run Gimp, GNUCash and OpenOffice?

    44. Re:Nvidia cpu by dasqua · · Score: 1

      STILL waiting for decent dev tools for WinMobile. yechh.

      I'd rather code for iphone at the moment. elgooG's toolkit is looking better all the time.

      --
      tihs isg mead fmro rcecydle tpyos
  2. Wow by Anonymous Coward · · Score: 5, Funny

    I knew it was getting fucking cold in here.

    --Satan

    1. Re:Wow by dasqua · · Score: 1

      "...We'd better throw another 13 lawyers into the pit then."

      --- henchman # 6

      --
      tihs isg mead fmro rcecydle tpyos
  3. First Post? by Anonymous Coward · · Score: 0

    ARM's share price did quite well from the announcement. http://www.bbc.co.uk/news/business-12127451

  4. Great, but, why did they announce this at CES? by Anonymous Coward · · Score: 1

    They forgot the C in CES?

  5. But but but but but.... by Nursie · · Score: 5, Insightful

    What about the huge catalogue of win32 applications?

    If I was to believe the anti-linux trolling of the last decade or so, that's the major reason people won't ever, ever switch!

    On a more serious note, I know .Net stuff stands a good chance of working fine, but there's a hell of a lot of windows stuff people use that isn't .Net and I can't see a translation engine or emulation working that great on ARM stuff.

    1. Re:But but but but but.... by Major+Blud · · Score: 3, Interesting

      I've been wondering the same thing. What about SDK's? Will there be a separate version of Visual Studio strictly for ARM? I know Visual Studio is mostly targeted towards .NET, but for native apps, will you be able to compile ARM code on the x86?

      --
      If you post as Anonymous Coward, don't expect a reply.
    2. Re:But but but but but.... by Anonymous Coward · · Score: 0

      I can't speak for WinMo7 but WinMo6 used VS as its development platform. Obviously the devices involved weren't x86.

    3. Re:But but but but but.... by Anonymous Coward · · Score: 0

      I'm no expert in the architectures, but from what I know, PowerPC is much more complex than IA-32 and Apple wrote Rosetta to move Mac stuff over.

    4. Re:But but but but but.... by Nursie · · Score: 4, Interesting

      Having a cross compiler would probably be a necessity.

      ARM is pretty quick these days, but has nowhere near the power of the multicore 64-bit chips coming out of AMD and Intel at the moment.

      Also there's the branding to think about. Sure windows ran/runs on a few architectures already, but if it *does* come down to x86/win32 apps not working on ARM machines and vice-versa, won't MS have a bit of a public education battle? Will the general public get confused by windows apps that are for one hardware variant and not another? Or will MS mandate fat binaries if you want Windows 8 certification or something?

      Many questions...

    5. Re:But but but but but.... by Anonymous Coward · · Score: 2, Interesting

      TargetCPU in the "advanced" compile options currently allows targeting AnyCPU( x86, x64 ), x64 only, and x86 only. It'd be somewhat reasonable to have the next version of the framework ( 4.5? ) be able to target ARM as a compile option ( maybe even offer an emulator for your code? ) and ship that as a SP to VS 2010.

      Of course, there isn't enough windows bashing in this post to get it modded up, but oh well.

    6. Re:But but but but but.... by Anonymous Coward · · Score: 0

      What Apple has done with OS X and its apps when moving from PowerPC to Intel.

      Damn you Slashdot for frakking up the login system. - ivucica

    7. Re:But but but but but.... by Nursie · · Score: 1

      "Linux fanbois should be happy that Android is bringing people to Linux; more than you'd get any other way I'd wager."

      Meh, this liniux fanboy is happy keeping it niche. That way I still get lots of lovely config files to mess with and learn about my system. Dumbing it down is not what I (personally) am after. It is kinda cool that it gets shipped in all sorts of devices now though.

    8. Re:But but but but but.... by johnhennessy · · Score: 3, Interesting

      Well, this depends on their target audience.

      If you have C/C++ code, porting it to ARM should be a huge deal. Yes there will be some differences, yes, there will be bugs - but in terms of effort its manageable. And more importantly, every single vendor has to do this effort, so Microsoft doesn't have to do anything.

      Because Microsoft are saying this now, with no product that anyone can "buy" right now (or even soon), this probably means the audience for this news is *Developers* (the single intelligent word that Mr Balmer has uttered in the last 20 years, so good, he had to say it multiple times for it be considered a quote). They are now selling the ARM architecture to developers. If the developers buy this story, the applications will follow.

      And of course, some developers will be more prepared than others. Don't expect an ARM version of Photoshop anytime soon, but an ARM version of Firefox is something that could be cranked out very easily.

      --
      [ Monday is a terrible way to spend one seventh of your life. ]
    9. Re:But but but but but.... by Anonymous Coward · · Score: 3, Informative

      Why wouldn't you? You could always compile ARM Windows CE/Mobile code on x86, and you could always compile IA64 Windows code on x86 as well. The compiler only needs to run on x86, not the emitted binary. You'd need an emulation layer or virtual machine to run/debug the binary locally, though. Visual Studio has shipped with virtual machine images for Windows Mobile devices emulating ARM machines specifically for this purpose for years.

      I really don't know why people are shocked by all of this. Windows isn't a non-portable OS. It's run on various other platforms in the past, including MIPS, Alpha, Sparc, PowerPC and even ARM (Windows XP Embedded). Microsoft just doesn't port to platforms for the sake of doing so; they follow the markets for those devices. The IA32 and x86-64 platforms more or less emerged as the only marketable commodity platforms for servers and workstations and the ARM platform for portable devices and Microsoft has always followed both with appropriate offering. This blurring of the lines between a portable workstation and a portable device in the realm of "tablets" or "slates" is really a more recent phenomenon and Microsoft will follow it there as the market allows.

      As for the rest of the x86 applications, sure, they aren't going to run, but Android and iOS have both demonstrated that there is probably little need for them. A slimmer version of Windows with a fully functional Office suite could be a very successful market, especially with the server and desktop markets as leverage. That could certainly be considered anticompetitive behavior, though, so that might turn interesting.

    10. Re:But but but but but.... by hattig · · Score: 1

      If only Microsoft offered a software development kit that most Windows developers used - they could incorporate ARM builds into it so that current software would be available for ARM in time for the release. They could even allow applications to have both ARM and x86 variants within the same application binary, as Apple do with Mac OS X software. Older applications that won't get recompiled will surely perform well enough under software emulation.

      Sadly, as Microsoft don't offer any form of SDK or compilers or anything of the sort, this Windows on ARM thing is doomed to failure. Right now they're writing the bits for Windows 8 for ARM by hand, flicking switches and pressing a button to store that instruction into memory.

    11. Re:But but but but but.... by Anonymous Coward · · Score: 1

      Back in the late 90s when Windows NT could run on Alpha, MS didn't support cross-compilation. We had to buy an Alpha system to compile our code for Alpha.

      On the other hand, you can compile for x64 on 32-bit Windows.

      I think we'll have to wait and see. But I wouldn't be happy shipping code for a platform I didn't have and had never tested on. There are a few things (missing libraries, alignment issues) that can bite you in the ass.

    12. Re:But but but but but.... by igreaterthanu · · Score: 1

      You can develop for Windows Mobile 7 in VS and it compiles to .NET and then runs that in an Arm emulator which is running the Windows Mobile 7 OS.

      --
      I dream of a nation where a man is not judged by his skin color but by an number assigned by a credit rating agency.
    13. Re:But but but but but.... by robthebloke · · Score: 2

      Visual C++ has been able to compile for arm for some time..... Just create a new solution platform from the configuration manager.

    14. Re:But but but but but.... by Savage-Rabbit · · Score: 4, Informative

      I've been wondering the same thing. What about SDK's? Will there be a separate version of Visual Studio strictly for ARM? I know Visual Studio is mostly targeted towards .NET, but for native apps, will you be able to compile ARM code on the x86?

      Visual studio it self is a userland app and as such should run on Windows for ARM with few problems. I'm not sure what MSVS is written in, if it's a native app there will be an ARM version much as there was a PPC and x86 version of Xcode when Apple switched to x86, if MSVS is a .NET app you should get a build once run anywhere App like Eclipse is except Eclipse is truly cross platform while .Net apps are truly cross platform only on Windows flavors. If MS does a proper job porting it, the ARM toolkit for Windows should be every bit as powerful as the Windows x86 toolkit. Win 32 applications on the other hand might be a problem but then again Apple did a pretty decent jop at running PPC applications on x86 machines with Rosetta, I ran pretty heavy PPC applications under Rosetta with no major problems, so I don't see why Microsoft could not do something in a similar vein.

      --
      Only to idiots, are orders laws.
      -- Henning von Tresckow
    15. Re:But but but but but.... by Anonymous Coward · · Score: 0

      It's deja vu all over again. NT on MIPS/Alpha worked OK, shame about the software availability.

    16. Re:But but but but but.... by Ephemeriis · · Score: 2

      What about the huge catalogue of win32 applications?

      If I was to believe the anti-linux trolling of the last decade or so, that's the major reason people won't ever, ever switch!

      On a more serious note, I know .Net stuff stands a good chance of working fine, but there's a hell of a lot of windows stuff people use that isn't .Net and I can't see a translation engine or emulation working that great on ARM stuff.

      There's absolutely no reason that Win32 stuff would have any problem with the ARM architecture.

      Microsoft will just port their Win32 API over to ARM. The problem with bringing Win32 stuff over to Linux is that there is no Win32 API natively available... And the folks developing WINE don't have Microsoft's inside knowledge... So everything has to be reverse-engineered and hacked-together.

      It may not be the easiest thing in the world... But there's absolutely no reason why Microsoft couldn't port Win32 to any architecture they feel like.

      Or, if there are truly fundamental problems with getting some bit of code to run on some bit of hardware, just toss some emulation underneath it all.

      --
      "Work is the curse of the drinking classes." -Oscar Wilde
    17. Re:But but but but but.... by Anonymous Coward · · Score: 0

      PowerPC is much more complex than IA-32

      What? PowerPC is considered a RISC and IA-32 is considered a CISC.

      By definition, IA-32 is more complex than PowerPC.

    18. Re:But but but but but.... by bhtooefr · · Score: 2

      The SPARC port barely ran (there were endianness issues that Microsoft never worked out,) and XPe is x86-only.

    19. Re:But but but but but.... by Anonymous Coward · · Score: 0

      Huh? The language has nothing to do with it, it's the compiler/toolchain and libraries that must support it. If Microsoft (Intel, gcc, Borland(?), Open Watcom, etc.,) do their job correctly you, the developer, coding in LANGUAGE$, will get a working target executable.

    20. Re:But but but but but.... by kesuki · · Score: 1

      What about the huge catalogue of win32 applications?

      If I was to believe the anti-linux trolling of the last decade or so, that's the major reason people won't ever, ever switch!

      On a more serious note, I know .Net stuff stands a good chance of working fine, but there's a hell of a lot of windows stuff people use that isn't .Net and I can't see a translation engine or emulation working that great on ARM stuff.

      the reason people didn't switch was they didn't know how to change, now with 'smart phones' the kids are learning to be wireless and have no patience for slow clunky windows cloud or no cloud.

    21. Re:But but but but but.... by Anonymous Coward · · Score: 0

      > And more importantly, every single vendor has to do this effort, so Microsoft doesn't have to do anything.

      That's a weakness not a strength - that means every single vendor you deal with has to make the effort to port and test, or you can't switch. Every single in-house app has to be revisited or you can't switch.

    22. Re:But but but but but.... by dingen · · Score: 3, Interesting

      Apple got away with virtualizing and emulating the old architecture and shipping the new architecture because the new architecture was faster. But this transition on the other hand is from a faster to a slower platform. You can't emulate x86 on ARM with any decent performance.

      --
      Pretty good is actually pretty bad.
    23. Re:But but but but but.... by bluefoxlucid · · Score: 1

      What about the huge catalogue of win32 applications?

      If I was to believe the anti-linux trolling of the last decade or so, that's the major reason people won't ever, ever switch!

      On a more serious note, I know .Net stuff stands a good chance of working fine, but there's a hell of a lot of windows stuff people use that isn't .Net and I can't see a translation engine or emulation working that great on ARM stuff.

      An emulator would work great for ARM/Windows for two reasons:

      1. We have all the relevant libraries, so basically just the program and any libraries it brings get emulated; the linker links non-native and native libraries, of course. The tricky part is call-backs to function pointers, since "get me the address of $function" is a pretty raw machine activity and not a call to a facility somewhere.
      2. We're addicted to JIT these days, so of course we could just JITter the code to ARM. Callbacks via function pointer would work.
    24. Re:But but but but but.... by raddan · · Score: 4, Insightful

      Microsoft might be viewing this much the way Apple views iOS: it doesn't matter. Mobile devices, especially touchscreen devices, are different enough from their hardwired brethren that people may not seek to run the original software. Add to the fact that most technology companies are seeking to push software "to the cloud" (and indeed, Microsoft already has a cloud version of Office), this may become less and less of an issue.

      I personally think that Microsoft needs to make the break to stay competitive. Continuing to support legacy software is extremely painful for both Microsoft and for their customers. I used to work for a company that was heavily invested in legacy Microsoft technologies. You know those dastardly tactics that Microsoft uses to lock you in to their product? Well, it keeps you from using new Microsoft technology as well. Loss-aversion may be irrational, but, well, you try arguing that you need to switch to new tech to a CTO who has sunk millions into software that requires ActiveX on IE6. That, my friends, is why IE6 is still around. But I'm mildly amused at the irony that Microsoft's own proficiency in the lock-in game is hurting them now.

    25. Re:But but but but but.... by jedidiah · · Score: 1

      Office?

      That's nothing impressive to the average consumer. Nevermind business users.

      That level of "compatability" just isn't going to cut it. They might as well be using anything else besides Windows.

      No games. No apps. No obscure vertical apps. No point.

      Ancient 68K machines even had office software.

      --
      A Pirate and a Puritan look the same on a balance sheet.
    26. Re:But but but but but.... by m50d · · Score: 1

      Porting a program that was written in C without consideration for other architectures to a new architecture is hard, really hard. Seriously, I've done it.

      --
      I am trolling
    27. Re:But but but but but.... by m50d · · Score: 1

      Why do you think emulating on ARM would be hard? Emulating non-x86 on x86 is hard because x86 has so few general-purpose registers - but emulating x86 on something else is relatively easy.

      --
      I am trolling
    28. Re:But but but but but.... by Anonymous Coward · · Score: 0

      > There's absolutely no reason that Win32 stuff would have any problem with the ARM architecture.

      Win32 stuff compiled for an x86 chip will only execute on either a chip that supports x86 instructions or a emulated version of chip that supports such instructions. The API is only one part of the problem. .NET and Java get round this by using a "virtual CPU" (The Java Virtual Machine and the Common Runtime Environment).

    29. Re:But but but but but.... by jimicus · · Score: 1

      True, but you're still going to be relying on the software developer to actually compile and ship an ARM version. Emulation typically slows things down dramatically, it only really works when your emulator is running on hardware MUCH faster than the hardware you're emulating - which isn't the case here.

    30. Re:But but but but but.... by Anonymous Coward · · Score: 0

      > Why do you think emulating on ARM would be hard?

      The memory segmentation woe ?

    31. Re:But but but but but.... by icebraining · · Score: 2

      I disagree, enterprise has plenty of apps (some of them ancient which can't be source ported) required to run their business. Office is the most widespread suite, but it's definitively not enough for most people.

      If you're talking about the home market, then I think not even Office is needed for most people.

    32. Re:But but but but but.... by 91degrees · · Score: 1

      Z80 is CISC. Pretty certain a PowerPC is more complex than one of those. The complexity simply refers to the instruction set design. Even "reduced" is something of a misonomer since some RISC processors have more instructions that contemprary CISC devices.

      The key point is that RISC devices tend not to have certain types of unneccessary instructions.

    33. Re:But but but but but.... by raddan · · Score: 1

      What I think would be really interesting is if Microsoft decided to leverage .NET to help them expand their software ecosystem. There's already a .NET runtime on Linux: Mono. Hey... just so happens that Android runs Linux...

      But I doubt that would happen. Microsoft hates making their technology available outside of the Windows environment, as evidenced by the poor quality of Mac ports of Microsoft stuff. I never really understood why Microsoft made them in the first place. They must have some calculation somewhere that shows that it's better to keep people at least partly hooked to their stuff...

    34. Re:But but but but but.... by Barefoot+Monkey · · Score: 1

      Well, this depends on their target audience.

      If you have C/C++ code, porting it to ARM should be a huge deal. Yes there will be some differences, yes, there will be bugs - but in terms of effort its manageable. And more importantly, every single vendor has to do this effort, so Microsoft doesn't have to do anything.

      Because Microsoft are saying this now, with no product that anyone can "buy" right now (or even soon), this probably means the audience for this news is *Developers* (the single intelligent word that Mr Balmer has uttered in the last 20 years, so good, he had to say it multiple times for it be considered a quote). They are now selling the ARM architecture to developers. If the developers buy this story, the applications will follow.

      And of course, some developers will be more prepared than others. Don't expect an ARM version of Photoshop anytime soon, but an ARM version of Firefox is something that could be cranked out very easily.

      You have it backwards. Dealing with the underlying CPU architecture is handled comletely by the compiler, and not in the code at all. Porting a C++ program from x86 to ARM doesn't require any programming at all - you just select a different target and recompile. Perfect CPU port every time. The difficulty of porting a program to another device is in all the differences other than the CPU - mainly the differences in the available software environment (system calls, DirectX, OpenGL, Cocoa, .Net, etc.) and possibly different peripherals.

    35. Re:But but but but but.... by raddan · · Score: 1, Troll

      But also, Apple customers are used to breathlessly thanking The Steve for making their lives momentarily miserable. As long as they're promised to receive Teh New Shiny, and that all of their problems will be solved in the next iteration, Apple customers will do it.

      Microsoft customers are different. Microsoft's main selling point for the last decade, whether it was true or not, was lower TCO. Bean-counters love Microsoft, and crusty old entrenched IT managers love Microsoft as well. And Microsoft's customers have poured millions into Microsoft's enterprise technology, all of which was tied closely to x86 until .NET. I know a guy who works for Philips-- when Microsoft deprecated an API that Philps had heavily invested in, Philips complained, and Microsoft un-deprecated it.

      I think the main point is that Apple's important customers are largely home end-users. Microsoft's important customers are businesses. Businesses tend to be a bit more conservative.

      BTW, I'm not sure the "emulated x86" platitude holds anymore. x86 chips themselves have emulated the x86 instruction set for quite awhile now. They're something like RISC inside now... Whether that means that ARM can emulate x86 well, I don't know, but it is clearly possible to do well.

    36. Re:But but but but but.... by lysdexia · · Score: 1

      Just create a new solution platform from the configuration manager.

      So I convert the configuration manager to a drinks trolley?

      Gad, I'm confused.

    37. Re:But but but but but.... by drinkypoo · · Score: 1

      I'm guessing they plan to copy Apple, and offer a light version of Windows customized for handhelds and tablets that runs on ARM devices. Expect it to replace Windows Mobile on the phone eventually. Microsoft has proven that NT can be stable enough for an appliance-type device with the Xbox 360.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    38. Re:But but but but but.... by Cyberax · · Score: 3, Interesting

      "What about the huge catalogue of win32 applications?"

      They'll probably create an x86-to-ARM JIT-compiler. Like Alpha did with Windows NT during 90-s. So for a brief period Windows NT on Alpha was the fastest way to run x86 applications.

      And it's not like they need to emulate the whole API like Wine has to do, they just need to translate x86 calling conventions to ARM calling convention, which can be done by a fairly simple shim layer.

    39. Re:But but but but but.... by Andy+Dodd · · Score: 1

      That's pretty much why Windows/Alpha and Windows/PPC were duds.

      Yes, desktop Windows (NT specifically) did have native Alpha and PPC variants. There were basically no applications so they were a novelty and Linux pretty much killed both of them.

      It is obviously possible for a manufacturer to do an architecture switch or support dual architectures (see Apple), but I really don't see Microsoft pulling off what Apple did.

      --
      retrorocket.o not found, launch anyway?
    40. Re:But but but but but.... by 0123456 · · Score: 3, Informative

      Emulating non-x86 on x86 is hard because x86 has so few general-purpose registers - but emulating x86 on something else is relatively easy.

      Have you actually written an x86 emulator on 'something else'? I have, and 'relatively easy' is not a phrase I would use... at least, not if you want to get any decent performance out of it.

      Admittedly we were having to emulate the entire PC hardware so it could run old DOS apps and not just Windows user-land, so that would make life somewhat easier.

    41. Re:But but but but but.... by JonySuede · · Score: 1

      . I never really understood why Microsoft made them in the first place.

      I have a two word answer : antitrust regulations

      --
      Jehovah be praised, Oracle was not selected
    42. Re:But but but but but.... by TheRaven64 · · Score: 4, Informative

      Not true. Different languages expose different abstract models to the programmer. A Smalltalk-family language like Java typically exposes a model where memory is only allocated in objects and instance variables in objects are only accessed by their name. In contrast, most Algol-family languages like C expose a lower-level model where memory can be allocated as untyped buffers and then cast to the required type.

      The differences in CPU architectures are typically things like alignment requirements (can it load and store values that aren't word-aligned?), endian (which order are bytes), and so on. In C, there are a few things that you can do on x86 that will cause problems on other architectures. One is silently increasing alignment requirements:

      char *foo = malloc(12);
      int *bar = (int*)(foo+1);
      // in another function
      int wibble = bar[1];

      A compiler will typically make this work for you if it sees the assignment to bar, but if it doesn't then it will assume that bar is aligned on a word boundary. If the target architecture doesn't support unaligned loads, then the last line will break things (you may get a trap, or you may just get the wrong result, depending on the architecture). Modern ARM chips will trap to the kernel for this kind of problem, so the kernel can emulate the load, but this is a couple of orders of magnitude slower. There is no way of expressing this code in a language like Java, so the problem doesn't arise.

      Another issue comes from endian assumptions. Consider this code:

      int64_t foo;
      // Set foo to something
      int32_t bar = *(int32_t*)&foo;

      This will correctly give you the low 32 bits of foo in bar on a little-endian platform. On a big-endian platform, it will give you the high 32 bits. Most of the time you wouldn't do something this simple, but you might when reading data from a stream of some kind. It's bad practice, but that doesn't mean it's not done. Fortunately, ARM is little endian too, so this isn't an issue porting from x86 to ARM - it caused a lot of problems porting from x86 to PowerPC and SPARC though, especially in code that dumped binary data to files, read it back, and found it in the wrong byte order.

      And, of course, there are size issues. In C, the different primitive types all have architecture-dependent sizes. Some people make assumptions about them. For example, it's usually safe to assume that long is big enough to store a void*. Unfortunately, it's not true in win64 (although it is in every other platform I've seen), so code that makes this assumption breaks in 64-bit Windows versions (Itanium and x86-64).

      --
      I am TheRaven on Soylent News
    43. Re:But but but but but.... by Anonymous Coward · · Score: 0

      Back in 2003 I saw a version of Windows 2000 running on an prototype multi-core ARM CPU, so they've been at it for a while.

      ARM has really cool technology so it's no surprise the engineers at Microsoft want to use it, then and now. Perhaps it's just now that the engineers have got management to listen.

    44. Re:But but but but but.... by Anonymous Coward · · Score: 0

      On a more serious note, I know .Net stuff stands a good chance of working fine, but there's a hell of a lot of windows stuff people use that isn't .Net and I can't see a translation engine or emulation working that great on ARM stuff.

      On a slightly less serious note, I'd like to take this opportunity to express my extreme hatred for Microsoft's choice of name for their platform. It made that sentence difficult to parse. A pox upon whoever decided that starting a proper name with a period was a good idea.

    45. Re:But but but but but.... by TheRaven64 · · Score: 1

      PowerPC is much more complex than IA-32

      Not even remotely. The PowerPC architecture is pretty messy by RISC standards, but it's still mostly orthogonal. x86 instructions have nasty habits of setting semi-related condition flags and so on. There are a few that set condition flags by mistake: there was a bug in some 486 chips and game designers found that they could make their code run faster by taking advantage of it, and Intel had to reimplement the bug when testers complained that their games ('requires 486 or better') crashed on the simulated Pentium. And that's before you get into segmented addressing and interruptible instructions (the string manipulation instructions can be interrupted in the middle of execution; they're effectively microcoded memcpy() / memcmp()).

      Apple wrote Rosetta

      No they didn't, they licensed Rosetta from Transitive, a spin-out from Manchester University (in the UK, in case there's another Manchester University somewhere in the USA). Transitive also sells a similar emulator for other architecture pairs, although Microsoft already owns an x86 emulator from when they bought Connectix.

      --
      I am TheRaven on Soylent News
    46. Re:But but but but but.... by 0123456 · · Score: 1

      You have it backwards. Dealing with the underlying CPU architecture is handled comletely by the compiler, and not in the code at all. Porting a C++ program from x86 to ARM doesn't require any programming at all - you just select a different target and recompile.

      You have roughly six million programmers who've had to write portable C++ rolling on the floor laughing right now. Merely getting their software to work on 64-bit CPUs as well as 32-bit has been hugely painful for a number of projects I'm aware of which have done stupid things that only worked on a 32-bit CPU and broke as soon as you recompiled the code for 64-bit.

    47. Re:But but but but but.... by TheRaven64 · · Score: 1

      We've been over this in every other story about Windows on ARM.

      A modern emulator allows trapping to native libraries. Anything in the standard Windows libraries would come with a stub version that ran inside the x86 emulator and called out to the native ARM version. This makes library calls marginally more expensive, but means that the code inside the library runs at the same speed whether the caller is an ARM or x86 executable. That means any of the time that a program spends in GDI+, DirectX, or even msvcrt is going to run at native speeds. For most business-type apps, that's most of the total time.

      Inside the emulator, dynamic translation can easily get 50-75% of native speed. The bottleneck in traditional emulators was always I/O. Check out VirtualPC for Mac - running bzip2 is almost as fast in the emulator as on the host platform if it's doing compression in memory, but as soon as you need to access the disk the performance plummets. That's not an issue for this kind of integrated emulator, because all I/O goes through (native) system libraries.

      Apple got away with using Rosetta because most apps aren't CPU bound, and most CPU-bound parts of apps are in system libraries. Some things, like games, wouldn't be fast enough, although games tend to be more GPU-bound these days and they ship the GPU code in a bytecode that the driver JIT-compiles for the target GPU, so even they might be.

      --
      I am TheRaven on Soylent News
    48. Re:But but but but but.... by mcgrew · · Score: 0

      What about the huge catalogue of win32 applications?

      If I was to believe the anti-linux trolling of the last decade or so, that's the major reason people won't ever, ever switch!

      Acttually, yes and yes. Tell a lie often enough and everyone will believe it. Microsoft has been all about "backwards compatibility" since DOS, but when Windows came along that went right out the door.

      At first it was just games -- when I jumped from DOS 6.2 to Win 95, half my games either wouldn't run, didn't have sound, or some other problem, and I had to resort to batch file trickery that involved having the machine boot itself into DOS.

      When 98 came out it wasn't quite so bad, but I still had games that were problematic.

      When we got XP at work, Microsoft's own Windows program (FoxPro) wouldn't work, as well as quite a few other programs. An Access upgrade broke all the apps I'd written.

      When I upgraded to XP at home it was even worse; I wiped the drive and installed XP, then reinstalled the apps. When I installed the CD burning software that came with my burner, Windows happily installed in, then disabled it (preventing an uninstall) and informed me that it disabled it at every boot. I had to reinstall XP to get rid of the program; VERY bad OS design, Windows should have either disallowed installation of the program, or uninstalled it rather than disabling it.

      When you build shitty cars, you come up with a corporate slogan like "At Ford, quality is job #1" rather than improve the quality of your cars.

      It doesn't matter that Microsoft isn't compatible with anything, even itself, so long as their marketing department can convince everyone that it is.

      The irony is that you can run most of your Windows programs in Linux using Wine or some other utility.

    49. Re:But but but but but.... by TheRaven64 · · Score: 1

      Depends on the architectures. ARM and x86 are both little-endian, both 32-bit, both can do unaligned loads and stores but do them much slower than aligned ones. The biggest difference is that operations on floats and doubles are about the same speed on x86 (both are done in the 80-bit x87 unit, unless you compile with SSE, which Microsoft's compilers don't by default) but doubles are a lot slower on most ARM chips.

      In contrast, porting from x86 to SPARC64 can be a huge pain - SPARC64 is big-endian, 64-bit, and doesn't do unaligned loads and stores at all.

      --
      I am TheRaven on Soylent News
    50. Re:But but but but but.... by Anonymous Coward · · Score: 1

      What about the huge catalogue of win32 applications?

      They can probably be re-compiled into fat / "universal" binaries to run on both platforms.

      Mac OS X was able to have binaries that run under both PowerPC and x86, and now that support both 32- and 64-bit binaries. I'm sure that MS has enough smart people to do the same thing.

      If they're smart they'll release a compiler at least a year or two ahead of time that does the cross-compiling so people will be able to release apps ahead of time.

    51. Re:But but but but but.... by tbuskey · · Score: 2

      You forgot Itanium. Server 2008 runs on Itanium.

      Alpha has an x86 to Alpha JIT compiler that would eventually turn an x86 app into native code. It wasn't enough to keep NT on Alpha.

      I think everything else got steamrollered by x86.

      MS has the work environment locked up. We all run Windows to AD/Exchange/Office/Sharepoint and other native apps. Maybe some users will get a thin client to a terminal server to run legacy apps with a native web browser locally.

      Most home users will just need a web browser on a phone/tablet/laptop/desktop to access everything. They're finding that Windows doesn't need to be a part of that.

    52. Re:But but but but but.... by Ephemeriis · · Score: 1

      True, but you're still going to be relying on the software developer to actually compile and ship an ARM version. Emulation typically slows things down dramatically, it only really works when your emulator is running on hardware MUCH faster than the hardware you're emulating - which isn't the case here.

      Didn't Apple throw the emulation into hardware? Threw another chip or two on the motherboard for a year or so while everyone transitioned from the old Motorola chips to PowerPC?

      --
      "Work is the curse of the drinking classes." -Oscar Wilde
    53. Re:But but but but but.... by TheRaven64 · · Score: 1

      Actually, that's pretty easy on ARM. The newer instructions designed to be targets for managed languages give some operations for bounds-checked access. An x86 segment is basically a range of memory in the logical address space, accessed via an offset. Each time you set a segment register, you load the segment start address into an ARM register and then use the relative addressing mode with a bounds-checked load to get the segment-relative load. If it is outside the specified bounds, you issue a SegV.

      --
      I am TheRaven on Soylent News
    54. Re:But but but but but.... by Ephemeriis · · Score: 1

      Porting a program that was written in C without consideration for other architectures to a new architecture is hard, really hard. Seriously, I've done it.

      I was under the impression that Microsoft had been maintaining builds of Windows for multiple architectures for a while now, just in case.

      --
      "Work is the curse of the drinking classes." -Oscar Wilde
    55. Re:But but but but but.... by oh_my_080980980 · · Score: 2

      If you are building desktop computer that might be an issue, it's not for mobile devices. That's the whole point. These are mobile devices. Mobile devices do not use the same bloated OS that desktop systems use. The iPhone, iPad and iPod do not use OS X, the use iOS. This is why Windows 7 fails on a tablet PC and why Microsoft has failed to delivery a tablet. You need a specialized version.

    56. Re:But but but but but.... by GigaplexNZ · · Score: 2

      Porting a C++ program from x86 to ARM doesn't require any programming at all - you just select a different target and recompile. Perfect CPU port every time.

      Not true. Memory alignment requirements, endianness, primitive sizes (eg 32bit vs 64bit pointers), inline assembly etc almost always come into play with non-trivial applications.

    57. Re:But but but but but.... by dingen · · Score: 1

      Inside the emulator, dynamic translation can easily get 50-75% of native speed.

      But we're talking about running a full desktop OS + applications on a little ARM-based CPU. Those things are slow to begin with... so only getting 50% to 75% of native speed would be terrible to work with. It would really be like running Windows 7 on a Pentium II.

      --
      Pretty good is actually pretty bad.
    58. Re:But but but but but.... by LizardKing · · Score: 1

      Even though the Z80 is extremely primitive compared to PowerPC and POWER, it still has more instruction opcodes.

    59. Re:But but but but but.... by Stele · · Score: 1

      Another issue comes from endian assumptions. Consider this code:

      int64_t foo; // Set foo to something
      int32_t bar = *(int32_t*)&foo;

      This will correctly give you the low 32 bits of foo in bar on a little-endian platform. On a big-endian platform, it will give you the high 32 bits. Most of the time you wouldn't do something this simple, but you might when reading data from a stream of some kind. It's bad practice, but that doesn't mean it's not done. Fortunately, ARM is little endian too, so this isn't an issue porting from x86 to ARM - it caused a lot of problems porting from x86 to PowerPC and SPARC though, especially in code that dumped binary data to files, read it back, and found it in the wrong byte order.

      And, of course, there are size issues. In C, the different primitive types all have architecture-dependent sizes. Some people make assumptions about them. For example, it's usually safe to assume that long is big enough to store a void*. Unfortunately, it's not true in win64 (although it is in every other platform I've seen), so code that makes this assumption breaks in 64-bit Windows versions (Itanium and x86-64).

      This is just sloppy programming. Let me go out on a limb and say any decent programmer wouldn't do this. Having had to develop for MIPS, Alpha, PowerPC, Intel, and ARM, I learned not to do that a long, long time ago. Like proper memory management, these things are entry-level programming mistakes.

    60. Re:But but but but but.... by petermgreen · · Score: 1

      Microsofts desktop/server toolchains already support x86, x64 and ia64 so presumablly they already have interfaces to allow selection of the build target and since wince already supports arm they should already have an arm complier. So it should be "just" a matter of peicing the bits together and ironing out the bugs.

      --
      note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
    61. Re:But but but but but.... by jimicus · · Score: 1

      "Throw another chip on the motherboard" probably won't work so well when that motherboard is part of an iPad clone. Particularly as the drive to run Windows on ARM isn't coming from the iPad cloners who might be in a position to countenance such a thing, it's coming from Microsoft who - as ever - are late to the party.

    62. Re:But but but but but.... by petermgreen · · Score: 1

      It depends what you mean by "a C++ program". C and the C like bits of C++ are a very leaky abstraction and it's easy to write such code in a way that makes assumptions that work on one CPU but not another.

      OTOH if you stick to high level C++ (STL etc) you would be much less likely to run into such problems unless the underlying implementation is buggy.

      --
      note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
    63. Re:But but but but but.... by Nursie · · Score: 1

      Maybe not that bad - dual core ARM chips are starting to appear with 2GHz speeds possible. Marvell are making them, for instance.

      But yes, you're not going to get anything like current x86 speeds out of them, especially with emulation thrown in.

    64. Re:But but but but but.... by 0123456 · · Score: 4, Insightful

      This is just sloppy programming. Let me go out on a limb and say any decent programmer wouldn't do this.

      And how many Windows programs, particularly those whose original development started a decade or more back, were completely written by 'decent programmers'?

      I've seen all of these problems in code that companies I've worked for had to make portable to 64-bit CPUs and other-endian CPUs.

    65. Re:But but but but but.... by TheRaven64 · · Score: 1

      Little? The currently shipping ARM cores from nVidia and TI are dual-core 1GHz chips, with a greater clock-for-clock throughput than Atom and 1GB+ of package-on-package RAM. They're certainly not speed demons, but they're certainly fast enough to run a typical Windows application. Take a look at your task monitor sometime and see how often your CPU utilisation goes above 20%...

      --
      I am TheRaven on Soylent News
    66. Re:But but but but but.... by TheRaven64 · · Score: 2

      Let me go out on a limb and say any decent programmer wouldn't do this

      I completely agree, but a platform that can only run code written by decent programmers is going to have a very limited market appeal. Especially when you consider that a lot of business apps were written by inexperienced programmers for Win16 and just gradually updated for Win32, so are full of these kind of issues.

      It's not so bad in UNIX code, because people typically tested on SPARC64, which is about as unlike x86 as possible so they caught these issues in the past. No one tested Win16 apps on anything other than i386 and few people tested Win32 apps elsewhere either.

      --
      I am TheRaven on Soylent News
    67. Re:But but but but but.... by gtall · · Score: 0, Redundant

      "But also, Apple customers are used to breathlessly thanking The Steve for making their lives momentarily miserable. As long as they're promised to receive Teh New Shiny, and that all of their problems will be solved in the next iteration, Apple customers will do it. "

      Where do you pick up this sort of bullshit? Is there a bot somewhere that spits it out so you can parrot it without any thought?

    68. Re:But but but but but.... by Stele · · Score: 1

      Guess I got "lucky". I started on 68000 (Amiga), then went to MIPS (SGI) and then 64 bit Dec Alpha in 1993, all before I started working with x86. Got my trial by fire over 20 years ago.

      I guess it never occurred to me that a great many programmers never had any exposure to any of those architectures - and likely most programmers these days don't even know they existed.

    69. Re:But but but but but.... by markov_chain · · Score: 1

      Yes but if 90% of your app vendors program like this that doesn't matter. It sucks but it's your problem, not theirs.

      --
      Tsunami -- You can't bring a good wave down!
    70. Re:But but but but but.... by Tapewolf · · Score: 1

      I'm not sure unaligned load or store works on ARM. Under CE and the Android NDK it causes an exception (and no, the code wasn't supposed to be doing that, it was a bug).

      Something else which I only learned recently (and this may only be a GCC thing) - char on ARM is unsigned by default. This broke some code where I had set a char to -1 and later tried to compare it with an integer (0xff vs 0xffffffff).

    71. Re:But but but but but.... by Anonymous Coward · · Score: 0

      You should look into Bochs. Not exactly speedy, but it works.

    72. Re:But but but but but.... by Tapewolf · · Score: 1

      In particular, a lot of Windows stuff (especially bespoke things) depends on closed-source libraries from defunct companies, companies that don't see a need to port to ARM and so on and so forth.

      If you can get those ported too (assuming they don't also depend on something else, assuming it isn't written in VB6 etc) then you're golden. Otherwise, your application is basically stuck on x86-32. Most people on Win64 won't notice that, but you won't get away with that on ARM.

    73. Re:But but but but but.... by Erich · · Score: 2

      Untrue. A9's are still lower performance per clock than Atom on things like Spec Int (and real-world apps in my experience). And you can't get them at 1.6GHz+. Are you still believing dhrystone numbers are representative?

      --

      -- Erich

      Slashdot reader since 1997

    74. Re:But but but but but.... by Anonymous Coward · · Score: 0

      I'm not sure how applicable that argument was in the past but it has become increasing less valid as users have become more and more "web centric". All most all of our activities are either performed from a web browser or can be performed in a web browser making the OS moot. In fact the best thing that the OS can do is get the fuck out of the way (updates, reboots, defrags, anti-virus/malware/spyware, etc).

    75. Re:But but but but but.... by dingen · · Score: 1

      Plus that running Windows on an Atom is already unbelievably slow. Doesn't sound like a Tablet running Windows will be a lot of fun if the performance will be sort of like that.

      --
      Pretty good is actually pretty bad.
    76. Re:But but but but but.... by Anonymous Coward · · Score: 0

      It will probably be bundled into the existing SDKs. They have supported arm and mips before with NT. They can just add it back in.

      If it is like it was before you will end up with 3 exes for everything (x86/x64/ARM).

    77. Re:But but but but but.... by raddan · · Score: 0

      My first Mac was an SE/30. I'm typing this on a MacBook Pro (and my original Apple Extended keyboard for said SE/30). I supported a large Xserve/Xsan/StorNext cluster for years. I even wrote a bootloader for the iPod mini.

      If you don't have a love/hate relationship with Apple, you're not paying attention.

    78. Re:But but but but but.... by raddan · · Score: 1

      That may certainly be the case for the 2000-present, but what about before then? I remember using Microsoft Word on monochrome Macs. Interestly enough, I think Word 5.1a was probably the best piece of Mac software they're ever written.

    79. Re:But but but but but.... by TheRaven64 · · Score: 1

      That's a GCC thing. The C spec allows char to be signed or unsigned; it just has to be able to store ASCII characters. You should always explicitly state signed or unsigned if you need to do arithmetic outside the 7-bit range on chars; even different compilers on the same OS / architecture will sometimes have different defaults.

      --
      I am TheRaven on Soylent News
    80. Re:But but but but but.... by Anonymous Coward · · Score: 0

      For .NET projects, sure. AnyCPU would theoretically cover that, but as MS moves to officially support different architectures that should change. The binary file format, being PE/COFF, already supports other platforms, the compiler just doesn't set the flag to any other values.

      For Visual C++ 2010 projects you have x86, x86-64, IA64, ARM, SH4, MIPS, MIPS16, MIPSFPU, MIPS16FPU, EBC, and THUMB.

    81. Re:But but but but but.... by bmajik · · Score: 4, Informative

      Visual studio is a mixed mode app. The basic shell and environment is native code. But there are many managed components that are loaded into it. Previous to VS2010, the code editing experience was native, but I beleive it is now WPF based and as such is also managed.

      A tool for developers as you might expect is highly componentized and extensible, and plugins can be written in either native or managed code.

      VS has had cross compiling features for at least 10 years, and that's the number i picked because that's how long i've looked at it. VC 6.0 had th Windows CE toolkit, used for authoring windows CE apps for all the procs that CE supported. Modern VS installs ask you if you want to install the Itanium cross-compilation tools. When you install the Windows phone 7 SDK you get a different cross compiler and binary emulation environment.

      Cross compiling, multi-targeting, etc is nothing new for MS. They've been supporting more architectures in more products than Apple, Google, or anyone else for years.

      --
      My opinions are my own, and do not necessarily represent those of my employer.
    82. Re:But but but but but.... by JonySuede · · Score: 1

      I would says 1998-present before that Windows and Office were not dominant enough to enable Microsoft ignore the competition to leverage their market share.

      --
      Jehovah be praised, Oracle was not selected
    83. Re:But but but but but.... by bmajik · · Score: 1

      It's worth pointing out that Xbox 360 is a completely different CPU and GPU architecture than the original XBOX, and MS developed and acquired the people and technology required to make that 100% software emulation kick ass.

      And unlike PS1, PS2, and PS3 back compat, X360 compatability is pretty damn good, and hasn't been dropped from any version of the 360. And again, it's 100% software. (PS back compat was always done with onboard hardware, which is why Sony always cuts it to save on manufacturing costs mid-cycle)

      The original xbox was roughly a celeron 733. The x360 is a 6-core PowerPC derivative. The XGPU was Nvidia, somewhere around a GF3 (iirc); the X360 unit is a proprietary design with, iirc, help from ATI. Yet somehow games, which are highly perf sensitive, seem to emulate quite nicely.

      --
      My opinions are my own, and do not necessarily represent those of my employer.
    84. Re:But but but but but.... by CAIMLAS · · Score: 1

      You're going to have incompatibility issues .NET has been for a long time now (almost 9 years). Provide binary libraries/interpreters for .NET 1.1 through 4, and you've already killed half your problem.

      Provide compilers for all versions of .NET Studio, and you've taken care of almost all of the 3rd party vendors.

      Windows 8 is, what? Probably at least 2 years out before we see a beta, I'd Guess. That's a long time for them to provide vendors with the information, particularly if it "Just Works" with old .NET upon release. Microsoft has probably been (internally) building their software for ARM and PPC internally for ages (assists finding bugs).

      I know a handful of people who messaged me when this news came out, so excited they almost shit themselves. These were the diehard WinCE users and/or Microsoft types who are (justifiably) displeased with WinPhone 7, the Kin, and so on. They want a "real Windows based phone that lets them do what they want". I have to admit myself that a "full" version (ie no encumberment beyond what Windows causes on the desktop) of Windows on a smartphone would be quite appealing to me as well - moreso than the current lot of Android phones, to be sure.

      Combine all these things, and ARM starts looking appealing to Microsoft. They'd be putting a technical superior architecture behind their product - an architecture which has recently become mature enough to hit pretty much every consumer device on the market. Rumor has it that MS is working with Nvidia on this, too. End result: desktops, thinclients, next-generation Xboxes, smartphones, etc. all running the same build version of Windows, on the same hardware to a significantly lower per-item cost to the user.

      Not only that, but by jumping architectures, Microsoft gets to abandon their legacy crap. No, Photoshop won't be moving anytime soon (that can keep running on the x86/x64 release of Windows 8, I suspect). But that will hardly matter, as MS has realized that most "users" (let's call them consumers, because that's what they are) only really care about one or two 'fun' apps and being able to Facebook.

      Newer "Windows 8 Certified" stuff would probably use a package similar to what OSX did in the earlier days to provide multiple architecture support, I'd imagine (if they went that route). No big deal. They've been talking about supporting a unified package manager and repository for Windows software for some time, anyway.

      As I, and others, have been saying for a number of years, it's not surprising that MS would go this route. It's not all that drastic, either (when you consider how big MS is, the turnaround hardly seems all that significant). Conditional compilation is hardly new, after all. Literally: everyone else is leveraging it at multiple levels (Sun/Oracle, Linux, *BSD, Apple, IBM).

      --
      ~/ssh slashdot.org ssh: connect to host slashdot.org port 22: too many beers
    85. Re:But but but but but.... by Sepodati · · Score: 1

      ...won't MS have a bit of a public education battle? Will the general public get confused by windows apps that are for one hardware variant and not another?

      I wouldn't be surprised if they just adopt the app store model for Windows ARM devices.

    86. Re:But but but but but.... by CAIMLAS · · Score: 1

      Additionally: there is no reason for MS to maintain legacy support anymore.

      XP is several years out of maintenance, now. Windows 2000, even further out. Any application which specifically requires one or the other, and has no modern versions, will run in a VM just fine.

      If it requires specific hardware, you might just well be fucked. But hoisting "this must be supported!" on MS is unreasonable: you can't expect Microsoft (or anyone) to support legacy applications AND hardware for the better part of a decade after the devices were sold. That's beyond unreasonable; it'd be like Ford supporting your after-market disc changer in an '89 model.

      --
      ~/ssh slashdot.org ssh: connect to host slashdot.org port 22: too many beers
    87. Re:But but but but but.... by Barefoot+Monkey · · Score: 1

      Porting a C++ program from x86 to ARM doesn't require any programming at all - you just select a different target and recompile. Perfect CPU port every time.

      Not true. Memory alignment requirements, endianness, primitive sizes (eg 32bit vs 64bit pointers), inline assembly etc almost always come into play with non-trivial applications.

      Not in this case. Memory alignment, endianness, and primitive sizes match (we are talking specifically about x86 and ARM - please let me know if I don't have my facts straight). Assembly code is not C++ code - of course you'll have to port it! Embedding it in C++ file using non-standard language extensions doesn't change that fact.

      Porting is often very hard work, but C++ does code does not change just because of going from one 32-bit word-aligned low-endian target to another. When it needs to be changed in order to port the program it is because of other reasons.

    88. Re:But but but but but.... by CAIMLAS · · Score: 1

      Microsoft customers are different. Microsoft's main selling point for the last decade, whether it was true or not, was lower TCO.

      I'm sure that's part of it, but I think you're missing a big part of the actual "people who use MS and like it" demographic are the geeks who aren't all bent out of shape by paying for something, but still like flexibility (options) and usability. I know a couple of these guys are looking forward to "real Windows on ARM".

      I think the main point is that Apple's important customers are largely home end-users. Microsoft's important customers are businesses. Businesses tend to be a bit more conservative.

      A couple points about how ARM Windows would actually be beneficial to both home and business customers:

      * home users, by and large, won't care. "Facebook? Where do I sign?"
      * business users (IT managers and the like) won't care (and maybe even appreciate it), because:
        * most applications can be virtualized now
        * Terminal Services + virtualization = architecture independence, anyway. (I work on Windows machines running on Linux based VMs from a PPC machine... all day.)
        * cheap thinclients running a 'full' Windows? The same for laptops? Where do we sign?

      Server architecture is so drastically different (in terms of power) from the 'laptop' or 'desktop' architecture these days it's hardly going to make a difference in the corporate world. You've got a huge difference in common capabilities: 8 or 16 core Xeons on your servers vs. 1 or maybe 2 cores in last-generation laptops and PCs.

      --
      ~/ssh slashdot.org ssh: connect to host slashdot.org port 22: too many beers
    89. Re:But but but but but.... by peragrin · · Score: 1

      Yea 10 years, and 3 versions ago Windows Ran on various platforms, but only occasionally and then it only ported certian things, MS Office has never been ported to Windows on PPC, only Mac OS on PPC. Heck MSFT in 8 years hasn't even made a pen tablet friendly version of MS Office.

      That is why people are surprised. it is something MSFT hasn't done, and has made damn hard for anyone else to think about it.

      Compared to Any linux app you want on any platform is achievable, if not already done. Or compare it to OS X, which not only ran on 4 different arch's at once, did so with fat binaries that the same download would work across all four. Compare the fact the Mac's have gone through not one but 5 or 6 complete processor arch difference's over the years with relatively smooth transitions, and backward compatibility. (it takes a bit of work but you can run OS 9 on an intel mac with 10.6 at decent speeds).

      --
      i thought once I was found, but it was only a dream.
    90. Re:But but but but but.... by Barefoot+Monkey · · Score: 1

      You have roughly six million programmers who've had to write portable C++ rolling on the floor laughing right now. Merely getting their software to work on 64-bit CPUs as well as 32-bit has been hugely painful for a number of projects I'm aware of which have done stupid things that only worked on a 32-bit CPU and broke as soon as you recompiled the code for 64-bit.

      I'm glad to have provided entertainment for so many. And I've seen things like (*((short*)&pointer)) way too often - it dies the death it deserves when you recompile for AMD64. And yet... it will probably work if you recompile for ARM.

    91. Re:But but but but but.... by Anonymous Coward · · Score: 0

      Since when ANY CPU is x86 and x64? Geezz your definition of ANY is pretty much limited.

    92. Re:But but but but but.... by scamper_22 · · Score: 1

      My guess is Microsoft is not going to release Windows for ARM as a general purpose OS like windows.

      Instead, they would have the version available for OEMs to build systems.
      My guess is they treat distribution more like a mobile OS than what we are accustomed to with Windows.
      That is to say, you don't install programs via downloads or DVDs. Instead you install apps via an app-store. This avoids people saying 'Why won't my Word 2007' work on this windows.

      As far as netbooks/tablets go, it makes perfect sense.

      Of course, they just might include some kind of compatibility/virtualization... but who knows...

    93. Re:But but but but but.... by 0123456 · · Score: 1

      As far as netbooks/tablets go, it makes perfect sense.

      How many people will be running Word and Powerpoint on an ARM netbook or tablet? I guess you could use Powerpoint to display a presentation from a tablet, but I can't imagine developing one on there.

    94. Re:But but but but but.... by jgrahn · · Score: 1

      Porting a C++ program from x86 to ARM doesn't require any programming at all - you just select a different target and recompile. Perfect CPU port every time.

      Not true. Memory alignment requirements, endianness, primitive sizes (eg 32bit vs 64bit pointers), inline assembly etc almost always come into play with non-trivial applications.

      Some subcultures already know to stay away from the worst non-portable constructs. I bet free software for Unix systems is unlikely to have these problems even if the original author used Sparc (or x86, or whatever) exclusively. Google "vaxocentricity".

      Note that I said the *worst* non-portable constructs. Personally I assume an int is at least 32 bits -- OK in most cases, because I don't target 8- or 16-bit systems.

    95. Re:But but but but but.... by jgrahn · · Score: 1

      "What about the huge catalogue of win32 applications?"

      They'll probably create an x86-to-ARM JIT-compiler.

      Or they'll not do it, and build a walled garden platform with an AppStore etc. Closed systems are popular again these days ...

    96. Re:But but but but but.... by Anonymous Coward · · Score: 0

      They've been supporting more architectures in more products than Apple, Google, or anyone else for years.

      lol

    97. Re:But but but but but.... by TD-Linux · · Score: 1

      Maybe you completely failed to read the parent post... but the desktop OS and most applications would be native, not emulated. So you're only getting 50% to 75% in certain applications, but everything else runs native. Granted, Cortex A9's are slow, but certainly not terrible, and unfortunately have had a rather poor showing to most consumers in the incredibly inefficient Android. Because Windows 7 and 8 have hardware accelerated graphics APIs, any applications using them (including all the builtin ones) will probably feel just as snappy as my Core 2 Duo. Obviously, comptationally intensive apps will be slower, but most of those will probably appear recompiled quickly - ARM is especially easy because it can run it little endian mode, in comparision to x86 and PowerPC compatability.

      Also, ARM recently announced their Cortex-A15 core, which will probably be making its way into SoC's pretty soon...

    98. Re:But but but but but.... by Zo0ok · · Score: 1

      Writing a portable C/C++ program from scratch, and maintain it on different architectures: not so hard.
      Porting an old C/C++ program already written with just one architecture in mind: seriously hard.

      Just get it right from the beginning and you are fine.

    99. Re:But but but but but.... by BitZtream · · Score: 1

      You can already compile for ARM in VisualStudio, as well as a few other architectures that WinMobile and WinCE run on.

      VisualStudio can easily have any of its build components swapped out for another binary, making cross compiling with full IDE integration a snap, its already done.

      --
      Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
    100. Re:But but but but but.... by GigaplexNZ · · Score: 1

      When I was programming on Windows CE for ARM, it used big endian whereas x86 is little endian (I wasn't aware until now that ARM supposedly is bi-endian). As for memory alignment, I've found that misaligned code on x86 runs (albeit with a performance penalty) but on ARM an exception is thrown - nuances like this will prevent simple recompiles from working. I'm not sure about primitive sizes, I've encountered issues where recompiling from x86 to x64 broke due to primitive size differences.

      As for your comment that inline assembly code is not C++ code - yes you are correct. But I've seen zero non-trivial C++ applications that are pure C++ (whether it's using inline assembly or something else entirely).

      I believe most open source applications should recompile fairly easily, whereas applications like AutoCAD or Photoshop or virtually any game are likely to run into issues.

    101. Re:But but but but but.... by BitZtream · · Score: 1

      Or they could do the same thing they did with the Alpha builds of WindowsNT the last time they supported multiple CPUs (FX32 I think) and the same thing Apple did when moving to x86 (Rosetta).

      You just include a JIT recompiler and a library to bridge the gaps.

      --
      Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
    102. Re:But but but but but.... by RightSaidFred99 · · Score: 1

      Trolling? You don't think the bulk majority of commercial, everyday software people use only running on Windows isn't a point against Linux? Sure, for advanced users (and even some "enthusiastic beginners") this doesn't matter, but it does for everyone else.

      The huge catalog of win32 applications will be less of an issue if the top 5% that people would actually run on a low powered laptop or tablet are ported and compiled for Windows/ARM.

    103. Re:But but but but but.... by BitZtream · · Score: 1

      Eclipse is except Eclipse is truly cross platform while .Net apps are truly cross platform only on Windows flavors.

      You do realize there are multiple .NET runtimes for non-Microsoft OSes, 2 of which are 100% free software that are fully capable of running pure .NET applications on OSes such as Mac OS, Linux, *BSD ... right?

      Of course, what you really mean is that Eclipse is a pure java application that doesn't use NMI where as most .NET apps use P/Invoke (which is the .NET version of the NMI interface for the sake of this post) to do things the authors haven't bothered to figure out how to do in .NET yet.

      --
      Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
    104. Re:But but but but but.... by BitZtream · · Score: 1

      Apple got away with it because they weren't emulating.

      Rosetta is not an emulator, its a caching JIT re-compiler that reads binaries for PPC and translates them into x86 code for actual execution.

      Its only slow the first run, after that its running native code the entire time. If your recompiler is designed properly, you can get pretty fast code as long as the processors support the same major functions. You certainly aren't going to see things like on processor AES encryption translating particularly well unless the target chip also has an equivalent high level function like that, but for the most part, most code doesn't do anything special so translating between processors isn't REALLY that hard, especially not for someone like MS with the resources they have at their disposal.

      --
      Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
    105. Re:But but but but but.... by marcosdumay · · Score: 1

      Most apps aren't CPU bound. But you are talking about an application, running in a compatibility layer done by Microsoft, on top of Windows 8 on a slower CPU. I doubt MS will be able to optimize the compatibility layer and Windows enough for it not to make a difference.

    106. Re:But but but but but.... by RightSaidFred99 · · Score: 1

      You can always rock out with your socks out like it's 1994 and use gvim and make on Windows and the VC++ compiler.

    107. Re:But but but but but.... by fwarren · · Score: 1

      They can probably be re-compiled into fat / "universal" binaries to run on both platforms.

      Mac OS X was able to have binaries that run under both PowerPC and x86, and now that support both 32- and 64-bit binaries. I'm sure that MS has enough smart people to do the same thing.

      That is great for any software that you want to run that was written after 2012 as a fat binary. But what if you don't want to spend $79.00 more for Quicken 2013? Why can't you run Quicken 2012? Oh that is right, it is not ARM compatible. Unless they have a wicked fast emulator or can recompile existing win32 binaries, you can kiss 30 years of compatibility good bye.

      If they're smart they'll release a compiler at least a year or two ahead of time that does the cross-compiling so people will be able to release apps ahead of time.

      Well with the time for Windows 8 being 18 to 24 months out, I would say it is already to late AND Microsoft is not smart.

      --
      vi + /etc over regedit any day of the week.
    108. Re:But but but but but.... by Anonymous Coward · · Score: 0

      Microsoft..... educating the public...... about different architectures .......

      On what planet and in what reality do you live in? How did you get that post through the ethereal vortex?

    109. Re:But but but but but.... by Anonymous Coward · · Score: 0

      Alpha has an x86 to Alpha JIT compiler that would eventually turn an x86 app into native code. It wasn't enough to keep NT on Alpha.
      I think everything else got steamrollered by x86.

      DEC, as well as the other suppliers of architectures other than x86 got buttraped by microsoft on multiarchitecture NT. Slow updates, miserable application availability (generally server only, killing any chance for desktop volumes and therefore price competitiveness)... and FX!32, the emulator/translator package, came from DEC, not Microsoft. It actually worked fairly well for non-performance-demanding applications.

      Alpha workstations of the day blew the doors off anything by intel, but although you could get NT Workstation on one, too may apps (especially from Microsoft itself) were NOT provided, which made it a very hard sell.

      With a history like that I'm not going to trust MS to properly, and consistently support another architecture without a lot of proof.

    110. Re:But but but but but.... by Requia · · Score: 1

      Except that the emulation doesn't work on a fair number of xbox games (about one in four in my experience, but my sample size wasn't very big). This is a huuuuge problem from a customer perspective.

      I was in tech support when Vista rolled out, 99.9% app compatibility doesn't matter to the user if that one app they they absolutely must have OR THEY WILL DIE (which is whatever app isn't working) doesn't work.

      Best solution would be to market the ARM version of the OS as a a more powerful tablet appropriate variation of Windows Mobile.

      --
      By all means mod me troll. I'm always happy to see my enemies are afraid to debate me.
    111. Re:But but but but but.... by h4rr4r · · Score: 1

      I don't mind paying for something, but flexibility is not the ability to select from multiple check boxes, usability is not having to diff a gui by hand.

      I have a 6 core desktop, looking forward to 12, Xeons are not that impressive over decent home CPUs.

    112. Re:But but but but but.... by DarwinSurvivor · · Score: 1

      Well, Microsoft and Apple may need specialized versions, but linux arm systems pretty much just swap out the window manager and call it a day. Remember all those ARM based netbooks? Yeah, M$ killed those off for the simple reason that they couldn't get their bloated OS to run on the things. Linux ran PERFECTLY fine on them, even running openoffice, firefox, gimp, etc.

    113. Re:But but but but but.... by DarwinSurvivor · · Score: 0

      Not only that, but by jumping architectures, Microsoft gets to abandon their legacy crap.

      You mean like they did when they moved to 64 bit, or to 32 bit? PLEASE, Microsoft would be absolutely worthless if they dumped their legacy crap. Comapnies that write windows software will expect to just have to do a recompile and maybe link to some new libraries, asking them to rewrite all of the legacy code (which M$ has let me delay doing for 15+ years) would fail miserably as no company used to the current api backwards-compatibility is going to go through that much work for an OS version they don't even think is going to succeed. Windows application developers are notoriously lazy and would just as well wait until it DOES get popular before porting (rewriting) their applications. This of course invokes the chicken-vs-egg problem. Why do you think Android uses a java derivative? It's because they knew developers wouldn't go to a new architecture. The only reason Apple got away with it is because they used a semi-wellknown platform and got their product VERY popular before even accepting 3rd party applications.

    114. Re:But but but but but.... by h4rr4r · · Score: 1

      Yeah, because uptime of more than a couple days leads to overheating and death. Easy to be stable for longer than it takes an xbox360 to red ring.

    115. Re:But but but but but.... by m50d · · Score: 1

      They may well have. But the writers of all the zillions of random win32 applications haven't.

      --
      I am trolling
    116. Re:But but but but but.... by shutdown+-p+now · · Score: 1

      Visual C++ can already cross-compile for ARM - that's precisely how you write applications for WinCE.

    117. Re:But but but but but.... by shutdown+-p+now · · Score: 1

      Does ARM actually allow unaligned access? The problem with x86 is that, while there are certain alignment requirements for data, they aren't hard - you can still pack your fields such that they're misaligned, take a pointer, and read/write through it. It'll just be slow as hell, but x86 CPU won't bark at you for doing that. If I remember correctly, ARM will.

      VC++ actually has an __unaligned declarator for pointers because Itanium doesn't support unaligned access, and so the compiler needs to know if a pointer can possibly be that so it can generate inefficient but always-working code (basically read/write byte-by-byte), and you're supposed to be using it on all platforms for portability. But as most Windows software is only tested on x86 and lately also on amd64, not many people actually know about it.

    118. Re:But but but but but.... by shutdown+-p+now · · Score: 1

      Visual studio is a mixed mode app. The basic shell and environment is native code. But there are many managed components that are loaded into it. Previous to VS2010, the code editing experience was native, but I beleive it is now WPF based and as such is also managed.

      To update on that - in VS2010, basic shell is also partially managed. In particular, the main window is a WPF window, and all menus and toolbars are also done in WPF. So are frames / window decorations and toolbars for all nested tool windows. The new text editor is entirely managed. For tool windows, it varies widely, options being pure native, managed/WinForms or managed/WPF.

    119. Re:But but but but but.... by drinkypoo · · Score: 1

      I've only had mine up for four days but no overheating and death. Of course that's possibly because I opened it and cleaned it (warranty already void) which unsurprisingly made it much quieter, too. I have to clean my PC pretty frequently as well... it's a reality of today's high-airflow machines.

      I do think the Xbox 360 is a design pushed too hard, but I don't think it's as bad as it's made out to be.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    120. Re:But but but but but.... by uhmmmm · · Score: 1

      Fortunately, ARM is little endian too

      ARM can be configured to run as either little or big endian. Instructions are always stored in memory in little endian, but not necessarily so for data. Little endian is more common, but the ARM processor in the Wii, for example, is big endian.

    121. Re:But but but but but.... by BZ · · Score: 1

      ARM and x86 in fact have different alignment requirements; things that merely cause a performance degradation due to misalignment on x86 will cause a program termination on ARM.

      ARM endianness is .... variable. For most ARM chips you can in fact select at boot-time whiche endianness it should use. Some of the ARM-based handsets out there are little-endian some are big-endian; some (well, a rare few) actually expose that processor-level option and let you choose at boot.

      Primitive sizes for ARM and 32-bit x86 more or less match, yes.

    122. Re:But but but but but.... by the_womble · · Score: 1

      The ARM version (just possibly the x86 version as well) may only allow software to be installed from an app store. End of problem.

    123. Re:But but but but but.... by Barefoot+Monkey · · Score: 1

      That's right. On ARM all memory access must be word-aligned (where "word" is 32-bits). Accessing misaligned words will require some extra instructions (~5 instructions instead of 1), where the x86 would be the same instructions but slower. The compiler would generally know when the instructions are needed and generate them only when needed. If you take a pointer and coerce it to be misaligned then pass that to a function which dereferences it you can catch the compiler by surprise and most likely create a runtime exception. This is a counterexample to what I originally claimed, so I concede.

    124. Re:But but but but but.... by cyclomedia · · Score: 1

      On the other hand they've just given the world 2 years notice to get porting, and they've already spent a decade of pushing the CPU-independent .Net development system on developers so fat binaries will not be needed.

      MS's bane (yet arguably a strength) has always been maintaining backwards compatibility right back to ancient DOS apps. They've already made steps to break that with Vista and Win 7 so businesses are already moving towards new builds. At least, that's what MS wants to happen, we all know that tons of businesses are still clinging onto their ancient apps and windows XP...

      --
      If you don't risk failure you don't risk success.
    125. Re:But but but but but.... by Anonymous Coward · · Score: 0

      You zealots shouldn't be the ones to complain. If magically slashdot was to trumpet from the rooftops every single linux bug (as is done for windows) *nobody would even be using desktop linux in the first place.

      *For a definition of nobody which includes the margin of error while measuring desktop OS marketshare.

    126. Re:But but but but but.... by DaVince21 · · Score: 1

      Dumbing it down doesn't affect the fact that you will still have configuration files to mess with. It just means that you would ALSO have the method of editing the configuration files through some graphical interface.

      --
      I am not devoid of humor.
    127. Re:But but but but but.... by Nursie · · Score: 1

      Not always, see the early versions of "NetworkManager" for that, it was so automatic you couldn't do anything advanced with it at first.

    128. Re:But but but but but.... by XDirtypunkX · · Score: 1

      The main processor in the Wii is a PowerPC processor, not an ARM though.

    129. Re:But but but but but.... by DaVince21 · · Score: 1

      If software is still in heavy development, that's acceptable. It's good now, isn't it?

      --
      I am not devoid of humor.
    130. Re:But but but but but.... by Nursie · · Score: 1

      It is, it's great now, but at first there seemed to be no way to remove a network... it just felt windowsy in a "here, let me take care of that and don't worry your pretty little head about it" sort of way.

      Yes, it is a very useful piece of software these days.

  6. Only 5 years later than it should have been ! by johnhennessy · · Score: 2

    Wikipedia tells me that .NET (and therefore managed code) is nearly 10 years old (13 February 2002)

    I'm pretty sure that someone in Redmond was thinking about supporting multiple platforms when they started architecting their software compiler strategy back then. It just took their management structure 5 years to wake up to the idea.

    Now people have to go in and remove all of that crud which is blocking porting their SW to a different architecture ...

    DLL Hell was yesterday, tomorrow is P/Invoke hell.

    --
    [ Monday is a terrible way to spend one seventh of your life. ]
    1. Re:Only 5 years later than it should have been ! by cnettel · · Score: 2

      Proper P/Invoke declarations will work just fine carrying over to ARM. "Proper" ones being approximately those that work across x86 and x64.

    2. Re:Only 5 years later than it should have been ! by rossdee · · Score: 1

      I use a AMD CPU and it says that (13 February 2002) to (6 January 2011) is nearly 9 years.

    3. Re:Only 5 years later than it should have been ! by Anonymous Coward · · Score: 0

      Debatable, but P/Invoke is still DLL Hell with a different name.

  7. not surprised by llung · · Score: 2

    Not all that surprising. Back in the day, NT ran on MIPS and Alpha and you could compile native code for both from respective versions of Visual C. That was a long time ago but all the code infrastructure to support different CPU architectures are still there. 3rd party code is a different story.

    1. Re:not surprised by blind+biker · · Score: 1

      Same goes for Windows 2000. I have (had) a Beta of Windows 2000 for Alpha.

      Also, there was a version of Windows NT (up to 4.0) that ran on PowerPC!

      --
      "The agriculture ministry is not in charge of Gundam" - Japanese ministry official.
    2. Re:not surprised by Anonymous Coward · · Score: 0

      MIPS, Alpha, and PowerPC (as well as x86).

    3. Re:not surprised by Major+Blud · · Score: 1

      I happen to have an old Enorex box that uses an Alpha CPU. It was running Windows NT 4.0 on it when I got it (although it has since been switched over to Linux). The only way to get x86 Windows code running on this box was to use FX!32 from DEC, which was an emulation layer. You took a huge performance hit when trying to do this, and not all software worked correctly. Granted, things have come a LONG way since then, but I'm not sure that emulation/virtualization is the way that we'd want to go.

      --
      If you post as Anonymous Coward, don't expect a reply.
  8. I smell Vapourware... by advocate_one · · Score: 5, Interesting
    Microsoft are pre-announcing something to try to stop customers and OEMs from moving over to ARM based kit now... they've got a long history of pre-announcing stuff that will be available soon... They did it with DOS 5 to stop people from jumping to DR-DOS 5 which had lots of features DOS 4 didn't have

    on 2nd May 1990 MS-DOS product manager Mark Chestnut said: "On the PR side, we have begun an 'aggressive leak' campaign for MS-DOS 5.0. The goal is to build an anticipation for MS-DOS 5.0 and diffuse potential excitement/momentum from the DR DOS 5.0 announcement. At this point, we are telling the press that a major new release from Microsoft is coming this year which will provide significant memory relief and other important features."

    --
    Donald 'Duck' Dunn: We had a band powerful enough to turn goat piss into gasoline.
    1. Re:I smell Vapourware... by Anonymous Coward · · Score: 0

      I've also considered just how much hardware one needs to merely install the latest version of Windows. I mean, sure, there's watered-down version for lesser systems, but the big announcement implied to me that they were peddling "real" Windows. Does that mean I didn't actually need to upgrade to a four-core system after all?

    2. Re:I smell Vapourware... by MarkVVV · · Score: 1

      Yeah, right, vapourware:

      http://www.youtube.com/watch?v=xKc_XGuvNIk

      Now go back to your cave, troll.

    3. Re:I smell Vapourware... by Anonymous Coward · · Score: 1

      This is exactly right. Ugh! This is a keynote address to fellow CEOs, not techies. So the idea is, wait! Don't buy anything on ARM now, otherwise, you'll miss out on Windows on ARM!

      This is purely an attempt to do the minimal necessary to get people to stop working on Android/Chrome apps, etc. and stick with Windows. If they do end up porting it, they will have done the least amount of reconfiguring possible, the performance will be terrible, the bugs huge, but their lock on the platform will prevent anyone from buying anything else. They will also start bullying ARM vendors around by saying that if they support Google they will not get to use Windows technology and go out of business. Works every time!

    4. Re:I smell Vapourware... by Stevecrox · · Score: 1

      I'm running Windows 7 HP and Pro on two Intel Atoms a N230 and a N330. Current Arm processors are pretty close to those in performance. Both machines have 1GB of ram

      Windows feels snappy and responsive, the idea of a windows 7 tablet running on Arm actually appeals to me because my tablet could be hooked into my home networks Homegroup. The idea of having something like a Samsung Galaxy tab which would just integrate with my other PC's might be usefull.

    5. Re:I smell Vapourware... by blarkon · · Score: 1

      They show Win 8 running on ARM in stage, but the guy on Slashdot who cries Vaporware gets a +5 Mod. It's like the Open Source version of Fox News here sometimes.

  9. Here's where .Net is a Big Win for MS by wiredog · · Score: 2

    Properly written .Net apps should run unchanged (needing, at most, a recompile) on Arm. I've written apps (in the .Net 2 days) that ran on XP and CE.Net devices with just a recompile.

    1. Re:Here's where .Net is a Big Win for MS by dingen · · Score: 4, Funny

      Just a recompile should take Adobe about a year though.

      --
      Pretty good is actually pretty bad.
    2. Re:Here's where .Net is a Big Win for MS by ImpetuousWombat · · Score: 1

      While the .Net runtimes haven't been ported as much as they could be, .Net is inherently multi-platform. I've had one complex .Net 2 application that worked on CE, Windows x86/64, and Mono. No rebuild was required, as .Net is compiled at runtime, much like Java. The only time code changes are necessary for different architectures is when libraries or features are different between implementations of the framework.

  10. Big deal? Remember Windows CE by mschaffer · · Score: 1

    I don't see what the big deal is. Has anyone heard of Windows CE or Windows Embedded? These versions of Windows ran on non-Intel platforms, including ARM.
    I know people like to bash Microsoft, but did everyone forget what Windows Mobile and Windows Phone are? They are just mobile (i.e. stripped down) versions of Windows XP. Just like these versions, I doubt that we will see any virtualization that will let you run x86 software on it. Everything will need to be recompiled, just like Windows CE.

    1. Re:Big deal? Remember Windows CE by SuiteSisterMary · · Score: 1

      Big deal. Remember the NT 3.5 family, running on PowerPC, Alpha, x86, MIPS, and supposedly in the lab, SPARC?

      --
      Vintage computer games and RPG books available. Email me if you're interested.
    2. Re:Big deal? Remember Windows CE by 0123456 · · Score: 1

      Remember the NT 3.5 family, running on PowerPC, Alpha, x86, MIPS, and supposedly in the lab, SPARC?

      We had most of those where I used to work. Of course there were hardly any actual _applications_ for any of those other than x86, so all you got to do was play with the operating system and run any applications you wrote yourself.

    3. Re:Big deal? Remember Windows CE by JonySuede · · Score: 1

      but did everyone forget what Windows Mobile and Windows Phone are? They are just mobile (i.e. stripped down) versions of Windows XP

      no you are totally wrong, the phone os are based on the CE kernel which is totally different from the NT kernel.

      --
      Jehovah be praised, Oracle was not selected
    4. Re:Big deal? Remember Windows CE by mschaffer · · Score: 1

      Yes, you are correct about the kernels. However, Windows CE is still "Windows" and it ran on ARM. Also, some .NET applications for the CE platform can run on Windows 7/Vista/etc. (and vice versa) as is (i.e. without recompiling)---further blurring the Windows on ARM distinction.

    5. Re:Big deal? Remember Windows CE by GigaplexNZ · · Score: 1

      They are just mobile (i.e. stripped down) versions of Windows XP.

      No they aren't. They use a completely different code base and really only share the name.

    6. Re:Big deal? Remember Windows CE by the+linux+geek · · Score: 1

      Windows Mobile and Windows Phone have no relation to Windows XP. They are based on CE, which is a totally seperate development from NT.

    7. Re:Big deal? Remember Windows CE by SuiteSisterMary · · Score: 1

      Hence why they stopped being made/developed. Microsoft follows the market.

      --
      Vintage computer games and RPG books available. Email me if you're interested.
  11. As long as it's 5Ghz and has 8GB RAM & 80GB dr by gelfling · · Score: 1

    And needs water cooling. I mean this is Windows, no? Plus, do you really think that weekly 300MB patches are going to cruise along on your cell phone network?

  12. Windows on ARM by ledow · · Score: 5, Interesting

    Windows on ARM? That doesn't matter.

    Office on ARM is a million times more important - for a start, that suggests you can open your documents on another new platform without having to worry about export filters and binary compatibility. But hey, I'm afraid OpenOffice and suchlike beat you to it.

    The problem with Windows on ARM is that no currently existing Windows program will run on it. It's a new architecture without binary compatibility, like Windows CE was. Sure you can port things over but you can do that anyway and few have bothered. Things like the NET framework are "supposed" to be cross-platform but you can be assured than anything vital that you have to use and that you have no control over development of (e.g. business apps) requires an x86 binary at some point, or isn't supported on ARM. So even your programs that are written in NET need to be ported (which usually means it'll never happen).

    Telling people that Windows now runs on ARM is misleading - they will think that everything from Half-Life 2 to Sage should work on it without touching anything. What you mean is that there is now an official OS for ARM that looks and works a bit like Windows. Like Windows CE was. But then, what ARM? There are hundreds of ARM variations and not all of them can be catered to, so you're back to it only working on select platforms that have been especially designed for it - like, erm, Windows CE was. Can I join a domain and run my existing business apps? No? Then it's actually just the Windows *GUI* that's consistent across platforms, not the OS.

    Even if the next-gen of Windows 8 can be almost identical on PC or other devices, you're then into the problem that it's not the OS that matters (and that pretty much *does* have to be changed for every hardware variation) but the applications. And "Windows on ARM" will make people think they can install Steam on it and just run everything. That's not the case and never will be.

    Windows on ARM is a response to Android, to try to pretend to be as cross-platform. Same as OpenXML was a response to ODF, to try to pretend to be platform-independent. In reality, the headline will grab eyes and then the reality will disappoint. But in the meantime, you've sold a "portable Windows" license to some mobile-carrier who has to repeatedly explain that "desktop Windows" isn't the same as "mobile Windows".

    It's just Windows CE. Remember trying to explain to people that Pocket Word wasn't the same as desktop Word? Same thing over again.

    1. Re:Windows on ARM by yapplejax · · Score: 3, Insightful

      No existing Windows app will run on it? Office, as demonstrated at CES, isn't a Windows application?

    2. Re:Windows on ARM by ledow · · Score: 1, Interesting

      Is that the same Office as I get on my desktop installation CD? No? So it's a Microsoft-only product that's been ported by Microsoft to a Microsoft architecture? Windows "runs" on Alpha too. Office "runs" on Mac by that definition. What you're actually doing is BUYING another version of Office written specifically for that particular "Windows" port by the authors of the software who also happen to be the authors of the OS. How many *other* companies do you think stand a chance in hell of doing that, even with MS's co-operation, and having it work, let alone actually making money on the idea?

      It's "Office-like" or even an "Office-port" but it's not "Office". Office ports have run on MacOS for decades. Office can run under Linux if you use WINE. It doesn't mean that "Office is on Linux" or that it's supported (no support = no business use). Also doesn't mean that even 1% of the apps that a business runs or plugs into Office will work on Mac or this or anything else.

      There is a new version of Office - that's the news - that can run on ARM and open standard Office docs. The whole "Windows on ARM" thing is a load of misleading marketing nonsense. That's *not* Windows on ARM, and certainly not any other primarily-Windows application on ARM (probably ever). It's a program that normally works on x86 architectures being ported to work on one other architecture and then claimed as being a "Windows on ARM". I bet it gets all the feature parity, updates, support, combined licensing that Pocket Word does (that's "Office on Windows CE", right? (sarcasm) ) or even Office on Mac (no ActiveX integration - how would they? -, no RTF emails, no ODF support, etc. etc. etc.).

      *This* Office is not a Windows application. That's entirely my point. It's an ARM application. Running an ARM application on an ARM OS is no shocker. Running a *Windows* (and hence suggesting x86) application on an ARM OS *would be*.

    3. Re:Windows on ARM by bkaul01 · · Score: 1

      Windows on ARM? That doesn't matter.

      Office on ARM is a million times more important - for a start, that suggests you can open your documents on another new platform without having to worry about export filters and binary compatibility.

      In the keynote, Microsoft demonstrated a recompiled-for-ARM Office 2010 running on their Windows-on-ARM demo systems.

      It's just Windows CE.

      Not at all. It's more akin to Windows NT for MIPS, PowerPC, and Alpha chips. They demoed a full-blown version of Windows (Win8 back end with Win7 UI), not a forked, barebones mobile OS.

    4. Re:Windows on ARM by KiloByte · · Score: 1

      Well, Open/LibreOffice works just fine on ARM today.

      --
      The creatures outside looked from Alt-Right to Antifa; but already it was impossible to say which was which.
    5. Re:Windows on ARM by Anonymous Coward · · Score: 0

      I'm sure it'll have notepad.

    6. Re:Windows on ARM by rkhalloran · · Score: 1

      >> It's more akin to Windows NT for MIPS, PowerPC, and Alpha chips.

      And how long were *those* supported? This will survive only until the sales figures demonstrate the pitiful penetration of Windows in the tablet market vs. iPad and Android, then written off (as were the RISC ports) as a bad investment of time/$$$.

      Without major app vendors jumping in with ARM ports of their x86 portfolios, this will be, like WinPhone 7, too-little-too-late.

      SCOX(Q) DELENDA EST!!

    7. Re:Windows on ARM by Anonymous Coward · · Score: 0

      yeah, and everytime I use Open Office on Ubuntu I feel like I've gone back in time about 6 to 10 years....

    8. Re:Windows on ARM by 0123456 · · Score: 1

      yeah, and everytime I use Open Office on Ubuntu I feel like I've gone back in time about 6 to 10 years....

      So it took you back to the last version of Office that was any good, then?

    9. Re:Windows on ARM by aztracker1 · · Score: 3, Insightful

      If it's a compatible API then it is *windows* on ARM... is Firefox running under Debian for ARM not Firefox? or Linux? Surprise, you can't run your Linux binary blob compiled for x86 on ARM... same goes for Windows.. that doesn't make it suddenly less Windows... it does mean there will be fewer apps available out of the box. Though most cross-platform efforts for .Net based applications will probably run fine at or very near launch.

      --
      Michael J. Ryan - tracker1.info
    10. Re:Windows on ARM by 0123456 · · Score: 4, Insightful

      Surprise, you can't run your Linux binary blob compiled for x86 on ARM... same goes for Windows..

      Except all those Linux applications are recompiled for ARM by the distro developers, whereas every single Windows application has to be recompiled by its own developers, and then you have to buy it again.

      If you can't run your old Windows applications on this new 'Windows', why would you buy it? Joe Sixpack is going to buy a 'Windows' ARM machine, take it home, and then wonder why his old Word CD won't install.

    11. Re:Windows on ARM by bkaul01 · · Score: 1

      And how long were *those* supported? This will survive only until the sales figures demonstrate the pitiful penetration of Windows in the tablet market vs. iPad and Android, then written off (as were the RISC ports) as a bad investment of time/$$$.

      Perhaps. I agree, at least, that the standard Windows UI, while great on PC hardware, is ill-suited to tablets and the like and will never make the same inroads in that market that iOS and Android are. I was just correcting the factually incorrect assertions of the parent post, not making any predictions about the likely impact of ARM support in Windows. I don't really know what the target market may end up being.

      Without major app vendors jumping in with ARM ports of their x86 portfolios, this will be, like WinPhone 7, too-little-too-late.

      Agreed on the need for substantial third-party vendor support for this to be meaningful. I disagree on WP7 being too-little-too-late though. It's actually quite impressive hands-on, and I wouldn't be surprised to see it start gaining marketshare once more people see it in person.

    12. Re:Windows on ARM by Anonymous Coward · · Score: 0

      Porting to Windows CE or Mac OS X is difficult because they are different operating systems, not because they run on different architectures. Mac OS X runs on x86 but that doesn't make it easy to port to from Windows.

      I work on Windows server monitoring software and we've shipped at various times x86, x64, Alpha and ia64 versions. There was some work making the 32-bit code 64-bit clean but apart from that it's a simple recompile, not a port, so it has complete feature parity. When customers buy our software they get a CD with all the versions on and a setup bootstrap program runs the right setup program.

      The cost of doing this is trivial so if there's any demand (as there was on servers) it will happen.

    13. Re:Windows on ARM by GigaplexNZ · · Score: 1

      ...whereas every single Windows application has to be recompiled by its own developers, and then you have to buy it again.

      Not entirely true. If you have already paid for the licence, you may be able to get a copy of the ARM binary for free (or for a minimal shipping charge). Autodesk applications ship these days with both 32bit and 64bit install disks in the one package, it's certainly possible to ship ARM versions in such packages too. They will of course still need to be recompiled, but you may not have to buy it again.

    14. Re:Windows on ARM by 0123456 · · Score: 1

      They will of course still need to be recompiled, but you may not have to buy it again.

      Yeah, because companies are totally going to spend the time porting, recompiling and _testing_ (why does everyone think that you can just recompile the code and ship it without testing?) their software for free. I agree, if you've paid $10,000 a licence they may deign to give you an ARM version as part of that cost and that if you buy a new version of the software you may get both, but I think we can be pretty damn sure that most companies are going to charge you for the ARM version of existing software and at best give a discount if you already own the x86 version.

      But more than that, the Windows software I use the most won't ever be available on ARM. I use version 6 of program X because version 7 and later come with awful DRM which randomly 'deactivates' it and crashes in Wine... if it's ever released for ARM then it will be the latest version with the lousy DRM.

      Similarly, plenty of companies use old versions of Office because they see no reason to pay for a new one. So buying a new version of Office would eat up any possible cost savings from replacing x86 desktops with ARM.

    15. Re:Windows on ARM by tepples · · Score: 1

      The problem with Windows on ARM is that no currently existing Windows program will run on it. It's a new architecture without binary compatibility, like Windows CE was.

      You answered your own question. If it can run Internet Explorer, Office, and the collection of Windows CE applications from your Pocket PC, then it will have at least some apps at launch.

      you can be assured than anything vital that you have to use and that you have no control over development of (e.g. business apps) requires an x86 binary at some point, or isn't supported on ARM.

      I guess that's part of why Windows Phone 7 applications are 100% pure .NET.

      Remember trying to explain to people that Pocket Word wasn't the same as desktop Word?

      It won't need as much explanation. Because a lot of these new ARM devices are fast enough to run recompiled Word 2007 itself, there won't be nearly as much of a difference between the versions of Word for x86 and ARM as there used to be. Future versions of Office for x86 and ARM might even come in the same box and use the same product key, just as Mac OS X applications were universal binaries for the first few years after the Apple Intel transition.

    16. Re:Windows on ARM by Anonymous Coward · · Score: 0

      And you think the few *quality* FLOSS apps (such as firefox) aren't tested by the sopftware devs on ARM to ensure they work?

    17. Re:Windows on ARM by TobascoKid · · Score: 1

      Surprise, you can't run your Linux binary blob compiled for x86 on ARM

      Actually, you can with the QEMU User space emulator

      --
      At some point, somewhere, the entire internet will be found to be illegal.
    18. Re:Windows on ARM by BitZtream · · Score: 1

      Except all those Linux applications are recompiled for ARM by the distro developers, whereas every single Windows application has to be recompiled by its own developers, and then you have to buy it again.

      Yea, Microsoft could never make something like Apple did with Rosetta, that would JIT translate x86 apps to ARM ...

      I mean, they have no clue how to do it, its been like 15 years since they did that themselves, you know, when you could run x86 Windows NT apps on Windows NT for the alpha using FX32! which ... did a JIT translation from x86 to alpha ...

      Yea ... MS has no clue how to deal with that problem do they?

      --
      Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
    19. Re:Windows on ARM by shutdown+-p+now · · Score: 1

      Is that the same Office as I get on my desktop installation CD? No?

      If you're asking this question, then you have, apparently, not even seen the video with the announcement. The thing demoed on stage (at 54:00) on an ARM netbook looked exactly like Office 2010. So unlike Office:Mac or Pocket Office (or whatever it's called these days), it's not a rewrite. It really is the same app, running on a different platform, but with the same feature set. There's no comparison between the two.

    20. Re:Windows on ARM by aztracker1 · · Score: 1

      Even if so, then they are less likely to move to ARM anyhow... because they don't keep their software current.

      --
      Michael J. Ryan - tracker1.info
    21. Re:Windows on ARM by aztracker1 · · Score: 1

      Well, MS has done similar with VX32, and win16 support as far as that goes. Apple did similar with Rosetta... I'm sure there will be options... I almost wish there weren't as legacy cruft is the biggest drain on windows performance today.

      --
      Michael J. Ryan - tracker1.info
  13. Another one by bluefoxlucid · · Score: 1

    When I was like 8 I looked at RISC vs CISC And I was like, "Why are we doing this? RISC looks better..." RISC processing was going to change everything, and we went with CISC. 20 years later, we're going back to a prefixed RISC processor.

    1. Re:Another one by TheRaven64 · · Score: 4, Informative

      RISC was better 20 years ago because CISC chips were using close to 50% of the die area for complex decoders. RISC chips could use 5%, giving them vastly more space to cram on ALUs and so on. Then the transistor budget increased, but the decoder complexity stayed pretty constant. 50% became 25%, then 10%, and now the increased space on RISC chips is pretty much irrelevant and the space-saving in instruction cache offsets it.

      Then people started caring about power consumption, and it turned out that the decoder (or, in the case of x86, the micro-op decoder, which is basically a RISC decoder after the CISC decoder) was about the only bit of the chip that couldn't be turned off while the CPU was doing anything. You can power down the FPU, the vector unit, and any of the other execution units that aren't relevant to the in-flight instructions, but you can't power down the decoder[1]. ARM does very well here. It achieves good instruction density with the 16-bit Thumb / Thumb2 instruction sets, but it can power down the ARM decoder when running Thumb code or power down the Thumb decoder when running ARM code, so the extra decoder complexity doesn't come with an increased power requirement.

      [1] Xeons actually do power down the decoder when running cached micro-ops, but they need to keep the micro-op decoder powered, and this has a similar power requirement to a RISC decoder.

      --
      I am TheRaven on Soylent News
    2. Re:Another one by bluefoxlucid · · Score: 4, Interesting

      Yeah, the other issue is that ARM code is "bigger" but somehow a 900MHz ARM outruns a 1500MHz x86... hmm, why so much faster? The answer turns out to involve small decisions and branches, which on x86 et al involve load-compare-branch (mov %eax ... cmp %eax ... jne), whereas on ARM you have compare-prefix (mov %r1 ... cmp %r1 ... SUBGT, SUBLT, MOVEQ, BNE, etc) that don't take an extra cycle, i.e. MOVGT takes 1 cycle and MOV takes 1 cycle.

      This means a lot of simple code compiles to simple instructions, whereas on x86 you have a huge amount of branching to do. A lot of 'if' and 'select' statements can be reorganized to just do one comparison and then drop through a bunch of instructions that are prefixed for simple cases.

      This kind of thing reduces the performance penalty of not having a branch predictor--that's right, ARM performs as well as it does with no branch prediction. ARM has a huge number of registers (something like 16 with identical general purpose use and access times, vs x86 4 GPRs), lack of support for mis-aligned memory access (simple, fast data access paths), and a few cherry-picked things like a built-in barrel shifter in any arithmetic instruction (you can i.e. add numbers with shift left/right as part of the instruction). Also most instructions run in 1 cycle--even really crazy ones like conditional-arithmetic-shift (i.e. SUBGT Ra, Ri, Rj, LSL #2)-- whereas stuff like x86 runs an average of 2-3 clock cycles per instruction, with some very long. That means that a 2.5GHz x86 is about as fast as a 1GHz ARM.

      ARM is a large amount of compensation for not implementing complex features. They look hard and say, "Well... this is a general good performance feature..." and do that; whereas CISC is like, "Here's a special case we should do... and oh, branch prediction would let us try to speed up branches... and we could add instructions for manipulating ASCIIZ strinsg..." RISC is more like, "Well, let's try to do everything in 1 cycle... let's prefix instructions so that we can avoid branching... let's add a ton of registers... let's not make a slow decoder... let's restrict memory access to avoid performance hits in cache misses..."

    3. Re:Another one by TheRaven64 · · Score: 1

      The conditional instructions in ARM work very well in pipelined designs, which is why Intel adopted the same idea in Itanium. You basically execute the instructions unconditionally, but only retire the result if the condition is met, meaning no pipeline stalls for a bad prediction. It costs more to stall the pipeline until you know which branch to take than it does to just execute a few instructions and discard the results (at least, for short branches).

      ARM chips do have branch predictors and have since at least ARM11. Here's the reference for Cortex A8's predictor. Unlike x86, it doesn't actually depend on it so heavily. It's important for long branches, where you could otherwise completely fill the pipeline with instructions that will never be retired.

      The free barrel shift is really useful for pointer arithmetic. In a language like C, you might do something like:

      int *a = b;
      a += n;

      The second line really means 'add n*sizeof(int) to a'. Since sizeof(int) is always a power of two, this really means add n left shifted by a constant. A lot of pointer arithmetic operations can be compiled down to a single ARM instruction.

      16 GPRs is not huge by RISC standards - most RISC chips have 32 - but it's still pretty good. x86-64 has the same number if you are doing 64-bit operations (ARM needs two registers per 64-bit operand, so you effectively only get 8 64-bit GPRs), but in all other cases it does well. This doesn't make a huge difference with C code (although it is nice), but it makes a massive difference if you are compiling a language like Lisp or Haskell. Compare the benchmarks of the Steel Bank Common Lisp compiler on SPARC and x86 - it's close to the performance of a C compiler on SPARC, but a fair way behind on x86.

      A modern x86 implementation actually cheats slightly. The ISA has register-memory instructions and aliases the top few addresses in the stack segment with hidden registers, so if you use these instructions you are really doing register-register operations on implicit registers. As you can imagine, this adds a lot of complexity to the entire pipeline, and comes with an associated power consumption cost.

      The only reason that x86 is competitive at all is that Intel has economies of scale that let it throw huge teams of engineers at it. They can design and produce much more complex chips than the competition, and their process team lets them fit them on a smaller die than the competition. If Intel threw the same resources at another architecture, they'd produce something amazing - the ARM-compatible line that they produced was pretty impressive, but they sold it to Marvell to concentrate on x86...

      --
      I am TheRaven on Soylent News
    4. Re:Another one by Anonymous Coward · · Score: 0

      Well, what do you mean by "power down" ? If you mean that decoders for unused instructions sets are clock gated based (ie. do not take clock pluses) based on current ISA, yes.
      But inserting power clamps between decoder blocks ? Hell no. Do you imagine how much time you would need power up - previously unused - decoder blocks in order to take an exception which is bringing you back to ARM mode ?

    5. Re:Another one by Anonymous Coward · · Score: 0

      That means that a 2.5GHz x86 is about as fast as a 1GHz ARM.

      That's hilarious. That might be true if you take the worst case x86 (Pentium 4) and the best case ARM (the recent ARM cores with out of order execution). But we've come far since the times of the Pentium 4. Sandy bridge is anywhere from three to ten times as fast at the same clock speeds, with a single core (assuming SSE* and AVX instructions are used).

    6. Re:Another one by RightSaidFred99 · · Score: 2

      Yeah, the other issue is that ARM code is "bigger" but somehow a 900MHz ARM outruns a 1500MHz x86

      Cite? You're not begging the question, are you?

      I'll go further - you're full of shit. Please find me the ARM chip that outruns (performance-wise, unless you mean something else by "why so much faster") the Core i7-680UM (a 1.47GHz x86 chip), even on a core to core basis.

      I won't hold my breath.

    7. Re:Another one by Anonymous Coward · · Score: 0

      > Also most instructions run in 1 cycle--even really crazy ones like conditional-arithmetic-shift (i.e. SUBGT Ra, Ri, Rj, LSL #2)--
      > whereas stuff like x86 runs an average of 2-3 clock cycles per instruction, with some very long.

      I would not say "1 cycle". It would be surprising to do all of this in one execution unit cycle at high frequency. I would look at it from the "latency"/"use penalty" point of view. You would see that there are indeed multiple clock cycles (pipeline stages) involved.

      Such complex instructions are even microcoded in recent cores, which means those are indeed split in smaller chunks.

    8. Re:Another one by Anonymous Coward · · Score: 0

      Perhaps he should have specified a 80486DX running at 1500MHz.

    9. Re:Another one by Anonymous Coward · · Score: 0

      That I would actually believe...

    10. Re:Another one by Rockoon · · Score: 1

      RISC was better 20 years ago because CISC chips were using close to 50% of the die area for complex decoders. RISC chips could use 5%, giving them vastly more space to cram on ALUs and so on. Then the transistor budget increased, but the decoder complexity stayed pretty constant. 50% became 25%, then 10%, and now the increased space on RISC chips is pretty much irrelevant and the space-saving in instruction cache offsets it.

      Just to be clear, with Intel's first version of HyperThreading (P4 Northwood in 2002), Intel reported that the extra decoder and other HT needs cost 5% of chip space.

      The P4 had ~42 Million Transistors (MT) so about 2.1 MT for the decoder.

      The i7-980 Gulftown has ~1170 MT, so its down to about 0.2%

      --
      "His name was James Damore."
    11. Re:Another one by imgod2u · · Score: 1

      While I'm not going to comment on the specific claim of a 900MHz ARM vs a 1.5GHz x86, you can cherry pick different implementations all you want to show different results. There are no ARM implementations with the amount of parallelism of a Sandy Bridge core (yet).

      However, looking at similar implementations targeting similar performance goals, for instance, a Cortex A8 compared to Atom (both are dual-issue, in-order, with the Atom having a slightly longer integer pipeline), there have been studies comparing different workloads on a Cortex A8 to Atom.

      For tasks that relied on heavy memory, Atom of course, won out. But for tasks that were more CPU-bound (Dhrystone), a Cortex A8 achieved somewhere around 1.47 DMIPS/MHz compared to Atom 330's 1.17.

      The A9 should significantly improve on this and at 1GHz, will likely be as fast if not faster than a 1.6GHz Atom at less than half the power.

      The A15 should close the gap even further and rival low-tier Core CPU's. I'm not sure what nVidia's going to make.

      All in all, ARM implementations of far less complexity and power consumption are achieving performance on par, if not better, than what Intel can offer....for now at least.

    12. Re:Another one by bluefoxlucid · · Score: 1

      Uh yeah, SSE instructions do SPECIALIZED work for special corner cases. This is like talking about how AES is faster because of AES instructions; or more related, talking about how the Intel CPU has an FPU and so is way faster doing floating point.

      However, a MOV instruction for register to register is 1 cycle; a MOV instruction memory into register is 2-3 cycles; a MOV instruction on unaligned memory is about 5 cycles; and a cache miss is like 200 cycles--it happens, cache exists for a reason. ADD, SUB, MUL, etc, several cycles depending on instruction. The manual outlines all this stuff so that compiler designers can weight instructions by how much pipeline they waste (it's fine to have a 30 cycle DIV if you can shove the next insn in the pipeline 1 cycle later; not so much if it's 10 cycles later, so consider SHR for dividing by powers of 2).

      Almost all the base instructions in ARM, in all forms, run in a single cycle. You can prefix them all to avoid small bits of logic becoming too complex, and they still run in 1 cycle. It's a general-purpose CPU optimized for a general-purpose case, not a "general-purpose CPU" trying to optimize a lot for special-purpose cases.

    13. Re:Another one by RightSaidFred99 · · Score: 1

      OK, now Atom vs. Arm - that's at least a reasonable discussion.

      I'm not buying it. The "Whoah, ARM outperforms Atom!" articles I've seen are somewhat ridiculous and normalize for Mhz(?) or use obscure benchmarks and predictions based on vendor claims. And as you say, you can cherry pick different implementations..I mean benchmarks all you want to show different results.

      Also, the Atom is not going to stand still while ARM continues to improve.

      When someone produces a good set of real world benchmarks showing ARM outperforms Atom, then I'll believe it.

      Now, performance/power - that ARM does win handily at the moment.

    14. Re:Another one by Anonymous Coward · · Score: 0

      Lol, that's a nice fairy tale.

    15. Re:Another one by cryptoluddite · · Score: 1

      For tasks that relied on heavy memory, Atom of course, won out. But for tasks that were more CPU-bound (Dhrystone), a Cortex A8 achieved somewhere around 1.47 DMIPS/MHz compared to Atom 330's 1.17.

      And it was destroyed 10-to-1 by Atom on CPU-bound floating point (Whetstone, LINPACK). Of course A8 will be a simpler more power efficient design when it leaves off floating point.

      The A9 should significantly improve on this and at 1GHz, will likely be as fast if not faster than a 1.6GHz Atom at less than half the power. The A15 should close the gap even further and rival low-tier Core CPU's. I'm not sure what nVidia's going to make.

      Atom will be old news this year... ARM will need to be able to compete with AMD CPUs.

      Unless the screen technology changes (one of the biggest power draws) I really don't see ARM's traditional strength of low power being a big deal. And with transistor sizes shrinking, having a simple design is of little benefit. I think they are in for a lot more competition than they are used to. The question is really how well RISC instructions scale to very complicated chips, and the history (all high-performance CPUs left are CISC) and parallels point to CISC scaling better the more complicated the chip is.

    16. Re:Another one by Anonymous Coward · · Score: 0

      lack of support for mis-aligned memory access (simple, fast data access paths),

      This is enough for me to hope ARM fails to replace x86. What a PITA.

      Programs have to be perfectly written or they work on x86 and crash on ARM/SPARC/MIPS... but only when some particular obscure code path is taken. And you can't access data in packed forms without costly partial loads.

      It's almost as bad as loading a 64-bit pointer constant taking *5* instructions. Blech.

    17. Re:Another one by smallfries · · Score: 1

      You are comparing ARM to some vague memory that you have of how x86 used to perform several generations ago. To expand on what the AC was saying with some actual details. The Core2 (and the core-7 / Sandy Bridge) all have three pipes per core for MOV and simple ALU operations. For register to register operations it is very easy to hit maximum throughput on these (in fact if you have enough registers for your problem is very hard to stall these pipes at all).

      The throughput of MOV/ ADD/ SUB/ MUL is 3 operations per clock. The latency of MOV and simple ALU stuff is one clock cycle. The MUL has a latency of 4 clocks. To compare to your claim these types of instructions are about 3x faster on x86 per clock than on ARM, where-as you claimed it was 1/3 of the speed. You are out by an order of magnitude.

      Caching is much more complex so I won't say too much there, but if the working set of your code drops below a certain threshold on x86 then performance-wise the cache disappears and it looks like your pages are a giant register bank.

      --
      Slashdot: where don knuth is an idiot because he cant grasp the awesome power of php
    18. Re:Another one by imgod2u · · Score: 1

      And it was destroyed 10-to-1 by Atom on CPU-bound floating point (Whetstone, LINPACK). Of course A8 will be a simpler more power efficient design when it leaves off floating point.

      The A8 and A9, yes. However, you can look at Scorpion and see that it's possible to match and/or beat Atom in FP as well as integer at far lower power on ARM.

      Atom will be old news this year... ARM will need to be able to compete with AMD CPUs.

      Unless the screen technology changes (one of the biggest power draws) I really don't see ARM's traditional strength of low power being a big deal. And with transistor sizes shrinking, having a simple design is of little benefit. I think they are in for a lot more competition than they are used to. The question is really how well RISC instructions scale to very complicated chips, and the history (all high-performance CPUs left are CISC) and parallels point to CISC scaling better the more complicated the chip is.

      Three things here:

      1. A15 is a tier higher (both in performance and power) than the current A9's. Looking at the pipeline and DMIPS numbers, it looks on-par with the K8 as far as computational performance.
      2. Atom will remain the only possible competitor to smartphones. AMD's new offering is nowhere near the power envelope needed to fit inside a smartphone. Atom is about 4x what it needs to be currently. I think Intel can pull off a 25% power reduction in the coming years.
      3. If we're looking at ultra-high performance, the biggest, baddest processors today are Power from IBM. There really isn't some inherent scalability between CISC or RISC ISA's. It's just a matter of who wants to implement it.

      In the past, RISC ISA's that try to go up against x86 have been from one or two vendors at best. ARM has literally every chip vendor in the world except AMD and Intel implementing it to some degree or other. Hell, from-scratch microarchitectures for ARM even outnumber x86 designs based on the number of architectural licenses.

  14. Speaking of Chrome in the future tense? Why? by eyenot · · Score: 1

    Shouldn't the article read, "the Chrome OS, Google's operating system that WOULD HAVE competeD with Windows"?

    Because wasn't it news here not too long ago that Google's Chrome was, in the words of Google's own Chrome devs, "dead"?

    --
    "Stratigraphically the origin of agriculture and thermonuclear destruction will appear essentially simultaneous" -- Lee
  15. So long wintel! by Anonymous Coward · · Score: 0

    Hated you. wintel

  16. It's not about desktops! by AntEater · · Score: 3, Insightful

    Everyone seems to rambling on about x86 compatability and running existing Windows applications on the ARM cpu. I see this more as an admission from MS that the desktop environment is stagnant and growth will be found in the market for dedicated devices (phones, tablets, netbooks etc). I don't see that this will be about desktops at all. I see this more like Apple does with iOS and OS X. Same code base but one runs on portable devices and the other is for their desktop machines. I have not real insight but I don't see where ARM desktop machines make any sense.

    Anyone remember when Windows NT ran on x86, PPC, MIPS and alpha? It was amazing how much better it ran on the Alpha hardware than any x86 machines. Maybe it'll be a step forward for them - not that I really care.

    --
    Alex, I'll take keybindings not used by Emacs for $400....
    1. Re:It's not about desktops! by Anonymous Coward · · Score: 0

      I see this more as an admission from MS that the desktop environment is stagnant and growth will be found in the market for dedicated devices (phones, tablets, netbooks etc).

      I dont see why you need to use words like "admission". You yourself said that MS used to support other architectures. They gave up because the sales weren't strong enough. This was because x86 systems were a lot cheaper than the alternatives (and had all the apps). But this shows that Microsoft will happily move to any systems that are profitable. This isn't an admission of anything, just moving into new markets.

  17. Star Trek Next Generation by Dcnjoe60 · · Score: 2, Funny

    I specifically remember Cmdr. La Forge always talking about iso-linear chips. Not once did he ever mention ARM chips. Just like Microsoft to support the wrong Next Generation systems.

  18. Intel is also an ARM vendor by HighOrbit · · Score: 3, Informative

    I think calling this a swipe at Intel is overblown. Intel has historically sold ARM-based processors ( see the XScale at http://en.wikipedia.org/wiki/XScale), although they sold-off most of their ARM business to a company called Marvell. However, Intel continued to Fab for Marvell until Marvell was able to build or rent their own Fab. I don't know the current situation, but there is a good chance that Intel still has an ARM production line running under contract for Marvell. At the bottom of the wiki article it says, "Intel still holds an ARM license even after the sale of XScale." So they can move right into the business again if they see the market justification for it.

    1. Re:Intel is also an ARM vendor by 0123456 · · Score: 1

      x86 is a market with very limited competition where you can make hundreds of dollars of profit on a high-end CPU. ARM is a market with massive competition where you're probably going to be lucky to make $1 a CPU.

    2. Re:Intel is also an ARM vendor by imgod2u · · Score: 1

      I believe the ARM license went with the xscale team over to Marvell. Intel can, of course, purchase another architectural license. But MS isn't going to *stop* supporting x86; they're just adding ARM.

  19. Who cares about the win32 applications? by Peeteriz · · Score: 2

    If they intend the next windows to be available for both Intel and ARM processors, they expect the ARM-Windows to be used on tablets, smartphones, etc.

    It means that they do not want translation engines and automagic emulation - noone wants to get a pile of win32 application 1-to-1 copies on a tablet platform.
    They'll supply the changes to the .NET libraries and win32 api required for porting; but the porting needs to involve changes to the UI in any case, including support for low-precision finger pointing, multitouch, physically small screens, etc. All MS needs to do for the current applications is to make the porting process reasonably cheap.

  20. Re:As long as it's 5Ghz and has 8GB RAM & 80GB by aztracker1 · · Score: 1

    Well, eliminating the code debt wrt unmanaged code, especially in the ARM port would alleviate a lot of the burden on resources. MS has been pushing in this direction for the better part of the past decade. Though it's taken a long time to get their core application suites more portable.

    --
    Michael J. Ryan - tracker1.info
  21. Key Phrase is "next generation Windows" by RockofSisyphus · · Score: 2

    Microsoft has shown/announced a lot of cool stuff that will work on the "next generation of Windows". If only half of it ever made it into a shipping version of Windows, I might actually consider Windows an option.

  22. Yet another Linux advantage squandered by Anonymous Coward · · Score: 0

    Linux, GNU apps, and much other FLOSS have been running on ARM for years. Where were the ARM machines 2-3 years ago when we all wanted them at that time? They're still not here and likely won't be until the MS project is released, if it ever is at all. Yet another Linux advantage squandered.

    Where is the device manufacturer who is willing to create quality hardware and let the community take care of the software?

  23. Re:Wow, Microsoft is Dumb! by operagost · · Score: 2

    You're probably trolling, but in case you're not I'd like to point out that ARM clocks up to 2.5 GHz (and Netburst taught us that mere clock speed is not the future) and is multicore.

    --

    Gamingmuseum.com: Give your 3D accelerator a rest.
  24. Schism? Fracture? by rickb928 · · Score: 3, Insightful

    What? Microsoft just made the smartest decision in their corporate lifetime. Well, third-smartest, and critical to their survival.

    x86 is not the only architecture out there. Itanium is a market failure, RISC is relegated to the memory of us modem-wielding veterans, is there another chip line out there I forgot? If so, irrelevant.

    Windows on ARM means:

    - Potential NT kernel on phones. Hey, the NT kernel isn't half bad. A single kernel everywhere eorks for Linux, just sayin'.

    - Opportunity for new markets like tablets and set-top/integrated TV systems. No, an Atom-powered tablet isn't ery attractive. Power demand is the issue, and ARM seems to be the king of power demand.

    - A huge developer base that may not have to learn Java or Cocoa or Objective-C after all to be rlevant in our mobile- social- oriented world.

    I mean, Microsoft winning sounds evil, but we should know by now that competition is good. Apple may have to answer this, and the Linux/Android community hasn't changed their value proposition one iota. In fact, consider the appeal of buying a phone and THEN choosing the OS you want - 'WindowsARM', Android, 'OpenIOS'... Or perhaps a hypervisor and VMs running any of the three?

    I like it. 2GHz dual-core DX10 phones with 2GB RAM and a uSD slot for another 128G, 4.5" AMOLED screens and 1080p HDMI out? All I need now is to find a table at the Starbucks with the Bluetooth keyboard and mouse, and the 21" display, and I'm rockin.

    I can dream, can't I?

    --
    deleting the extra space after periods so i can stay relevant, yeah.
  25. Setting DPI by tepples · · Score: 1

    Imagine placing your mobile phone

    My mobile phone is an Audiovox 8610 flip phone whose service for a year costs as much as a month's smartphone service.

    in the docking station on top of your TV and it instantly being transformed in a full-blown desktop-capable PC functionally similar to an average PC of today.

    People appear unwilling to learn to configure an operating system's DPI to account for the difference in pixel density and seating distance between a desktop PC monitor and a living room TV. What makes you think they'll be ready to do so for a smartphone?

    1. Re:Setting DPI by Amouth · · Score: 1

      the fact that the user has to adjust the DPI is sad.. when they implemented DDC they should have had it also report the physical size/dimensions of the screen along with the different resolutions so that the driver/OS if it wanted could auto adjust the DPI without user intervention.

      --
      '...if only "Jumping to a Conclusion" was an event in the Olympics.'
  26. 9x to NT, CE to this by tepples · · Score: 1

    if it *does* come down to x86/win32 apps not working on ARM machines and vice-versa, won't MS have a bit of a public education battle?

    Not if Microsoft pushes this as the successor to Windows CE. Ideally it'd run CE apps in much the same way that 32-bit Windows can run Win16 apps and 64-bit Windows can run Win32 apps. It'd finally close Windows CEMeNT into one codebase.

  27. Can't P/Invoke on Windows Phone 7 by tepples · · Score: 2

    You can develop for Windows Mobile 7 in VS and it compiles to .NET and then runs that in an Arm emulator which is running the Windows Mobile 7 OS.

    If your application is 100% Pure .NET, it won't easily be portable outside a .NET environment. Unlike a C++ application, whose back-end can be shared among front-ends for each platform (see multitier and model-view-controller), a .NET application runs only on platforms with the .NET framework.

    If your application uses a C++ back-end (for portability) and a .NET front-end, it won't even run. As soon as an app running on Windows Phone 7 tries to P/Invoke or otherwise execute code that isn't verifiably type-safe, it gets a security exception. C++/CLI exists, but the syntax of its verifiably type-safe subset is incompatible with standard C++.

  28. Start with Pocket PC and Silverlight apps by tepples · · Score: 1

    Particularly as the drive to run Windows on ARM isn't coming from the iPad cloners

    Then the best strategy for Microsoft would be to make a version of Windows that can run the existing library of Windows CE applications for Pocket PC (already ARM) and Silverlight applications for Windows Phone 7 (which are pure IL). Then Windows/ARM tablets will at least have something to run until developers of non-free x86 applications get around to porting their applications.

  29. Pocket PC by tepples · · Score: 1

    No games. No apps. No obscure vertical apps.

    Would you say the same about Pocket PC PDAs with ARM CPUs running Windows Mobile? If so, I'd disagree. It bears repeating: Windows CE is likely where Windows for ARM will get its initial supply of applications, just like 32-bit Windows can run Win16 apps, and 64-bit Windows can run Win32 apps.

    1. Re:Pocket PC by 0123456 · · Score: 1

      Windows CE is likely where Windows for ARM will get its initial supply of applications, just like 32-bit Windows can run Win16 apps, and 64-bit Windows can run Win32 apps.

      That'll be great for the three people who've been collecting a stack of Windows CE applications for the last decade and want to be able to run them on a different version of Windows.

      The rest of the world will see 'Windows' on the box and expect it to run their existing x86 Windows software.

    2. Re:Pocket PC by fwarren · · Score: 1

      Would you say the same about Pocket PC PDAs with ARM CPUs running Windows Mobile? If so, I'd disagree. It bears repeating: Windows CE is likely where Windows for ARM will get its initial supply of applications, just like 32-bit Windows can run Win16 apps, and 64-bit Windows can run Win32 apps.

      No Way!!!!!!

      WINCE apps have no concept of the "current directory", forget about relative directory references. They removed the mouse API in the 2.0 days and added in a new mouse interface in the 4.0 days, but it is NOT compatible with the win32 api. Almost everything written for WINCE 2.0 on is designed for a 320x240 display. The methods for loading graphics that are not stored as resources, tool tips, Status area in the lower portion of the window frame of the app, all WINCE specific. It may be more work to port an WINCE ARM app than to port an x86 app due to the dissimilarity of the API.

      --
      vi + /etc over regedit any day of the week.
    3. Re:Pocket PC by tepples · · Score: 1

      Almost everything written for WINCE 2.0 on is designed for a 320x240 display.

      Which would show up pixel-doubled in a 480x640 pixel window on Windows/ARM.

      The methods for loading graphics that are not stored as resources, tool tips, Status area in the lower portion of the window frame of the app, all WINCE specific.

      And all implementable as a subsystem. Consider wowexec, which covered over a lot of Win16 specific stuff within Win32.

  30. Re:Schism? Fracture? by Megane · · Score: 2

    I like it. 2GHz dual-core DX10 phones with 2GB RAM and a uSD slot for another 128G, 4.5" AMOLED screens and 1080p HDMI out? All I need now is to find a table at the Starbucks with the Bluetooth keyboard and mouse, and the 21" display, and I'm rockin.

    Don't forget the fanny pack to hold the battery that powers all this for more than an hour per charge.

    --
    #naabhaprzrag, #sverubfr-000, #agi-fcbafberq, negvpyr[pynff*=' negvpyr-ary-'] { qvfcynl: abar !vzcbegnag; }
  31. with closely with? by VolciMaster · · Score: 1

    "has worked with closely with"

    Seriously, /. editors? You couldn't fix the horrid grammar and have just "has worked closely with" or "has worked with closely"?

  32. Re:Schism? Fracture? by Anonymous Coward · · Score: 0

    "Microsoft winning sounds evil, but we should know by now that competition is good"

    But therein lies the paradox. When Microsoft wins everyone else eventually loses. Microsoft isn't content with being NUMBER 1 they want to be THE ONLY ONE and then there is no competition.

    History has shown us this again and again; those who don't learn from history are doomed to repeat it.

  33. No user story, no Developer story, WTF? by guidryp · · Score: 1

    I can't believe they just announced this without any user or developer story.

    It looks more like Port and Pray. It deprives MS of its most significant competitive OS advantage: Legacy Apps.

    So now MS will compete on resource usage, and innovation speed with NT on ARM, against iOS/Android.

    This should be really entertaining.

    1. Re:No user story, no Developer story, WTF? by shutdown+-p+now · · Score: 1

      It looks more like Port and Pray. It deprives MS of its most significant competitive OS advantage: Legacy Apps.

      The remaining part of that advantage is that it's still much easier to port from Windows/x86 to Windows/ARM than it is to, say, Linux or OS X even without the architecture change. System APIs all remain the same, so it's only the question of not doing stupid hardware-dependent things in code.

  34. FINALLY! by Anonymous Coward · · Score: 0

    More interestingly then the possible battle for the survival of windows would be the death of x86. X86 is an architecture with workaround after workaround in order to remain compatible. In addition BIOS might just die too.

    Finally some room for constructive change... perhaps this is exactly what Microsoft is trying to achieve?

  35. A long time comming by Corson · · Score: 1

    Microsoft may have been considering this move for a while. One more reason for Windows developers to switch to .NET.

  36. All or nothing? by joeyblades · · Score: 3, Insightful

    Why would we assume that Microsoft and Intel would part company? ARM out-performs Intel in terms of power consumption, but Intel out-performs ARM in terms of processing power. While it seems that Intel may wind up with a smaller portion of pie, the need for desktop computers will continue for a long time. I don't think we will be seeing these competing options "pushing the two technology giants to go their separate ways" in the near future.

  37. What's the point? by Anonymous Coward · · Score: 0

    There's not a single person in the world, who has a legacy consisting of a bunch of unportable ARM binaries that make Win32 calls. If their OS isn't a legacy requirement, why would anyone take Microsoft seriously? Everyone knows that all they'll ever get from Microsoft is suffering, expense, and lock-in to prevent the suffering and expense from being market forces.

    That means the only possible way Microsoft will ever sell a copy of this, is to rely on their other uncompetive practice: preloads. Keep users from making choices, and you get to choose for them. This has been Microsoft's most successful strategy for avoiding the market, but OEMs can now ship fully functional OSes for a license fee of $0.00000 per copy, so why MS? This is where the lack of legacy kicks in: it's not like anyone needs Microsoft's version, so even spending a penny per copy isn't going to get the OEM even one more sale.

    It's an all-around lose-lose proposition for anyone Microsoft might sell to: users or OEMs. What's left? Why do they think they're going to sell any of these? It is all about lock-in via proprietary network protocols, like MS Exchange integration or something like that? Is that all MS has left, or is there something else?

  38. EDID doesn't cover seating distance by tepples · · Score: 1

    when they implemented DDC they should have had it also report the physical size/dimensions of the screen

    The EDID block already includes visible image width and height in cm, but it doesn't include a sonar or lidar system to determine how far away the user is sitting. People sit 28 inches from their desktop PC monitors by the definition of a CSS pixel, but they sit farther back from TV monitors. A user sitting twice as far away needs an effective DPI twice as high to keep text readable.

    1. Re:EDID doesn't cover seating distance by Amouth · · Score: 1

      wile i understand that they monitor doesn't have a way to determined the actual distance.. most people sit in the same range .. again this should be something that the machine adjusts by default and can be override by the user.. not something that is ignored by default and only set by the user.

      --
      '...if only "Jumping to a Conclusion" was an event in the Olympics.'
  39. OSS not OS by Anonymous Coward · · Score: 0

    Open Source apps are recompiled for ARM. It's got nothing to do with Linux. It's OSS that matters here, not OS. FireFox will be compiled for Win32-ARM, too. NVidia drivers for Linux-ARM? Don't wait on your distro developers.

    1. Re:OSS not OS by 0123456 · · Score: 1

      Open Source apps are recompiled for ARM. It's got nothing to do with Linux.

      Spurious argument. How many non open-source apps does the average Linux user run? How many open-source apps does the average Windows user run?

      The only non open-source apps I have running on my Linux systems at home are a few Windows apps in Wine (e.g. Steam and a few games). The vast majority of Windows apps I have installed in the Windows partition on my laptop are closed source, the exceptions being Firefox and Open Office.

    2. Re:OSS not OS by Anonymous Coward · · Score: 0

      Why wouldn't Nvidia make a Linux-ARM driver, considering that they're working on an ARM CPU themselves with integrated graphics?

  40. ARGH! It's not Power, it's ENERGY. by Theovon · · Score: 1

    Ok, I've done it myself. I've conflated power with energy. But what we're really talking about here with these "low power" devices is energy efficiency. It doesn't matter what the power consumption is if it takes forever to finish the job. You can make an ARM and an Atom use the same power consumption. The problem with the Atom is that it'll take a lot longer to finish the computation. Another facet is what a processor does with idle time. ARM's philosophy has always been to get the work done quickly and then power off, while Intel's still working on bringing their "halt" power down to a minimum.

  41. Re:As long as it's 5Ghz and has 8GB RAM & 80GB by Anonymous Coward · · Score: 0

    yes, since it's windows, you can run it on 1 ghz and 768mb of ram.

  42. is there a tag for "Big Fucking Deal"? by markhahn · · Score: 2

    seriously, why is this news? yes, naifs out there associate OS stacks with particular hardware platforms, but the people _inside_ software companies don't. msft has produced extensive app stacks for ppc before, even to some extent mips and alpha. current windows is derived through NT and NT OS/2 from a codebase that was _originally_ developed simultaneously on MIPS and x86. obviously for devices like phones and tablets, even a lot of desktops, there's no need to worry about externally-provided add-in cards and the driver complexities that introduces.

    besides, who cares that much about native apps anymore? "appliancy" stuff is browser/flash/java-based. msft itself is probably the main purveyor of non-browser/flash/java stuff, and of course they can retarget their office suite, no sweat (hah).

    the interesting question in this is whether there's really any reason for ARM to be more mobile-friendly - that is, what is it about the ISA or implementation that makes it _inherently_ better (if any). my suspicion is that it's mostly a matter of methodology or culture: ARM has traditionally been very parsimonious (think hybrid or high-efficiency car), and the x86 makers have traditionally been more Nascar. Intel seemed to have done Atom almost against its will or corporate culture - followons have been more power-efficient, but they hardly seem like significant, bet-the-company efforts. AMD's recent bobcat-based chips appear to be based on a modestly-tweaked version of the K8. maybe what distinguishes ARM is something simple, like a compact instruction encoding...

    1. Re:is there a tag for "Big Fucking Deal"? by R3d+M3rcury · · Score: 1

      besides, who cares that much about native apps anymore?

      That's a good question. I wonder if there's an app for that?

  43. Re:Schism? Fracture? by suv4x4 · · Score: 1

    In fact, consider the appeal of buying a phone and THEN choosing the OS you want - 'WindowsARM', Android, 'OpenIOS'... Or perhaps a hypervisor and VMs running any of the three?

    I like it.

    O_O

    You know what, in the big picture, I think you and the people who'd "like it" count on the fingers my hand.

  44. It's about market control by Anonymous Coward · · Score: 0

    Microsoft controls its OEMs through the 'discount' scheme. Any OEM that buys a bulk Windows gets a discount that is worth a significant amount compared to the profit from each machine. This discount is subject to the OEM being a 'partner' which means that, for example, every machine of a particular model must ship with Windows.

    When netbooks started shipping with Linux MS (allegedly) threatened the makers with loss of discounts over all products - this may have meant millions. Of course Vista and Win7 were unsuitable for netbooks so MS had to revive XP just to stop Linux being shipped.

    Now netbooks, tablets, etc are shipping with ARM and Linux. MS needs to have an ARM WindowsOS so that it can force the OEMs to stop shipping Linux.

  45. What a mess by Anonymous Coward · · Score: 0

    Well, that was a jumbled mess of a post, full of assertions. I'm going to sprinkle a good amount of [citation needed] on the idea that current ARM is anywhere near current X86-64 performance and that the performance-per-clock difference is that large. Your GPR count is waaay off unless you define GPR very narrowly.

  46. Re:Wow, Microsoft is Dumb! by RightSaidFred99 · · Score: 1

    ARM will never compete with x86 in raw performance. Performance per watt, however, might be another matter.

  47. The bigger picture. by Lashat · · Score: 1

    Windows on ARM is HUGE.

    Please pull your vision back from the machine code level and enjoy the 50,000' view. The critical piece of information to see in this announcement is partnerships involved. Especially with NVIDIA and Texas Instruments. Two major players in the microprocessor industry with the need and ability to succeed in a new market.

    MS brings the ability to mass produce a mainstream OS. NV and TI bring the ability to mass produce complicated microprocessors. It is important to note that NV specifically has a historical relationship and prior experience doing exactly this with MS.

    This is a smart move for the compaines and as consumers we will benefit from a wider range of choices at better prices.

    Apple should take note and remember the lessons from the early 1990's this same scenario de-throned them during that technology shift. Apple started that revolution as well and fell out when Microsoft came up.

    --
    For every benefit you receive a tax is levied. - Ralph Waldo Emerson
  48. Vista drivers by Anonymous Coward · · Score: 0

    So if you thought getting all your hardware to work with Vista was a pain, imagine all the devices that will need rewritten device drivers for Windows ARM?

  49. why do all of that work? by sgt+scrub · · Score: 1

    why do all of that work when they could just download ubuntu like everyone else.

    --
    Having to work for a living is the root of all evil.
  50. It will fail by nukem996 · · Score: 2

    The main reason people are still using Windows on their systems today is because of all the apps and hardware that Wintel supports. As soon as the first ARM based Windows devices come out for consumers there will be a huge amount of people complaining that there programs or drivers don't work. Even today this comes up, I've seen people not understand that Office 2007 won't work with Windows 98. All they saw on the box was that "Windows" was supported. While Microsoft will be able to get some companies to port many won't and those that do will require users to buy a new version.

  51. No joke? by Geminii · · Score: 1

    Came for "Microsoft + Arm = Windows Fista", left disappointed.

  52. all you zombies by DragonDevil · · Score: 1

    While you all dash to exchage empty pleasantries and inflate your self esteem by imagining you are contributing and are important via social ntwks - a place the majority of the brains were a decade ago via technical forums and communties, your twits, and dumps (yeah your shting ice cream) are gleened and may be subjected to subpoenas via unscrupulous intel gathering communities....

    I am not impressed by microdink and infuriated by win7 as dumbaz pleebs are convinced via multi-billion dollar campaigns that it is good, it is nice. The perpetual security breaches of the inflexible win7 bloat are never completely revealed and yet microlimp wants to sell additional security services.

    nvidia is in no way the clear winner of any hardware architecture and do not trust them to provide a fast, clean and clear computer experience via their arm processor, or even a leg if they decided to up the ante.

    The fact that there is another campaign under way to sell you more sht and drum up buzz goes to show exactly how much of an intelligent clue you have - zip

    Until win can show a secure os that is not just another kitchen sink pile of crap and ntwitia can come up with a low consumption, bug free, low noise capable gpu - they can go ...