PCEVA,PC绝对领域,探寻真正的电脑知识
打印 上一主题 下一主题
开启左侧

[CNQ]要节能还是要性能?看看AMD CNQ对性能的影响(上集)

  [复制链接]
跳转到指定楼层
1#
royalk 发表于 2010-10-4 14:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
点击数:32228|回复数:67
本帖最后由 royalk 于 2010-10-4 14:29 编辑

前言:本文仅代表个人观点,由于不是官方的一手资料,正确性不能保证。只是给大家一个参考,本文来自PCEVA,由royalk原创。转载请注明作者和出处。

历史背景


AMD
的Cool 'n' Quiet,中文名“凉又静”,以下和大家一样简称CNQ。最早可以追溯到K6-2+时代,那时候AMD把节能技术叫做PowerNow!技术,只有在移 动版的CPU上可以实现低负载时候降低CPU的倍频,从而降低处理器的功耗,当然对于桌面版CPU也可以通过硬改变成移动版,并通过某些方法实现这个功 能,不过那已经随着历史的车轮而消失,在这里不再过多讨论。到K8的时代(2003年),PowerNow技术改名为CNQ,同时AMD也正式把CNQ技术应用在桌面版CPU上,并且在降频的同时实现了降低CPU的VID,从而降低CPU的工作电压,让节能效果进一步提升。到了现在K10平台,CNQ的版 本已经进步到3.0,除了能实现上述的降频降压功能之外,还可以单独控制处理器每个核心的倍频,在某些核心空闲的时候单独降低工作频率,但是电压却没法单独控制,因为一个CPU,每个核心都有一个FID,但VID只有一个。

工作原理简介

就如上边提到的,如今的CNQ 3.0,可以实现对每个核心的倍频分别控制。CNQ 3.0可令K10的处理器有四个工作状态,我们分别称为P0、P1、P2和P3。四个状态分别对应着处理器的FID(倍频)和VID(电压),而FID又是可以每个核心单独控制。对于K10之后已经独立出来的CPU-NB频率,CNQ则不可控制。

CNQ的默认工作流程大约如下:

1. 待机:假设CNQ已打开,系统在空载的时候,处理器处于P3状态,FID为0,DID(倍频除频)为1(也就是除以2)。也就是4x倍频。在不超频的情况下,处理器的运行频率为800MHz。电压(VID)大约在1v-1.1v之间。

2. 提高状态的激活条件:系统检测到某个核心
大于60%的负载,并持续500ms(0.5秒)后,(注意这两个条件很重要),系统会将那个核心提升到P2状态。并会再次检测以上两个条件,如果满足的话,就会陆续把该核心提升到P1状态和P0状态。

3. 电压:当有
至少一个核心处于较高的状态时,则处理器的电压就提高到相应的状态。例如,有一个核心处于P1的状态,而其它三个核心处于P3,那么当前电压为P1状态下的电压。

4. 降低状态的激活条件:系统检测到某个核心
小于20%的负载,并持续2000ms(2秒)后,系统会降低该核心的状态,并做重复的检测,直到降到P3状态。当最后一个核心从高状态降下来时,CPU电压降低。
也就是说,P1和P2状态为两个过渡状态,P0为全速工作状态,P3为节能状态。


作用及影响

AMD
的CNQ技术,在K8时代官方给出的功耗规格,在待机时开启CNQ,处理器的 功耗大约为20-30W,而现在晶体管大幅增加,但是随着工艺的进步,也差不多是这个数(具体请看下集功耗分析)。然而,在降低频率达到节能目的同时,也会带来性能的牺牲,这将给我们带来什么样的影响呢?

所以,在此我提出我的论点:
CNQ会给处理器性能带来一定的影响,主要表现在两方面:
1. 提高状态的延迟,从P3提高至P0总共要做3次判断,耗时至少1.5秒。在这1.5秒之前,处理器是无法以全速运行的。

2. 在非多核心的应用程序中,由于windows会自动分配多线程,导致每个核心未必满载,达不到提高状态的激活条件。


这两方面,只要开启了节能就不可避免的存在,但是实际应用测试上,到底会对性能造成多大的影响?主板对这两个问题是否又考虑到?下面我们一一论证,来看测试。

测试平台

CPU
AMD Phenom II X6 1055T 3.6GHz
主板:技嘉 890GPA-UD3H
内存:芝奇 F3-12800CL7D-4GBECO
显卡:技嘉 GTX460 1G
硬盘:西数320G
电源:海盗船VX550W
散热器:超频三 南海自立版
测试还是分为理论运算测试和游戏测试,代表了大家的绝大部分对处理器性能要求的日常应用。




从测试结果我们可以看到一些出人意料的现象,同时也暴露出技嘉的这个主板的BIOS上的一些细节问题,下面我们一一讨论。

1. 由上边说到的CNQ的激活条件可知,处理器在检测到负载变频的头1.5秒内,性能应该是没法达到最大化的,也就是说测试持续的时间越短,这个1.5秒对性能影响应该会越大。但是从测试结果来看,理论测试中除了3Dmark06的CPU分数和CineBench之外都属于短时间测试,我们可以看到CNQ对测试结果的影响并不大,有些项目反而有所提升。说明至少这张主板对CNQ的优化还是比较到位的,相信K10平台经过两年的发展,各大主板厂商BIOS对这方面的优化也已经足够成熟,基本消除了状态改变的延迟对性能的影响,之前我们提出的论点一可以
被推翻

