手机soc入门知识:浅谈一下手机soc小白向
手机soc入门知识:浅谈一下手机soc小白向理论上频率和功耗是一个线性递增关系 ,而电压和功耗是^2级别的递增关系 ,为了保证芯片高频运行的稳定性通常要施加更高的电压 ,所以实际的曲线很难用单一公式表达,只能通过各个频率的功耗离散点进行拟合。然后我们要明确芯片功耗和性能之间的关系 ,影响功耗的因素分为:静态,动态功耗和热效应 在同一种工艺节点下 ,相同面积的芯片静态功耗通常是一致的,目前还没有一种很好的办法可以便捷的测试出手机的单芯片功耗,手机评测通常测试的是整机功耗或动态功耗(满载功耗-静息功耗)自finfet技术应用之后 漏电现象得到了很好的控制 现在绝大多数手机的静息功耗都在0.4w左右 这其中还包含了大量周边芯片组,针对单soc讨论动态功耗即可。
本文写给比我还白的小白,大神轻喷,做一些简单科普,从soc的角度给予垃圾佬和等等党一些购买建议,尽量避开涉及架构细节的术语(因为我也不是很懂)如果有人想看之后可以试着写一些。
首先我们要明确的什么是一个好的soc,从芯片设计的角度来说 ,PPA(power performance area)是衡量一个架构的重要指标 ,相同面积下相同功耗能否做出更优秀的性能可以区分一个架构设计水平的高低。
然后我们要明确芯片功耗和性能之间的关系 ,影响功耗的因素分为:静态,动态功耗和热效应 在同一种工艺节点下 ,相同面积的芯片静态功耗通常是一致的,目前还没有一种很好的办法可以便捷的测试出手机的单芯片功耗,手机评测通常测试的是整机功耗或动态功耗(满载功耗-静息功耗)自finfet技术应用之后 漏电现象得到了很好的控制 现在绝大多数手机的静息功耗都在0.4w左右 这其中还包含了大量周边芯片组,针对单soc讨论动态功耗即可。
理论上频率和功耗是一个线性递增关系 ,而电压和功耗是^2级别的递增关系 ,为了保证芯片高频运行的稳定性通常要施加更高的电压 ,所以实际的曲线很难用单一公式表达,只能通过各个频率的功耗离散点进行拟合。
通过这个图我们可以看到 A12大核心在台积电N7节点下的甜点频率在2.2ghz附近 而苹果给A12的睿频在2.5ghz 为了最后15%的频率提升付出了三倍的功耗差距。
由于苹果灵活的调度策略和强大的小核心 超高的单核功耗在日常需要高并发短时间负载时并不会造成严重发热,而我们在进行游戏这种长时间中高负载的性能需求时 ,就会影响到性能的长期释放。
这就是省电模式是苹果游戏模式的由来 与其给予过剩的性能造成更多的空载时钟 还不如直接限制性能,留足性能释放的散热余量,让处理器稳定的跑在一个高能效比区间。(缺点就是爆发性能不足,在某些场景会出现小卡顿,而对于原神这样对cpu本身要求就很高的游戏会提升平均帧率)简单说一下热效应 当芯片温度过高触发降频和手动限制频率到同一个性能时功耗是不一样的,温度会影响芯片的电气性能,提升漏电率,所以需要更高的电压来维持cpu的稳定运行。
在这个图上,左边柱状图长度代表整个测试流程消耗的能量(越短越好),右边则代表所有项目完成时间的倒数再乘一个特定系数(越长越好)。
我个人认为用soc在spec2006上的表现对一个cpu的性能来进行评价是非常客观的 ,使用多个子项目全方位测试cpu各项性能指标 ,不同的子项目有不同的性能指标敏感点,例如有的子项目是访存延迟敏感型,有的则比较吃缓存命中率和缓存容量大小 。
我们可以看到即使是A12大核心在为了换取最后15%频率提升的情况下(频率提升不等于性能提升,即使是同一芯片,原因等下说)高于其在2.2ghz三倍功耗(我认为2.2ghz足以血虐 到时候的柱状图反而更加震撼...)依然做到了几乎和855大核心相同的能效比 而小核心在性能是7nm工艺节点下1.8ghzA 55 2.5倍的情况下 ,能效比是A55的两倍,峰值功耗也仅高了20%左右 (A12的小核心tempest亦是源于A6的swift架构 同样的乱序三发射(A75也是乱序三发射),各个子项目的表现也是出奇相识...... )而A55架构源于A53的改良版(一个双发射顺序架构,不谈后端利用率,仅从吞吐量上就拉开了差距)优点是现行主流架构中最低的静态功耗,缺点..... 性能羸弱。
苹果残暴的小核心带来的直接影响是什么呢? 拿A11和835这两个功勋处理器来对比一下(这两款处理器分别带来了苹果和安卓阵营的变革)A11的小核心集群拥有着835大核心集群的性能 只有后者40%的功耗,更形象的说就是 835大核心集群的的单多核性能 (暂时不考虑多核利用率和缓存结构带来的影响)625不到一半的多核功耗。而A12的小核心在A11的基础上功耗降低了三分之一。
总结一下 A11小核性能≈A12小核心性能 ≈835大核心性能 ,A13小核心性能略低于845小核心性能 但是有着比A12小核心更低的功耗,而A14的小核心....1.25倍845大核心的性能 ,和麒麟810相同单核心性能 ,三分之一的单核功耗 ,specint分数高达恐怖的20.06。
安卓的A55/A53就没什么好说的了 835大核心四分之一的功耗 ,40%的性能。
苹果的大核心除了A13的提升不太满意以外,其他都是性能能效全面提升提升,而安卓自835之后在cpu部分做到全面提升的只有865(本质上来说A76架构具有划时代意义 从A77到A78甚至今天的X1乃至于X2都是A76的增量更新)。(只考虑高通设置频率在峰值性能的情况下,如果涉及到同性能下的功耗表现而跑在特定的性能区间,即使是拉垮的845和888也可以小幅度领先835和865)。
海思和天玑就不展开说了 ,涉及到架构的细节有点多,有人想看的话之后可能会写,有小朋友很好奇为什么海思和高通用着同样的arm公版架构(不要说什么高通定制架构 花大价钱找arm定制的结果和公版也只能打个7788 最鲜明的对比就是980和855 也是在这时候高通才琢磨过来,865老老实实用公版不是非常优秀嘛),这里我们就要在引用一个概念 —-ipc(Instruction Per Clock)也就是每个时钟的指令执行数量 ,在同一架构下 通常和仿存延迟和缓存容量有关 ,涉及到厂商的话和芯片设计团队的设计功底甚至和eda版本都有关系,仅从980 995 9000和同代高通对比的话 ,高通做的会稍微好一些 ,同频5%左右的差距吧 。
接下来浅谈adreno 和mali还有苹果gpu ,架构方面暂时不谈了 ,EU结构也都不一样,(a和m采用的还是立即渲染 苹果是延后渲染),不同的 EU结构对不同接口的支持和利用率都不相同 ,所以下面只谈各家相比自己上一代在规模和利用率上的改进。g76可以说是mali阵营划时代的进步 相比前代g72计算单元翻倍(这样做可以优化驱动开销和前端控制逻辑,缺点是不能对性能释放做出更精确的控制),g76对计算单元利用率的大幅度提升以及对新硬件特性的支持(曲面细分与各向异性渲染),配合7nm节点的优秀表现加上划时代的A76造就了980这颗神U。
有小朋友可能会问,为什么之前不合并计算单元要到G76再合并 ,是这样的,由于工艺节点的不同,在不同的密度和栅极宽度下有着不同的设计思路,例如今年intel混乱的11代酷睿生产线 其实从架构上来说11代酷睿没有问题,最后的结果就是11代桌面端纷纷变硅渣,就是因为intel 10nm产能和性能双双不如预期,最后变成了旧架构用新工艺,新架构用旧工艺然后双双翻车的场面,让隔壁amd笑掉大牙。
G77以及G78都是G76的小改,没有增加单核心规模 ,小幅度增加的利用率和优化了驱动开销以支持的更大的核心数。总之mali在G76之后的优秀表现大大缩小了其和adreno的代差,在不同的子项目上可以打的有来有往。
而adreno... 从优秀的540之后...只有650正常过那么一下.....
835的封装面积仅72.3mm^2 结合三星10nm工艺节点的密度指标 在gpu方面做到了一个迄今为止所有旗舰芯片都难以企及ppa巅峰。
从845开始 adreno便进入了怼规模的路子 845直接比835多了50%的规模 从256alu到384alu 同时伴随着58%的峰值性能提升和大约20%的功耗提升,收益还算不错,而接下来的855让我十分惊讶(A14的gpu也是同样的原因) ,在7nm这么优秀的节点下 ,发布会的ppt闭口不谈能效提升幅度,只是放出来一个20%的峰值性能提升,在768alu的规模下带来这么可怜的性能提升,功耗却没有好看多少。
845的gpu频率为710mzh 而855是585mhz ,也就是说 855在规模大涨 工艺大幅度进步的情况下 ,还要对gpu进行降频才能带来这点性能提升,(我愿称之为adreno之耻,没错,比888还要耻辱,888还算情有可原,在工艺缩水频率大幅度提升的情况下相对来说还可以了)adreno 650算是把640的拉垮拉回到一个合格的水平,配合优秀的A77以及n7p在高频的打磨优化,成为835之后的又一代神U
通常来说 每个大节点跨越要经历两年时间,台积电就要拿出在这之间拿出上一代节点的优化版本,同一节点可以沿用上一代的架构设计(设计厂商可以偷懒), 所以通常情况下不要对优化版本抱有太大的希望 ,除了865让我如此颠覆认知。
大节点的跨越通常会大幅度提升密度 ,所以更方便设计高吞吐量的内核和怼gpu和缓存规模,优化版本通常适合在频率上和利用率上做一些文章。
简述一下上面这张表 ,苹果每代gpu基本都能在过热情况下获得上一代的峰值性能 ,而在峰值性能下获得和上一代过热之后相同的能效(A14除外,根据A14的gpu规模一度怀疑是不是犯了和855一样的错误,另外这是过热触发降频的测试,结合我们刚才讲到的热效应,在省电模式下应该更加优秀)。
888的gpu在峰值情况下达到了和855相同的能效,相当于855的两倍gpu性能,两倍功耗,结合我们刚才说到的高频对电压和功耗带来的影响,显而易见的是888在和855相同的gpu性能释放的情况下功耗一定会优于855 ,而在图表中可以看到在过热情况下的888在2.91w的功耗下的性能只是略低于865在3.91w的功耗。
麒麟9000在过热情况下的能效水平达到了目前移动端天花板(A14在过热情况下的水平)但是性能还是略低于A14 ,大概15%的样子,但实际上的差距还是会非常大,9000拥有非常恐怖的24c g78规模 静态功耗一定不会低 ,在省电模式下大概在500mhz左右的运行频率,没有大多的性能调度区间,而A14高达1.36ghz的gpu有着充分的性能调度区间....(太可怕了)
有小朋友懒得看上面这一堆废话,所以下面会通俗易懂的给出一些建议,也是根据上面提到的内容针对各个处理器的汇总。
从高通开始
835 :身兼big.little和A53这种山顶洞人架构的上古遗老,却因为同时代甚至放在今天相比新中端soc也不落后的出色能效(相比A10和960)支撑着一代又一代的钉子户和垃圾佬。
建议 :峰值性能瓶颈 可以买来作为备机和播放器。
845:装备了跨时代的A55和dynamiq架构,理论上性能调度要比835灵活的多,(可惜没有几个厂商愿意打磨,后来高通就用缓存规格和密度库差异区分了大核和中核)属于上限很高下限也不低的soc,放在今天 (A75成为了制约他的最大瓶颈,让强大的gpu无处发挥,今天的主流游戏还是偏CPU负载为主 ,例如在和平精英流畅极限画质下 8个核心可以全部满载 而gpu在257mzh的最低频率下也只有50%左右的占用率(亲测)) 。
建议 : CPU瓶颈 ,可玩性比较高 可以买来刷win11
855: 装备了跨时代的A76 ,还特地给了一个满配的A76和高性能密度库来刷分(bushi)
我们可以看到855的超大核心 的面积要明显大于其他三个中核心 ,然而区区256kb的缓存无法达到这样的面积差异 ,这是由于超大核心采用了高性能密度库 (降低晶体管密度改善高频积热-通俗来讲就是更贵性能更强的工艺),再加上不同的缓存配置,所以超大核心在整个性能区间的综合表现都要强于中核心 ,同时把频率拉到2.84ghz冲一下单核峰值,而三个L2减半的A76跑在2.42ghz的中高频 卡一下频率甜点,同时避免高频对缓存容量的敏感,带来不必要的能效下降。gpu拉垮的原因刚才说过了
建议:可以买 ,现在价格比较香,gpu提升只能说不符合预期,但是谈不上翻车 相比CPU巨大的提升来说 算是各方面都得到了稳定的发挥 属于半步神U
865:
A77算是非常成功的小改 在引入初代lpddr5这种高延迟内存之后,没有影响到cpu的发挥,让我非常惊讶,可能和翻倍的三级缓存有关 ,由于n7p优化了高频表现 865的cpu部分获得了一个令人欣喜的提升(这种提升在后摩尔定律时代真的不多见)大核心在性能同频提升超过20%之后功耗小幅度下降,中核心不管是性能和能效都要超过使用了更先进工艺7nmeuv的995大核心 (2.42ghz A77>2.86ghz A76)在A11大核心60%的功耗下基本接近了A11大核心的水平 (只是性能水平,实际架构水平差异巨大),而gpu部分大幅度提升了利用率 极大程度提升了GPU能效(如果没有865gpu的优秀表现 ,再结合我前面说的,大家也就不会觉得888翻车了),综合上来说算是非常接近A12了,(差距主要在小核心,但优秀的中核心和多核性能可以弥补一些)
建议:非常推荐购买
至于865 和870 :
推荐购买870但不推荐865 ,870可以视为n7p后期工艺节点已经很成熟,可以保证高频能耗比下超到3.2ghz的特挑产物,能达到3.2ghz证明体质一定是整体优于865的平均水平的,在865的性能区间上应该有着比865更优秀的表现。
888:
其实我觉得888真的被黑的过于惨了,单看X1 在功耗略低于A11的情况下基本达到了A12的峰值性能,结合更高的主频有着更丰富的性能调度区间,问题就在于 这种爆发策略的U 都是上限极高下限极低的产物,再加上888的上限也高不到哪去....... 结合不同批次的巨大体质差异,(最多也就是小胜865,大概半代差距),A78属于那种 区分产物 (就很迷,我没搞明白)而gpu表现也谈不上拉垮 其实同频性能也是要略微强于865的 并不是完全由865的gpu超频得来,明显是小改了架构,也许是高通的gpu利用率走到了瓶颈期吧。
建议:可以买 ,但不是很推荐 ,888 也可以买 应该属于5lpe三批之后体质好一些的。
苹果:
A11 :提升幅度仅次于A9的一代 尤其是CPU 把ipc拉到一个安卓阵营难以企及的高度,缺点就是静态功耗也很难看 因为大核心太胖,省电模式在1.3ghz下只有小超845大核心满载的水平了(说的是人话么)
小核心在前面说过了 ,总之在cpu部分表现非常优秀,体现了苹果架构团队优秀的设计功底,而gpu和工艺都比较拉垮 gpu峰值高达8.3w 而在A11之后基本都控制在6w的水平
建议:不推荐,一方面是处理器,另一方面机器都过于老电池和各元器件都老化严重 ,不是很好捡,喜欢home键的山顶洞人可以买se2。
A12:非常谦虚的一代 实际提升也是非常大,gpu峰值相比A11提升实际高达70%,数据源于苹果对开发者介绍gpu硬件特性的视频 而CPU整体提升也在25%左右 (官方宣称15%)。峰值功耗略高于A11,但在n7节点的优秀表现下,同性能功耗下降十分显著,小核心在维持A11残暴性能的同时功耗大幅度降低。gpu部分提升巨大 首次支持了内存压缩(原来苹果之前都不支持内存压缩的么......)在n7密度暴涨的基础上堆到了4核心 ,频率也拉高到了1.1ghz左右...
建议:推荐 整体非常优秀,相比A14也不逞多让 只推荐xr和平板。
A13:提升让我有些惊讶的一代 大核心部分的改动说实话有些失败 ,看上去也是改了不少 ,实际只提升了7%的ipc,在2.66ghz下功耗有些炸 ,4代里最高,(很好奇A15怎么样)小核心提升比较大(从835提升到845),增大到96/48的L1,4mb的l2(其他的时间细说吧,乏了)提升了15%的性能 功耗甚至降低了0.03w。
gpu表现非常优秀,也是远远超过官方宣传的20% (CPU不到20% 只有16.5%,浮点倒是接近这个水平)A12虽然GPU提升很大 ,但是功耗曲线并不好看,静态功耗有些高,A13得益于16mb的slc(展示不清楚gpu在slc上的受益情况,不过这是人干的事?)更优秀的内存控制器,GPU在低频能效比和峰值性能上相比A12进步非常大(从我接触的Xr和11以及11pm来说 A13在省电模式上的游戏体验远优于A12,A12明显发热更高)应该是A13对于gpu架构的改进以及N7p的原因,让gpu工作在一个更低的电压曲线上。
建议:除了大核心功耗有点高以外都挺好的 ,最推荐打开省电模式的一款,即使是日常使用。
A14:提升官方都不好意思说的一代(bushi),其实还好 ,有点类似于845到855的提升(暗示A15是865?),因为CPU进步其实挺大的,从A11开始的七发射时代进入了8发射 可惜ipc只有5%的提升,不知道后续A15有没有优化的空间,如果没有说明单核心性能提升已经到了理论并行度的极限,已经不是提升单核心执行单元数量和吞吐能力可以进步的了,整体得益于在高频并不是很拉垮的n5 (惊讶)大核心提升在20%左右,而小核心进入到了四发射时代....高于A76但低于A77的ipc(没吃饱 ,吃饱应该比A77还强不少),性能提升高达35%,功耗还能控制在0.44w。
gpu就有些拉垮了 从gb5的图形分(gk5着重测试应用计算单元)以及A14单gpu的面积增长幅度再结合n5的密度提升,肯定是堆计算单元了,落实到渲染能力上就是峰值提升了10%的性能,频率来到了1.36ghz,省电模式下能效提升20%,同能效性能提升20%(听说A15有35%的gpu性能提升,期待一下吧)
建议:买吧 挺好的,cpu提升合格,小核强到爆裂,gpu提升不符合预期罢了。
补点图
最后谈一下对895和A15的展望,对895我是不抱任何期待的,在arm的ppt上x2 A710 A510的性能功耗曲线都是和上一代同定位架构重合的....(新一代大雷,希望到时候打我的脸吧)gpu倒是终于要到7系了,(目前没什么其他消息稍微期待一下吧),arm现在给我的感觉就是黔驴技穷,反正高通也把nuvia买了,期待高通带着新的大核心架构重返tsmc ,王者归来,不过这两年是没戏了。
苹果在我看来 在gpu和小核心上还是有很大发展潜力的 cpu大核心目前看来是走到头了 不知道后面能不能拿出什么天顶星科技 如果你认真了解一些关于架构的知识,会发现苹果的大核心架构相比arm公版有压倒性的优势,相比这方面的优势 小核和gpu更是让arm望尘莫及,要知道A14的gpu可是跑在1.36ghz.....还能在5.6w做到小幅度超越888和9000的gpu峰值性能.....
就算之后gpu不改架构靠着堆规模和吃制程红利都能啃几年老本(不会被我奶中了吧)。
现在soc的发展进入了cpu提升的瓶颈期 而gpu发展还是在一个正常的节奏上 (主要是代工厂的密度提升速度远远超过了本身节点对于栅级宽度的提升需求,靠堆叠层数给摩尔定律续命,频率一直止步不前),而现在的主流手游可以都可以榨干cpu(高刷普及) ,相对来说对gpu的需求提升并不快,不同的游戏 ,不同的性能需求侧重点,吃通用计算单元的比例要远远超过渲染和纹理。