详解Arm最强移动计算平台:五大技术升级,架构细节揭秘

芯东西(公众号:aichip001)
作者 |  ZeR0
编辑 |  漠影

芯东西7月4日报道,今年5月底,Arm面向智能手机推出其性能最优的移动计算平台Arm 2023全面计算解决方案(TCS23)。近日,在北京举行的Arm技术媒体分享日上,多位Arm技术专家分别从TCS、TCS23 CPU 集群、GPU、Security、Software等层面进行了诚意十足的技术分享。

Arm终端事业部产品管理高级总监Kinjal Dave说,Arm之所以采取这样一种全局的方法论来开发解决方案,是因为不断提高性能、效率变得越来越难且成本高昂,Arm一方面要将单独的IP做强,另一方面把这些单独的IP集合在一起时,总体的系统级别也要实现性能效率的双提升。

这意味着Arm不仅要考虑在实验室里的基准测试数字的提高,还要考虑到在现实世界中的实际用例,从而为其合作伙伴提供融合了这些单独IP的系统级解决方案所带来的完整性能提升。由于Arm会超前于生态系统的发展展开研发工作,所以如果在此前找不到一些实际的技术内容,Arm可能就会自己建构这些技术内容,例如其光线追踪技术、延迟顶点着色(VRS)以及机器学习技术内容。

“通过提供TCS全面计算解决方案,Arm已经超越单个IP产品,为客户实现端到端系统级的优化,从而释放整个SoC系统全面性能,让大家更多体会到TCS23带来更大的算力、更高的安全性和效率。”Kinjal Dave说。

一、TCS23:最新IP无缝协同,满足移动芯片设计刚需

自2019年开始用全面计算解决方案的方式进行产品定义及开发至今,Arm已进入第三代TCS,即最新发布的TCS23。过去四年,Arm一直在努力促成CPU、GPU、系统级IP等元素的融合,通过方案式开发实现1+1>2的IP集合,让其合作伙伴能开发出针对新的工作负载和更新的计算类型的产品。

详解Arm最强移动计算平台:五大技术升级,架构细节揭秘

TCS23在底层IP有了全新更新,推出GPU新品和仅支持64位且基于Armv9.2架构的CPU集群,进行了CPU、GPU以及系统级别的全面能力的优化,可在芯片上实现最小的面积,还提供了全新的系统级IP以及开发工具。

其软件包括三大支柱:性能、安全、开发者的可访问性。针对关键的机器学习负载,TCS23更新了Arm NN、Arm Compute Library(ACL)等开源软件库,开发者可以用它来优化在Armv9架构CPU和GPU上的机器学习应用开发。

Arm NN和ACL在安卓平台上面向Google Apps开放,目前拥有超1亿的日活用户,明年年初将通过谷歌移动服务向第三方应用程序的安卓开发者开放访问。

多年来,Arm已经交付了超过90亿颗包括Mali及Immortalis在内的GPU,在移动图形生态系统中实现完善布局,并为开发者免费提供开发工具、丰富的培训和最佳实践信息文件的分享,还与全球主要的游戏引擎工作室进行多年合作,以共同推动图形技术的进步。

详解Arm最强移动计算平台:五大技术升级,架构细节揭秘

Kinjal Dave谈道,移动SoC设计面临一些挑战,一是IP本身变得越来越复杂,二是有时IP可能会跨领域、跨系统,三是越来越多样化终端使用场景出现,最后是芯片设计选择以及平衡方面的取舍难度也提高了。

Arm全面计算解决方案中给了一个参考设计,用来让客户了解这套解决方法的实际配置可达到的最优表现,最终配置选择取决于客户的需求。通过提供系统参考设计,Arm能够帮助合作伙伴更好地去应对有挑战性的场景,同时降低部署复杂新技术的风险,缩短新品上市时间。

详解Arm最强移动计算平台:五大技术升级,架构细节揭秘

在具体做法上,Arm会帮助合作伙伴把用例从功能性上做解构,然后进行性能建模,从而便于设计,最终会对整体系统做一个测度和优化。在设计实施阶段,Arm首先会基于FPGA还有仿真器进行建构,中间进行设计,接下来在实际中运行,可能是一个浏览器或者游戏,最后会从功耗、效能、时延三个方面来进行测度。

二、Cortex-X4 CPU:性能提升14%,功耗降低40%

