电脑装配网

俯视众生的10nm,高通骁龙835详细分析

 人阅读 | 作者xiaolin | 时间:2024-03-20 01:07

骁龙820是高通SoC版图上的一个里程碑,其无论绝对性能还是能效比,对比骁龙808/810都有大幅度提升,而且商业上也非常成功。而更重要的是,这背后是高通对移动计算平台的看法和布局——异构计算:

经过大幅增强的Hexagon 680 DSP(digital signal processor数字信号处理器)有了自己的独立介绍,后者支持Hexagon矢量扩展(Hexagon Vector Extensions/HVX),负责图像处理应用中的计算负载(以往在CPU/GPU上相对更费电的虚拟现实、增强现实、图像处理、视频处理、计算视觉等任务可交给DSP去更高效率地处理);

上面有高通第一个自主构架的64位CPU核心——Kryo,其重点提升了浮点运算性能;

加入了升级后的 Adreno GPU ,更强的ALU(逻辑运算单单元)除了提升体验外,还让人工智能、机器学习(物体识别)、照片和视频中的成像优化和AR/VR体验提升等成为可能。

骁龙835构架组成

在这个理念的基础上,骁龙835现在是高通移动平台的一部分,这个拥有超过30亿个晶体管的SoC(然而苹果16年9月推出的A10处理器已经有33亿个晶体管了)是首个使用三星10nm工艺的产品,最终让封装面积对比骁龙820减少了35%。新的CPU构架和X16 LTE基带是当中最重要的改变,其基带已经可以提供最高1Gbps的下载速度(Cat.16),SoC里的其他部分也得到了一些相应的小升级。

三代骁龙参数对比

高通从骁龙800那一代开始就有请媒体到高通加州圣地亚哥总部,以进行功能演示和有限测试的习惯,当然,是通过高通自己的原型机(MDP移动开发平台),后者是用于进行软硬件测试,具备完整功能的手机或平板,只是它们的体型会比手机要大一圈。当年的骁龙810被放在了平板测试机上,而820的测试机是一部有6.2英寸巨屏的手机,到了835这一代,测试原型机继续变小,变成了5.5英寸2K分辨率屏幕,搭载6G内存和2850mAh电池的手机。

原型机变小是个好趋势,因为机器越小,可以用来吸收和分散热量的面积就越小,这侧面说明了骁龙835的功耗会进一步缩小。当然,这需要精确的功率测试才能确认。因为测试时间有限,所以我们专注于CPU/GPU和内存性能测试。注意,我们这里测试的是原型机和非正式版的系统,所以结果仅供参考。量产版很有可能会有比一定的出入。

CPU部分

820上的Kryo是高通第一个全自主设计的64位CPU,这个独特的构架在浮点的IPC性能很强(爱搞机:IPC全称Instruction Per Clock cycle,指每周期可处理的指令数,可以笼统理解性能=IPC*频率),但整数IPC性能还不如ARM之前的A57构架,而且能效比也要低一点。比起使用修改820的4核Kryo构架,高通在835走了一条完全不同的道路。

新的Kryo280构架,除了名字,和原来的Kryo构架没有任何的传承关系。骁龙835上采用了8核心大小核构架,由4个负责极限性能输出的大核,和4个追求“能效比”的小核组成。而这个构架最特殊的地方,其实是它是首个对ARM新构架进行改进的产品。BoC许可让厂商可以根据需求对构架进行调整,特别是对指令预取区和发射队列上的修改,但构架里某些部分不在许可范围内。包括解码器和执行管线都是动不了的,毕竟改动他们的工程太大了。高通没有公开它是基于ARM那个构架修改的,但高通表示大小核CPU都是半自主设计的构架,而内存控制器也是高通自己设计的。

骁龙835的 Kryo 280 CPU在整数运算IPC性能(每周期可处理的指令数)对比820/821有明显的提升,这是我们没预料到的,毕竟Kryo核心的长处不是整数运算。虽然大部分测试中都有大增长,但JPEG,Canny和Camera等部分测试出现了倒退,这个特征和我们在Kirin 960上的A73表现很像。这些整数测试的成绩和L1/L2缓存的行为,都和A73独特的表现很类似,Kryo 280可能就是基于ARM最新的A73构架改的。

Geekbench 4单线程整数运算小项目成绩

