TA的每日心情 | 怒 前天 10:56 |
---|
签到天数: 85 天 [LV.6]常住居民II
三级逆天
- 积分
- 53741
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区
您需要 登录 才可以下载或查看,没有账号?立即注册
×
针对新版Arm的CPU与GPUIP发布,这次Arm在国内主要是以“ArmTotalCompute”(全面计算)的方式来阐述的。此前Arm就已经在推TotalCompute这个概念了,Arm曾发布过一份专门谈Total Compute解决方案的白皮书,有兴趣的读者可前往了解。
简单来说,Arm认为虽然每次IP迭代都会带来性能、效率的提升,但设备的热与功耗设计仍然存在定义上的限制。所以Arm Total Compute开始推全面的、专注于解决方案的SoC设计;跳出孤立的IP,从系统整体的角度来提供设计与优化解决方案。
有关Arm Total Compute的部分,本文仅会稍稍提及,更多理念与构成未来我们将单独撰文。本文要谈的是Arm新推的三个CPU IP:Cortex-X2、A710、A510,四个GPU IP:Mali-G710、G610、G510、G310,以及存储互联相关的DSU-110与CI-700/NI-700。
广告
用Arm高级副总裁兼终端事业部总经理Paul Williamson的话来说,“当把这些结合到一起,就得到了我们首款全面计算解决方案”——这应该是Arm在国内召开这场发布会的核心。这次的线上发布会,Arm面向我们并未详述这些IP的细节和变化。不过作为全面过渡到Armv9指令集的首批IP,这次的IP从微架构调整上可以认为是比较大的升级了,本文从Arm已公开的信息来谈谈这些IP的变化。
本文篇幅较长,总体分成三部分,可按照喜好选择性阅读:
[li]Cortex-X2[/li][li]Cortex-A710[/li][li]Cortex-A510[/li][li]DSU与CI-700/NI-700[/li] 2. GPU IP更新(Mali-G710/G610/G510/G310)
3. Total Compute
要攻占大屏计算设备的CPU
前不久Arm面向基础设施设备,发布的Neoverse N2应该是最早采用Armv9指令集的处理器IP。有关Armv9,此前我们也已经撰文探讨过。这次发布的几款Cortex处理器IP皆基于Armv9,也就有了诸如SVE2这样的扩展支持,以及安全相关的(如Realm)一些提升,也算是开启了一个新时代。
其中一个比较大的变化就是对32位AArch32执行模式停止支持——移动领域全面进入64位实际上从前两年就开始了。所以原则上Cortex-X2、Cortex-A710、Cortex-A510都应当切断执行AArch32代码的通道。但实际上这次的Cortex-A710是个例外。
即Cortex-A710仍将继续支持AArch32,据说是因为专门关照中国移动市场,毕竟国内Android生态不仅混乱,而且还有大量停留在32位时代的应用。考虑到Cortex-X2和A510都不再支持AArch32,未来国内的很多应用是否将只能跑在Cortex-A710核心上?这是个很有意思的问题,值得将来做观察。
如果你对Arm早前的处理器IP比较熟悉,应该知道Cortex-X2是X1的迭代,A710则是A78的迭代,A510是A55的迭代。Cortex-X2延续了X1追求更高性能,部分牺牲功耗和面积的特点,是个高性能核心,而且还将进一步面向笔记本之类的大屏计算设备;Cortex-A710则属于PPA均衡考量的中型核心。
Cortex-A510是个效率核心,也就是我们常说的小核心——其独特之处在于,它是自2017年以来,Arm小核心的首次更新——而且Williamson还特别提到其性能水平接近此前大核的性能,在我们的追问下Williamson提到具体是接近Cortex-A73的性能。Cortex-A510的微架构也相当有趣,后文将会做探讨。
IPC提升16%的大核心
先来谈谈Cortex-X2大核心,Arm称其IPC提升达到了16%(相比X1,基于SPECint2006测试)。从下面这张图来看,比较有争议的地方可能在于这里Cortex-X2选配了8MB L3,而对比对象X1的L3 cache为4MB。存储规格增大对于性能提升本身就是有价值的。
其实去年的这个时间点,Arm发布Cortex-X1的时候就提过最高可以选配8MB L3,但实际上三星、高通在自家的处理器设计中都没有这么做——不知是否与三星的5LPE工艺有关。所以Cortex-X2的情况也相当值得观察。
不过考虑到Arm比较多地提到将其应用于大屏计算设备,笔记本产品上的Arm处理器还是可能会看到8MB L3甚至更大的配置。而且在新版DSU的介绍里,Arm提到了8个Cortex-X2核心的设计,这种核心数显然就不是针对手机的了。Williamson在介绍中提到,“一台基于Cortex-X2的笔记本电脑比起2020年市场主流的笔记本,其单线程性能可领先40%。”虽然不知道具体对比对象是谁。(不知高通是否会选择Cortex-X2,考虑到他们才刚刚收购了Nuvia)
另外,相同制造工艺下,其性能与能效提升在曲线中主要体现在后段,达到与X1一样的峰值性能时,X2更节能。曲线末端部分16%的性能提升也需要更多的功耗。
从微架构层面来看看Cortex-X2的变化。首先是前端分支预测的改进,包括分支预测与取指脱耦,能够减少预测错误的影响;以及分支预测精度显著提升。上面这张图中的MPKI是指misses per kilo instructions。
Cortex-X2的流水线长度缩减至10个周期,主要是dispatch阶段从2周期变成了1周期。这样的变化也能够一定程度表明,X2在微架构设计、PPA权衡的问题上,变化可能是比较大的,比如对核心频率的影响。
核心乱序度增加,ROB(重排序buffer)容量增加到288+ entries,提升了30%。
后端部分,不出意外的FP/SIMD管线支持SVE2。有关SVE,我们在此前Neoverse V1的介绍文章里已经谈到过,它相比Neon支持可变矢量长度。X2仍然是4x128bit NEON管线。
此外,后端的load-store窗口尺寸增加33%,L1 D-TLB(data translation lookaside buffer)增大20%达到了48 entires;数据预取方面的加强,包括能够识别存储访问模式的prefetcher——其实Cortex-X1和Neoverse V1核心已经有这方面的变动,不过Arm表示X2的预取精度和覆盖都有提升。
着力于效率提升的中核心
Cortex-A710作为一颗“中”核心,Arm提到相比Cortex-A78的同频性能提升为10%,达到A78同等峰值性能的功耗降低30%。不过这个对比仍然基于L3 cache为8MB,这个容量的L3 cache对A710的核心定位而言比较激进,这一点或许表明了Cortex-A710相比A78的实际性能提升可能会非常有限;不过更高性能区间内的能效提升30%还是颇为亮眼的。
Cortex-A710前端同样有分支预测方面的提升,包括预测精度、BTB/GHB等buffer容量加倍;I-TLB(instruction translation lookaside buffer)增大50%。尤为值得一提的是,核心宽度有缩减,macro-op分发dispatch到后端从先前的6-wide缩减至5-wide,这是个优化项。
此外和X2一样,A710的dispatch阶段也缩减了1个周期,整体管线长度10个周期。数据prefetcher也有精度和覆盖方面的提升,加上DSU的改进,降低核心向DSU的访问量和向DRAM的请求,降低功耗、提升效率。
单纯就Arm公开的信息来看,A710在效率方面的改进可能会更多一些。Cortex-X2和A710作为Austin家族的末代产品,以及Armv9指令集在移动设备上的初代产品,单纯核心部分的性能提升幅度并不是很大。
现代版推土机的小核心
Arm的Cortex小核心更新上次还是2017年的事情,随苹果和Intel推各自的“小核心”,如今移动产品上的小核心普遍性能也都不弱了。所以Cortex小核心的更新,应该也是芯片设计厂商迫切的需求。Williamson说,这次Cortex-A510的性能水平接近Cortex-A73,功耗还更低。A73是Arm在2016年发布的大核心。
不过Cortex-A510仍是个顺序核心,符合Arm一贯以来对于“小核心”的定义(苹果和Intel显然都不是这么看的)。
Arm对比了Cortex-A510相较A55的性能变化,不过这两者对比的cache容量差异依然不小,包括L2、L3,对比中A510选配的容量都是A55的两倍。大幅度的性能提升符合预期,毕竟A55属于多年不更新的长寿处理器IP。小核心更高的性能对于手机多任务工作执行,尤其在某些性能需求并没有那么高的负载在后台并行会有相当的价值。不过35-50%的性能提升幅度,相比市场上的其他小核心实际仍然是更偏向效率和低功耗的。
以相同工艺为前提,A510相比A55的效率提升似乎并不算很大,尤其曲线前段出现了比较多的重合;在达到A55的峰值性能时,A510有20%的功耗红利;而在达到A55的峰值功耗时,A510有10%的性能领先。而A510后段的性能提升,基本也是以提升功耗为代价的,这就让A510看起来并没有那么惊喜。
微架构层面,Cortex-A510核心的独特之处在于一种名为融合核心(mered-core)的微架构,每2个核心构成一个组合(complex),共享L2cache和FP/SIMD管线,以组合的方式挂在DSU上。这种结构听起来和AMD当年的推土机很像。AMD在Zen架构之前的Bulldozer架构,就是两个核心构成一个模块,两个核心共享前端和后端浮点单元。
不过Arm的融合核心还是比AMD推土机核心完整的,两颗核心共享的主要是FP/SIMD后端和L2 cache。其他包括L1 cache、前端、整数执行都各自独立。这种设计应该也是基于能效和面积效益方面的考量。而且Arm的小核心,实则符合AMD当年对推土机的设想:更多做整型运算,也就不需要放那么多资源到FP/SIMD。
这种共享设计理论上对多线程性能可能会产生影响。Arm有特别提到共享管线对硬件完全透明,也采用细粒度的硬件调度;所以对多线程性能影响不大——这一点最终还是要看实施方案的疗效。另外Arm也提到,在具体配置上也可以选择一个组合就一个完整的核心,实现更高的性能。
A510前端每周期实现128bit读取;每周期3-wide指令解码(A55为2-wide解码);据说分支预测也用上了大核心的技术;L1-I cache可选32KB和64KB。
后端共享的矢量执行管线部分,可选2x64bit或2x128bit宽度——后一种选择实则是对前代的2倍拓宽。后端现在拓宽到了3个整数ALU,1个复杂MAC/DIV(乘加/除法)单元,1个分支转发口。L1存储系统部分,load-store变为1条load和1条load/store管线,每周期load操作数加倍;管线宽度从64bit增加到128bit。Prefecher部分也有类似前文提到大核心那样的改进。
DSU-110与CI-700/NI-700
DSU(DynamIQ Shared Unit)与互联的升级应该是Total Compute解决方案的完整体现。包含DynamIQ丛集的架构,是以DSU将一个或多个核心集成到一起,构成DynamIQ丛集。DSU包含了L3 cache、SCU(Snoop Control Unit,监听控制单元)、内部面向核心的接口、外部面向SoC的接口。
上次DSU大更新也是在2017年。DSU-110据说是“各个方面的微架构更新”。从性能的角度来看,L3 cache可配置尺寸增加到16MB,可能在未来笔记本一类的产品上会见到;带宽方面,单核与多核带宽均有增加,L3带宽提升5倍。
而且这次的DSU-110开始采用双向双ring传输结构,包含4个ring stop、支持至多8个cache slice;多请求可并行访问不同的slice来增加带宽;而且在cache尺寸增加的前提下,仍然保持了相同的访问延迟。
DSU-110支持至多4x AMBA CHI总线,即面向主内存有最多4x256bit双向传输;对MTE(Memory Tagging Extension)的安全特性支持,也是更新的组成部分。
降低DSU的功耗也是本次更新的亮点,“紧密集成的功耗控制,令构建先进的功耗管理更简单”。在提供2倍带宽的情况下,满载依然有至多25%的漏电功耗降低;支持L3的局部功耗节电模式,实现至多75%的漏电功耗降低。需要注意的是,这里形容的功耗降低并不是总体功耗。
从这些更激进的性能改进来看,Arm对于笔记本一类形态的大屏计算设备应该有了更足的发展信心。
除了核心IP和DSU之外,Arm这次还更新了互联与NoC(片上网络)IP,分别是CoreLink CI-700一致性互联以及NI-700 NoC,也算是久违的更新了,虽然很多芯片设计厂商都在用自己的互联IP。这应该也是Arm Total Compute策略的重要组成部分,毕竟当SoC涉及到更多处理器单元时,互联IP自然就变得重要了。
CI-700的介绍中就提到了“满足Total Compute”使用场景,典型如3A游戏、120Hz刷新率与HDR视频;包括与Cortex-A、Mali GPU、Ethos NPU这些IP共同认证,做弹性与快速配置。
CI-700支持前文提到的一些新架构特性,如MTE安全特性、与新的DSU做匹配;支持1-8个DSU丛集、至多8个内存控制器,引入了SLC(system level cache)这类特性。
Mesh网络拓扑结构与Neoverse所用的CMN比较像,不过连接端口更多;最大可扩展到4x3 mesh;支持1-8个SLC slice,每个slice 4MB大小,总共也就是32MB,每个SLC slice的snoop filter cache覆盖8MB地址空间。
在NoC部分,针对各IP之间的数据通讯,NI-700 NoC引入了数据分包(packetization),能够实现芯线数30%的减少,提升NoC的面积效益;还有包括针对新架构在安全和性能上的改进;以及配套的设计工具。
一年10亿出货量的Mali GPU
Arm的GPU IP在手机市场上的境况还是比较有挑战性的,毕竟高通在用自家的GPU IP,而三星正转往AMD RDNA,前不久英伟达还宣布了与联发科合作。不过智能手机产品中依然有大约一半的市场是被Mali GPU占据的。
而且Williamson在会上提到“2020年,超过10亿个Mali GPU出货到了市场上,这是连续第5年Mali年出货量超过10亿,Mali GPU成为全球最受欢迎的GPU,它正驱动着关键市场的技术发展于创新。”
这其中有很大一部分包括电视机,“MaliGPU驱动着80%的电视”,可见其市场份额依然是相当可观的。这次新发布的MaliGPU包括Mali-G710、G610、G510和G310。这几款产品依然属于Valhall架构——这个架构缘起于Mali-G77,前年我们也撰文详谈过Valhall架构的改进。
这次的Mali-G610应该是新出现的一个产品线,不过它实际上只是G710的少核版本。Mali-G710接班前代G78;G510则是G57的迭代;G310是面向入门级市场的G31升级——G31也算有些年头了。
Arm宣称在相同制造工艺、相同配置下,Mali-G710相比Mali-G78有20%的性能提升;同性能下则有20%的功耗降低;机器学习性能提升35%。其主要特性概览如上图所示,可配置的shader核心数目在7-16个。20%性能提升在竞品中是个相对保守的数字,具体还得看看未来隔壁高通的动作如何。
有关Valhall架构的改进,本文不再赘述,除了ISA的改进,主要包括了执行引擎的变化,warp size拓宽到16-wide,每个执行引擎两条数据通路。这是在G77时代就有的变化。
Mali-G710的改进主要在于每个shader核心包含了两个执行引擎,也就实现了shader性能翻倍。
执行引擎内部依然是两个处理单元,处理单元略有一些变化。在warp size与整体吞吐不变的情况下,G710的处理单元分成了4个4-wide处理元素,每个都有专门的资源。这种新的设计引擎实现了每核每周期FMA吞吐翻倍,而且改善了能耗分布,节能20%。
除了shader核心与执行引擎,其他功能模块也有吞吐上的提升,对应shader核心规模的扩大。比如说全新的纹理单元TMU能够做到每周期处理8个双线性纹素,相比Mali-G77/G78有吞吐上的翻番。与此同时纹理单元性能密度提升了50%,也就是面积效益比前代更好。
此外,G710把Mali的job manager换成了所谓的Command Stream Frontend。这个CSF负责处理调度和draw call(draw call是CPU向GPU发出的一种命令,CPU每调用一次API让GPU进行一次绘制,就是一次draw call)。
CSF这个模块由CPU、HW和固件构成。Arm表示,HW本身是全新设计的;而固件层的引入,能够针对一些比较复杂的图形负载提供更具弹性的性能,而且能够减少驱动开销、提升效率;对诸如Vulkan等API提供更简捷的支持等。
固件处理来自host的请求和通知,负责硬件资源调度,减少诸如protected mode进出的开销,还能通过指令模拟来提供硬件原本不具备的特性。这些新设计着眼在了API方面,也算是对昔日短板的补足了。
Mali-G610实际上就是少于7个核心的Mali-G710,属于市场定位差异的进一步细分,核心内部结构及外部并没有什么区别。另外两款Mali-G510/G310从性能提升的数字上来看,都还挺恐怖,比如G510性能相比前代提升100%,但这也基于其前代产品都好几年没更新了。
G510的shader核心内部也多了1个执行引擎,每个执行引擎内也选配2个丛集的处理单元,这和G710是类似的。不过G510的其中一个执行引擎可以只配1个处理单元,每周期FMA执行能力在48-64之间可选。另外,shader核心以外纹理单元可选配每周期4纹素或每周期8纹素。核心数目则可选2-6核,加上L2 cache可选配,就决定了Mali-G510可以有很多种配置选择,实现多种多样的性能。
Mali-G310的shader核心在改进上与前两者也基本类似,不过两个执行引擎都可以只采用1个处理单元,所以能够下探到更低的FMA性能;纹理单元可选最低每周期2纹素,其他单元情况也有等比规模缩小的选择。Mali-G310 GPU整体就1个shader核心。
所以基本可以总结,从Mali-G710到G610是核心数减配;而到G510,除了核心数减配,还包括shader核心规模、纹理单元规模等的减配;G310则属于核心再减配,并对shader核心规模和其他各部分单元再再减配的低配版。
组成Arm Total Compute
最后总结一下,新推基于Armv9的CPU应当是近些年来,微架构方面调整比较大的一代。相同制造工艺下,Cortex-A510小核心是多年来的首次换代,性能有了较大程度的提升——达到接近A73的程度,其微架构设计也相当有特色;中核心Cortex-A710则在能效方面有不错的提升;大核心Cortex-X2继续着眼于性能加强,搭配DSU方面比较激进的迭代,也令其更着眼在了笔记本PC这样的大屏计算设备上——虽然当应用于手机时,其性能变化可能还需要观察。
GPU方面,Mali-G710/G610/G510/G310属于Valhall架构的第三代产品,G710有20%的性能和效率提升算是比较稳的IP迭代了,鉴于手机GPU局面看起来具备了相当的不确定性,未知G710明年会有怎样的表现;而G510/G310属于针对前代产品比较大幅度的更新,对其现有市场,如电视、机顶盒、IoT设备等广泛覆盖会更有价值。
“当把这些组合在一起,就得到了我们首款全面计算解决方案。” Williamson说,“我们已经适配好IP、优化其表现,使之得以在任何设备上提供最佳的用户体验,从终极性能的笔记本,到超低功耗的可穿戴设备。”“你即将在任意设备中获得优异的用户体验,而且还有最新Armv9架构的安全功能做支撑。”
全面计算的三个要点在于计算性能、安全性、开发者可及性。方案中包含IP、软件与工具的完整套件,且根据不同的应用打造SoC。
Williamson谈到了游戏的例子,“我们测量了整个游戏内容中全面计算系统优化的结果,每个系统组件都有助于性能的提升。Cortex-A710 CPU在运行驱动工作负载时,带来了33%的性能提升;Mali-G710带来了20%的性能提升,我们的系统级IP提供了15%的效率提升。”“Arm全面计算解决方案将所有组件融合在一起,为用户体验实现阶跃变化。”
再比如AI,“不同的Arm IP上运行多样的AI工作服在带来的巨大性能提升。这些性能提升各异,从Mali-G710平均35%的提升,到Cortex-M55的高达700%的提升,真是针对能耗有限制的工作负载,例如关键字侦测。整体而言,Arm解决方案提供了最广泛的AI引擎,使得开发者能在他们任意选择的应用上部署AI功能。”
“数十亿人正依靠Arm技术来体验他们的设备,也依靠我们来确保设备的安全性。全面计算解决方案让开发者得以打造场景定义的计算,进而让用户根据自己的意愿、时间和地点使用设备,丝毫不受影响或妥协。” |
|