• 果壳说
5835
需用时 11:40
Arm 2023全面计算解决方案(TCS23)的背后藏着哪些黑科技?

基于Arm架构的产品,正在改变我们的生活。就去年,Arm推出Arm 2022 全面计算解决方案(TCS22),高通基于此推出了第二代骁龙8移动平台,实现了高阶连接计算的新水平,并为三星、小米、一加、vivo、华硕和红魔等众多品牌创新智能手机提供动力。MediaTek 基于 TCS22 的天玑 9200 移动芯片组,已在高跑分的 OPPO 和 vivo智能手机中搭载使用。

今年5月29日,Arm正式推出Arm 2023 全面计算解决方案(TCS23),移动设备再次迎来全新升级,其背后的技术拥有许多值得探讨的细节。

为什么偏偏是全面计算解决方案

事实上,Arm早在2019 年就开始使用全面计算解决方案(TCS)的方式来进行产品的定义以及开发。目前,已进入第三代TCS,即刚发布的TCS23。

过去四年间Arm一直在努力促成像CPU、GPU、系统级IP元素的融合,通过方案式开发满足不同客户共同的需求,真正实现1+1>2这样的IP的集合,这意味着合作伙伴通借此获得更高的性能和效率。

这些IP合集除了能让合作伙伴获得更高的性能、效率以及水平之外,更重要的是这些解决方案能让合作伙伴开发出针对新的工作负载和更新的计算类型的产品。

“之所以开始采取全面计算这样的一条路,是因为当时看到市场对性能以及效率的要求达到历史新高。”Arm终端事业部产品管理高级总监 Kinjal Dave表示,无论是电视供应设备,还是大型数据中心,最常收到的问题是为什么要使用这种全面计算解决方案的方法。

实际上,这是因为每新出来一代设备,它们就会经历所谓周期,即对算力要求的提升,基于反馈Arm 会开发出新的IP从而提升性能和效率,接着推动新的软件能力、应用以及移动设备的创新诞生,就是这样无限的循环周期,带来我们每一年全面计算解决方案解决效率的双提升。

但每经历这样一个循环和周期,Arm要达到这种期许就会变得更为困难,而且成本也会更高昂。一方面,单独IP要不断把它做强,另外一方面把这些单独的IP集合在一起时,总体的系统级别也要实现性能效率的双提升,这表示不光要考虑在实验室里基准测试数字的提高,还要考虑到现实世界中实际用例。

纵观整个生态系统,不会只有一家或几家能提供全面解决方案。Kinjal Dave强调,Arm 意识到确实存在难度,之所以通过TCS的方式来进行开发,也是希望能够打造一个全面系统级的平台来应对这些挑战。

Arm定义的全面计算解决方案指代的究竟是什么?Kinjal Dave介绍,它包括工具、软件及旗下各种硬件产品,下一层则是Arm架构,再底层便是物理IP还有POP IP。

全新的TCS23在底层IP上有了全新的更新,同时在工具上也提供了新的产品,包括全新旗舰级Arm Immortalis GPU和全新的Armv9 CPU集群,包括Cortex-X4、Cortex-A720、Cortex-A520。

全面计算解决方案,全面的提升

软件方面,TCS23包括三大支柱,即性能、安全及开发者可访问性。非常核心的工作负载是机器学习,它也是软件工作中非常重要的一部分。

TCS23中,Arm更新了库软件,比如 Arm NN 以及 Arm Compute Library (ACL),这些都是开源的软件库,开发者可以利用它优化在Armv9架构CPU和GPU上面机器学习的复杂性。

“我们致力于不断为开发者提供最优化、最佳的机器学习应用性能。” Kinjal Dave表示,开发者可以每个季度从Arm发布的最新软件库优化实现更高的机器学习应用开发。

自2023年1月以来,Arm NN和ACL已通过谷歌的Google Play Store在安卓系统上提供,已有超过1亿日活跃用户。

此外,到2024年,不论Arm NN还是ACL都可以使用谷歌的移动平台,意味着开发者能够在可下载的项目,在默认状态下更新到网络最新的版本,同时意味着能在基于Arm架构上实现开发者获得最高可能的机器学习的潜力。

