deep idle

Deep idle

基本概念

首先顾名思义,这是一种CPU进入空闲后的状态,也就是在idle进程中执行的

简单地说,Mediatek会在CPU进入空闲的情况下,再去关闭一些不必要的power domain,以达到最省电的目的,因为CPU空闲的时候,其实系统中有不少的domain也是不需要运行的,不这样做的话,就仅仅是CPU这块的电省下来 ,达不到省电的目的。

Mediatek的做法是在CPU在进入idle进程后,会去判断当前系统的状态是否满足进入更省电状态的条件,首先就会检查是否能进入deep idle,因为dpidle最省电

系统进入dpidle需要满足的条件是

  • 单核(BY_CPU)

  • 预设的能block deep idle的所有clock都已经关闭(BY_CLOCK)

  • CPU在2ms内没有从idle task调度出去的需求(BY_TMR)

  • BY_VTG / BY_OTH的case很少(BY_OTH在个别平台跟TEE(SPI指纹模块)有关)

我们可以从波形上检查系统是否进入deep idle

下图中电流的底部就是deep idle的状态,在MP3播放的状态大约20mA;

如果没有进deep idle,这个底部会被抬高

deep idle也是由SPM来控制它的执行逻辑,跟suspend一样, CPU在进去WFI之前会把SPM的firmware写入PCM,这个firmware跟suspend是完全不一样的。

Android 功耗(9)---MTK功耗基础知识相关推荐

  1. Android View(一)——View的基础知识

    目录 一.View的基础知识 1.什么是View 2.View的位置参数 3.MotionEvent 4. TouchSlop 5. VelocityTracker 6. GestureDetecto ...

  2. Android随机点名器,Excel基础知识-详解随机点名器

    说道制作个案例纯粹意外,我多少有点选择恐惧症,为了不在"选择"上纠结,就自己小玩了一下,就用了程序做了个选择器,其实很简单,就是有小时候玩的"点兵点将",稍微变 ...

  3. MTK Camera 基础知识

    文章目录 数字成像系统流程综述 曝光 对焦马达 镜头(lens) MIPI数据与RAW数据的转换(未完待续) ISP的主要内容和Bayer Raw的处理 RGB.YUV和YCbCr三种颜色空间 补充 ...

  4. java android 小游戏_Android开发基础知识及小游戏

    学习目的 首次进入Android阶段的学习,首先需要我们掌握Activity(界面),程序的生命周期,界面启动,界面布局.控件 相关技术.及其使用 1.Activity: 管理一个界面从创建到运行结束 ...

  5. Android 游戏开发必备的基础知识

    Android游戏开发: View类开发框架 SurfaceView开发框架 Graphics类开发框架 Paint与Color类介绍 Canvas介绍 几何图形绘制 字符串绘制 图像的绘制 图像的旋 ...

  6. Java Android几个重要的基础知识

    为什么80%的码农都做不了架构师?>>>    Java 1.数据类型 bit(位):0或1计算机存储处理信息的最基本的单位 byte(字节):8个bit(上面表格数字的单位是byt ...

  7. 3G应用开发之Android 传智播客 基础知识总结

    3G应用开发之Android Android应用开发之3G  3G应用开发之Android 3G应用开发之Android 应用开发之 讲师: 讲师:黎活明 北京传智 播客教育 www.itcast.c ...

  8. [笔记分享] [Camera] MTK Camera基础知识二

    Platform: MediaTek 色再现流程: 弥散圆: 在焦点前后,光线开始聚集和扩散,点的影像变成模糊的一个扩大的圆,就是弥散圆. 人眼能够最小扁人的圆成为容许弥散圆. 焦深: 焦点前后各有一 ...

  9. Android技能树 — 树基础知识小结(一)

    前言: 现在安卓面试,对于数据结构的问题也越来越多了,也经常看到别人发的面试题都是问什么红黑树,二叉树查找等,所以我们虽然不会马上就会各种难的面试题,但起码树的基础知识还是要会的,这样才能去进一步学. ...

  10. Android车载应用开发与分析(6)- 车载多媒体(一)- 音视频基础知识与MediaPlayer

    多媒体应用是车载信息娱乐系统的一个重要组成部分,一般包含音视频播放.收音机.相册等.车载应用多媒体系列初步计划分为六篇,这是第一篇. 参考资料 视频和视频帧:视频和帧基础知识整理 百度百科 - 声道 ...

最新文章

  1. swift (Singleton)模式
  2. 超有趣!LSTM之父团队最新力作:将强化学习“颠倒”过来
  3. 如何删除windows上面的jdk文件
  4. 《Linux就该这么学》培训笔记_ch01_部署虚拟环境安装Linux系统
  5. HighNewTech:动图看1997~2019年《世界最有价值公司Top10排名》的变迁史——《Most Valuable Companies In The World》
  6. think in baidu
  7. EventSource
  8. 关于json_decode乱码及NULL的解决方法
  9. centos7上配置Samba服务器完成与windows的文件共享
  10. 【学习总结】GirlsInAI ML-diary day-7-数据类型转换
  11. Android信息处理机制
  12. 记一次网络故障排除:nat虚拟机不能ping外网 浏览器可以上网
  13. python opencv入门 光流法(41)
  14. Mac更新后NetKeeper用不了怎么办?
  15. InvalidSelectorException:Message: Locator Strategy 'css selector' is not supported for this session
  16. 数据结构二叉树的链式存储
  17. 云脑启智 开源赋能|2021新一代人工智能院士高峰论坛暨启智开发者大会即将开幕
  18. 什么是真正的实时操作系统
  19. influx db高可用部署方案
  20. Python 框架 之 Django MVT 下的 V 的 视图简单介绍和使用

热门文章

  1. 【Shell教程】一----什么是Shell
  2. 电脑鸿蒙操作系统,鸿蒙操作系统面世 华为称“把不可能变为可能”
  3. 动态数据源切换--AbstractRoutingDataSource
  4. interface接口——公共规范标准
  5. xadmin在Django 1.11中的使用及中英文切换
  6. zh-cn en-uk、zh-tw表示语言(文化)代码与国家地区对照表(最全的各国地区对照表)...
  7. mybatis基础学习4-插件生成器(根据数据库的表生成文件)
  8. Cheatsheet: 2015 03.01 ~ 03.31
  9. 百度地图Key的设置方法
  10. bootstrap-multiselect.js如何动态更新select里的数据