具体分数可以戳我们爱搞机之前骁龙835亚洲首秀的文章《20万分不是梦 骁龙835亚洲首秀》,这里我们简单对比一下骁龙835和Kirin 960在Geekbench 4的整数测试成绩,它们的子项目成绩的类似程度,可不是频率和正常的测试变量可以造成的。它们的测试成绩里,只有极少数特殊的项目有差异,范围在-5%-9%之间。这再次说明了,在BoC许可内做小修改后的半自主构架,其成绩其实也是可以预测的。

把频率考虑进去之后(上表)得出每Mhz获得的分数(意义接近同频性能),这会更加容易比较不同构架之间的IPC性能。Kryo 280这种半自主设计的构架,成绩和Kirin960上的A73并没有很大分别,只是比A72高了6%,比A57高了14%,比起前代的骁龙820/821高了整整22%(因为Kryo核心本身在LLVM和HTML5 DOM上的表现不佳,拖低了820/821的分数)。骁龙835的成绩无法横扫其他旗舰产品,和Kirin 960上的A73一样,小项目测试的结果和前代对比也是互有高低的。

Geekbench 4单线程浮点运算小项目成绩

骁龙835的Kryo 280在820本来强项的浮点测试中的分数出现了明显的倒退,甚至还输给了A72。结果依旧和 Kirin 960的A73很像,连小项目的测试分数也很接近。

A73相对A72小幅倒退的部分,也是Kyro 280倒退的部分,这有点出乎我们的预料。因为他们的NEON执行单元和A72几乎没有变化。如果硬要说区别的话,A72在前端延迟、指令预取区和内存系统上会占优一些,但幅度不大。A73在指令解码上的劣势会影响成绩,但不会对全局造成大的影响。对比A72,Kirin 960的A73和骁龙835D Kryo 280 都出现了 L2缓存读/写带宽下降,L1缓存写入带宽下降的问题,这同样对成绩造成了影响。

骁龙835的浮点IPC性能比820/821低了23%,这不知道是设计思路上的妥协还是设计思路上的转变。高通在两年前开始设计Kryo核心的时候,应该就已经对未来那些还没到来的需求有所预测了。从现在高通的布局来说,高通应该是觉得以后更多的计算需求会转到GPU和DSP上,这样可以提升整体的能效比,而“放弃”的浮点性能可以省下宝贵的芯片面积和电力。

Geekbench 4单线程内存测试成绩

Kryo 280、A73、A72和A57都有2个AGU地址生成单元。但A72/A57将载入和存储操作分开由不同AGU处理,而Kryo 280和A73 里的AGU都可以执行存取操作。在Kirin 960上,这个改变带来了比950更加低的内存延迟和并提升了内存带宽。

835在内存延迟控制和带宽上,甚至比960还要强,抛除频率差的因素后,提升依旧达到11%,对比820/821提升巨大。但在两代Kryo的带宽提升幅度,不如Kirin从A72升级A73构架时那么大,因为上一代Kryo的2个AGU就已经能执行载入和存储两种操作了,只是前代在某些场景的延迟会更高。

系统性能表现

到现在为止,我们对骁龙835上的Kryo280的印象是,其是对A53和A73构架进行修改后的产物,无论整数还是浮点运算的IPC每周期性能,都和Kirin960很相似。像PCMark这些系统层面的测试,可以根据真实生产环境,使用安卓API对CPU/GPU/内存/NAND存储进行测试,但除了CPU的IPC性能和内存延迟等影响外,还会受厂商对系统软件优化的影响,后者可以控制程序优先级和DVFS动态电压频率调整策略,以求得性能和续航之间的平衡。

可以确认的是,和其他SoC一样,在不同机器上的骁龙835会有较大的跑分差距。而在原型机上的骁龙835刷新了PCMark的记录,其总分比用Kirin960的Mate 9要稍微高一些,比最快的821的机器还快了23%。

在网页浏览测试中,骁龙835原型机表现优异,但只是比Mate 9高10%。在这个主要考核整数运算的测试中,其比820/821高了34%。值得注意的是,整数运算本来就吃力的820/821,排在了所有A72和A73构架的机器之后,甚至连骁龙650都打不赢。

PCMark的写入测试对频率敏感,需要大核的瞬间爆发性能,测试包括模拟打开PDF文件、文件加密(前两个都是整数运算负载)、内存测试、甚至还有闪存读写测试。所以这个测试的结果会有很多变量,甚至820/821的机器之间都会有较大的出入,像乐视乐Pro3就比 Galaxy S7 edge还要高40%。但骁龙835原型机和Mate 9的差别微乎其微。但骁龙835比起前代进步明显,比最快的乐Pro 3(821)还要快24%,比 Nexus 6P(810)快80%,比联想ZUK Z1(骁龙801/8974AC)快162%。