多年来,Arm一直在大量提供不断优化中的Mali GPU,迄今为止已经交付了超过90亿颗 包括Mali及Immortalis在内的GPU。

在TCS23中,Arm推出了最新的图形处理器,即Immortalis-G720,它基于第五代GPU架构而打造;同时Arm也引入全新的CPU集群,包含新的Cortex-X CPU,展现了令人难以置信的高效以及高性能;新的Cortex-A700系列CPU是全新CPU集群的主力芯片,提供了出色的性能效率,以实现持续高性能和支撑多线程的工作负载;下一代Cortex-A500系列小核延续了最具面积和功率效率的微架构优势,主要适用于设备上的轻量级的工作负载和背景任务。

以上所有产品都是基于最新一代的Armv9.2 架构,同时基于全新的DynamIQ共享单元之上,带来更多的可扩展性和更细致的电源控制模式,确保客户在需要的时候可以获得完整的性能和带宽,在不需要的时候可以通过非常细的颗粒度去降低功率。

此外,Arm还为最新工艺节点和库优化了IP,并且利用RTL方面的专长配置物理IP,以此在先进的技术上,为基于产品设计、制造提供了优化的EDA流程与物理实现。

不仅是在器件上的升级,TCS23已经实现了GPU和系统级IP的优化,从而达到减少延迟以及带宽的用量,并且实现每帧平均减少30% DRAM 的带宽。

DRAM带宽减少为什么这么重要?首先更少量的数据传输,减少外部带宽,就意味着系统需要的电耗降低了。通过架构GPU管道减少数据传输,并且减少系统级缓存,以最优的方式来使用,就可以避免从芯片外加载或者存储数据所带来的对能耗提高的影响。

与去年的TCS 22相比,TCS23设计在新的Immortalis-G720 GPU架构中实施的技术叫做延迟顶点着色,目的是大幅度减少片上和片下数据流量架构特征。

经过测试,DRAM接口内存带宽平均减少30%,辅之于GPU效率提升,在以60 fps的持续性能进行运转时,这些游戏功耗减少了将近20%。

对于Arm合作伙伴来说,可以自行决定,是将节约下来的能耗用于SoC功率计算中,来实现性能进一步提升,或可以把它们存起来,从而实现更长电池续航的时间,让用户能够玩更长时间的游戏。不管是哪种选择,都代表通过解决方案层面的优化,显著改善了用户体验。

GPU方面,Arm已尽最大努力把内核数量归一化,如此一来,就能够从IP中得到同等对比。

机器学习方面,是TCS核心需求之一。过去三代TCS中,Arm为CPU和GPU引入了专门矩阵的ML指令。TCS23中,持续优化硬件和Arm计算库软件。

软件方面,Profile Guided Optimization(PGO)会收集应用执行需要各类数据、信息,基于它进行优化,信息的收集能帮助大家了解到执行这个应用的瓶颈,从而能够有指导的进行调整,获得最大的增益。

比如光线追踪技术,软件以及硬件的优化为它带来的性能的提升。在参考平台上运行的PGO版本的Chromium浏览器就是这种技术带来好处的一个例子。

软件对于性能提升带来的增益在于,安卓动态性能框架(Android Dynamic Performance Framework,ADPF)支持64位迁移和更高的安全性以及持续不断完善的编译器的性能。

安全方面,Arm是通过自下而上的方式实现的,其中包括三个领域,一个是赋能AVF安卓虚拟化的框架,第二个是引入了更高性能的加密算法,第三个就是TF-A的升级。

Arm为什么要提供参考设计?移动SoC设计面临设计复杂性的挑战,表现在四个方面:一是IP本身变得越来越复杂,二是IP可能会跨领域、跨系统,比如MTE技术,三是越来越多样化终端使用场景的出现,四是本身对于这些芯片设计工作来说,在设计选择以及平衡方面的取舍难度也提高了。

通过向合作伙伴提供系统参考设计,Arm能够帮助合作伙伴更好地去应对这些富有挑战性的场景,同时也能够降低他们部署这些复杂新技术所面临的风险,最为重要的是能缩短他们的新品上市时间。

