前不久,高通发布了骁龙8Gen1 SoC。也是骁龙第一款采用ARMv9架构的芯片。虽然ARM官方声称ARMv9的新架构带来了性能收益,但是,一个采用了ARM 架构的SoC具体的性能提升还牵扯到很多其他因素,例如制程工艺,软硬协同,Cache大小等。作为高通第一款采用ARMv9新架构的芯片,具体变现如何呢?我们来看一下。

CPU

高通新的SoC采用ARM的1+3+4 CPU Core的组合结构。超大核升级到了X2,中核用了A710,小核则去掉了垃圾的A55,采用了A510。

PLUR8BTzrNAHE7Q

X2核的升级本次并不是很大,它把流水线从11缩到了10,乱序执行窗口稍微增大了一点,改进了分支预测,并完全剔除了对32微程序的支持

image-20211212101007636

但是X2总体来讲本质跟之前几代产品相比在设计上是没有巨大的变化的,它依然是美国奥斯汀团队在A76基础上的升级。真正的全新升级,我们可能要等到2022年法国的索菲亚团队的全新设计。

gwOGeZrk3MnqPlp

A710核本质上也是没有本质上的架构变化。也只是在A78上做了改进。

H3mXcOvaMCEzrsZ

但是从ARM的PPT可以看出来它的功耗还是有所期待。

gY57zCxW69UciAM

A710有一个特点就是为了满足中国市场的需求,保留对32位的App的支持。

9qdA8zCRxNGp2TY

A510这次是最亮眼,终于淘汰了5年不变的A55。这次A510的性能比A55提升了35%~50%的IPC。

FYsKDAUHN6Cn4cB

8wLrBV9cJO6ZUYf

JpfNZyjVHxcd9lL

虽然A510的进步很明显,但是更多是通过加宽解码加大ALU来实现的。例如,升级到3解码3发射后端3组ALU。所以,虽然性能提高了,但是他的能耗比没有多大的提升。虽然性能强了不少,但是并没有更节能。最关键的是它依然是个顺序执行的处理器,做得再大依然是个小核。

image-20211212101843644

不过A510有个特别的设计,他的每个核心是不完整的。而是需要两个核心组成一个簇,共享L2缓存和浮点部分。这个很有点像当年AMD的推土机的二并一的设计,当年AMD的这个设计把AMD坑惨了,但是,放在ARM的CPU的小核设计就显得更加合理:因为这些小核,本来就是为了用来处理后台工作的。它的整数调用确实更多;反而,浮点确实用的不多。理论上是因地制宜地节省功耗,可以提高效率。

image-20211212101912174

不仅大中小三个核都换了新架构,8 Gen1 还把L3 Cache 从4MB提升到了6MB。但是,这个估计是为了降低成本,要知道ARM的公版可是8MB。

bFmHxTyaBPD5JYA

image-20211212102204426

相比之下,联发科的天玑9000的8MB L3 Cache就显得更加有诚意了。缓存的大小对游戏的影响很大,这个在之后章节,游戏的表现部分会具体讲到。

EoB6b9g8UJhAqmO

制造工艺上高通也同样采用了三星的工艺,只是从5nm变成了4nm。

image-20211212102311348

CPU 能效评测

多核心跑分只比上一代提升了1.5%,如下图:

image-20211212102541221

单核心跑分也只比上一代提升了5.7%,如下图:

Qh1Mc3JGDgn6W2t

可以看出高通的CPU还是在挤牙膏,真没想到CPU的功耗也拉胯了。CPU功耗单核4.2w,多核11.1w,这个可以赶上笔记本的功耗了这就是说在多核心原地基本踏步的情况下,功耗还提升了2.2w。这是不是在没有华为的SoC的竞争下,高通突然安逸现状了?

t68XyAdURhbkWxJ

从上图,可以看出多核的能耗比表现非常让人失望。也可以看出A510的功耗更高,性能又发挥不出来。另一方面也可能说明三星的4nm工艺能效比依然不乐观。下图为两代芯片的能耗比跑分:

k7CtrihsDvmbW3p

GPU能效评测

今年的8 Gen1 上的GPU,发布了四款。其中高端型号为730.

ot9rXbpxzOURCKu

性能跑分

在GFXBench的Aztec 跑分中,OpenGL跑分已经接近了剪裁版A15的GPU。的确让人意外。比上一代888的GPU跑分提高了49%。比麒麟9000提高了21%。

furS3b8odIkXQRy

Vulkan跑分就更夸张,已经超过了残血的A15的126分。

image-20211212103356115

比起上一代的888上的GPU,Vulkan超出了57%的性能。hc8AIBguZ9GmVlb

功耗跑分

这么牛的性能,那事实真的是这样的吗?光看性能,不看功耗那是耍流氓,8Gen1的GPU的功耗在峰值时候比它的CPU的11.1w还要高,居然达到了11.2w。相比苹果残血版的A15 的6.5w简直是惨不忍睹。骁龙8 Gen1的这个GPU功耗甚至已经接近M1了。

image-20211212103533979

image-20211212103720409

峰值表现和稳定性

高通的整体感觉是用功耗在换性能,那么,功耗这么高,性能这么强的GPU在耐久测试上的表现如何呢?我们来看一下《光明山脉》游戏的耐久测试。从游戏帧率可以看到,在峰值频率时,这一代高通的GPU表现超过了A15,其降频曲线看起来也比A15平滑一些。不过,这种GPU功耗,想长时间跑《光明山脉》这个游戏而不降频是不可能的。在整个十分钟跑下来,大概会降到888的峰值时的性能,略微好过A15。

OTyUvJZnwKxWjAS

