有朋友问我CPU的核心电压Vcore是多少,我的答案是大概1V左右。这个回答引起了争议,”到底是左还是右,计算机科学这种事可容不得模糊!“,我也很无奈,核心电压是个动态变化的过程,会随着运行频率不同会被动态调节,1V只是个中位数。核心电压也曾经小而美,但随着CPU电源管理的演进早已十分复杂。今天我们就一起来了解一下为什么要随着频率不同而改变电压?怎么和由谁改变电压?电压调节的演进等等,也就是从Why,How,Who和When来全面掌握CPU电压调节的知识。
WHY?为什么要调节电压?除了提供更高的性能之外,CPU们的战场还有一个:谁的能效比更好。现代CPU往往采用低电压大电流的供电方案,也是为了改善能效比:低电压带来低功耗。要理解这点,要从原理上谈起。
从含有1亿4000万个场效应晶体管FET的奔腾4到高达80多亿的Kabylake,Intel忠实的按照摩尔定律增加着晶体管的数目。这么多个FET随着每一次的翻转都在消耗者能量。一个FET的简单示意图如下:
当输入低电平时,CL被充电,我们假设a焦耳的电能被储存在电容中。而当输入变成高电平后,这些电能则被释放,a焦耳的能量被释放了出来。因为CL很小,这个a也十分的小,几乎可以忽略不计。但如果我们以1GHz频率翻转这个FET,则能量消耗就是a × 10^9,这就不能忽略了,再加上CPU中有几十亿个FET,消耗的能量变得相当可观。
从图示中,也许你可以直观的看出,能耗和频率是正相关的。这个理解很正确,实际上能耗和频率成线性相关。能耗关系公示是(参考资料1):
P代表能耗。C可以简单看作一个常数,它由制程等因素决定,制程越小,C越小;V代表电压,和P是二次方的关系;而f就是频率了。理想情况,提高一倍频率,则能耗提高一倍。而V的幂函数关系对P来说更至关重要。
通俗的来讲,CPU可以看作由几十亿到上百亿个小开关组成的。开关切换的速度f决定了计算机的性能。为了高性能,必须提高开关速度f,这才是大家关心的。而V则因为省电的原因越小越好。那为什么不把v定成很低很低呢?
我们这里要引入门延迟(Gate Delay)的概念。简单来说,组成CPU的FET充放电需要一定时间,这个时间就是门延迟。只有在充放电完成后采样才能保证信号的完整性。而这个充放电时间和电压负相关,即电压高,则充放电时间就短。也和制程正相关,即制程越小,充放电时间就短。让我们去除制程的干扰因素,当我们不断提高频率f后,过了某个节点,太快的翻转会造成门延迟跟不上,从而影响数字信号的完整性,从而造成错误。这也是为什么超频到某个阶段会不稳定,随机出错的原因。那么怎么办呢?聪明的你也许想到了超频中常用的办法:加压。对了,可以通过提高电压来减小门延迟,让系统重新稳定下来。
也就是说,为了省电,要降低V,但为了达到数G的主频,而不得不提高电压V到一个可以接受的最小值,达到一个平衡。
我们来总结一下,对于一定频率,需要保证一定的最低电压,虽然不同芯片这个值不同,但同一种芯片却有着明确的对应关系,我们把它叫做频率电压对照表T1。它是一个静态表,T1往往存贮在PCU里面。PCU是什么我们今后再介绍。
怎么和由谁改变电压?在曾经那个什么都很简单的年代,CPU一开机就是一个频率,当然没有动态调整电压的需求,这一切随着EIST的引入而不得不发生了改变。
有了EIST,随着工作量不同,操作系统可以动态调节频率。而光调频率不调电压,节能的目的就大半浪费了。于是Intel提出来VRM(Voltage Regulator Module, 电压调节模块)标准,对位于主板上的VRM建立了标准,以期规范其电气特性和CPU和VRM的通讯协议。
图片出自参考资料3
VRM负责将8/4 pin的CPU 12V供电转成CPU的低电压输入。最新的VRM已经是11.1了,可以在Intel官网上下载到,我也在参考资料2里面附上了它的链接。
对于其中的电气标准我们这里不再详述,CPU和VRM如何通讯才是我们感兴趣的地方:
可以看到,CPU传入VID给VRM,VRM根据VID给出不同的Vcore。VID原来有5 bit,现在被扩展到了8 bit。不同的VID根据标准对应不同的电压,对应关系太长,我这里只列出最大和最小值:
有同学会问最小值只有0.03125v, 这么小能够驱动CPU内核吗?这个是理论上VRM可以提供的最小值,而真实条件下,PCU并不会输入11111101的VID值。
电压调节模块VRM根据传入参数不同,根据标准提供不同的电压。那么谁来提供VID呢?还记得我们前面说的表T1吗?PCU在改变频率的同时,根据频率找到响应VID,传给VRM来得到相应电压。
VRM在哪里?看到VRM有spec,有些人认为它是一个模块,实际上它是由几部分组成的:
图片出自参考资料3
包括MOSFETs,Chokes(电感), 电容和PWM芯片。 PWM芯片实现了VID==>电压的逻辑,常见的是ISL6334,支持VRM 11.1标准。
最开始VRM只有一个,给CPU内核供电。随着北桥和GPU被集成进CPU,VRM也由一个变成了5 1,分别是给CPU的:Core VR、Graphics VR、PLL VR、System Agent VR和IO VR,加上另外的内存VR。
高端VRM效果不错,但低端主板VRM十分糟糕,Intel在Haswell将为CPU服务的VRM全部集成进了CPU,变成了FIVR(Fully Integrated Voltage Regulator,全集成式电压调节模块)或者ISVR(Integrated Silicon Voltage Regulator),只在主板上留下了为内存服务的VR:
FIVR的电气特性很好,同时也大大简化了主板的设计,收到很大欢迎。但是因为发热的问题,后期被移出CPU,再后面又被重新加入。FIVR不可或缺的一个重要原因是如果希望CPU中各个内核工作频率不同,又要省电,最好它们都有自己的VR,FIVR可以做到这一点,每个core都有自己的Vcore:
这也是现在EIST和睿频的Domain不再是整个CPU的一个原因。
超频怎么办?VR都被集成进CPU变成FIVR了,超频需要的加压怎么办?其实还可以做:
FIVR需要的输入电压VccIn可以提高,这样他们给出的VccCorex也就会相应提高。
结论CPU的核心电压Vcore随运行频率不同,在1V左右波动。CPU内部的各个内核的Vcore因为它们频率不同,也不一样。
如何调节cpu核心电压,cpu电压是怎么控制的?
如何正确使用bios中的offset电压模式来调节cpu的核心电压 许多人询问如何正确使用bios中的offset模式超频或者降频cpu,所以我们做了个快速指南以便帮助大家解答。 我们希望在能给大家提供足够的信息的同时又能让这个指哗差迅南庆罩通俗易懂,以便帮助大家了解此项功能。 英特尔使用二进制代码来编写每一个处理器的内置存储电压(我们已知的vid),这个代码会被主板的电压调节模块所识别从而来设置处理器运作时的正确电压。 英特尔的处理器内置省电功能,例如SpeedStep, EIST和C-States在运作时是被激活的,在处理器轻载时,speedstep会降低处理器的倍频从而降低了其运作时的频率,当c-state技术使处理器的某部分进入低功耗状态或者全部关闭时eist会动态调节处理器的vid电压来帮助处理器节省功耗。 当我们提高处理器频率的时候,我们需要增加处理器核心的电压来促使核心能够达到更高的频率,最简单的方法就是在bios中设置cpu的电压模式为手动调节,然后输入能使超频后的cpu稳定运乱此行的电压就ok了,但是使用这个方法的负面影响就是使得处理器在任何负载情况下电压都会维持你所输入的那个数值,使得处理器在低负载下的节能还有低发热变得徒劳无用。 我们来做个示范如何使用bios中的offset模式来设置电压,下图以rog系列主板为例,我们先将电压调节模式从手动模式切换到offset模式 注意:rog系列主板需要首先将电压供电模式从extreme模式转换到standard optimized,manual adjustment后才能在前面cpu电压调节模式中选择offset。 我们建议在使用offset模式时把防掉压开到75% 上述两项设置好之后我们回到前一页面来更改cpu的 倍频来促使cpu达到你所需要的频率 Bios中在同一页面显示最终频率 虽然我们之前曾经说过,大部分的处理器在使用合适的散热器时都能达到4.5g的频率,但我们还是建议你循序渐进的来设置你的处理器频率以便熟悉offset模式的工作状态,在我们的示例中我们设置的43倍频,从而使处理器在负载时最高能达到4.3g的频率。 现在我们可以保存设置重启系统了,处理器的电压会自动调节:当你提高频率的时候,默认的电压会自动增加,为了能找到新的负载电压是多少,我们可以启动到windowsn里运行一下压力测试,例如aida64稳定性测试,prime95等,在压力测试的时候我们打开cpu-z,就能看到满载时的电压情况或者你熟用万用表,rog系列主板也可以自己通过手动测量内存插槽附近的电压测量点来获得更为准确的电压数值。 上图是offset自动电压时满载和待机时的电压情况,每个处理器都不一样,仅供参考 Bios设置中可能会比cpu在操作系统中需要更加多的电压来使处理器稳定运行在4.3g 在这种情况下我们只需要进入bios并且使用offset模式来正确降低cpu的vid即可 当“-“负电压选择的时候,在系统满载时,你会看到所选择的数值会从满载电压中减去 例如:如果我们现在系统里cpu满载的电压是1.376v,但是我们想使它变成1.32v的满载电压,我们只需要简单的设置为-0.05v即可得到我们想要的数值,(1.37v-0.05v=1.32v) 请记住当你设置为这样时,同样的道理cpu的待机电压也会减去0.05v,例如我们现在所用的2500k的待机电压(在16倍频时)是1.045v,如果我们满载电压减去0.05v,那么待机电压同样会减去同样的数值,见下图 所以当我们把offset 负数电压设置的过大,处理器在待机时的电压将会不能满足自身的稳定运行,这时候就会出问题了。 如果我们希望增加cpu满载的电压,只需要使用offset 模式来增加电压,但是 模式在改变电压时的范围和-模式是有些区别的,是因为处理器的svid(serial vid)功能允许处理器基于其运行时的频率来获取电压,根据当前的电流和散热条件,在1.376v上增加0.05v后就变成了现在的满载1.40v的电压,见下图 同样待机的电压也仅仅增加了0.025v,下图 offset11.jpg (186.3 KB, 下载次数: 9) 下载附件 2012-4-4 13:07 上传 这就是我们为什么建议你在给cpu加压之前最好通过循序渐进的方式来熟悉offset模式电压工作的模式,了解正负电压的数值范围,先从低频率做起,然后在找系统的极限,offset 超频模式对超频初学者来说可能过于复杂,但是如果你找到窍门,用起来就会得心应手,感觉很值得。怎样调电脑cpu电压啊
工散改具/材料:AMD RyzenMaster。
1、首先在桌面上,点击“AMD RyzenMaster”图标。
2、然后在该界面中,点击“超频预设方案”选项。
3、之后在该界面中,点击右上方的“应用”ann1。
4、冲埋判接着在该界面液枯中,可以看到此时的cpu核心电压值。
5、最后在该界面中,可以调整cpu核心电压值。