2. 之前提到的有些测试结果反而有所提升,这并不是偶然现象,因为我运行过多次测试以消除误差。而且这个提升在持续时间较长的CineBench R10测试中尤为明显,达到5%以上,这绝非误差所致。而测试条件并没有任何改变,所以我把问题的焦点放在了BIOS上,技嘉的BIOS在对CNQ做优化的同时,是否忽略了不开节能时的性能?或者说,在BIOS上是否还有对性能的优化空间?带着这个问题,我把测试平台转移至华硕的M4A89TD PRO上,同样分别测试打开和关闭CNQ时的CineBench R10成绩,发现差距非常小。所以这个疑问,恐怕只能让技嘉自己用实际行动来证明。

3. 再来看3D方面的测试结果,除了3DMark06受CPU影响较大而有所提升之外,其它成绩均是开启节能比不开节能稍微有所降低。但是这个差别从宏观上来看,都非常小,因为游戏对CPU的性能其实并不是特别敏感。而从细节上看,在一些游戏,例如在失落的星球2的benchmark中,开了节能就出现偶尔的跳帧现象。这个跳帧持续的时间非常短,甚至连自带的测试结果曲线和Fraps都没法录到,但是最低FPS是有到10以下,这个情况在关闭节能的时候不会发生。因此,转回我们的论点二,这个测试结果说明论点二还是
有存在的可能的。

4. 下面我们来对比一下Intel平台的EIST节能技术对性能的影响,测试项目完全和上边相同,注意两个平台的测试数据不具有可比性,这里有可比性的是开启和关闭节能对性能影响的误差。




从测试结果来看,Intel的EIST在测试持续时间极短的Everest Memory Read项目中被抓到把柄,打开节能后,内存的读取速度慢了5%左右,我可以肯定这也不是误差造成的。而是EIST同样会造成一定的延迟。但是在其它项目,尤其是游戏中,Intel的EIST表现良好,误差都在1%以内。

究其原因,我觉得是EIST并不像CNQ那样,会把每个核心的倍频独立控制,而是有一个核心有负载的时候,就会把所有核心的倍频提高了。所以这样对性能影响就小一些。尤其是可以避免游戏的跳帧。

好了,最后留下几个问题给大家讨论:

1. CNQ的核心独立倍频控制,算是CNQ技术发展到3.0后的一个亮点,或许可以在有一部分负载的时候让节能依然发挥一定的作用。然而鱼和熊掌不可兼得,对于这个,大家如何取舍?

2. K10stat可以对CNQ进行一定的优化,比如可以自定义P3状态下的电压,可以实现比CNQ更加节能。但是K10stat是一个软件层的控制,所以会占用一定的系统资源,效率也没有优化后的CNQ高,对性能的影响更大,大家怎么看?

3. 大家说的开启CNQ后超频不稳定的问题,我没有遇到过,不知道大家所指的不稳定是什么?按道理,1.1v左右的电压,哪怕是跑300x4也是应该没有压力的。会不会是中间状态切换(P1或者P2)的时候电压不稳定所致?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

评分

参与人数 2活跃度 +138 收起 理由
overthink + 50 精品文章
无心飘落 + 88 精品文章

查看全部评分

2#
pphiuyt 发表于 2010-10-4 15:43 | 只看该作者
回复 1# royalk


    CNQ 是不是还有软件层面的系统,华擎官网给出了一个CPU CNQ驱动程序.  但是一安装上玩梦幻西游就频繁出现网络错误(关闭游戏)
3#
大D来了 发表于 2010-10-4 16:11 | 只看该作者
本帖最后由 大D来了 于 2010-10-4 16:15 编辑

个人认为,是对于高负载状态的捕获后,做出先加电压再提升倍频还是先提升倍频再加电压的举动。对系统稳定性很有影响。
显然前者比后者更稳定。不会出现要想马儿跑得快又不给马儿吃草的问题。

cpu和主板制造商在判定cpu负载并切换节能与非节能状态时,是否把先加电压再提高倍频作为强制措施,取决于一个牺牲(瞬间)性能换取稳定的平衡。这是一个瞬间,操作行为应该在1MHz运算之内,也就是几十个纳秒就能完成。对性能的影响也可以忽略不计了。
{:4_138:}
4#
royalk  楼主| 发表于 2010-10-4 17:37 | 只看该作者
回复  royalk


    CNQ 是不是还有软件层面的系统,华擎官网给出了一个CPU CNQ驱动程序.  但是一安装上玩 ...
pphiuyt 发表于 2010-10-4 15:43

我认为EIST也好CNQ也好 应该最终是在驱动层实现 所以XP下要装驱动是正常的事
5#
royalk  楼主| 发表于 2010-10-4 17:38 | 只看该作者
个人认为,是对于高负载状态的捕获后,做出先加电压再提升倍频还是先提升倍频再加电压的举动。对系统稳定性 ...
大D来了 发表于 2010-10-4 16:11


