Zen2 BIOS的几个注意事项:CPPC与C

您所在的位置:网站首页 开启pbo2有什么用 Zen2 BIOS的几个注意事项:CPPC与C

Zen2 BIOS的几个注意事项:CPPC与C

2023-09-17 00:49| 来源: 网络整理| 查看: 265

说BIOS之前先说一下系统。win10 1909优化了所有zen架构的cppc,所以推荐所有锐龙用户升级或全新安装最新的win10。

如果默认使用或使用PBO,电源计划要选择AMD芯片组驱动附带的AMD Ryzen High Performance或AMD Ryzen Balanced。区别是前者是完全CPPC2状态,即全程频率切换周期是1ms以下;后者是某核心从睡眠状态切到工作状态的间隔是CPPC1状态,切换时间是30ms左右,工作状态下切换频率是1ms左右。后者可以一定程度上防止后台的程序频繁申请资源导致多个核心频繁处于工作状态,待机时温度过高,风扇突然加速的问题,但后者的性能比前者略低,不到1%。本段内容忘记在哪看的了,无法验证真伪,我不知道怎么测频率切换时间。但蓝色这句话是我自己测的。

如果手动定频,则使用win10的高性能计划即可。

电源计划

2020.2.26更新:

上面的说法应该有些问题。如果使用Ryzen Balanced,应该是从 睡眠切到正常频率范围内 的时间是30ms(比较长,具体多少我也是看网上的说法)。过程应该是 睡眠--低于正常频率的频率(例如3.5G之类的)--正常频率。其中消耗时间长的就是 低于正常频率到正常频率这段。zen2架构的P-States切换比较慢。P-States是性能状态。在电源计划里的表现就是99%-100%这段切换的比较慢。Ryzen High Performance的最小处理器状态是100%,也就没有这一切换步骤了,所以直接从睡眠触发CPPC2,频率切换很快。

这么做的意义就是有程序申请资源,系统会告诉CPU我需要用这个核心,核心从CC6睡眠状态恢复到低频状态,开始处理任务,如果任务计算量非常少,很短时间就做完了,核心也就不用再恢复到正常频率了,可以直接恢复到CC6睡眠。这样就不会频繁触发核心高频高压,导致待机温度过热,风扇突然加速。

待机温度过热其实没多热,一般不会超过70度,不用担心。风扇突然加速问题可以手动调风扇曲线改善。

另外Ryzen平衡和Ryzen高性能这俩电源计划不只是处理器最小状态不一样,还有PCIE节能设置等区别,大概可以参考Windows平衡和高性能这俩的区别。而Ryzen计划和Windows计划的区别是支持CPPC2和CC6睡眠。前者频率切换更快,有利于减少游戏时卡顿,减少帧生成时间波动。后者后面说过了,有利于让部分核心XFR到更高频率。

解释一下P-States。P-States是处理器性能状态,CPU和GPU都有。例如P0 3.9G-1.1v,P1 3.5G-0.8v(数是瞎编的),P2... P3....,处理器会根据当前负载强度,来自动选择合适的P-States。P-States的作用依然是节能,因为同样的计算能力,低频高占用比高频低占用更省电。所有zen架构的P-States切换都比较慢,而在正常频率范围内的切换非常快。。

解释一下CPPC。Collaborative Power and Performance Control,协作功耗和性能控制,在win10中被翻译成 协作处理器性能控制。对于RYZEN平台,它的一个作用是AGESA开放一个API给系统,告知系统”核心性能的序列“。CPPC2的一个改进之处是频率切换的速度,众所周知zen2的频率切换可以达到1ms以下。

在最新的hwinfo和ryzen master中都可以看到CPPC的顺序。

hwinfo

下面那一行CPPC是系统利用核心的优先级。ryzen master则是点击“OS”可以看到系统优先利用的两个核心,不如hwinfo直观,我就不放图了。

根据我的实测,win10确实是按照这个顺序利用核心的。

实测

我当时测频率曲线的时候顺便测了一下 占用核心编号。

对于计算类负载,1234线程占用时会优先使用一个CCX里的4个核心。567线程占用时则开始使用第二个CCX里的4个核心。游戏负载不一定是这样,可能会使用第一个CCX里的超线程技术,这是因为计算类负载跨CCX会受到双倍L3缓存的好处,而游戏跨CCX会受到CCX间延迟的影响比较大。线程占用再多时,则开始逐步利用每个核心的超线程。优先级最低的核心在win10看来会尽量少用,在8线程占用时它宁可使用其他核心的超线程也不用5号核心。