TCS23中,Arm还进行了CPU、GPU以及系统级别的全面能力的优。TCS23在算力上,其实非常好地考虑到了从低端到高端设备的需求,因此TCS23可以在芯片上实现最小的面积,甚至达到最低可能的性能点,为我合作伙伴提供更高的性能可扩展性或者伸缩性。

因此,TCS设计的目标就是让合作伙伴尽可能更高地重复使用设计,通过TCS23,合作伙伴可以在各个领域去利用我们的技术解决方案,从而缩短新品上市时间,从而能把开发时间最小化。

性能飞涨的Arm CPU

众所周知,超大核是Arm近几年的拿手好戏,极为强大的性能,任何大型任务在它手下都轻易而举。

事实上,Cortex-X其实是诞生于一个定制项目,这个项目是为了打造高性能拥有一致性的 IPC 核的产品。

Cortex-X 系列的第一款产品是 X1,它基于Armv8架构,第二代Cortex-X2/3基于Armv9 架构。最新推出的TCS23之下的三个大 IP,分别是Cortex-X4、Cortex-A720、Cortex-A520。“我们可以把它称为Arm史上最强大最具高效性且最有能力的计算集群。”Arm终端事业部产品管理总监Saurabh Pradhan如是说。

Armv9架构无疑是CPU的支柱,它支撑了从安全到机器学习一系列的功能,也是安卓全线的高端机都使用这个架构芯片的原因。该架构中两个重要的技术,一是 MTE,一是指针验证技术。

Cortex-X4是Arm连续实现第四年双位数性能提升的Cortex-X系列产品。在性能方面,与上一代安卓旗舰产品相比较提升15%,除性能外,它也是Arm最为高效的,面积效率比最高的Cortex核产品。它也具备更高的可伸缩性,最高可以支持每个核2M的2级缓存。同时,它还具备架构的领先性,因为它是基于最新的Armv9.2架构。

Cortex-X4是在面积效率方面最为高效的Cortex-X系列产品,从面积上来说,其实它比Cortex-X3增加的面积不超过10%。

Cortex-X4是如何实现这种极致性能的?据Arm首席CPU架构师兼研究员Ian Caulfield介绍,在前端取指令方面,以前是一个周期取一个指令,但是现在可以一个周期实现十个指令的提取。同时与Cortex-X3相比较,Cortex-X4在性能上有进一步的提升。这个是业界领先的属性,即一周期取十个指令,尤其当出现了一些分支错误预测的时候,它能够快速地再去弥补,把新的指令取过来。同时,它使用了先进的最新的分支预测性,可以保证有条件的分支准确率。

Cortex-A720是CPU集群产品中的主力产品,它是在持续性能方面的业界领先IP。对比Cortex-A715,Cortex-A720在高效方面实现20%的提升,可让合作伙伴的设备在更长时间内支持多线程的应用处理。除针对高端机的手机时长,Cortex-A720在面积配置性方面还做了扩展,从而能满足其他档次的手机市场。

Cortex-A700系列的产品实际上是功效性能最优化平衡的产品,对于Cortex-A700系列产品,Arm不光用基准测试工具来检测它的性能,更为重要的是结合现实场景中的用例,来确保技术优势体现。

Cortex-A700系列产品的性能提升完全得益于v9架构上的优化。事实上,在其中Cortex-A720实现了比上一代更高的性能,同时它还引入了针对一些可能低功耗的市场需求,更小面积的配置。

此外,Cortex-A720的效率提升是得益于前端的设计:从分支错误预测的恢复来看,Cortex-A715需要12个周期,但是Cortex-A720缩短到11个;在Cortex-A715中管道的设计也沿用到了Cortex-A720,与Cortex-A715相比较,同等面积它能处理更多的工作负载;从矢量到整数数据传输,也实现了加速;在数据转发方面,拥有更好地实现了排队队列的效应。

Cortex-A520实现了最佳的电源效率,与Cortex-A510相比较,能效方面拥有22%的提升。尤其针对于低密度背景任务而言,能延迟电池的续航时间。事实上,它也是Arm的封装最小的一款Cortex产品,非常适用于入门级和终端的手机设备。

