最近做了个带电压控制的内核,发现很多吧友都对怎么调CPU电压不了解,于是就打算说下一下这个问题
首先要说下这个功能的起因,其实在moto里程碑时代,这个内核功能在XDA已经用的很多人用了,开发这个是为了超频,因为默认的电压已经不足以拖起高频率,但是如果电压固定的话,功耗和发热会受到很大影响。于是就有人想到到根据自己的CPU体质来定制适合的电压,就有了这个在系统下调电压的功能。
-关于是否有危险性
我下面来以高通的8064-CPU为例子说明
一般在设计SOC的适合,会找到一个最适合这个SOC的最高/最低电压
然后再根据体质不同进行微调
因此,在厂商给的默认电压范围内,怎么调整,都不会伤害到SOC的(否则低体质高电压的SOC岂不是哭瞎,比人家高体质低电压的短寿命),顶多导致CPU不稳定重启。
-注意如果是加电压超频的话,是会对SOC寿命产生影响的*
而这个电压范围在,在主板接口有定义如下

在8064里,8921_S5,8921_S6,8821_S0,8821_S1即为CPU的对应电压接口,min_uV max_uV */即为电压最低,最高电压。/ 这里我降压了,默认最低是850000 uv /

另外在这里也有定义4个CPU的电压
接下来就来说怎么调
首先,CPU的频率不是独立的,是和总线,L2频率相关联的的

这是5个阶段的总线频率,最低80mhz,最高533mhz,前面的0-5为编号
再来是L2频率

最前面的依然是编号,最后一个数对应上面的总线频率
即L2频率为384时,总线为2档即对应200mhz,L2到648时,总线到4档,如此类推
再最后就是CPU

L2(X)即为这个频率下的L2档,同样对应上面的L2表
8064的CPU电压以25000uv为一档,S800好像比这个更小,在L2频率提升的时候,要再加一倍,如上图在1026到1080的时候,因为L2从5跳到14的关系,电压要加50000uv
至于部分频率奇葩的12500uv,估计是高通有自己的考虑。
而两个相邻体质的电压差别有多大呢?
8960和8064是50000uv,比如在fast体质下,1512000mhz只需1.2V,到了nom体质,就要1.25v。
在S600和S800就分的更小的,体质数也更多了,S600是PVS0-6,800到了PVS11好像还有更多,相邻体质的相差值也不确定,,PVS0因为没有BOOST_UV的关系,对比PVS1要加50000uv。PVS1-3是相差37500uv,4-6是相差25000uv,而且L2档数跳的的时候也不需要加一倍电压了,非常奇怪。

上图为PVS2和3,同频相差37500uv

上图为PVS5和6,同频相差25000uv电压
总结:
8960和8064用户调电压按25000uv一级来调,还有看好L2跳升的那个频率,要加一倍,即50000uv
S600,
PVS0请以50000uv一档来调
PVS1-3以37500uv为一级来调,PVS4-6以25000uv来
比如你是PVS1-3,要降/加电压,请一次将37500uv,稳定的话,再降37500uv,如此类推
这样调节得到的电压会更适合自己的SOC。
首先要说下这个功能的起因,其实在moto里程碑时代,这个内核功能在XDA已经用的很多人用了,开发这个是为了超频,因为默认的电压已经不足以拖起高频率,但是如果电压固定的话,功耗和发热会受到很大影响。于是就有人想到到根据自己的CPU体质来定制适合的电压,就有了这个在系统下调电压的功能。
-关于是否有危险性
我下面来以高通的8064-CPU为例子说明
一般在设计SOC的适合,会找到一个最适合这个SOC的最高/最低电压
然后再根据体质不同进行微调
因此,在厂商给的默认电压范围内,怎么调整,都不会伤害到SOC的(否则低体质高电压的SOC岂不是哭瞎,比人家高体质低电压的短寿命),顶多导致CPU不稳定重启。
-注意如果是加电压超频的话,是会对SOC寿命产生影响的*
而这个电压范围在,在主板接口有定义如下

在8064里,8921_S5,8921_S6,8821_S0,8821_S1即为CPU的对应电压接口,min_uV max_uV */即为电压最低,最高电压。/ 这里我降压了,默认最低是850000 uv /

另外在这里也有定义4个CPU的电压
接下来就来说怎么调
首先,CPU的频率不是独立的,是和总线,L2频率相关联的的

这是5个阶段的总线频率,最低80mhz,最高533mhz,前面的0-5为编号
再来是L2频率

最前面的依然是编号,最后一个数对应上面的总线频率
即L2频率为384时,总线为2档即对应200mhz,L2到648时,总线到4档,如此类推
再最后就是CPU

L2(X)即为这个频率下的L2档,同样对应上面的L2表
8064的CPU电压以25000uv为一档,S800好像比这个更小,在L2频率提升的时候,要再加一倍,如上图在1026到1080的时候,因为L2从5跳到14的关系,电压要加50000uv
至于部分频率奇葩的12500uv,估计是高通有自己的考虑。
而两个相邻体质的电压差别有多大呢?
8960和8064是50000uv,比如在fast体质下,1512000mhz只需1.2V,到了nom体质,就要1.25v。
在S600和S800就分的更小的,体质数也更多了,S600是PVS0-6,800到了PVS11好像还有更多,相邻体质的相差值也不确定,,PVS0因为没有BOOST_UV的关系,对比PVS1要加50000uv。PVS1-3是相差37500uv,4-6是相差25000uv,而且L2档数跳的的时候也不需要加一倍电压了,非常奇怪。

上图为PVS2和3,同频相差37500uv

上图为PVS5和6,同频相差25000uv电压
总结:
8960和8064用户调电压按25000uv一级来调,还有看好L2跳升的那个频率,要加一倍,即50000uv
S600,
PVS0请以50000uv一档来调
PVS1-3以37500uv为一级来调,PVS4-6以25000uv来
比如你是PVS1-3,要降/加电压,请一次将37500uv,稳定的话,再降37500uv,如此类推
这样调节得到的电压会更适合自己的SOC。
