本文主要是介绍Tech Talk丨如何调校一颗满级芯片,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Redmi K50Pro 搭载4nm天玑9000高端处理器
同一颗处理器,不同的设计方案和不同的调校,性能发挥会差异很大。通用芯片的底层调校能力,已经成为当下中国手机市场打造差异化优势的关键。此外,消费者也越来越关注手机芯片的调教能力,在Redmi K50 Pro(以下简称K50 Pro)上市之前,就有米粉专门询问天玑9000的调校情况。
为了拿出最优质的产品,让用户能够在舒适的使用温度和流畅度情况下充分发挥手机的性能,我们的调校团队秉持“不调教好,宁可不发”的信念,集中精力做好天玑9000芯片的调教工作。在众多工程师夜以继日的精细调校之下,K50 Pro以其出色的性能和功耗赢得了消费者喜爱!
无论是《王者荣耀》,还是开放世界RPG游戏《原神》,都能够实现稳稳地高帧运行。
以下是K50 Pro的数据:环境温度25度下,原神一小时,手机温度在46度内,帧率59帧;王者一小时,手机温度在44度内,帧率119帧,二者达到极近满帧。这些优秀的表现都离不开专业的芯片调校能力。
“
本期的Tech Talk,我们邀请到了Redmi系统优化团队工程师——邓永坚,为大家揭开Redmi K50 Pro 所配置的天玑9000这一满级芯片背后的调教逻辑。
”硬核指数:⭐⭐⭐⭐⭐
趣味指数:⭐⭐
阅读时长:约4分钟
一、芯片调校难点
众所周知,天玑9000采用了最新的Armv9架构,同时搭配了Andoird S。新的芯片架构、新的Andoird S版本和以往全然不同,致使手机的软硬件都需要重新调教磨合,这给芯片调教工作提出更高的要求,需要我们从CPU调度、内存管理、整机续航等诸多方向去优化。
二、如何判定芯片调校的好坏
调教的好与不好,要从多个角度来看。
从续航角度,看其综合使用时间能否超过1天;从性能角度,看其操作是否流畅;从游戏角度,看打游戏是否流畅,不掉帧;从散热角度,看手机是否不发热。
但往往鱼与熊掌不可兼得,没有办法让所有达到最优,所以调教的好坏要分角度,我们要做的就是使之达到完美的平衡,给用户带来更好的体验。
三、小米芯片调校的秘密
芯片在不同频点的能效比是不同的,大中小核心的能效比也不同,每个进程的负载不同,所需要的CPU算力不同,基于此,我们做的调校工作主要集中在性能、功耗、温控三方面,在这些方面进行平衡取舍以达到平衡三角,为用户提供最好的基础体验。此外,影响用户当前操作体验的其他因素,我们在做调校时也会尽可能全面地考虑进去,从而找出最优解。
1、性能
在性能方面,我们主要进行了CPU调度优化,引入了原子内存和焦点计算,使K50 Pro的后台驻留能力提高了34%,电量节省了9%,CPU使用率节省了15%。
(1)原子内存
用户高涨的内存需求,带来了手机更频繁的后台清理和更多的反复加载,而清理和加载是非常消耗运算时间和资源的,所以我们针对当下内存管理机制进行了自研优化,将其称之为“原子内存”。
“原子内存”指的是一套更为精细的内存管理方案,它能够解决当前大部分手机因“内存清理的方式粗放、回收线程负载过重”而导致的卡顿问题,带来了行业顶尖的应用驻留和切换响应。
若要做出“原子内存”,首先,要细化内存回收粒度,将内存回收效率拉到最大;其次,要做到内存压力的快速感知,并提前做好内存释放的准备;第三,要做到智能挑选要清理的App,从而保证在内存不足的情况下,重要App仍然可以保持一定的驻留能力。
(2)焦点计算
“焦点计算”是我们在解决系统卡顿问题时针对处理器提出的一套自由调度方案。造成系统卡顿的因素有很多,其中有一个很重要的因素就是CPU的资源调度,随着上层App业务逻辑变得越来越复杂,后台服务对CPU资源的抢占也越来越严重,原始的CPU调度已经不能满足对任务的精细化管理,“焦点计算”方案便应运而生。
在“焦点计算”中,我们会根据场景优先计算当前用户感知最明显的东西。首先,对与用户当前操作关联度高的进程识别;其次,根据当前各个CPU上任务的繁忙状态,实现关键任务在不同CPU上的精准调度,防止出现某个CPU由于任务拥塞而导致的卡顿。
另外,我们还可以对CPU进行快速同步提频,如果提频速度过慢,那在120Hz的高刷场景下,就可能会出现掉帧的情况,但通过修改调度策略,可以实现1ms的快速提频,从而降低掉帧的概率。
2、功耗
在功耗方面,我们主要进行了“智能均衡”处理。
随着硬件规格的不断提高,比如更高的平台性能、更高的刷新率等,都给手机续航提出了新的挑战。因此,如何做好不同场景下性能和功耗之间的平衡、满足用户的多种使用场景,就成为了我们做好整机续航的关键问题。对此,我们提出了“智能均衡”。
首先,我们对所有跟功耗相关的软硬件模块,重新进行了梳理,依据性能优先和功耗优先的思路,分别调整出两种配置,并结合场景进行自动调节,比如我们可以在不同的App下,加载不同的刷新率配置,达到节省屏幕功耗的目的。
其次,为了防止不同模块儿对CPU提频机制的滥用,我们从底层重新制定了一套CPU频率调节管控框架,并优化现有的性能参数,使我们的系统在保持基础流畅的情况下,实现功耗最优。
另外,我们底层还开发了一个针对后台异常任务处理的技术,该技术可以处理一些不合理的CPU中大核的调度请求,从而减少上层应用对CPU资源的滥用。
通过以上一系列的优化技术,从而实现性能和功耗之间的平衡。
3、温控
温度已经成为用户使用手机时最重要的体验之一,K50 Pro如何保证在高负载游戏性能稳定输出的同时,还能保持舒适的手温,除了具备一颗“冷静”的芯天玑9000以及超大的T型VC外,软件的调优也非常关键。
而软件的精细化调度,不仅仅是对硬件的持续打磨,也需要和三方应用进行密切地配合,更与用户的行为和使用场景息息相关。为此,我们使用了自研的动态性能调度技术。
我们利用动态性能调度技术实时分析“界面"、"行为”、“场景”,预测用户下一步的动作,从而控制不同核心的核心频率、调度策略、以及帧率,达到性能的收放自如的同时,实现高性能持久输出与节能省电之间的平衡,进而保证一个良好的温升体验。
四、结语
芯片要好,驾驭芯片的能力更要好!为了更好的提升性能和用户体验,我们坚持在芯片的底层调校技术上“死磕”,“不调教好,宁可不发”!在Redmi K50 Pro上,小米做到了!
你还有哪些希望了解的技术?欢迎在评论区留言,我们将继续邀请工程师就大家关心的话题进行分享。更多硬核知识,请持续关注小米Tech Talk!
这篇关于Tech Talk丨如何调校一颗满级芯片的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!