5月29日,Arm正式宣布推出2023全面计算解决方案(TCS23),该解决方案提供一整套针对特定工作负载而设计与优化的最新IP,可作为一个完整系统无缝地协同工作,从而满足日益增长的移动用户体验需求。
(相关资料图)
6月8-9日,Arm在北京举办为期两天的媒体技术日活动,来自Arm总部的技术专家们亲临现场,深度解读了TCS23,包括在CPU、GPU、安全及软件方面的最新技术动态,并分享了Arm在终端设备领域的应用创新和市场洞见。本文也将整理汇总出各位技术专家的精彩观点,以飨读者。
TCS23:满足未来计算复杂需求
在开场致辞中,Arm产品营销副总裁Ian Smythe提到,Arm 2023全面计算解决方案在设计时充分考虑了智能手机的需求,它涵盖了首屈一指的全新旗舰级Arm Immortalis GPU,带来最佳的视觉体验,它提供了全新的Armv9 CPU集群,延续了Arm在智能AI的领先性能地位,以及带来新的提升和优化,使Arm开发者能够更容易地访问软件,这些元素全部结合在Arm 2023全面计算解决方案中,为整个系统的关键工作负载带来了显著提升。
毫无疑问,Arm所发布的全新的TCS23是针对移动计算的最优选的计算平台,它包括了最尖端的CPU 术和GPU 技术,能够让游戏开发者以及人工智能应用开发者实现沉浸式体验的打造。它除了在硬件方面,还包括软件以及安全保驾护航的一些技术。与此同时,Arm也给世界各地的开发者提供无缝的软件开发体验,并确保开发者能够充分释放其创造潜力,为现代工作负载充分发挥设计才能。
实际上,从2019年开始Arm就持续在以解决方案的角度进行技术产品的开发,并努力促成CPU、GPU、系统级IP元素的融合,通过方案式的开发满足不同客户共同的需求,真正实现“1+1>2”这样的IP集合。这些IP合集除了能让合作伙伴获得更高的性能、效率以及水平之外,更重要的是这些解决方案能让合作伙伴开发出针对新的工作负载和更新的计算类型的产品。
Arm为什么要采用这种全面计算解决方案的方法?据Arm终端事业部产品管理高级总监Kinjal Dave介绍,每一代新出来的终端设备,通常都是满足最终用户的非常复杂的期许,比如出现了人工智能方面的应用,就会收到来自开发者或OEM的反馈,基于这个反馈Arm会开发出新的IP从而提升性能和效率,接着会推动新的软件能力、应用以及移动设备的创新诞生,就是这样一个无限的循环周期,带来每一年全面计算解决方案解决效率的双提升。
Kinjal Dave进一步表示:“对于Arm来说,我们每年推出的TCS在性能跟效率方面都必须实现进步。所以我们要采取一种平衡。一方面,单独的IP要不断把它做强,另外一方面把这些单独的IP集合在一起时,总体的系统级别也要实现性能效率的双提升,这表示我们不光要考虑在实验室里的这些基准测试数字的提高,同时还要考虑到在现实世界中的实际用例,从而为我们的合作伙伴提供融合了这些单独IP的系统级解决方案所带来的完整性能提升。”
Arm史上最强大CPU计算集群
据Arm终端事业部产品管理总监Saurabh Pradhan介绍,这次TCS23之下的三个大IP:Cortex-X4、Cortex-A720、Cortex-A520,可以被称为Arm史上最强大,最具高效性,且最有能力的计算集群。
具体来看,Cortex-X4是Arm连续实现第四年双位数性能提升的Cortex-X系列产品,在性能方面与上一代安卓旗舰产品相比较提升15%。除了性能之外,它也是最为高效的,面积效率比最高的Cortex核产品。同时它也具备更高的可伸缩性,最高可以支持每个核2M的2级缓存。
Cortex-A520则实现了最佳的电源效率,与Cortex-A510相比较,它在能效方面提高了22%。尤其针对于低密度背景任务而言,能延迟电池的续航时间。它也是封装最小的一款Cortex产品,非常适用于入门级和终端的手机设备。
Cortex-A720是CPU集群产品中的主力产品,它是在持续性能方面的业界领先IP。对比于Cortex-A715,Cortex-A720在高效方面实现了20%的提升,可以让合作伙伴的设备在更长时间内支持多线程的应用处理。除了针对高端机的手机时长, Cortex-A720在面积配置性方面还做了一个扩展,从而能满足其他档次的手机市场。
值得一提的是,以上三款 IP 都是基于全新的Armv9.2架构,也都是纯64位IP产品。
除此之外,Arm今年还发布了DSU-120,不光可以把所有的IP很好地结合在一起,同时也是催化剂,能够实现CPU集群最好的性能和效率。
据了解,今年的DSU实现了三方面的提升,第一是可伸缩性,在一个集群中可以支持高达14核的数量,同时它能够支持24M或者最高达32M的3级缓存,这可以针对笔记本及笔记本以上的一些设备进行使用;第二个提升体现在新的PPA上,可以进一步降低漏电,同时支持更多新的电源模式,进一步提高电效,从而延长电池寿命;第三是全新的功能,基于最新的Armv9.2的架构,它可以去支持比如带宽分区还有节点最大化和纳入一些新的接口。
不难发现,在今年的集群中所有的IP都实现了极大的能效提升,能满足合作伙伴的产品高性能以及低功耗的需求。除了性能与功耗之外,Armv9平台架构一经推出就给市场带来了新设备的浪潮,这些设备安全性、性能更高,而且有更好的技术开发者可接入性。所以今年这个架构更进一步,分别由 Armv9.1和Armv9.2所带来一些新的功能,比如PMU方面的完善还有工具方面的新功能。所以这些架构的进步都是针对TCS23的三大支柱来做的:安全性、性能,以及开发者的体验或者可及性。
Saurabh Pradhan总结表示:“总而言之,CPU集群是一个团队作战的任务,对于 Arm 而言我们一直承诺于不断地提升我们产品的系统级的性能、功效。我们整个产品组合都在追求这些性能功效的提升,从而能够接入新的市场,同时也让低端和终端的市场使用到最新的创新技术。”
基于第五代全新架构的Immortalis-G720
在所有的旗舰级的SoC中,GPU对芯片面积预算的需求每年都在增加,Arm也不例外。去年,Arm推出了旗舰 GPU 产品 Immortalis-G715 ,它是基于第四代Valhall GPU构架,当时发布了Mali-G715和G615 GPU。今年,Arm再次带来了三款全新的基于第五代架构的GPU产品,新GPU将继续面向广泛的市场,从高端的智能手机到笔记本电脑、汽车、电视、VR、机顶盒、手机等。
据Arm终端事业部产品管理高级总监Anand Patel介绍,第五代GPU架构延续了上一代Valhall GPU架构的成功,将专注于系统级的图形性能,推动下一代视觉计算的交付。不仅GPU本身能够提供最佳的性能,同时它与外部内存、CPU 系统级缓存在执行中也能实现最佳性能。
据悉,这是通过更为先进的渲染管线来实现的,这些管线能够提高功效,并且带来更具有沉浸感的游戏以及实时3D的应用程序,而且能让这些程序有更长的运行时间。可以说是为第五代GPU奠定了基础,让它能够进一步完善游戏体验新功能。
Anand Patel重点介绍了基于Arm第五代全新架构的Immortalis-G720。全新的G720带来全面系统级的效率提升,使用内存带宽最终减少40%,从GPU效率来说,每瓦特性能能够平均节省15%。
此外,Immortalis-G720上还搭载了DVS(延迟顶点着色)技术,这是全新的渲染管线,彻底解决了集合数据流。“DVS其实对很多现在常见的内容完善都是非常有增益的,它有助于在用到最复杂的场景时保持帧率的一致性,这也就非常好地验证了下一代高几何内容的未来。”Anand Patel展示了Immortalis-G720对比Immortalis-G715针对几款流行游戏进行测试的数据,可以看到在使用更少内存带宽的情况下,可以减少DRAM的功率并且同时还能提高性能。此外Immortalis-G720在写入WRITE BW带宽方面提高了31%,帮助用户总体带来20%性能的提升。
Arm还将为开发者在Arm Mobile Studio中提供开发GPU的工具,与去年不同的是现在所有的功能都是免费的,相信这些功能可以帮助开发者针对Arm GPU进行优化,从而实现开箱即用的出色性能。除了Immortalis-G720以外,Arm今年还带来了Mali-G720和Mali-G620,其中Mali-G720支持6-9个内核,Mali-G620提供多达五个内核,能为开发者带来显著的效率性能的提升以及其他的益处。
携手合作伙伴解读安全技术
Arm终端事业部软件战略总监卢旻盛针对安全主题分享了Armv9的技术原理和对整个形态和计算的影响,其中重点强调了内存标记扩展(Memory Tagging Extension, MTE)特性。据了解,MTE可以帮助开发者在部署之前和之后检测到内存安全问题,保证App内存稳定性提升用户体验,并减少安全漏洞降低受到攻击的可能性。
“所以MTE是Armv9的基础性能,它也是64位架构和应用未来的趋势,Arm实现的MTE为两阶段系统,即‘锁’和‘密钥’。如果密钥匹配,则允许访问锁内存;否则,访问可能会被记录下来或出错。这样就可以更轻松地检测到难以捕获的内存安全错误,也有助于进行常规调试。”
卢旻盛表示,在锁和密钥两阶段系统中,存在两种类型的标记:一是地址标记,用作密钥。这将在进程中每个指针的最高位增加四位。地址标记仅适用于64位应用,因为它使用了“高字节忽略”功能,这是 Arm 64位的一个功能;二是内存标记,用作锁。内存标记也由四位组成,与应用内存空间中每个对齐的16字节区域相连接。Arm将这些16字节区域称为标记颗粒。这四位并不用于应用数据,而且是分开存储。
Arm的生态圈合作伙伴也分享了对于MTE技术的看法。MediaTek无线通信事业部资深总监章立表示,芯片级的安全是整个移动生态的基础设施,没有芯片级的安全就没有今天移动生态的繁荣。MediaTek作为最早一批拥抱MTE的合作伙伴,在去年发布天玑9200时就已经支持MTE,未来还会继续深入合作。
vivo芯片规划和架构高级总监夏晓菲则表示,Armv9处理器也带来了非常重要的安全特性MTE,在内存泄露以及保护上能减少设备的运行风险,同时这个技术通过硬件级的技术避免了内存的功耗。vivo作为一个重要的整机厂家,也通过和Arm与MediaTek的合作,给开发者提供了从X90和X80版本上提供了开发者的版本,这样能让软件开发者有效把MTE利用起来。
荣耀公司MagicOS DFS架构师余亮指出了为什么要使用MTE,首先是在遇到“踩内存”问题时MTE能第一时间捕获故障现场日志,提供更准确的定位信息,最后更低的内存开销和更好的指令性能,相比ASan、HWASan 更接近用户真实的性能环境。荣耀天网开放了基于MTE/ HWAsan踩内存检测,和内存泄漏的检测功能,无论对于有源代码和无源代码,应用或者服务无需重新编译,安装即可支持踩内存故障的检测,同时天网也集成了类似泄露的检测,提供了泄露站的聚合能力。
快手Android架构师李锐介绍,通过与Arm、Google、vivo、荣耀等公司合作,快手在大型Android工程项目中使用Arm MTE提高内存安全,90%的内存安全问题可以在App正式发布之前就在线下被检测拦截,全面保障线上用户的基础体验。
面向软件及生态系统方面的工作
在软件生态方面,Arm终端事业部生态系统及工程高级总监Geraint North分别以四个主题来介绍了Arm在软件以及生态系统合作方面的工作。
第一个主题是将64位部署到移动领域,以及下一步的发展方向。众所周知,多年以来64位应用比32位的应用都提供了更高的性能和安全性,但是安卓移动生态系统向64位的迁移却是一个非常漫长的历程,早在10多年前就已经推出第一款64位功能的Arm CPU,仅面世两年安卓的生态系统就已经能很好地利用它的能力。随着去年Pixel手机推出仅支持的64位的安卓配置,相信将64位部署到移动领域的这段旅程也快走完了。64位有哪些优势?一个是提供了更高的安全性,其次是相较于32位IP带来更高的性能提升,并且这个性能差别随着时间的推移在不断拉大。
但将64位部署到移动领域也有着不小的挑战,一方面是安卓生态系统的多样性造就了众多不同的芯片合作伙伴、手机厂商和应用程序商店,所以迁移到64位需要产业链不同角色之间非常细致的协调。其次是在过去采用32位开发的应用无法轻易迁移到64位上,不管是验证成本、芯片面积、操作系统库以及持续维护的成本承担等方面都存在着很多问题。因此其实整个正待系统完全对64位的应用支持并不是最快捷的应用路径,所以Arm希望通过比较细心的协调在这两方面做一些工作,比如几年之前就开始从CPU和操作系统中去逐渐地剔除32位的历史遗留问题,从而向应用开发者证明这种向64位的过渡是在真实发生的,并且为他们开始支持64位的平台提供一些额外的助力。
在提及安全技术主题时,Geraint North表示,当前的软件数量是有史以来最多的,而且世界上也有越来越多的数据会在它的生命周期某一个点上推动Arm这个 IP。随着更多的软件出现,以及更多的个人生活以数字方式进行,软件的安全性和它的稳定性是至关重要的。这也是为什么Arm为什么要花时间和精力来去推动安全技术的研发。
Geraint North为大家介绍了Armv9架构上CPU引入安全技术的一些早期成功案例。除了前面演讲提到的MTE技术以外,PAC和BTI也是Armv9内核中首次推出的功能。“PAC和BTI的联合使用,令攻击者很难将现有的代码的片断用于不法的手段,他们对于哪些代码可以跳转到哪里进行更严格的控制,攻击者如果找到了覆盖一个指针的方法,但是难以用它真正覆盖任何的代码,在执行完一个函数以后不会返回到错误的地方,每一个函数被调用的时候连接寄存器就会被清零,所以我们使用它从函数反馈之前会检查签名是否有效,如果有人以某种方式修改了地址,这个认证是通不过的。”
第三个分享的主题是如何推动性能进步,不仅仅要用到Arm最新的IP ,还要进行大量投资,比如在Armv8和Armv9系统之上进行进一步的架构优化。回顾以往,Armv8本身有很成熟的性能,但Arm仍然在寻找方法来提高LLVM编译器的性能,安卓生态系统正是在此基础之上来运转的。
同时Arm也在关注一些新的东西,比如在LLVM的工作都是聚焦在SVE2的性能之上,它也是Armv9引入的全新的矢量架构。“我们做出的贡献主要表现在两个方面,第一我们要确保SVE2的代码生成尽可能做好,这就意味着我们要保证LLVM能做矢量化的工作,同时又能确保LLVM能够矢量化目前它不能做到的事情。SVE2本身是包括没有预定的指令和散点结构操作的功能。第二我们意识到SVE2不会在一夜之间实现百分之百的市场普及,所以在LLVM 16中我们引入了函数多版本,让开发者能够更加容易确保其函数的利用和SVE2版本都能够生成,并且在运行的时候自动选择正确的版本,”Geraint North表示,“作为一个开发者你不必同时做两个二进位文件,或者每一次都进行CPU的检测,你只需要几行代码就可以让编译器的两个指令集自动出代码的矢量化,或者在自定义的汇编中掌握到你的应用程序确实能够被指定给最合适最好的CPU,不管是被部署在哪个位置。”
最后,Geraint North介绍了Arm与Unity和Google在安卓动态性能框架之上的合作。根据过去几年不少开发者的反馈,他们一直在努力开发适应性工具还有库,以便于更好的了解和应对实时变化的性能、散热以及用户的需求。
这些适应性套件的关键组成部分有以下四个部分:(1)ADPF提示API,能够帮助系统根据游戏中的情况提高或降低CPU的频率;(2)ADPF散热API ,它为开发者提供了数字信号,告诉他们离所谓的热阀值还有多远;(3)游戏模式API ,这是向开发者提供关于用户性能或电池偏好的一些建议;(4)游戏状态的API ,可以允许游戏告诉系统他们在做什么,以便可以调整以满足游戏的性能需求。