Cortex-A520基于Armv9.2架构,基于Cortex-A510所引入的汇聚核的微架构,多个核在一个片上共享2级缓存和UCC,实际上,它还使用了QARMA3的PAC算法,进一步降低了1%功耗。同样的,它也是纯64位的内核,完成了Arm最终TCS23CPU集群向64位的迁移。

与Cortex-A510相比较,Cortex-A520在内存系统方面进行了再构造,同时Cortex-A520 Cortex-A520就减少了一个ALU管线,变成了两个整数值的管线,通过这样的管线调整,Cortex-A520在发行逻辑方面就能够减少数据转发的流量。如果单独来看,管线从三减少到二,会带来性能降低,但是在其它结构方面弥补了性能的减少。通过如此结构化的优化,最终达到Cortex-A520相较Cortex-A510的性能提升,最关键的是Cortex-A520的效率也是高于Cortex-A510的。

以上三款IP均基于全新的Armv9.2架构,也都是纯64位IP产品,意味着Arm完成了向64位的迁移。

事实上,Arm是唯一一家厂商能够同时提供三个不同核的微架构,这也是Arm的优势。通过三个不同微架构的内核去服务于各种各样的计算用例场景。Arm的核心的设计哲学是——Cortex-X设计理念就是追求终极的性能,同时兼顾效率,Cortex-A700系列是在一个给定的功耗的极限之内去追求最高的性能,Cortex-A500系列的重点就在于追求最高的能效,而Arm坚持超大核、大核和小核自己独特的设计哲学,从而给予合作伙伴最优的选择组合。

一个全面解决方案,需要有DSU才完整的,DSU-120便是将它们有机耦合在一起的关键。

今年的DSU实现了三方面的提升:一是可伸缩性,在一个集群中可以支持高达14核,同时能够支持24M或者最高达32M的3级缓存,可以针对笔记本及笔记本以上的一些设备进行使用;二是新的PPA上,它可以进一步降低漏电,同时支持更多新的电源模式;三是全新的功能,由于基于最新的Armv9.2架构,它可以支持比如带宽分区还有节点最大化和纳入一些新的接口。

DSU的伸缩性可大可小,根据具体的应用,最小的配置可以是一个小核,最大的配置可以是10+4,所以一个DSU最多可以支持14个核,如果合作伙伴的核超过了14个,可以使用多个DSU。

根据Arm首席DSU架构师兼研究员Alex Waugh的介绍,DSU-120针对于3级缓存还有探听过滤器,实现了每一片逻辑的分离,均可以配置,对于不同的带宽需求它可以是支持1~8 个片等级的配置,同时它拥有同类最佳的电源管理,引入了先进的断电模式,比如漏电保护模式以及自动电源管理的模式。

经过基准测试,配置1+3+4可以实现33%的提升,配置是1+5+2能够提升27%。

GPU对移动端来说也至关重要

AI浪潮下,GPU已经到达史无前例的高度。“而事实上,所有旗舰级的SoC中,对于GPU芯片面积预算的需求每年都在增加。”Arm终端事业部产品管理高级总监Anand Patel这样介绍道。

去年Arm推出了Immortalis作为旗舰级GPU,基于第四代Valhall GPU构架,当时Arm还发布了新的Mali-G715和G615 GPU。目前为止,其可扩展性仍然是无与伦比的,赋能设备最新的图形功能。

今年Arm带来了三款全新的GPU产品,全部基于全新的第五代GPU架构。

第五代GPU架构将会推动下一代视觉计算交付,专注于系统级图形性能,意味着不仅是GPU本身能够提供最佳的性能,它与外部内存、CPU系统级缓存在执行中也能实现最佳性能。这是通过更为先进的渲染管线实现的,这些管线能够提高功效,并且带来更具有沉浸感的游戏以及实时3D的应用程序,能让这些程序有更长的运行时间。

全新的Immortalis-G720带来全面系统级的效率提升,使用内存带宽最终减少40%。从GPU效率来说,每瓦特性能能够平均节省15%,意味着它拥有者持续释放性能的能力。