PCMark数据处理测试同样主要考核整数运算性能,测试包括处理一大堆不同类型的文件的速度对比,并会记录他们和动态图表交互时的实时帧率。骁龙835原型机和Mate9的成绩依旧很接近,但它们这次和其他机器的距离拉得更开,骁龙835原型机比Pixel XL提升28%,比LG G5提升111%。和写入测试类似,820机型间的表现差距很大,再次证明了OEM厂商的调教会对用户体验造成很大影响。

视频剪辑测试中,使用的是OpenGL ES 2.0的片段着色器提供视频特效。这是非常轻度的工作负载,大部分手机在这里,GPU和大核几乎都是闲置状态的,仅仅使用如A53这样的小核,这就是为什么成绩差距会这么小的原因了。

图片剪辑测试中,提供了一堆不同的图片特效和滤镜,需要CPU和GPU同时工作。得益于 Adreno GPU强大的ALU(算数逻辑单元)表现,骁龙835原型机和820/821机型的表现都很好。835的 Adreno 540 GPU比Mate9上的Mali G71(ARM现在最强GPU构架)还要强了33%。

JavaScript测试中iPhone的表现都很好,但这个无法用来对比苹果A系列芯片和安卓平台的芯片,因为它们用的浏览器也是不同的,这很大部分得益于Safari浏览器的JavaScript引擎。安卓平台在同样使用最新版的Chrome浏览器时,骁龙835原型机不错。虽然在Kraken测试中和820/821并没有拉开差距外,在JetStream中又和Mate9没有什么分别,但在后者中比820/821机器有15%到37%不等的提升。其在WebXPRT 2015 中的测试出乎预料地好,比Mate 9高了24%,比使用820的S7 edge高67%。

为了看看软件层面造成的影响会有多大,我们使用高通内部测试的浏览器(专门为了骁龙SoC优化过)进行测试,结果Kraken测试值提升到了2305ms, 但JetStream提升24%到了87分(但这两个项目还是落后iPhone很多),WebXPRT 2015 测试更是暴涨82%达到280分(终于打赢并抛离了iPhone)。

GPU部分

骁龙835上的 Adreno 540 和820上的 Adreno 530用的是同样的构架,但做了小优化避免以前的瓶颈,并对对ALU和寄存器进行了优化。通过改进depth rejection(深度过滤器)减轻了每个像素点的计算负载,以提升性能表现并降低能耗。

高通宣称在3D渲染上对比820的Adreno 530有25%的提升。虽然官方没有说明,但很明显,这里面一大半的提升来源于10nm制程的优势,后者让GPU频率可以提高到710MHz,单单这里已经比820提升14%了。

GFXBench里的霸王龙测试是比较老的测试项目了,其基于OpenGL ES 2.0 API。和新测试不同,其结果和着色器性能没有严格对应关系,这也是为什么旗舰都可以在亮屏测试里,顶到V-Sync限制的60帧。但以前达到60帧的iPhone 7 Plus 和 Mate 9都是1080P分辨率的,但这次的骁龙835原型机,是第一部达到60帧的2K屏设备。

在离屏测试中,骁龙835测试机超越了 iPhone 7 Plus和 Mate 9,比Pixel XL(820)快了25%,和高通宣称的提升幅度接近。几乎是Nexus 6P的Adreno 430的2倍,联想ZUK Z1上的801上的Adreno 330的4.5倍

GFXBench 的Car Chase场景,使用了OpenGL ES 3.1和Android Extension Pack (AEP)上的最新渲染管线,和很多最新的游戏一样,这主要压榨的是ALU单元的性能。这个测试里,骁龙835同样是对比前代提升25%,但更加出乎预料的是,Adreno 540的成绩比Mate 9上的Mali-G71MP8高了55%,后者好歹是ARM最新的Bifrost构架的GPU啊,而且测试里还维持了960-1037MHz的超高频。

3DMark的Sling Shot Extreme场景,安卓平台会使用的是OpenGL ES 3.1,iOS设备用的是Metal 图形API,该测试会同时压榨GPU和内存系统,而且离屏测试分辨率是1440P,而不是其他测试使用的1080P。骁龙835在总分上有30%的提升,这已经是相当好的成绩了,毕竟在苹果A10、Exynos 8890、Kirin 960,和骁龙820/821 这堆SoC之间仅有8%的差距。图形分里,骁龙835原型机比iPhone 7 Plus高10%,比820和8890版的S7高了24%。

