移动智能设备功耗优化系列--前言(NVIDIA资深project师分享)
本文是嵌入式企鹅圈原创团队成员、NVIDIA资深开发project师Terry发表的第一篇文章,其将对“移动智能设备功耗优化”这个专题展开一个系列的总结分享。
Terry毫无保留地总结分享其在主导NVIDIA多个项目开发中的移动设备功耗优化经验,极具价值。
随着智能移动设备的功能越来越多。CPU/Memory频率也越来越高。随之带来的功耗问题也越来越严重,怎样延长手机的待机以及使用时间一直以来都是各个手机厂商不得不面对的问题。本专题将逐一为各位读者解说一下当前主流的功耗优化策略以及一些有用的优化调试方法,希望能够起到抛砖引玉的作用。
如今主流的移动CPU最高频率动辄1-2GHz。更高的频率带来更高的功耗。因此我们并不须要CPU时时刻刻工作在最高频率上。大部分时间里。CPU实际是工作在轻负载状态下,依据不同的系统负载,CPU能够工作在多核/单核。高频/低频,或者在FCPU(比方A57)和SCPU(比方A53)之间切换。假设负载更轻,比方关屏待机。CPU能够切换到LP0,使得CPU功耗趋近于0。以上过程涉及到下面技术。
一、 LinuxCPUquite机制
对于多核CPU,执行游戏须要将全部Core online。浏览网页或许1个核就足够了,怎样评估当前须要几个Core online? 怎样实现CPU core 的hot plug?
因为这个技术是Nvidia独有的。涉及到商业秘密。故不能展开写。假设有须要的朋友请自行Google。
二、 LinuxCPUfreq机制
用户场景不同。对性能的需求也不同。CPU应该执行在什么频率?频率低了会卡,高了费电。假设有突发事件,怎样升频降频既保证系统流畅又只是多消耗能量?下面是软件系统框架。后面会具体解说。
三、 LinuxCPUIdle机制
假设负载很轻。系统能够进入更低的Pstate(比方LP0/SC7),关闭CPU。Memory,外设以降低功耗。怎样实现?系统怎样唤醒?下面是软件系统框架,后面会具体解说。
四、 DVFS动态电压频率调节
这个大家应该不陌生,这是一种实时电压频率调节技术,因为CMOS制成的需求,CPU想稳定的跑到更高的频率须要更高的电压,而这个电压又跟芯片的Speedo和Iddq以及温度相关,怎样确定?下面是软件系统框架,后面会具体解说。
当然,因为功耗需求越来越高,优化技术也越来越复杂。各个厂商都有一些各自独到的技术。假设有兴趣也欢迎读者朋友留言丰富内容。或者发邮件给我讨论:terrywang0712@qq.com,谢谢。
本篇文章为移动设备功耗优化的概述部分,接下来将会深入分析各个部分的原理和实践。敬请关注!
- 嵌入式企鹅圈原创团队由阿里、魅族、nvidia、龙芯、炬力、拓尔思等资深project师组成。百分百原创,每周两篇。分享嵌入式、Linux、物联网、GPU、Android、自己主动驾驶等技术。
欢迎扫码关注微信公众号:嵌入式企鹅圈。实时推送原创文章!
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" style="border: none; max-width: 100%;" />
移动智能设备功耗优化系列--前言(NVIDIA资深project师分享)的更多相关文章
- 推荐:Java性能优化系列集锦
Java性能问题一直困扰着广大程序员,由于平台复杂性,要定位问题,找出其根源确实很难.随着10多年Java平台的改进以及新出现的多核多处理器,Java软件的性能和扩展性已经今非昔比了.现代JVM持续演 ...
- Mysql优化系列之查询性能优化前篇1
前言 这是优化系列的最后一篇的第1小篇,我们其实可以直接从sql怎么写讲起,why not?但是我还是决定花2个篇幅 问一些问题,带着几个问题循序渐进的往下走. 一个sql语句是怎么被执行的? sql ...
- [MySQL性能优化系列]提高缓存命中率
1. 背景 通常情况下,能用一条sql语句完成的查询,我们尽量不用多次查询完成.因为,查询次数越多,通信开销越大.但是,分多次查询,有可能提高缓存命中率.到底使用一个复合查询还是多个独立查询,需要根据 ...
- [MySQL性能优化系列]巧用索引
1. 普通青年的索引使用方式 假设我们有一个用户表 tb_user,内容如下: name age sex jack 22 男 rose 21 女 tom 20 男 ... ... ... 执行SQL语 ...
- Expert 诊断优化系列------------------内存不够用么?
现在很多用户被数据库的慢的问题所困扰,又苦于花钱请一个专业的DBA成本太高.软件维护人员对数据库的了解又不是那么深入,所以导致问题迟迟不能解决,或只能暂时解决不能得到根治.开发人员解决数据问题基本又是 ...
- Expert 诊断优化系列------------------冤枉磁盘了
现在很多用户被数据库的慢的问题所困扰,又苦于花钱请一个专业的DBA成本太高.软件维护人员对数据库的了解又不是那么深入,所以导致问题迟迟不能解决,或只能暂时解决不能得到根治.开发人员解决数据问题基本又是 ...
- Expert 诊断优化系列------------------语句调优三板斧
前面三篇通过CPU.内存.磁盘三巨头,讲述了如何透过现在看本质,怎样定位服务器三巨头反映出的问题.为了方便阅读给出链接: SQL SERVER全面优化-------Expert for SQL Ser ...
- Expert 诊断优化系列------------------透过等待看系统
上一篇我们简单的介绍了,语句优化的三板斧,大部分语句三板斧过后,就算不成为法拉利也能是个宝马了.为了方便阅读给出系列文章的导读链接: SQL SERVER全面优化-------Expert for S ...
- Expert 诊断优化系列------------------给TempDB 降温
前面文章针对CPU.内存.磁盘.语句.等待讲述了SQL SERVER的一些基本的问题诊断与调优方式.为了方便阅读给出导读文章链接方便阅读: SQL SERVER全面优化-------Expert fo ...
随机推荐
- Matlab vs Python 作图
-- Matlab 作图示例 x=-3:0.00003:3; y1=sin(x)./x; y2=x./sin(x); plot(x,y1,x,y2); -- Python 作图示例 import nu ...
- 386 Lexicographical Numbers 字典序排数
给定一个整数 n, 返回从 1 到 n 的字典顺序.例如,给定 n =1 3,返回 [1,10,11,12,13,2,3,4,5,6,7,8,9] .请尽可能的优化算法的时间复杂度和空间复杂度. 输入 ...
- 240 Search a 2D Matrix II 搜索二维矩阵 II
编写一个高效的算法来搜索 m x n 矩阵中的一个目标值.该矩阵具有以下特性: 每行的元素从左到右升序排列. 每列的元素从上到下升序排列.例如,考虑下面的矩阵:[ [1, 4, 7 ...
- [ USACO 2007 FEB ] Lilypad Pond (Silver)
\(\\\) \(Description\) 一张\(N\times M\)的网格,已知起点和终点,其中有一些地方是落脚点,有一些地方是空地,还有一些地方是坏点. 现在要从起点到终点,每次移动走日字\ ...
- 42使用NanoPiM1Plus在Android4.4.2下的录音测试
42使用NanoPiM1Plus在Android4.4.2下的录音测试 大文实验室/大文哥壹捌陆捌零陆捌捌陆捌贰21504965 AT qq.com完成时间:2017/12/5 17:51版本:V1. ...
- Maven对不同的测试环境用不同的参数进行打包
通过mvn package -P ${env} 加载不同配置文件 1.pom.xml中的配置 filter-dev.properties jdbc.properties
- Windows IIS 集成PHP时修改PHP.ini 配置后不生效问题
iis下修改c://windows/php.ini 重启iis的网站不生效.需要重启应用程序池即可生效.
- karma+requirejs+angular 测试
http://karma-runner.github.io/0.8/plus/RequireJS.html karma 不是测试框架,只是一个运行测试框架的服务器 karma测试的原理是,将所有的文件 ...
- Learning Face Age Progression: A Pyramid Architecture of GANs
前言 作为IP模式识别的CNN初始模型是作为单纯判别式-模式识别存在的,并以此为基本模型扩展到各个方向.基本功能为图像判别模型,此后基于Loc+CNN的检测模型-分离式.end2end.以及MaskC ...
- UML实例教程 解析UML建模分析与设计
UML统一建模语言在软件开发过程中非常实用,UMl建模的分析与设计你是否熟悉,这里就通过实例向大家介绍,希望通过本文的学习,你对UML建模的分析与设计方法有一定的了解. 本节向大家介绍一下图书管理系统 ...