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 processor: the standard C/C++ and .NET Core runtime libraries, the Windows kernel debugger, Visual C++ 2017’s command line tools, and .NET’s just-in-time compiler RyuJIT.

Microsoft has also ported the widely used LLVM C/C++ compiler and debugger, and related C/C++ runtime libraries. The team wanted to demonstrate that programmers do not need to rewrite their software for the experimental chipset, and that instead programs just need to be recompiled – then they are ready to roll on the new technology.

I had no idea Microsoft was working on its own instruction set – even if only for research purposes. The Register has some more information on what E2 is like.

The Register understands from people familiar with its development that prototype E2 processors exist in the form of FPGAs – chips with reprogrammable circuitry that are typically used during the development of chips. For example, a dual-core implementation on Xilinx FPGAs exists, clocked at 50MHz. The team has also developed a cycle-accurate simulator capable of booting Windows and Linux, and running applications.

Qualcomm researchers were evaluating two EDGE chip designs with Microsoft: a small R0 core, and an R1 core running up to 2GHz fabricated using a 10nm process. The project, we must stress, is very much a work in progress.

It seems to be a radical departure from the norm, and I’m very interested to see where this will lead.

72 Comments

  1. 2018-06-19 11:32 pm
    • 2018-06-20 12:01 am
      • 2018-06-20 12:46 pm
      • 2018-06-21 10:48 am
    • 2018-06-20 8:44 am
      • 2018-06-21 11:47 am
    • 2018-06-20 12:49 pm
    • 2018-06-20 7:15 pm
  2. 2018-06-19 11:55 pm
  3. 2018-06-20 12:42 am
    • 2018-06-20 1:07 am
    • 2018-06-20 1:18 am
      • 2018-06-20 5:00 am
        • 2018-06-20 6:08 am
          • 2018-06-20 10:14 pm
          • 2018-06-20 10:19 pm
        • 2018-06-20 10:04 pm
      • 2018-06-20 7:08 am
        • 2018-06-20 9:28 pm
          • 2018-06-23 1:44 am
      • 2018-06-22 11:18 pm
    • 2018-06-20 7:19 am
    • 2018-06-20 12:55 pm
      • 2018-06-21 6:20 am
      • 2018-06-22 11:23 pm
    • 2018-06-20 1:53 pm
    • 2018-06-20 9:53 pm
      • 2018-06-20 11:11 pm
        • 2018-06-21 12:20 am
          • 2018-06-21 1:40 am
          • 2018-06-21 2:53 am
        • 2018-06-21 3:03 pm
          • 2018-06-21 4:12 pm
          • 2018-06-22 2:43 pm
          • 2018-06-22 4:40 pm
          • 2018-06-23 6:22 pm
          • 2018-06-23 9:03 pm
          • 2018-06-24 6:00 pm
        • 2018-06-23 12:13 am
          • 2018-06-23 1:59 am
          • 2018-06-23 7:13 pm
    • 2018-06-21 11:32 am
  4. 2018-06-20 1:46 am
    • 2018-06-20 2:00 am
    • 2018-06-20 2:17 am
      • 2018-06-20 4:02 pm
    • 2018-06-20 11:09 am
      • 2018-06-20 12:28 pm
        • 2018-06-20 12:50 pm
        • 2018-06-20 9:17 pm
          • 2018-06-21 12:17 pm
          • 2018-06-21 2:07 pm
          • 2018-06-21 7:12 pm
          • 2018-06-22 4:52 am
          • 2018-06-26 11:17 pm
        • 2018-06-20 9:34 pm
        • 2018-06-22 11:38 pm
          • 2018-06-23 1:34 am
          • 2018-06-23 7:17 pm
  5. 2018-06-20 4:03 am
    • 2018-06-20 7:50 am
      • 2018-06-22 2:53 am
  6. 2018-06-20 6:27 am
    • 2018-06-20 9:03 am
      • 2018-06-21 7:30 am
  7. 2018-06-20 12:56 pm
    • 2018-06-20 1:52 pm
      • 2018-06-20 4:44 pm
        • 2018-06-20 7:05 pm
          • 2018-06-20 9:10 pm