你说的对,电压的提高肯定要在频率之前 降的时候肯定也是先降频率后降电压。。这个应该不会错乱
但是至于超频后开CNQ不稳定是不是这个原因造成的 我觉得未必。。
由于我本身也没碰到过这种问题 所以也不好解释 让碰到的人来说吧
6#
大D来了 发表于 2010-10-4 17:40 | 只看该作者
回复 5# royalk


    稳定性,其实不好说,可能这个举动会造成烤机失败,但是平常没问题。
7#
royalk  楼主| 发表于 2010-10-4 17:44 | 只看该作者
回复  royalk


    稳定性,其实不好说,可能这个举动会造成烤机失败,但是平常没问题。 ...
大D来了 发表于 2010-10-4 17:40

按道理来说烤机不会失败 因为烤机的时候应该是持续处于P0状态的
失败的可能性应该在切换状态的时候
或者是开了CNQ以后主板偷偷掉压之类的
8#
大D来了 发表于 2010-10-4 17:46 | 只看该作者
回复 7# royalk


    有没有可能是循环间隔时失败~~比如intel burn test是一圈一圈的。每个中间有结束再开始的情况,那时候要出问题{:4_140:}
9#
royalk  楼主| 发表于 2010-10-4 17:48 | 只看该作者
回复  royalk


    有没有可能是循环间隔时失败~~比如intel burn test是一圈一圈的。每个中间有结束再开 ...
大D来了 发表于 2010-10-4 17:46


不清楚,不知道出问题的板子有没有集中性。。
反正技嘉板电压不是normal的话 待机顶多也就是关闭LLC 并不会降VID 这个你应该懂的
10#
大D来了 发表于 2010-10-4 17:52 | 只看该作者
回复 9# royalk


    除了烤机失败,还有人会把游戏卡顿情况当作不稳定,也会有吧~~
这个LLC这些,没具体研究过,嘿嘿。反正动了电压,就没自动节能了~

我还比较初级~~
11#
royalk  楼主| 发表于 2010-10-4 17:55 | 只看该作者
回复  royalk


    除了烤机失败,还有人会把游戏卡顿情况当作不稳定,也会有吧~~
这个LLC这些,没具体研 ...
大D来了 发表于 2010-10-4 17:52


如果是游戏跳帧的话 CNQ都会有。。所以我觉得3.0的分核心控制这个方法是有点失败
但是如果游戏跳帧都叫做不稳定的话 这个说法应该就不太确切了。。
LLC就是防掉压啦 一般打开后会加0.08-0.1v的电压,关闭后就掉下来,设1.4v 开启CNQ电压是1.312 满载是1.392-1.408(CPUZ)
12#
大D来了 发表于 2010-10-4 18:02 | 只看该作者
回复 11# royalk


    嘿嘿,那个是load line calibration
自己的H55给我地感觉是,加的蛮多的。而且不精确。
13#
royalk  楼主| 发表于 2010-10-4 18:05 | 只看该作者
回复  royalk


    嘿嘿,那个是load line calibration
自己的H55给我地感觉是,加的蛮多的。而且不精确 ...
大D来了 发表于 2010-10-4 18:02


对 简称LLC
H55加的是有点多 大概偏高0.03这样 但只是CPUZ读数而已
实际上是多少谁也不知道
14#
大D来了 发表于 2010-10-4 18:08 | 只看该作者
回复 13# royalk


同一个软件的读数,可以参考,测量学上叫误差控制~~
目前我用过的主办,cpuz和everest读数都是一致的,没出现异常过。

不知道两倍铜是否真的有用。是不是能降低超频所需cpu电压
15#
royalk  楼主| 发表于 2010-10-4 18:13 | 只看该作者
回复  royalk


同一个软件的读数,可以参考,测量学上叫误差控制~~
目前我用过的主办,cpuz和everest读数 ...
大D来了 发表于 2010-10-4 18:08

是的 如果只是测LLC的效果当然可以
但是CPUZ读数和实际电压可能是有差别的
比如C4F就是
16#
大D来了 发表于 2010-10-4 18:15 | 只看该作者
回复 15# royalk


    一般玩家可不会拿电压表去量~~{:4_140:}
17#
royalk  楼主| 发表于 2010-10-4 18:15 | 只看该作者
回复  royalk


    一般玩家可不会拿电压表去量~~
大D来了 发表于 2010-10-4 18:15


一般主板也没法量- -
但是有人去纠结VID和CPUZ读数的差值。。我觉得完全是没必要
18#
大D来了 发表于 2010-10-4 18:18 | 只看该作者
回复 17# royalk


    那时完全没有必要。。。差不多就行了,温度也就那回事。。。
19#
joekoo 发表于 2010-10-4 19:24 | 只看该作者
就算超到4G或以上我还是照样打开C&Q的.
完全不觉得有什么问题.
20#
RaulMee 发表于 2010-10-4 20:17 | 只看该作者
没发现CNQ和超频稳定性有任何影响,一直同时开着呢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部