ARM Morello董事会

2020-07-02 03:49:38

2019年10月18日,ARM宣布将于2021年底推出Morello,这是一款实验性的Cheri扩展、多核、超标量ARMv8-A处理器、片上系统(SoC)和原型板。Morello是由英国工业战略挑战基金支持的UKRI GB 187M数字安全设计挑战(DSbD)的一部分,其中包括ARM承诺的超过5000万GB的承诺。这个网页提供了更多关于Morello的信息,摘自公开的ARM内容,以及我们自己关于Cheri的材料。您可以通过阅读我们的技术报告“切里简介”来了解更多关于切利的信息。

Morello是功能架构的工业演示:由ARM开发的原型片上系统(SoC)和开发板,实现了CHERI扩展的ARMv8-A处理器、GPU、外围设备和内存子系统,将于2021年底发货。Morello的目的是实现对Cheri硬件和软件想法的行业评估,收集证据以供采用,并支持进一步的相关研究和开发。这将通过高端成熟的处理器设计和成熟的软件生态系统将Cheri应用到广泛部署的真实架构中来实现。

Morello将基于ARM现有的Neoverse N1平台和CPU;这大致是一款ARM A76,具有增强的服务器级内存子系统。Richard Grisenthwaite(ARM)在2019年9月29日ISCF DSbD合作者研讨会上的演讲包括以下正在进行的Morello SoC框图:

Morello SoC将包括两个CPU集群,每个集群包含两个无序内核,均实现了CHERI。Morello SoC将采用7 nm工艺制造,目标时钟频率在2 GHz左右。

相干存储器互连将被扩展以携带标记位,并且板载DRAM控制器将支持存储器标记。其他支持DMA的设备,包括SoC上的马里GPU,将不会实现CHERI,但在标签交互方面会比较保守。它们将清除其覆盖的任何内存上的标记,以防止功能损坏或引入。

在主板于2021年上市之前,Morello设计的各个方面仍有可能发生变化。

UKRI现已发布了2019年9月26日由设计挑战合作者举办的数字安全研讨会的幻灯片和视频:

罗伯特·N·M·沃森、西蒙·W·摩尔、彼得·休厄尔和彼得·G·诺伊曼。CHERI:功能硬件增强的RISC说明,ISCF数字安全,由设计挑战合作者主办';研讨会,英国伦敦,2019年9月26日。(幻灯片)(视频)

理查德·格里森斯韦特(ARM)。设计数字安全,ISCF数字安全设计挑战合作者研讨会,英国伦敦,2019年9月26日。(幻灯片)(视频)。

曼努埃尔·科斯塔(微软)。硬件存储器安全:挑战与机遇,ISCF数字安全,由设计挑战合作者主办';研讨会,英国伦敦,2019年9月26日。(幻灯片)(视频)。

实施工作正在顺利进行,包括架构、硬件和软件。ARM发布了以下Morello的预期时间表:

Morello板中使用的CPU架构的架构规范(包括XML和伪代码,以支持正式证明和其他自动生成的附属品)。

Morello将实现一个结合了CHERI保护模型(大致类似于CHERI ISAv7)和ARMv8-A(应用级)ISA的架构。ARMv8-A可以在广泛的设备中找到,包括几乎所有的移动设备(例如,iOS和Android手机和平板电脑)以及越来越多的服务器级系统。实验架构是在DARPA支持的合作下开发的,从2014年开始,由ARM、SRI国际和剑桥大学共同开发。

基准Neoverse N1处理器内核实现了ARMv8.2;只支持AArch64(而不是32)。预计除32位兼容性外,所有现有的ARMv8.2-A软件都应该可以在Morello上运行,无需更改。启用了CHERI的软件将能够启用和使用CHERI功能集,以实现细粒度内存保护、软件划分等目的。这种方法允许在支持Cheri的软件堆栈和不支持Cheri的软件堆栈之间进行严格的性能(和其他)比较,并支持我们逐步采用Cheri的目标。

Morello将实现一个超集体系结构,该体系结构支持用于划分的各种机制、对其有效性仍在进行研究的特征集合(例如,针对时间存储器安全的加速),以及用于在微体系结构中实现标记的多种技术(见下文)。这将影响时钟频率,目的是允许运行一组关键的实验,而不是生产商业产品。

理查德·格里森斯韦特(Richard Grisenthwaite)在DSbD研讨会上的幻灯片包括以下关于向未来支持CHERI的ARM ISA的前向兼容性的说明:

从这些实验中学到的东西将被采纳为ARM架构的主流扩展。

但是,成功的概念应该被带到体系结构中,并且可以在那里重用。

基于为Cheri-MIPS开发的OUT方法,该体系结构将具有正式的安全属性。要了解更多关于这项工作的信息,请查看我们在Cheri严谨工程上的页面。

Morello将支持两种不同的物理内存标记实现,以便通过实验比较它们的属性。在一种配置中,ECC位将用于保存存储器标签。在另一种情况下,将使用标签控制器和标签缓存来保存内存标签(请参阅我们关于高效内存标签的ICCD 2017白皮书)。

以下幻灯片来自Robert Watson(剑桥)的DSbD研讨会幻灯片,说明了Morello发货时将提供的粗略预期软件堆栈:

ARM将提供针对Morello中现有架构的Cheri Clang/LLVM编译器套件的改编。

SRI国际公司和剑桥大学将为Morello提供CheriBSD操作系统和应用程序栈的完全适配。这将包括支持空间上和参照上安全的开源UNIX内核,以及空间上、参照上和时间上安全的UNIX用户空间。还将有相关联的CHERI适配工具链和工具,如运行时链接器、调试器等。我们目前预计应用程序将包括OpenSSH、PostgreSQL和WebKit,以及许多其他第三方开源软件包。有关内存安全模型的详细信息和评估,请参阅ASPLOS 2019年关于CheriABI的论文。我们还将提供一个Morello适配的内存安全版本的Google Hafnium虚拟机管理程序。未修改的ARMv8-A应用程序将继续运行。