back to article Now Microsoft ports Windows 10, Linux to homegrown CPU design

Microsoft has ported Windows 10 and Linux to E2, its homegrown processor architecture it has spent years working on mostly in secret. As well as the two operating systems, the US giant's researchers say they have also ported Busybox and FreeRTOS, plus a collection of toolkits for developing and building applications for the …

        1. bazza Silver badge

          Re: GIGO

          Remember that Office has >90% market share. There are decent alternatives too.

          The alternative often pointed to is Libre / OpenOffice. And whilst chunks of LibreOffice are OK, some parts are pretty shockingly bad. I find their spreadsheet program to be astonishingly slow in comparison to Excel. Like, really, really slow when dealing with large amounts of data on a sheet.

          Office is good because Office, well, just works. Ok, it's not "perfect" and there's a ton of quirks, but as a tool for just getting stuff done it's pretty hard to beat. A corporate Outlook / Exchange setup is a very powerful thing, and now there's nothing else to compete with it.

          Apart from Visio; that is a hateful thing, truly ghastly. I wish it had never been born.

      1. Kristian Walsh Silver badge

        Re: GIGO

        Frankly, I've no idea, nor any connection to Microsoft except that I use their OS and software sometimes (I am actually writing this on a Mac, though), but I'm sick to the back teeth of the pack of morons that come out to comment every time an article about Microsoft is published here.

        This article describes something that is a genuinely interesting development, and normally you'd expect some of the more knowledgeable commenters to chip in with additional information or informed critique. But, because it's something that Microsoft has developed, the comments have immediately been hijacked by the crack band of fucking idiots who, labouring under the misapprehension that their thousand or so prior posts on the subject were insufficient to convince the world that they don't like Microsoft, feel it necessary to enter the breach, pausing only to switch off their forebrain on the way...

        1. Anonymous Coward
          Anonymous Coward

          Re: GIGO

          <chip in...>

          I see what you did there!

        2. King Jack
          Thumb Down

          Re: I'm sick to the back teeth of the pack of morons...

          Blame M$. If they had not behaved like criminals with Windows 10 and not adopted techniques of spyware then I'm sure they would not get the amount of flak whenever their name appears. They seem not to care about anybody and do whatever suits them whenever they want. They may well come up with the best chip design but because they are M$ they will use it to shaft as many people as they can. Sony with their rootkits, feature removal and propitiatory crap get the same hatred as they too will never change until bankruptcy looms. If M$ just wrote an OS and softwares that didn't try to own you then these comments would fade away.

          1. Kristian Walsh Silver badge

            Re: I'm sick to the back teeth of the pack of morons...

            I stopped reading at the dollar sign. Was the rest of it any good?

          2. 2Nick3
            Childcatcher

            Re: I'm sick to the back teeth of the pack of morons...

            "Blame M$."

            You can't control how others behave, but you can control how you react to it.

            So yeah, the forum being flooded by posts that distill down to "I hate MS" can be laid at the feet of those making the posts. No one at MS forced them to do it, it was their own free will, let them be responsible for it.

          3. Someone Else Silver badge

            @King Jack -- Re: I'm sick to the back teeth of the pack of morons...

            Blame M$. If they had not behaved like criminals with Windows 10 Windows 3.1 and "Undocumented Windows" [...]

            There, FTFY....

        3. Claptrap314 Silver badge

          Re: GIGO

          I'll tell you why the more knowledgeable people aren't saying much--Dunning-Krueger. This design is a really, really big change. It has obvious comparisons to Itanic, but recall that the Itanic operated three (41-bit?) instructions at a time with a few flag bits to inform the processor about parallelism safety. This is not that, at all. From a hardware/architecture design standpoint, I have little to say because I know that I'm unqualified to evaluate it. There are some business issues that appear fascinating, however.

          I did not pay a great deal of attention at the time, but my recollection is that the problem was lack of support for the idea of moving more or less the entire install base to a new architecture. Microsoft appears to be attacking that problem by porting the major OSes, which implies their software build tooling.

          The comment, "Will it run Crysis"? is probably the most important one on this article. It took me a year or so after joining AMD to realize that no one buys CPUs. They buy applications. The hardware (all of it), & the OS are nothing but overhead. A perfect architecture without applications is worthless. The most hideous beast of an architecture that is running 80% of the world's software today can be expected to run 85% in five years, barring a major disruption to the market.

          I think the timing of this announcement is important. Microsoft has been working on this for almost a decade. When you are doing this sort of research, you can make a big announcement at any point. I think that they looking as Spectre as the sort of disruption that might create an opening to overturn x86. It's certainly due.

          Microsoft drove Apple to 5% market share by running a completely open platform for developers. Yes, it's been a long time, but it seems unlikely to me that they have completely forgotten this fact. Certainly, they would like to drive DRM into the core of the system, but I'm doubting they will do this to the detriment of non-M$ applications.

        4. Anonymous Coward
          Anonymous Coward

          Re: GIGO

          MICRO$HAFT $UX BALLZ

  1. Hans 1
    Windows

    Time will tell, but I doubt this is gonna get to anything, the return of Windows RT which will fail for the exact same reasons it failed before. Linux, on the other hand, will not have trouble with a new architecture, everything is a recompile away, hopefully ...

    I also doubt MS will have the patience to push this platform until it gets traction, and given MS' recent and past track-record, nobody will bank on it anyway.

    I cannot see how MS can pull this one off.

    1. Anonymous Coward
      Anonymous Coward

      I also doubt MS will have the patience to push this platform until it gets traction, and given MS' recent and past track-record, nobody will bank on it anyway.

      A view I share. As described the technology sounds very interesting, but over and above the "it's Microsoft", I have a further challenge: Why have neither Intel, AMD, ARM or Samsung developed a similar approach, or bought this particular technology in from academia? You can argue that Intel, and to an extent ARM are victims of their own success and would dismiss it as "not invented here", but AMD could certainly do with a technology break out.

      Do those companies know something that MS don't?

      1. Anonymous Coward
        Anonymous Coward

        I suspect they have. There was a lot of work in the late 90s in "alternative architectures" like asynchronous clock less CPU stuff. Most of it seems to have been abandoned in the early 00s though. Perhaps it was just too far ahead of its time.

      2. Brewster's Angle Grinder Silver badge

        "Why have neither Intel, AMD, ARM or Samsung developed a similar approach, or bought this particular technology in from academia?"

        That was pre Spectre/Meltdown. I bet it looks a whole lot more attractive now people have taken an interest in the side channels CPUs create.

      3. Paul Crawford Silver badge

        It is probably much much simpler and its why x86 persists, why Windows RT was doomed, and why practically all phones use ARM chips: Software.

        No one really wants to recompile, test (yes, I know its a novel concept), debug and support existing software for a new product hardly anyone uses. And so the new product remains hardly used.

      4. FIA Silver badge

        Why have neither Intel, AMD, ARM or Samsung developed a similar approach, or bought this particular technology in from academia? You can argue that Intel, and to an extent ARM are victims of their own success and would dismiss it as "not invented here", but AMD could certainly do with a technology break out.

        Do those companies know something that MS don't?

        Do Samsung have a history of innovating in the CPU space? I get they're a core ARM licencee but they do more 'mass market' stuff don't they?

        Intel couldn't be seen to do anything to significantly de-stabilise X86 as that's where the money comes from. Although they have tried a few times.

        ARM are stuck with ARM, and AMD doesn't have the thing that Microsoft have lots of... spare cash. (Remember, whilst we don't care any more, Windows is still the dominant computer OS, and still makes Microsoft a lot of money).

        Companies with lots of money can spend it doing R&D, hence this, and why Apple do their own CPUs and GPUs now.

      5. DanceMan

        Re: Why have AMD not developed a similar approach

        AMD don't have the money, while MS has.

      6. doublelayer Silver badge

        There's a chance, but not a big one

        The way I see it, microsoft have chosen a good time to think about switching over, as they are at a relatively pivotal point. This is similar to the many stories about their thoughts of running windows 10 on arm. I don't see a reason this has to fail, but I can see lots of ways it could. The last time microsoft tried it, for example, they got windows RT and it didn't succeed. They will need to realize that very little is going through the windows store and that the rest needs to be available. That means either getting devs to recompile a lot of things or making a compatibility layer. However, if they manage that, I see no reason this couldn't be a new architecture.

        However, given microsoft's track record with this and their current software base, I doubt it will happen. Apple could switch to arm because their low-end users get their software from the appstore, and their high-end users use software made by companies that have enough money to recompile and test the new code to death. Linux can switch to most things because the software can be recompiled by anyone and patches provided by anyone with the knowledge and inclination. If microsoft makes this available, and things start to break, it may fail at that point. They aren't really providing something that we couldn't get before, so it will need to be very good for it to get the chance to become better.

      7. Anonymous Coward
        Anonymous Coward

        The more interesting question...

        > Why have neither Intel, AMD, ARM or Samsung developed a similar approach

        ...is why Microsoft *did* do it, only to apparently shut it down "since the research questions have been answered" (by the looks of it, in the positive).

        That, along with the last sentence about not upsetting their "silicon partners" reads to me like one important strategic goal of this project would have been precisely to put pressure on those partners by saying, "look, you're not indispensable, in fact we could really upset your boat if we wanted to, so now about those prices..."

        PS: I must stress, I am talking from a position of complete ignorance about these things. Take the above more as a question than as any form of assertion.

    2. TheVogon

      "the return of Windows RT which will fail for the exact same reasons it failed before."

      Or maybe not:

      https://www.theregister.co.uk/2017/05/12/microsofts_windows_10_armtwist_comes_closer_with_first_demonstration/

    3. whitepines
      Big Brother

      Unless of course chips made with this new architecture look for a Microsoft signature to even run programs...good luck sidestepping that without a prison sentence.

  2. Dan 55 Silver badge

    MS and getting it right first time

    Hopefully they can do for their CPU what they're having trouble doing for their laptops and operating systems.

  3. Anonymous Coward
    Anonymous Coward

    Interesting stuff

    Good article and, just for a change, I'm now interested in something that Microsoft are working on. Something to keep an eye on.

    As an aside, I can see one additional reason for that page to have been taken down : it lists two 'People' and 15 'Interns'. Interns are people too, you know.

  4. DrXym

    The processor really shouldn't matter to applications these days.

    Operating systems are more than capable of compiling a portable application instruction set like LLVM bitcode into whatever the native instruction set is.

    The article suggests MS might be doing that although it's unclear if devs have to do that last step as part of packaging or if the OS, or an intermediate packaging / app store does it. Come to think of it, I wonder why Linux dists like Red Hat & Ubuntu aren't doing this too - experimenting with building some of the higher level apps in a noarch format and compiling them to binary during installation.

    1. bombastic bob Silver badge
      Devil

      Re: The processor really shouldn't matter to applications these days.

      "building some of the higher level apps in a noarch format and compiling them to binary during installation."

      Already being done, by FreeBSD in fact. Check out FreeBSD's "ports" system - build from SOURCE, baby! OK they have packages too, but the option to EASILY build from source departs from the Linux distros I've seen [where loading all of the correct 'source' and '-dev' packages can become tedious]. FBSD is designed for compiling, so the headers and stuff will all be there whenever you install a library.

      The downside, it can take several hours to build firefox or libre office or any version of gcc, like for a cross-compiler or because the dweebs that wrote 'whatever' software _DEMAND_ the bleeding edge version (or a specific version) of the compiler. So yeah, best to install THOSE as pre-compiled binary packages. And having the option is worth it.

      /me points out that kernel modules are typically build-from-source, for obvious reasons.

      (also worth pointing out, I understand that java p-code is 'compiled' into native code when you install Android applications on any version since [I think] Android 5)

      1. DrXym

        Re: The processor really shouldn't matter to applications these days.

        I don't mean built from source. I mean the rpm / deb contains compiled binary as LLVM bitcode and then during installation the binary is turned into a native executable. This is relatively quick step to perform and doesn't require an entire development toolchain.

        <p>

        From an app's perspective it means shipping a single package that could be used on any supported architecture. It means the product could be instrumented with additional security checks configured by the administrator, modified to run in a sandbox / virtual environment and other things of that nature.

        1. Kristian Walsh Silver badge

          Re: The processor really shouldn't matter to applications these days.

          A problem particular to Linux is that the system-call numbers are different on different architectures (notably between x86 32-bit and 64-bit). I'm sure it's not an unsurmountable issue, but fixing it does require the final-stage compiler to know a little more about the bitcode than a straight compiler would.

          The reason why adoption would be slow is that storage space is cheap, and posting binaries allows the maintainers to keep compatibility promises: basically if there's an ARM binary up, you can be sure the maintainer has at least run the package on ARM. Right now, there are only three or four major architectures in use (which three or four depends on whether the package is used in embedded or server/desktop applications), so it's not too much hassle for a package maintainer to build 3 versions of a package and post them to a repo. The alternative saves a little time, but then the maintainer will have to deal with the possibility of someone using their package on an architecture they've never built it on themselves.

          1. FIA Silver badge

            Re: The processor really shouldn't matter to applications these days.

            A problem particular to Linux is that the system-call numbers are different on different architectures (notably between x86 32-bit and 64-bit). I'm sure it's not an unsurmountable issue, but fixing it does require the final-stage compiler to know a little more about the bitcode than a straight compiler would.

            This would only affect static binaries and the odd thing that actually make system calls directly. Most stuff links against libc so wouldn't be an issue.

  5. Steve Channell
    Windows

    CPU meets EPIC / GPGPU hybrid

    All the talk of running the a soft CPU will be designed to avoid the problems of Itanic which pushed all the parallel logic into compiler but never envisioned multi-core processors that make parallel execution quicker with OS threads than the explicit parallel instructions. Once vendors eventually got hold of silicon and compiler kits it was too late to fix the design flaws in the EPIC design.

    Borrowing the GPGPU paradigm of small kernels of code that can be executed in parallel seems like a better approach and Operating systems seem a very good test because each SYSCALL is designed to be atomic.

    if it can me made to run effectively, it should provide breathtaking performance

    1. Torben Mogensen

      Re: CPU meets EPIC / GPGPU hybrid

      Actually, the description reminded me a lot of EPIC/Itanium: Code compiled into explicit groups of instructions that can execute in parallel. The main difference seems to be that each group has its own local registers. Intel had problems getting pure static scheduling to run fast enough, so they added run-time scheduling on top, which made the processor horribly complex.

      I can't say if Microsoft has found a way to solve this problem, but it still seems like an attempt to get code written for single-core sequential processors to automagically run fast. There is a limit to how far you can get on this route. The future belongs to explicitly parallel programming languages that do not assume memory is a flat sequential address space.

  6. Michael H.F. Wilkinson Silver badge
    Coat

    So have they ported Edge to this EDGE architecture?

    Sorry, just couldn't resist

    I'll get me coat. The one with "Get thee to a punnery" in the pocket please

    More seriously, this might well be an interesting development in CPU design. I will wait and see.

    1. bombastic bob Silver badge
      Trollface

      Re: So have they ported Edge to this EDGE architecture?

      PUN-ishment. Heh.

      1. adam 40 Silver badge

        That wan't punny

        (body)

    2. Doctor Syntax Silver badge

      Re: So have they ported Edge to this EDGE architecture?

      Maybe Microsoft made the names coincide deliberately. Edge becomes MS branding across a range of product types?

  7. Peter Gathercole Silver badge

    Garbage recycling analogy

    Whilst your analogy is clever, it doesn't really describe mainstream modern processors.

    What you've ignored is hardware multi-threading like SMT or hyperthreading.

    To modify your model, this provides more than one input conveyor to try to keep the backend processors busy, and modern register renaming removes a lot of the register contention mentioned in the article. This allows the multiple execution units to be kept much busier.

    The equivalent to the 'independent code blocks' are the threads, which can be made as independent as you like.

    I've argued before that putting the intelligence to keeping the multiple execution units busy in the compiler means that code becomes processor model specific. This is the reason why it is necessary to put the code annotation into the executable, to try to allow the creation of generic code that will run reasonably well on multiple members of the processor family.

    Over time, the compiler becomes unwieldy, and late compared to the processor timelines, blunting the impact of hardware development. But putting the instruction scheduling decision making process into the silicon as in current processors increases the complexity of the die, which becomes a clock speed limit.

    I agree that this looks like an interesting architecture, and that there may be a future in this type of processor, but don't count out the existing processor designs yet. They've got a big head start!

  8. Giles Jones Gold badge

    Wintel anti-competitive practices killed off a lot of decent tech. So part of me hopes Microsoft suffers the same fate.

    I can't forget the Sony laptop that was using a Transmeta CPU being cancelled because of Intel intervening.

    1. Kristian Walsh Silver badge

      Transmeta...

      Transmeta failed because they couldn't deliver the cost/performance ratio that they'd promised to customers. Toshiba (it was Toshiba, not Sony) cancelled that laptop product because they couldn't rely on Transmeta delivering the CPUs for it. Intel didn't impede them, because Intel didn't have to - they messed up themselves.

      Intel pretty much ignored Transmeta - at this time, it was capturing Apple's business from Motorola and IBM: getting the last remaining non-Intel PC maker on board was something that was much more valuable to Intel.

      And in any case, Intel's bullying isn't Microsoft's. If the two companies were so joined at the hip as you imply, then Microsoft would not have supported AMD's 64-bit Opteron chips at their launch back in 2003, and Opteron competed with Intel much more directly than Transmeta did.

  9. karlkarl Silver badge

    Its a shame. I wish that they would force developers to use their stupid CrapStore for this platform (requiring more than just a UNIX-like recompile). That way we can watch this platform flop too :)

  10. steviebuk Silver badge

    No doubt....

    ...they'll put DRM on the chips which will detect pirate copies of Windows 10. Much like they've wanted for years. Ignoring the fact such system can do and will fail at points, locking people out of a PC and software they've paid for.

    A tiny bit like the DVD and Blu-ray warnings we all get before the movie. That pirating it is illegal blah blah "Would you steal a hand bag?", "Would you steal a car?". Ignoring the fact, I haven't FING stolen it, I've purchased it but now have to watch your shitty advert. Yet IF I'd actually pirated it, I wouldn't have to watch this as the pirates cut that bit out. It's a sad day when you sometimes get better service from pirates than the official studios that released it.

    1. TheVogon

      Re: No doubt....

      "they'll put DRM on the chips which will detect pirate copies of Windows 10."

      They don't need DRM on chips for that. They already detect pirate copies and it just displays an irritating warning.

  11. Unicornpiss
    Meh

    I guess we'll see..

    Microsoft is such a mixed bag these days of surprising innovation and stupefying failures. I often don't think all of their divisions are on speaking terms with each other. It would be nice to see a new architecture out there, but I'm not holding my breath just yet.

  12. I Am Spartacus
    Linux

    Real opportunity to move forwards

    Todays chips are based on old x86 and x286 instruction sets. The whole way that the page large memory sets makes them unnecessarily complex. We can see this with the way that branch prediction and optimistic instruction execution has cause Spectre and Meltdown bugs. These are bugs that are fabricated in the silicon, making them very difficult to correct. In fact, it will take Intel and AMD years to come up with CPU designs that eliminate them completely.

    Add to this the number of legacy instructions in the hugely complex x86 chipset that have to be maintained, because somewhere, some bit of code, might just make use of them.

    If Microsoft really have come up with a parallel execution model that allows predictive execution to be handled not at the CPU but at the compiler level, then this just might be something new. It is early days, I know, but it sounds interesting. If they can do this whilst making the context switches efficient, then this might be a way forward to a whole new chipset. If that can be done whilst making motherboards simpler, then so much the better.

    I do take on board that Microsoft may very well embed hardware instructions that detect illegal use of Windows, then that is their absolute right to do that. (Last week I sat in a major airport in the middle east, in a lounge, amusing myself that the display panels had "This version of windows in not authenticated" in the corner!). Why does this bother people? If you want to run Windows, then you should pay Microsoft for your copy.

    They may very well include DRM. Again, is this necessarily bad? If half the people who pirate films, games, music actually paid for it, the net cost would be driven down. (And yes, I do believe in Santa Claus, thank you.) Again, personally, I don't see this necessarily as bad.

    But note the article - they already have Linux running on it. So, you can have your FOSS system, with all the access you want to the hardware. You can roll your own pirate scheme for you and your friends if you want.

    The summary is that Microsoft may chose to break the Intel/AMD monopoly with a chipset and instruction set that is designed for the 21st Century. And that sounds to me like a good thing.

    This is from someone who is very anti-microsoft and runs Linux everywhere he can.

    1. Doctor Syntax Silver badge

      Re: Real opportunity to move forwards

      "They may very well include DRM. Again, is this necessarily bad?"

      If it comes up with false positives, yes. How do you know the version running the display panels was hooky? Could it simply be that they were isolated from the internet & couldn't phone home to be verified? You do not want your radiotherapy machine to lock up in the middle of your treatment because it suddenly decided it wasn't running legit Windows.

      1. I Am Spartacus

        Re: Real opportunity to move forwards

        @Doctor Syntax:

        Very true. This reminds me of the thread yesterday on security of SCADA systems when you have air gapped PCs. Yes, Redmond do ned to find a proper way of doing DRM confirmation. But for a company like Microsoft, this is not beyond our technology to solve.

        By the way, the screens I saw were displaying rolling news, so clearly there was an internet connection!

  13. Dominic Sweetman

    Old MIPS hacker

    Early RISC CPUs (late-80s MIPS and SPARC) really were a lot faster than contemporary x86. That was because the instruction set was redesigned to pipeline nicely. Once out-of-order CPUs were worked out and built successfully (though perhaps on the graves of burnt-out CPU designers...) the RISCs had only a small edge on x86, which Intel's better design/silicon easily overwhelmed.

    The approach described is an attempt to create an instruction set which better uses an out-of-order core. This is an interesting idea. Probably only Microsoft, Apple and Google have a big enough codebase and captive audience to develop such a thing.

  14. Anonymous Coward
    Anonymous Coward

    I'm sure it will be THE BEST PLATFORM

    for running Windows

  15. Anonymous Coward
    Anonymous Coward

    OPCODE: BSCR,1

    Blue screen opcode, of course. And forced cpu architecture extension updates. And only compatible with OneDrive opcodes to read data.

  16. Daniel von Asmuth
    Windows

    Hail the future monopoly

    Soon Microsoft can do without Intel, AMD, Dell, HP, Lenovo, & co (and we still get Linux)

    1. TheVogon

      Re: Hail the future monopoly

      "Soon Microsoft can do without Intel, AMD, Dell, HP, Lenovo, & co (and we still get Linux)"

      Yep, Linux runs under the Windows kernel now too.

  17. Anonymous Coward
    Anonymous Coward

    Microsoft parallelism is the CPU equivalent of the chatty 'salesperson' coming to your front door and distracting you whilst his mates have broken in round the back and are now stealing your valuables.

  18. John Sanders
    WTF?

    Obvious questions...

    Why?

    What for exactly?

    What problem does it solve? (That isn't solved already)

POST COMMENT House rules

Not a member of The Register? Create a new account here.

  • Enter your comment

  • Add an icon

Anonymous cowards cannot choose their icon

Other stories you might like