为何Immortalis-G720性能如此强劲?这是因为其中拥有许多新的产品功能:首先是全新的渲染管线延迟顶点着色简称DVS,它彻底解决了集合数据流,有助于在用到最复杂的场景时保持帧率的一致性,非常好地验证了下一代高几何内容的未来; 其次,它将延迟顶点着色VRS的性能增加到4X2或者4X4着色,能够让GPU在更粗的粒度之下进行片断着色,比如一个线程每次可以在4X4象素的补丁上进行着色,在整个4X4的着色率情况下整个速度提高了16倍;最后是物理设计的改进,一是调整了时钟、电压和功率域的边界,使各域的操作点脱钩,为GPU功率使用提供了更大灵活性,可以降低着色器内核的速度,并在内存系统中花费更多的功率,从而应对内存系统的限制。

在开发方面,Arm继续在Arm Mobile Studio中提供开发GPU的工具,与去年不同的是现在所有的功能都是免费的,可以帮助开发者针对Arm GPU进行优化,从而实现开箱即用的出色性能。

比如profilers数据分析器还有事件追踪、能计数器、着色器分析、图形API调试等,Arm也正在为新的Mobile Studio开发一个新的工具,开发的新功能为Frame Advisor,而它将在今年年底会推出。它是基于一个帧的游戏分析器,支持Vulkan还有OpenGLES,使用一个层驱动来捕获每一帧中所有的API调用,有一个分析引擎,为开发者提供反馈。

过去的一年中,Arm一直致力于提高游戏开发者在光线追踪技术方面的采纳,Arm也一直在开发光线追踪技术的最佳实践。今年Vulkanised大会,Arm上分享了这些最佳实践,比如和腾讯游戏以及MediaTek进行合作,在今年的GDC上发表了一篇关于SmartGI的论文,又比如,与Google和Unity在自适应领域的合作,再比如与Epic和其虚幻虚拟引擎5进行合作,在安卓上用桌面渲染器,在名为SteelArms演示中使用该渲染器来部署更高质量的图形。

除了旗舰产品Immortalis-G720,Arm还发布了提供6~9个内核的Mali-G720以及提供多达五个内核的Mali-G620,而在第五代的GPU架构下,能够确保用户能在Arm上持续获得最佳的视觉体验。

安全,永远不会缺席

“MTE 是未来数字化和更加好的智能化体验的基础。”Arm终端事业部软件战略总监卢旻盛如是说。

事实上,内存安全对整个行业影响并不是一个新的问题,比如说Google的Chrome project,微软在2019年会议指出内存安全占了CVE非常严重的软件漏洞的比例超过70%。

什么是内存安全漏洞?从理念上来说,基本分两种,空间型的漏洞和时间型的漏洞。空间型是指在C+和C++编译语言中,如果能把这个指针指向超越范围的我们称之为空间型的漏洞。其实某块内存已经在使用的范围里面被释放,如果还被使用的话就会存在时间型的内存安全。

所以MTE是Armv9的基础性能,它也是64位架构和应用未来的趋势,Arm实现的MTE 为两阶段系统,即“锁”和“密钥”。如果密钥匹配,则允许访问锁内存;否则,访问可能会被记录下来或出错。这样就可以更轻松地检测到难以捕获的内存安全错误,也有助于进行常规调试。在锁和密钥两阶段系统中,存在两种类型的标记:

•地址标记,用作密钥。这将在进程中每个指针的最高位增加四位。地址标记仅适用于64位应用,因为它使用了“高字节忽略”功能,这是 Arm  64 位的一个功能。

•内存标记,用作锁。内存标记也由四位组成,与应用内存空间中每个对齐的 16 字节区域相连接。Arm 将这些 16 字节区域称为标记颗粒。这四位并不用于应用数据,而且是分开存储。

而MTE基本上从原理上,就防止了空间和时间型风险,所以说,MTE不可或缺。

写在最后

Arm 2023 全面计算解决方案(TCS23)绝对不止是一两个硬件的升级,而是从底层到上层,从硬件到软件的全面焕新。

之所以Arm每年都有新的解决方案的发布,也是基于合作伙伴对于性能以及效率不断提升的需求,希望自己的产品算力、性能等方面不断提高,所以基于他们的需求才有这样技术进步的速度。

现在,移动端的功能越来越多,而需求的不只是算力和能效,还包括更多开发性和安全性的追求,而TCS23无疑已经满足了现阶段所有要求。

文/付斌

The End

举报这篇文章

果壳说

果壳作者

pic