|
WWW.DBIT.CN 2008-7-14 8:27:12 来源:本站 编辑:东三省 |
|
|
|
当一个主板芯片被设计出来以后,工程师们就会不断的开发新的主板驱动,不断的挖掘主板芯片的潜在的性能。那么工程师们调节的是哪里呢?同样的主板芯片,一些主板厂商的独门绝技中,往往有惊人的调节功能,比如降温,打开PAT等,这些其实都是主板芯片本来就支持的。那么这些主板厂商是如何打开这些隐蔽的功能的呢?这就是寄存器的调节。
在这里,我们将会知道通过修改寄存器,我们能优化主板哪些方面的性能。
VIA生产的北桥芯片KT400A
我们知道目前应用的北桥主要负责CPU、内存总线、AGP总线和PCI总线部分,这样我们就可以针对这几个方面进行相关的优化。
1. 关于CPU的北桥寄存器修改
A. 通过修改北桥寄存器降温
这是很多人都关注的地方,甚至有人把寄存器修改软件做为降温软件来看待。
我们知道,CPU由CMOS电路构成。下面的公式显示了功耗P,CMOS门电容C,开关频率f及供电电压V之间的关系:P=CfV^2,其中,CMOS门电容C为常量。开关频率f和供电电压V可根据实际的应用要求而调整。供电电压V和开关频率f之间的关系为:V正比于f。即更高的开关频率需要更高的供电电压支持。
我们可以看出:从CMOS的角度来看,执行一个指令所需的能耗是相同的,所以降低CMOS频率不能减少耗电量,因为在高的时钟频率下,CPU仅仅是加快了完成工作的速度,但在空闲状态下停留的时间会更长。所以空闲状态的存在是只降低频率无法节约能耗的原因。
如果电压随着频率一起降低,从公式P=CfV^2可以看出,电压的平方V^2与功耗P成正比,降低一点电压,功耗便大大减少。这样,每执行一条指令的能耗就随之降低。为了准确的控制系统运行时与CPU相匹配的电压及频率的动态配比,目前电压控制技术都集成到CPU内部。同时,CPU厂商指定一些操作电压与频率之间的组合配置。
在实际工作中,CPU并非一直处于工作状态,即满负荷(full load),大约有40%的情况下空闲(no load),即空闲模式(Idle Mode)。目前,几乎所有的CPU设计都有空闲模式。当操作系统发现CPU当前没有可执行的任务时,便将CPU置于空闲状态。在空闲模式状态下,可以关闭不需要的时钟,以减少不必要的功耗。
当系统发生中断时,CPU从空闲状态被唤醒。大多数系统都有操作系统计时器中断,这样CPU在一秒钟之内可能几千次地进出空闲状态。CPU时钟的“闲置”通常由“停止”或“闲置”指令触发,在应用或操作系统闲置时进行调用。
目前的降温软件就是通过在CPU空闲时发送HLT(halt)指令,CPU将HLT指令插入指令序列,并停止处理指令序列,直到发生中断为止。
发生中断后,CPU重新回到Normal状态处理指令,处理完中断代码后继续从HLT指令的下一条指令执行,进入Halt模式。这个过程实现起来也很简单,可以做一个最低优先级的任务做死循环处理,系统在空闲时都进入该任务。我然后此任务的循环中加入一条HLT指令即可,这样就实现了Auto Halt模式。
处理器在进入Halt模式后功耗将有所下降,我们在CPU的温度监控上可以看到7度左右的降低,这样在CPU内核应该有10度左右的温降。
提到Halt模式,我们就必须谈另一个相关的概念:S2K。
S2K(S2K,S2K Bus,是源于Alpha 21164/21264的EV6 Bus介面协定,采用点对点Point to Point设计)时序控制寄存器(S2K Timing Control)。实际上,AMD要求后来的北桥芯片在设计上都要通过S2K总线分离技术的认证。
在不损失性能的前提下使CPU在空闲时降低功耗,即前面我们提到的利用HLT指令降低功耗。Disconnect Enable When STPGNT Detected寄存器就对应着这部分。通过寄存器开启S2K Timing Control,当系统总线空闲的时候Disconnect S2K,从而降低CPU功耗。
如下图:
S2K总线分离技术需要北桥芯片组和BIOS的支持。但此技术并不能保证在任何系统上都能正常运行,在早期的主板上可以导致PCI设备不稳定。
这可能是由于北桥芯片在设计上存在缺陷或是主板厂商存在设计或是其他方面的问题,于是处于稳定的考虑,很多主板的BIOS中并没有此选项可以设置。我们需要做的,就是通过寄存器设置,打开北桥芯片对S2K总线分离技术的支持。
|
|
|
|
|
|
|
|
|
|
|
热点文章 |
|
|
|
|
|
挨踢(IT)也快乐 |
|
|
|
|
|
|
|