在谈到具体产品前,Arm终端事业部产品管理总监Saurabh Pradhan分享了Cortex-X产品的历史。Cortex-X诞生于一个为了打造高性能拥有一致性的IPC核产品的定制项目。

Cortex-X系列的第一款产品是X1,基于Armv8架构,第二代Cortex-X2/3基于Armv9架构,接下来就到了Arm最新推出的TCS23之下的三个大IP,分别是Cortex-X4、Cortex-A720、Cortex-A520。Arm将它称作Arm史上最强大最具高效性且最有能力的计算集群。下图是TCS22和TCS23中同档次三款产品的性能比较。

详解Arm最强移动计算平台:五大技术升级,架构细节揭秘

Saurabh Pradhan说,Armv9架构支撑了从安全到机器学习一系列的功能,这也是安卓全线的高端机都使用这个架构芯片的原因。该架构中两个重要的技术——MTE和指针验证技术。一个知名的内容社区应用表明,在使用MTE后能够检测到90%的内存安全漏洞。

Cortex-X4与上一代安卓旗舰产品相比,性能提升了15%。它也是Arm最高效的、面积效率比最高的Cortex核产品,具备更高的可扩展性,最高可支持每个核2M的L2缓存。

Arm首席CPU架构师兼研究员Ian Caulfield说,在前端取指令方面,以前是一个周期取一个指令,而Cortex-X4可以一个周期实现十个指令的提取,尤其当出现了一些分支错误预测时,它能够快速地再去弥补,把新的指令取过来,同时它使用了先进的最新的分支预测性,可以保证有条件的分支准确率,从而能够进一步提高性能。

在设计中的执行部分,整个设计全面提升了带宽,实现了每周期10MOCS的速率,同时拓展了管线带宽。Cortex-X4作为一种无序核,相比Cortex-X3全面提升了MCQ容量,从320×2到384×2。内存数据冲洗不常发生,但当发生后Cortex-X4会加速加载存储冲洗处理,从而尽量减少对性能的影响。

详解Arm最强移动计算平台:五大技术升级,架构细节揭秘

后端同样提升了带宽。相比Cortex-X3,Cortex-X4的管线从3个提升到4个。当使用了全新的L1时间数据预读器,并采取了全新架构以降低1级数据库的冲突。有时为了不局限于工作负载运行的数量,Cortex-X4实现了更大的L1数据TLB,从48增大到96,同时支持更大的L2缓存,即2M,而且没有造成更长的时延。

Arm大小核战略的产品中,Cortex-X4提供的是终极的性能,Cortex-A720是CPU集群中的主力产品,Cortex-A520实现了最佳的功效,上述三款IP都基于Armv9.2架构,都是纯64位IP产品,这意味着Arm完成了向64位的迁移。

详解Arm最强移动计算平台:五大技术升级,架构细节揭秘

“我们认为合作伙伴应该立刻向Cortex-A720,即Armv9架构去迁移,因为实际上这样做获得性能效能等方面的获益要远高于他们持续在v8的架构上再用上一年。”Saurabh Pradhan说,Arm是唯一一家能够同时提供三个不同核的微架构的厂商,这是其优势所在。

三、DSU-120:内核与内核之间的胶水,为高要求多线程用例而设计

一个全面解决方案需要有DSU才完整的。这三款IP都与Arm今年最新发布的DSU-120搭配使用。DSU不仅可以把所有的IP很好地结合,也能够实现CPU集群最好的性能和效率。

据Arm首席DSU架构师兼研究员Alex Waugh分享,对于具体的典型工作负载而言,相比DSU-110,DSU-120能够实现动态能耗7%的降低,这是针对L3动态电源的节约。如果针对缓存丢失的问题,它可以实现18%的动态能效降低,在静态电耗方面也有节约。

详解Arm最强移动计算平台:五大技术升级,架构细节揭秘

今年的DSU实现了三方面的提升:一是可扩展性,在一个集群中可以支持高达14核,同时它能够支持24M或32M的L3缓存,可应用于笔记本及笔记本以上的设备;二是新的PPA,它可以进一步降低漏电,同时支持更多新的电源模式,总体目标是进一步提高电效,从而延长电池寿命;三是一些全新功能,如支持带宽分区、节点最大化和纳入一些新的接口等。

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

DSU-120是基于双向的环状拓扑,即在带宽和时延方面实现了优化。同时它针对于L3缓存有探听过滤器,实现了每一片逻辑的分离,均可以配置。对于不同的带宽需求,它可以是支持1-8个片等级的配置。同时它拥有同类最佳的电源管理,引入了先进的断电模式,比如漏电保护模式和自动电源管理模式。

