系列前置回顾
本专栏前三篇已完成底层闭环基础:
- CPU架构+三级缓存:硬件性能上限基础
- CPUIdle C-State:解决CPU空闲待机功耗
- Thermal 热管理:解决高温降频与硬件保护
但有一个核心缺口一直没补:
CPU在工作状态(C0态)时,如何动态调频率、调电压,实现性能和功耗平衡?
答案就是本篇核心:CPUFreq + DVFS + OPP + P-State。
这是 Linux 功耗体系中运行时功耗的核心,也是面试、Android功耗调优、BSP开发最高频考点之一。
前言
CPUIdle 管的是没事干怎么省电
Thermal 管的是太热了怎么降温
CPUFreq 管的是:有事干时,跑多快、吃多少电
现代SOC绝对不会固定跑满主频,而是根据负载动态升降频、升降压。
该技术学名DVFS(动态电压频率调节),由 LinuxCPUFreq子系统全权管理,硬件电压频率档位由OPP定义,最终对应硬件P-State 性能状态。
读完本篇,你将彻底打通:
C-State(空闲) + P-State(运行) + Thermal(温控) 完整功耗闭环
一、核心概念通俗释义(必懂)
1.1 DVFS 是什么?
Dynamic Voltage and Frequency Scaling动态电压频率调节。
芯片核心物理特性:
频率越高 → 运算越快 → 功耗越大、发热越高
电压越高 → 高频才能稳定工作
DVFS 核心思想:
- 低负载:降频降压,省电降温
- 高负载:升频升压,满血性能
1.2 CPUFreq 是什么?
Linux内核CPU动态调频框架,是DVFS的软件实现载体。