现在微软将Windows 10,Linux移植到本土的CPU设计中

微软已经将Windows 10和Linux移植到了E2,这是其最主要的秘密的花费数年时间研发的自产自销的处理器架构。

这个美国操作系统巨头的研究人员说,除了两个操作系统之外,他们还移植了Busybox和FreeRTOS,以及用于开发和构建处理器应用程序的一系列健康工具包:标准的C / C ++和.NET Core运行时库,Windows内核调试器,Visual C ++ 2017的命令行工具以及.NET的即时编译器RyuJIT。

微软还移植了被广泛使用的LLVM C / C ++编译器和调试器以及相关的C / C ++运行时库。

该团队希望借此证明程序员不需要为实验芯片组而重写他们的软件,而需要重新编译程序。

然后他们准备推出新技术。

E2的设计与英特尔,Arm,AMD等设计的计算机芯片大相径庭。它使用被称为显式数据图执行的指令集体系结构,即EDGE,它不会与微软的Edge浏览器混淆。

该寄存器从熟悉其开发的人员了解到,原型E2处理器以FPGA的形式存在 - 在芯片开发期间通常使用具有可重新编程电路的芯片。例如,Xilinx FPGA上的双核实现存在,其主频为50MHz。该团队还开发了一个能够启动Windows和Linux并运行应用程序的周期精确模拟器。

高通公司的研究人员正在评估两种EDGE芯片设计:微型R0内核和采用10nm工艺制造的运行频率高达2GHz的R1内核。我们必须强调的这个项目目前还是一项正在进行的工作。

加入队列

在外面,一个典型的主流处理器看起来像一个垃圾回收器一样运行,只有一条传送带进入垃圾回收器:垃圾一个接一个地送入铁兽的颚中消耗。在里面,有一台机器人把废物分成几组,然后将它们送到各自独立的传送带上,由机器的不同部分处理。一条传送带会带塑料,另一条,会是另一种物料等。

今天的计算机,服务器和智能手机处理器的工作原理与软件说明相同。以ARM Cortex-A76为例,该指令将获取的指令拆分为八个传送带,这些传送带进入内核的其余部分:四个用于整数数学运算,两个用于浮点运算,两个用于访问存储器中的数据。核心的前端试图在传送带上放置指令,因此即使这意味着无序执行代码,处理器也总是会沿着每条通道处理某些内容。

你想要避免的情况是,例如,其中一个整数数学单位在那里,而处理器在其他队列排队时没有任何事情要做:这是浪费资源。如果一条队列上的指令依赖于另一条队列后面的指令输出,则处理将被阻止。所有这些指令的执行都是按计划安排的,每秒解决10亿次,因此处理器可以完成工作。

但是,可能有更好的方法:E2中使用的EDGE方式。它通过将程序分解成简单的指令块来实现,这些指令可以作为原子事务一起安全地执行,而不需要数据依赖性来维持处理。在代码块中,代码使用自己的专用寄存器,避免访问全局核心范围的寄存器文件。编译器还会对代码进行注释以描述数据在程序中的流向,从而允许CPU相应地调度指令块。

关键的是,在处理这些模块的许多核心小型执行单元中,许多指令可以一次执行。与Cortex-A76中的八条传送带不同,设想32或更多,就像前面提到的Qualcomm R1设计一样。R1是32位指令宽度的无序处理器蓝图,R0是8位宽度。

总而言之,这种超级RISC方法的目标是比竞争对手的架构更快运行软件。

历史

自2010年以来,微软一直在其研究实验室中悄悄地开发EDGE处理器。尽管如此,该技术在21世纪初在美国德克萨斯大学奥斯汀分校以TRIPS(Tera-op,可靠,智能自适应处理系统)的形式开始了其生命周期。Tera-Op指的是生产1 TFLOPS处理器的目标,每秒处理器可实现1万亿次浮点运算。在那时,这个速度算很快,但是,今天的图形处理器和专业硬件加速器的运行速度可能会比这更快。

现在哪怕是您的计算机的顶级通用CPU的运算速度就可以接近或超过TFLOPS的这个速度。

TRIPS项目的研究工作在10年结束之前开始生产和展示雄心勃勃的原型芯片。来自TRIPS的知识,经验和架构理念进入了微软的研发实验室,并融入到现在的E2项目中,该项目旨在利用其新颖设计超越目前的英特尔和Arm内核。

现在

虽然E2的开发已经进行了好几年,但本月发生的三件事情都很重要。首先,据该团队称,Windows 10已经被移植到该架构中,并且已经可以为应用程序开发人员提供大量支持材料,以允许他们为该平台构建应用程序。

2017年10月,研究人员表示他们能够启动Linux。

其次,美国芯片设计巨头高通正在与微软合作。

第三,微软的网站没有关于E2的更多信息 - 而现在在线的并不是关于它的信息。上周,微软官网奇怪地删除了这个关于这个项目的网页,留下了URL重定向到一个不相关的项目。

在今年的加利福尼亚州举办的本年度计算机体系结构国际研讨会上,微软研究人员Doug Burger和Aaron Smith以及高通公司处理器研究部高级工程总监Greg Wright登上了舞台谈论他们的EDGE工作,并演示Windows在E2模拟器上运行的情形。Burger共同领导TRIPS项目,并在位于奥斯汀得克萨斯大学的Smith博士的工作中负责为CPU设计构建软件。现在都在微软研究院。

Aaron Smith演示Linux和Windows在EDGE架构上运行。#isca18 pic.twitter.com/65DuhdhTgQ - SIGARCH(@sigarch)2018年6月6日

E2的指令集已经在几年前完成了,我们被告知,现在进行的工作大部分都是秘密的。但是,我们确实知道每个代码块都从全局寄存器读取数据到临时专用寄存器开始,然后处理该数据,最后将结果写回全局寄存器。

微软在设计芯片方面已经有了一定的形式:例如,HoloLens虚拟现实护目镜中的数学加速器。它也适用于大量的私人研究项目,而且一些项目已经进入商业应用领域 - 比如在Linux上将Drawbridge导入SQL Server - 而其他一些项目则一直是实验室实验。

据推测,这种E2设计可能最适合在FPGA中实现“软”处理器。

  • 发表于:
  • 原文链接http://www.theregister.co.uk/2018/06/18/microsoft_e2_edge_windows_10
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券