当电源预算有局限时,MPAM可以更好地实现器件之间的电源分配。DSU-120支持MPAM架构,即内存系统、资源分区以及监控的架构,能实现对分区资源的控制。这意味着每一个核或者ACP在访问一个资源的时候都会被给指定给一个MPAM的ID,以进行资源分配。

详解Arm最强移动计算平台:五大技术升级,架构细节揭秘

四、G720 GPU:性能提升15%,内存带宽节约40%

GPU对芯片面积预算的需求每年都在增加。去年Arm推出了基于第四代Valhall GPU架构的旗舰级Immortalis GPU以及新的Mali-G715和G615 GPU。今年,Arm又推出基于全新第五代GPU架构的三款全新GPU产品,包括有不少于10个着色器内核的旗舰级产品Immortalis-G720、支持6-9个内核的Mali-G720、提供多大5个内核的Mali-G620。

基于Arm第五代GPU架构的G720产品,实现了全面系统级的效率提升,使用内存带宽最终减少40%,每瓦特性能可平均节省15%,峰值性能实现了平均15%的增加,整个架构的吞吐量实现1倍的增加,即达到64bpp。

详解Arm最强移动计算平台:五大技术升级,架构细节揭秘

G720引入了全新渲染管线DVS(延迟顶点着色)。DVS有助于在用到最复杂场景时保持帧率的一致性。经运行几款流行游戏的测试,DVS节省了非常多的内存带宽,而使用更少的内存带宽,就能减少DRAM功率,同时提高性能。

详解Arm最强移动计算平台:五大技术升级,架构细节揭秘

据Arm终端事业部产品管理高级总监Anand Patel介绍,DVS通过将顶点和片着色结合起来,减少了外部带宽的消耗,同时每一个Tiler通过对每一个三角形进行决定是否推迟DVS,以防止过度重新着色,最后Arm增加了每个Tiler的大小,直接减少了必要的重新着色量,更多的顶点着色可被推迟。节约带宽意味着节约电力,电力预算系统就可以进行重新分配,把它用在最为有效的地方。

面向开发者,G720将延迟顶点着色VRS的性能增加到4×2或者4×4着色。VRS技术能够让GPU在更粗粒度下进行片段着色,比如一个线程每次可在4×4像素的补丁上进行着色,在整个4×4的着色率情况下速度提高了16倍。G720增加了2倍的多重采样硬件的支持,开发者可自行选择性能和质量做权衡。

尽管目前移动游戏使用VRS较为有限,但由于它对于移动游戏性能的提升非常显著,Anand Patel认为这只是时间问题。

同时,Arm完善了对动态缓冲区的支持,提高了GPU和CPU的性能,增加了带有硬件边界检查的加载和存储指令,并在硬件的各个固定功能部分也进行了改进。在物理设计的改进方面,Arm调整了时钟、电压和功率域的边界,使各域的操作点脱钩,为GPU的功率使用提供了更大的灵活性。Arm在大型配置中增加了对两个电源轨的支持,以应对集成商在电力输送方面的挑战。

Arm Mobile Studio提供有开发GPU的工具,所有功能都是免费的。“我们相信这些功能可以帮助开发者针对Arm GPU进行优化,从而实现开箱即用的出色性能。”Anand Patel说。

五、安全:Armv9提供MTE功能,消除内存安全漏洞

Arm终端事业部软件战略总监卢旻盛分享说,内存安全漏洞从理论上基本分为两种——空间型漏洞和时间型漏洞。空间型是指在C+和C++编译语言中称为这个指针,如果能把这个指针指向超越范围的,被称之为空间型漏洞;某块内存已经在使用的范围里被释放,如果还被使用,就会存在时间型的内存安全漏洞。

基于Armv9架构的CPU提供了内存标记扩展MTE功能。MTE是Armv9的基础性能,也是64位架构和应用未来的趋势,支持开发者在应用部署前后检测和避免内存安全漏洞。MTE已努力消除占所有软件漏洞中70%的内存安全漏洞。

Arm实现的MTE为两阶段系统,即“锁”和“密钥”。如果密钥匹配,则允许访问锁内存;否则,访问可能会被记录下来或出错。这样就可以更轻松地检测到难以捕获的内存安全错误,也有助于进行常规调试。

