Android系统内核cpufreq技术分析

本文深入探讨了Android系统内核的cpufreq技术,包括变频技术的原理、cpufreq的设计架构、管理策略和用户态接口。cpufreq提供了一个统一的框架,支持不同CPU的变频技术,通过governors实现动态频率调整,以平衡性能和功耗。介绍了performance、powersave、userspace等管理策略,并详细阐述了用户如何通过sysfs接口调整CPU频率。
摘要由CSDN通过智能技术生成

一、Andorid系统内核cpufreq技术机制介绍


1.什么是变频技术:

主流CPU都支持变频(frequency scaling)技术,如美国的Intel CPU 支持的Enhanced SpeedStep技术和AMD CPU支持的PowerNow!技术,还有其他PowerPC、ARM等CPU也支持变频技术。注意:变频与超频是两个不同的概念,超频是指提高核心电压等方法使CPU工作在非标准频率下,这会缩短CPU的正常使用寿命并且会降低系统的稳定性。而变频是指CPU可以工作在不同的频率下,系统在运行过程中可以随时根据发生变化的负载情况动态的在不同频率之间进行切换,从而兼顾性能和功耗。


2.cpufreq的身世:

目前很多处理器厂家都支持变频技术,但是不同厂家的硬件实现和使用方法彼此存在着很大的差别,导致每个处理器厂家都需要根据自家的硬件和使用方法在内核中加入代码,让linux支持自己的产品变频技术。这样做的结果是各个厂家的硬件实现代码分散在linux内核的各个角落里,各种不同的实现代码无法共享信息,导致内核维护以及将来添加对新的产品的支持需要很大的资金开销,因此cpufreq内核子系统应运而生。实际变频技术的开发目的是为了让系统在运行过程中随时根据系统负载的变化动态的调整 CPU 的运行频率。这种技术主要分为两个部分,一是“做什么”,二是“怎么做”。“做什么”是指如何根据系统负载的动态变化挑选出 CPU 合适的运行频率,而“怎么做”就是要按照选定的运行频率在选定的时间对 CPU 进行设置,使之真正工作在这一频率上。即机制 mechanism 与策略 policy如何选择的问题,而良好的软件设计会在架构上保证二者是清楚的隔离开并通过规范定义的接口进行通信。  


二、cpufreq的设计架构

cpufreq为在android内核中更好的支持不同 CPU 的变频技术提供了统一的设计架构,如图1所示。  


图1 cpufreq 框架图


如图 1 所示,cpufreq 在设计上主要分为以下三个模块࿱

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值