Mohit Taneja
2021年4月27日
Neoverse N1于两年前推出,对于Arm和我们的合作伙伴而言是非常成功的。越来越多的云提供商用户看到了惊人的每瓦性能和每美元性能。在5G和网络方面,合作伙伴正在构建差异化的解决方案,这些解决方案已经为下一波5G解决方案提供了动力。
Neoverse N2-Arm的第一个Armv9基础架构CPU
Neoverse N2根据Neoverse N1和Neoverse V1遗留的问题,从Armv8.4,Armv8.5,Armv8.6和Armv9引入了新功能。在接下来的几节中,我将重点介绍其中的一些功能。
性能:SVE2
Neoverse N2是我们的第一个具有可扩展矢量扩展版本2(SVE2)的基础架构核心。SVE2建立在可伸缩矢量扩展(SVE)的基础上,将可伸缩的SIMD矢量性能和先进的自动矢量化功能带给更广泛的软件,包括ML,DSP,正则表达式和5G RAN。
对于传统架构,每次在硬件中引入新的矢量长度时,都必须重新构建和优化代码,以利用附加的矢量带宽。SVE和SVE2都是向量长度不可知的SIMD指令集,允许用户编写和优化代码一次,编译一次并在各种硬件上运行。SVE / SVE2自动调整代码以充分利用可用的矢量带宽。随着新技术使我们能够构建更大的向量机,如今使用SVE / SVE2编写和编译的代码将自动扩展至这些更大的机器。
SVE2更简单的编程模型,以及与Neon指令无关的新向量长度版本,使编译器可以更轻松地对向量进行自动向量化。这使程序员可以利用向量化的优势而无需做任何特殊的事情。 尽管Neoverse N2继续完全支持NEON用于预先存在/预先优化的代码,但我们建议将新的开发/优化工作集中在SVE2上。由于它是向量长度不可知的,因此SVE2可以极大地延长软件开发和投资开发中的ROI的使用寿命。
有关更多信息,请访问我们的SVE / SVE2开发人员页面。
性能:微体系结构更新
Neoverse N2比Neoverse N1带来了40%的IPC提升(SPECint2006 est。)。它可以实现这种提升,同时保持与Neoverse N1非常相似的面积/功率效率,并且是平衡的CPU。这种性能提升并非来自任何一项微体系结构功能,而是来自全面的改进。这种提升不仅限于合成基准测试,我们还看到了实际服务器工作负载的强劲提升。
随着CPU设计人员追求性能的提高,在不付出功耗和面积效率成倍增加的代价的情况下,获得性能变得越来越困难。在设计Neoverse N2时,我们非常专注于保持CPU的功率和面积效率,而不是以性能为代价。为了消除这些矛盾的目标,我们设法将Neoverse N2定位在此曲线的拐角处。对于N2中的新微体系结构功能,我们的门槛很高,它们必须具有强大的功耗和面积ROI。此外,我们花费了大量时间优化现有结构,以提高性能和效率。
相对于Neoverse V1,Neoverse N2较少依赖管道的宽度和深度来实现其性能。Neoverse N2还具有更适度的推测,矢量带宽和加载/存储带宽。Neoverse N2保留了Neoverse V1中的许多有效功能,包括分支预测算法,数据预取算法和替换策略。此外,Neoverse N2包括Neoverse V1中引入的Mop缓存,该缓存可在基础架构工作负载中经常出现的小型内核上获得强大的性能提升。所有这一切都是为了保持核心的平衡性,同时在与云到边缘部分相关的工作负载上实现强大的性能提升。
可扩展性
由于Neoverse N2是我们N系列的一部分,因此它必须是非常可扩展的CPU,并为我们的合作伙伴提供从云到边缘空间的自由。合作伙伴可以构建低核数,低频率,功率包络优化的系统,或者采用相同的N2核,并为数据中心构建高核数,高频率,大存储带宽的怪物。在这样的大型系统中,效率配置文件使合作伙伴可以在每个插槽中容纳更多的线程。随着基础架构SoC的增长,管理共享资源变得越来越重要。我想介绍一些我们添加的新功能,以进一步提高这些大型系统的可伸缩性。
内存分区和监视(MPAM)
MPAM限制了共享资源中的进程交互和干扰,并提供了一种以进程粒度跟踪和控制对共享系统资源(如缓存和内存带宽)的访问的机制。Neoverse N2在事务离开CPU时为其分配标签。这些标记随着它们在系统共享资源中的工作而保留在事务中。这为沿路径的智能代理提供了一种机制来监视,限制或保证可用于进程的资源数量。在大型系统中,MPAM可以帮助缓解嘈杂的邻居并帮助实现服务水平协议(SLA)。
Completer Busy (CBusy)
CBusy提供了一种机制,可以根据整体系统拥塞自动调节CPU流量请求。众所周知,我们对当地的高速公路系统非常熟悉,因此如果发生交通拥堵,没人能取得很大的进步。CBusy提供了一种调节系统中CPU的方法,以防止这种拥塞和相关的重试,这只会使问题更加复杂。CBusy信号从限制投机交易开始,但是如果拥塞足够严重,它也可以限制所有交易。CBusy的目标是在限制拥塞的同时,保持对排队资源的最佳使用。这使Neoverse N2可以在不拥挤的环境中利用所有可用带宽,而在拥挤的情况下,可以限制其使用量以提供更好的系统级性能。
具有性能定义的电源管理(PDP)的电源效率和电源管理
Neoverse V1引入了两种有助于电源管理的关键机制:最大功率缓解机制(MPMM)和调度节流(DT)。这些机制使合作伙伴可以构建可以在功率预算内最大化性能的系统。两者都包含在Neoverse N2中。
在Neoverse N2中,我们还添加了一种称为性能定义的电源管理(PDP)的新机制。PDP的目的是正确调整工作负载的功耗,即PDP允许CPU动态缩放微体系结构,以最大程度地提高给定工作负载的电源效率。PDP在CPU上分布着多个杠杆,它们可以更改CPU的宽度,深度和推测,以使微体系结构与正在运行的工作负载相匹配。PDP不仅会影响内核的总功率,而且还会提高内核的功率效率。
安全
无论在谈论云服务器还是5G基站时,安全性在我们的基础架构中的重要性都不能高估,安全性是任何设计的主要因素。Neoverse N2提供了许多新功能来帮助满足这一需求。
指针认证(PAC)和分支目标指令(BTI)
- 防止面向返回编程的跳转面向跳转编程的代码重用攻击。
- 提供机制以最小化可供恶意行为者利用的可用小工具。在GLIBC上,启用PAC和BTI可将可用小工具的数量减少97%以上,而代码大小的损失仅为1%到–2%。
内存标记扩展(MTE)
- 内存安全问题占安全漏洞的70%或更多。
- MTE提供了一种检测内存安全违规的机制。MTE通过提高测试和模糊测试的效率来帮助在部署之前检测潜在的漏洞。MTE还有助于在部署后大规模检测漏洞。
- 易于部署的内存安全违规检测和缓解措施可能会阻止大量安全漏洞被利用。
安全EL2
今天,安全的世界是全有还是全无。如果某个应用程序是受信任的并且放置在安全的世界中,则很难将其访问限制在受信任的区域内。但是,当我们进入由不同供应商提供的许多不同应用程序的世界时,其中许多生活在安全的世界中,因此能够将这些应用程序彼此隔离变得越来越重要。安全EL2扩展增加了对安全世界中虚拟化的支持。这将可用于非安全状态的虚拟化的功能带到安全状态,并启用安全分区管理器。安全分区管理器启用安全空间分区,为分区提供所需的安全访问权限,同时将它们彼此隔离。
Neoverse N2的Arm POP IP
作为我们N2平台的一部分,我们还在Neoverse POP IP保护伞下开发了最佳的物理实施方案,以加快产品上市时间。Neoverse N2 POP IP在最先进的5nm工艺中可用,许多工艺正在过渡之中。如果我们将左侧的N1与右侧的N2进行比较,则表明IPC提升了40%。此外,随着跃迁至5nm,我们有可能将频率提升10%,同时保持功率和面积大致相等。如果Neoverse N1 PPA非常适合您的工作负载和7nm功率范围,那么5nm的Neoverse N2则非常适合。
Neoverse N2参考设计
除了我们的Neoverse核心外,我们还为合作伙伴提供快速启动设计所需的关键资源。我们将提供Neoverse N2参考设计以及CPU。该 参考设计针对5G,网络,SmartNIC和超大规模。
- 使合作伙伴能够引导设计。
- 提供体系结构指导和最佳实践。
- 启用左移软件开发。
包含在参考设计中:
- PPA和基准测试结果可帮助您确定规模。
- 建立可比系统的技术指导。
- 用于软件开发的固定虚拟平台。
- 参考软件堆栈。
我们使用这些参考设计的目标是使合作伙伴能够在第一天启动操作系统。要了解有关参考设计的更多信息,请访问Neoverse参考设计页面。
结论
Neoverse N2平台大大提高了云到边缘性能效率的标准。它建立在Arm Neoverse生态系统与Neoverse N1共同构建的惊人牵引力的基础上,同时带来了关键的性能,能效和安全性升级。我们预计合作伙伴的Neoverse N2硅将在2021年底前提供样品。我们迫不及待地希望客户体验Neoverse N2将为云到边缘解决方案带来的额外好处。