在锁和密钥两阶段系统中,存在两种类型的标记:

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

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

基本上从这个原理就防止了空间和时间型风险。

卢旻盛谈道,安全领域基本上讲三个原理,一是有攻击者,二是要保护什么,三是可能性的攻击方式。所以TrustZone与MTE是互补型的,TrustZone和虚拟化和很多隔离技术的原理在于如何防止攻击者看到你所保护的东西,MTE的软件安全技术原理是减少软件漏洞被利用,虽然攻击者可以看到这个软件,但现有漏洞可以被更加早被发现,以及防止这个漏洞被利用。

Arm跟谷歌长期合作,谷歌指出软件漏洞如果在发布后再做修改,成本非常高,如果不从根本性去解决这个问题、开发并发布新功能、更快地增强用户体验的流程,就会有很大的限制。所以他们一直在考虑如何在新的编译语言和底层的硬件平台增加新的功能,能够给整个安卓生态圈带来更安全和可靠以及更高质量的体验。

联发科无线通信事业部资深总监章立说,联发科认为芯片级的安全是整个移动生态的基础设施,没有芯片级的安全就没有今天移动生态的繁荣,所以去年发布的联发科天玑旗舰9200已经支持MTE,未来会继续深入合作。来自vivo、荣耀、快手的技术专家也分别分享了他们有效使用MTE来改善移动端内存安全问题的心得。

六、软件:全面转向64位系统,继续夯实计算安全

据Arm终端事业部生态系统及工程高级总监Geraint North介绍,Arm有45%的工程师属于软件开发人员,其中一些是在做底层的比如内核GPU驱动的开发,但更多工程师在做高层的比如软件框架、性能分析工具、展示最佳实践等方面的工作。

在将64位部署到移动领域方面,Arm编译器和库优化团队都把工作重点聚焦在64位上,当用户运行64位版本程序时会获得显著的性能和安全。Arm几年前就开始从CPU和操作系统中去逐渐剔除32位的历史遗留问题,以向应用开发者证明这种向64位的过渡正在发生,并积极与生态系统合作,采取了细致协调的一些工作步骤,为仅支持64位的硬件做好软件奠定的支持。

详解Arm最强移动计算平台:五大技术升级,架构细节揭秘

在安全技术部署方面,Geraint North重点介绍了在Armv9内核中首次推出的PAC和BTI功能。用PAC、BTI进行保护,能够减少攻击者在突破沙盒后可访问的代码足迹,提供最大限度的保护。

在提升Armv8和Armv9性能方面,当设备搭载最新的工具链重新编译时,会普遍获得性能提升。Arm在LLVM最近的工作都聚焦于SVE2上,它也是Armv9引入的全新矢量架构。Arm做的贡献主要在两方面,一是要确保SVE2的代码生成尽可能做好,二是在LLVM 16中引入了函数多版本,所以开发者更易确保其函数的利用和SVE2版本都能够生成,并在运行的时候自动选择正确的版本。

详解Arm最强移动计算平台:五大技术升级,架构细节揭秘

Geraint North还分享了Arm与Unity和谷歌在安卓动态性能框架上的合作。一些安卓开发者一直在努力开发适应性工具和库,以了解和应对实时变化的性能、散热及用户需求。

他们的适应性套件有4个关键组成部分:一是APDF提示API,能够帮助系统根据游戏中的情况提高或降低CPU的频率;二是APDF散热API,为开发者提供了数字信号,告诉他们离所谓的热阀值还有多远;三是游戏模式API,向开发者提供关于用户性能或电池偏好的一些建议;最后是游戏状态的API,可以允许游戏告诉系统他们在做什么,以便调整以满足游戏性能需求。

结语:通过软硬件技术迭代,为未来移动计算奠定基石

正如Arm产品营销副总裁Ian Smythe所言,移动数据使用量一路攀升,柔性显示屏和AR光学这样的新形式及元素也开始以不同的方式进入大众视野,生成式AI及移动端大型语言模型的出现将带来新的功能,全世界对移动设备的创新需求持续加速提升,如今芯片为移动端开发者提供的沉浸式体验在几年前根本无法想象。

为了满足定义未来计算的复杂需求,以及让数百万开发者能够轻松地在Arm架构的平台上进行无缝开发,Arm正通过在先进架构、CPU、GPU、软件等多方面的技术探索,进一步优化其移动计算平台,最终为移动设备用户提供更高性能、更高能效、更安全的数字体验。