智能加速之变:第二代Turbo Core
虽然多核心已经逐步成为主流,但很多时候并不是所有的CPU核心都能被同时用到,有不在少数的程序和系统应用并不支持多核心或仅支持CPU中的部分核心运行,所以单核单线程的性能依然是目前CPU一个非常重要的参数,而对于如何能够在多核心的情况下提高部分核心的性能,Intel和AMD给出了各自的答案:Turbo Boost(睿频加速)和Turbo Core(智能加速)。
Turbo Boost睿频加速技术
在Nehalem架构处理器出现之时,Intel就引入了Turbo Boost核心/频率动态调节技术,可根据实际负载调整每个处理器核心的电压、频率,兼顾高频率和多线程应用。这一技术源于Core 2时代的IDA(Intel Dynamic Acceleration Technology,Intel动态加速技术),只不过当时的IDA只能休眠CPU中一个核心从而提升另一个核心的频率,而Turbo Boost则可以实现多个核心的动态加速,进而提高单核单线程的性能。
不过,Turbo Boost也有要求,那就是前提不能超过CPU的TDP。在支持Turbo Boost的处理器中,每个核心都带有自己的PLL (Phase Locked Loop,相位锁定回路)电路,每个核心的时钟频率都是独立的,而且每个处理核心都是有自己单独的核心电压,这样的好处是在深度睡眠的时候,个别的处理核心几乎可以完全被关闭。为此,Nehalem架构处理器中特备设计了PCU(Power Control Unit,功耗控制单元),可以监控操作系统的性能,并且向其发出命令请求。
当CPU的应用负载提高时,系统可以在TDP的允许范围内对核心主频进行超频: 如果4个CPU内核中有部分核心检测到负荷不高,那么其功耗将会被切断,也就是将相关核心的工作电压设置为0,而节省下来的电力就会被处理器中的PCU用来提升高负荷内核的电压,从而提升核心频率最终提升性能。
Turbo Boost 2.0
而随着新一代Sandy Bridge架构的发布,Turbo Boost也发展到第二代:Turbo Boost 2.0。Turbo Boost 2.0改进了算法,动态提速单行更高,而CPU的GPU也被纳入了加速范围。相比第一代,Turbo Boost 2.0最大变化就在于可以短时间内突破CPU的TDP上限了(不过依然受限于环境温度),可以进一步提升加速效能。当然,令人不爽的是Turbo Boost仅在Intel的中高端CPU中标配,而更加需要加速提升性能的入门低端产品却都不能享受。
AMD Turbo Core智能加速技术
虽然命名上不同,AMD的Turbo Core却在功能上和Intel的Turbo Boost有着异曲同工之妙。都是利用了处理器在原始频率下的热设计功耗剩余可用空间,在工作负载需要的时候智能地提高全部或者部分核心的速度。不过因为AMD没有电源门控(power gating)技术,所以实现原理和方式有些不同,主要是利用P-State电源管理状态切换。
比如在Phenom II X6 CPU中,正在运行某个对多线程支持不好却需要较高频率的程序,使得CPU中六个核心中的三个或更多核心没有得到使用,那么Turbo Core就会启动,将三个空闲核心的频率由默认频率降为800MHz,而另外的三个核心主频会提升500MHz左右。但是,从最终效果来看,Turbo Core的灵活性并不如Turbo Boost。
首先,空闲核心无法完全关闭,只能切换到低速状态,仍然会有能耗;其次,为了提高其他核心的频率,必须给整个处理器加压,这就会影响功耗而限制了加速幅度;还有就是,加速或者降速只能针对三个(或者两个)核心,而无法单独调节每一个核心。相比之下,Turbo Boost可以将空闲核心降至Core C6接近完全关闭晶体管的状态。
推土机升级到Turbo Core 2.0
所以,在推土机架构处理器上,AMD将Turbo Core技术升级到第二代:Turbo Core 2.0。既然是第二代,改进也是非常值得期待的。首先,Turbo Core 2.0的频率提升空间有了明显提高,也就是所有核开启时,最高能自动超频500MHz,不像Phenom II X6,只有一半核能超500MHz。其次,在只有部分核心满载的情况下,尤其是在运行某些对频率要求比较敏感的程序时,其余低负载核心状态可以达到Core C6(CC6)接近关闭状态,从而使活动核心加速超过500MHz甚至更高。比如,FX-8150的默认频率为3.6GHz,开启加速之后可提升至4.2GHz。最后,也是非常明显的一个改进,那就是Turbo Core 2.0加速只受限于TDP,而不再束缚与CPU温度。所以只要在安全设计范围内,即便是CPU处于较高温度,依然可以保持加速。而且从目前得到的信息来看,不仅是高端的8核,中低端的部分6核甚至4核都能享受到urbo Core 2.0。这一点,AMD显然比Intel更为厚道。