事件管理器

CPPC生效的话,事件管理器里面可以看到55号事件。AMD通过报告“最佳性能百分比“来告诉win10核心的序列。这些百分比的数是AMD瞎编的,它们之间的比例不代表真实的性能比例,只用来表示顺序。

所以CPPC只是CPU告诉系统 核心性能的序列,具体怎么用,取决于win10(的版本)。

BIOS里的CPPC默认是AUTO,填写的值是开启。即默认状态下CPPC是开启的。没必要关。对于zen2的默认/PBO状态来说,原则就是少动选项,少去干预SMU,所以我不建议动CPPC选项,保持AUTO即可。这个原则的另一个表现就是不要offset负电压和动防掉压选项。

AMD CBS

AMD CBS下的一堆选项默认都是AUTO,无论是定频还是动态频率,都不用动。你定频并选用高性能计划之后,core performance boost(即PB和XFR)会自动关闭,C-States也会自动关闭,不用你手动关闭,当然手动关了也没事。

细心点就会发现,core performance order有两行,ryzen master里性能最好的黄星星核心也不是被系统优先利用的,这是为什么呢?

hwinfo第一行,和ryzen master的星星,表示的是核心体质,即手动超频的时候这些核心可能超的更高。对于分CCX和分CCD超频可能有些用。同时这些核心可以XFR到的频率和持久度更高。但是报告给win10的核心序列不是这个,原因是多方面考虑。下面这段是AMD官方给出的。

"[The firmware] mixes in additional requirements to optimize user performance: individual core characteristics, overall CCX performance, cache awareness, overall CPU topology, core rotation, localized thermal management, lightly-threaded performance counters and more."

机翻:“ [固件]混合了其他要求以优化用户性能:各个内核特性,总体CCX性能,缓存意识,总体CPU拓扑结构,内核旋转,局部热管理,轻线程性能计数器等等。”

CPPC序列是AMD官方优化出来的。就算你把CPPC关了,你也不能手动优化序列。

所以,CPPC保持AUTO就可以了。

说完了CPPC再来说C-States。C状态就是CPU节能功能,intel那边也有。

当你使用了正确的电源计划,并且BIOS里没有动C状态选项时,在ryzen master和hwinfo里都可以看到节能状态。

hwinforyzen master

只有不被占用的核心进入CC6睡眠,那些被占用的核心才能XFR到更高频率。这是因为不被占用的核心进入睡眠可以减少功耗和电流,给被占用核心的发挥空间就更大了。

所以默认/PBO状态下,一定不要关闭C-States。也是保持AUTO即可。

网上那些让你关C-States的说法全部是错误的。

全核占用的跑分和C状态毫无关系。测区别可以测单核和部分核心的跑分。同时可以观察被占用核心的频率。

部分核心占用时的”乱跳“问题。

如果你跑单线程或几个线程占用时,观察一下ryzen master里哪些核心在工作,你可能发现程序在不同的核心之间乱跳。为什么呢?

这是为了平衡温度。一个长时间的负载持续跑在一个核心上,由于单核XFR频率会比较高(开始的瞬间可能上到4.7G或4.6G,然后立即就掉到4.45G左右,3800X),又是满载,其发热量会比较大。温度越高,不稳定性就越高。所以系统会控制负载跑到其他核心上,如此往复。

所以乱跳是正常的。可能你强行让负载跑到一个核心上,其跑分更高,但你看不到的是背后的不稳定性和持续负载带来的高热量可能会导致降频和缩缸。单核高频高压,其局部发热量极高,如果不切换核心,热量积累就会导致温度快速升高。你看到的温度数据,不一定是这个局部的温度。

频率”乱跳“问题。

之前有人私信问过我为什么按照我的方法调完PBO频率会乱跳。。。

因为这是动态频率状态啊。如果你设置的正确,不被占用的核心会进入CC6睡眠,软件抓到的状态可能是3.8G或3.5G之类的频率(3800X)。。这很正常。

综上,如果没有特殊需求,AMD CBS(或类似选项)下的选项不用动,完全保持AUTO即可。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3