在3DMark Sling Shot的第一个图形测试中,毕竟构架变化不大,Adreno 540并没有像以前Adreno 530那样,在几何运算里表现出现大跃进式的提升。 而面对一向在几何运算任务重表现出色的ARM Mali系列GPU,Adreno 540仍然要强11%左右。

在注重着色器性能的第二个图形测试,Adreno 540就发飙了,对比S7上的Adreno 530提升34% ,比Mate 9的Mali-G71高50%,高通在ALU和寄存器上的修改,在这个测试里的效果非常明显。物理测试是在CPU上跑的,而且受SoC的内存控制器的随机存取表现直接影响。虽然CPU表现相似,但骁龙835原型机比Mate9提升14%,主因或许是835的内存控制器,在延迟控制和带宽都比Kirin960强。

Basemark ES 3.1 测试在安卓平台会使用的是OpenGL ES 3.1,iOS设备用的是Metal 图形API,但没有GFXBench 4.0 Car Chase场景里的tessellation密铺计算。在今年年尾加入Vulkan支持前,安卓平台都会受到OpenGL的拖累,在苹果的 Metal 图形API面前根本抬不起头。API上的差距,让 iPhone 7 Plus 抛离骁龙835原型机73%。

在 Basemark ES 3.1的工作场景下,ARM的Mali系列GPU会更占优,离屏测试, Exynos 8890的 Mali-T880MP12比820上的Adreno 530快15%,Kirin 960上的 Mali-G71MP8 要比骁龙835的Adreno 530快25%。这个测试中,骁龙835原型机比起Pixel XL的涨幅达到了40%,比其他测试里的25%要高一截。

在这些游戏模拟测试里, Adreno 540有更好的ALU表现,所以我们很好奇它在GFXBench的综合ALU测试里的成绩。比较惊奇的是,这个构架提升在并没有带来什么提升。结果里,835对比820的14%涨幅、对比821的8%涨幅,都是和GPU频率严格对应的,说明这个场景的瓶颈在其他地方。当然,这结果还是比Mate 9高了32%。

能耗、相机、虹膜识别功能展示

为了在大众心中塑造骁龙是个平台,而不单单是CPU或基带的印象,高通在总部的实验室做了很多演示。但在CES和GDC展会中,高通貌似没有什么好展示的,基本就是把手机塞到VR/AR设备,或者直接就是搭载835的VR/AR原型机。

在同样的VR测试中,对比820,骁龙835功耗率下降23%。当然,这是高通自己的试验环境,真实场景使用的优势未必会这么大。

高通的相机测试实验室有一大堆牛逼而且很贵的设备,公开展示是为了告诉世人,高通的ISP和软件改进都是基于大量的试验结果的。里面除了可以控制光线强度和色温外,连测试ISP电子防抖用的“抖动机”都是专门设计的,其可以设定不同抖动模式和频率,方便工程师去测试EIS电子防抖系统。

有个比较有趣的展示是835工程机的虹膜识别,这个功能可以部分代替指纹识别的工作,在不方便用手的场合使用。但测试机该功能还不完善,高通的产品经理用是正常的,但作者无法使用[摊手]。

实验室还有计算机视觉识别的展示,这个已经不是新技术了,但和同领域对手一样,高通也受益于最近机器学习的突破性进展。

总结

移动SoC包括了:CPU、GPU、高性能的DSP(运算用途)、低功耗DSP(协处理器)、基带SDP(信号处理)、ISP(照片处理)、固定的功能模块(视频与音频)等。所有这些部分都会影响用户体验,但当中很多都无法量化。

而CPU和GPU是最核心的性能部分,而且对续航影响最大,所以它们还会是我们测试的重中之重。初步的测试结果表明骁龙835的CPU部分是4+4的大小核结构,由4个修改版的A73和4个修改版的A53组成,整数和浮点IPC周期性能都和Kiirin960上的A73非常接近。对比820/821的Kryo构架,整数性能提升,浮点性能下降,但这个取舍利大于弊,其整体表现比820/821要好。

高通在VR/AR上继续用力,不单是手机平台,还包括了头戴设备。VR对高分辨率、低延迟的要求,都需要非常强大的GPU性能。835的Adreno 540 GPU在构架小优化和高频率下,有25%的性能提升,对VR设备来说肯定是好事。

另外,这些结果都是基于工程机的,无法代表最终量产的结果。但即便如此,已经几乎可以肯定835对比820会有大幅度的提升了。但对用户体验的影响最大的,或许不是小幅提升的性能或什么新功能,而是10nm制程带来的功耗/续航提升。

via:anandtech


文章标签:

本文链接:『转载请注明出处』