如果我们给这个GPU施加更大的压力,跑3D Mark Wild Life Extreme 的压力测试,最终我们会得到66.8%的稳定度。降频还是比较严重的。所以,手机厂商想压压住8Gen 1的GPU,还需要在散热上花很多心思。

g6h4p3NZoEwV715

SoC新架构层面带来的能耗比

虽然说这款GPU的峰值功耗爆表,但是手机一般也不只是看峰值功耗。既然换了新的CPU和GPU架构,那么架构层面带来的能耗比如何呢?这里需要具体看一下在稍低一些的图形负载情况下,能耗比的情况。

这里做一个新的测试场景:《光明山脉》的固定负载测试。分辨率降为1080P,然后锁定住30帧来运行。这里模拟了一个稍低一些且统一频率的GPU负载。我们来看看在同负载下的功耗表现:

image-20211212104103464

结果,8Gen1 的GPU在中负载的情况下,功耗一样不低。只比上一代的888改善了一点,依然无法超越Kirin9000。峰值负载测试时候如果功耗很差还可以接受,但是要知道,中负载是大部分的游戏场景,在这种中负载的情况下,功耗还是这么高,就太让人失望了。

实际游戏中的能耗比测试

这里我们采用常用的测试游戏:《元神》。测试的场景依然是传统的“璃月港”夜间跑图。如果论CPU压力,“璃月港”甚至比“大深渊”更高。主要是因为这里频繁的加载会对I/O提出更高的要求。稍微差一点的SoC就会出现卡顿的现象。

image-20211217103624861

可能是因为8 Gen1 刚出,目前元神在这一代平台上只能支持640P的最高渲染分辨率。并不是标准的720P。

image-20211212104236039

《元神》上的测试我们会分成三种:中负载,高负载,和魔鬼负载。如下图。

vrmK7hzcSwJj1Hk

高负载测试

MwgHOKuECpcSIGk

如果只看前3分钟,可以一根线贴着60帧跑,这个在以往的高通的芯片中是从来没有实现过的,所以整体性能表现还是不错的。如果我们对比下图的CPU频率,会看到CPU调度也比较激进,所以功耗也会比较高。QXMlBILKZWskdp3

所以前3分钟功耗比较高,如下图,会达到整机7.6w。略好于麒麟9000芯片。

PUdoh8g5pTr2ZMu

很显然,这种功耗所带来的发热是撑不了太久的,3分钟之后,CPU就会陆续开始降频。实际跑下来30分钟的《元神》测试,最后的平均帧率会落在55帧左右。整机功耗会控制在6.3W左右,平均每帧消耗0.114W。 相比麒麟9000是44帧,功耗控制在5.0W, 平均每帧消耗0.114W。两个竞品每帧功耗基本一样。但是不得不说,8 Gen1在实测《元神》游戏场景中的性能表现比麒麟9000强了25%,帧数提高了不少,游戏运行起来更流畅了。但是能效比基本还是跟麒麟9000打了个平手。image-20211212104655724

那这个性能表现的提高是不是GPU的功劳呢?笔者认为并不是。如下图,GPU的占用率平均只有56%,它的负载非常低。这个《元神》的性能提升很有可能还是L3缓存的功劳。6M的L3 缓存,极大的缓解了CPU的瓶颈,和提高了配置GPU Job的速度。所以,虽然从数据上来看8Gen1 的跑分看起来跟麒麟9000拉不开差距,但是实际游戏中8Gen1 的表现还算不错,但是和苹果还是差了至少一代的水准。

ZMIKzxYT9shvAuX

但是,如果8 Gen1机身确实可以长时间的压制到7.6W的整机功耗,那么《元神》 确实可以维持满帧运行的。这一点是麒麟9000和888平台在开低分辨的时候都无法做到的。值得提醒的是,以上测试只是在640P下进行的,在720P下,负载会更高,所以整机个功耗也会更高。

image-20211217112550549

机身温度

另外一个关注点就是跑《元神》30分钟后的机身温度。当然机身的温度也要取决于测试时用的具体的哪款手机。这里因为8 Gen1还没有具体的上市手机,这里暂时就不多说了。

image-20211212105115762

中负载测试

在中负载测试中,用568P的分辨率,跑《元神》30分钟,《元神》确实可以坚持在6分钟左右的时间保持60fps满帧,再之后,依然是出现慢慢降频的情况,整体来看30分钟,依然可以维持在平均57fps的水平。整体流畅度还是要优于888机型和麒麟9000的机型。可惜的是功耗依然是和888差不多。

mYj9ZQ461nwMVzy

魔鬼负载测试

魔鬼测试会彻底压榨一下这款芯片。令人意外的是,在这种魔鬼负载的情况下,8Gen1的确跑出了所有机型里的最高水平。30分钟的平均帧率在48fps。只是在这种情况下,手机的表面温度已经超过了53度了,会很烫手,但是至少没有闪退,游戏的帧数也比较稳定。

image-20211212105333671

总结

8Gen1 的CPU 表现差强人意,GPU表现还是比较亮眼。让我们看到Android上的GPU终于赶上了Apple步伐。L3的增加提高了整个CPU的调度效率,提升了游戏体验。

SQwj1yvcKBCtdZr

但是能耗比依然提升不大。

2uQL3mbolUMyvPG

最后就是基于ARMv9的CPU架构在三星4nm工艺下所带来的性能提升微乎其微

UTqhHLykei3N6KE

只能说,8Gen1比888好太多了,但是依然是个差强人意的产品。CPU的提升一般,GPU的性能提升爆炸亮眼,但是整体功耗依然使得采用这款芯片的手机像个冬天的暖手宝