超能课堂(227):CPU的频率为什么乱跳?讲一讲各种各样的睿频技术
2020年4月30日,Intel发布了最新一代的Comet Lake-S系列处理器,与月初发布的Comet Lake-H系列处理器一样,新的桌面处理器支持了新的睿频特性,也就是来自于移动平台的Thermal Velocity Boost和来自于高端桌面(HEDT)平台的Turbo Boost Max 3.0两项技术。
看这复杂而又混乱的各种频率
可能很多读者看到这里就已经一头雾水了,怎么简简单单一个睿频还能有这么多花样的?是的没错,睿频技术一直都随着处理器的不断发展而更新着。而现在各位用着的处理器,或多或少都已经集成了一些睿频技术,不信的话你可以打开任务管理器,看看性能选项卡中,CPU一项的频率,是不是一直在不断地变动着?这其实是睿频技术与节能技术在起作用。本文就带各位回顾一下睿频技术的发展历程,顺便为各位介绍那些新近被引入的睿频技术。不过在介绍睿频技术的发展史之前,按照惯例,我们要讲一下睿频技术是怎么实现的,这就要从CPU的各种节能技术开始讲起。
目前主流的各种睿频技术
· Intel Turbo Boost 2.0
· Intel Turbo Boost Max 3.0
· AMD Precision Boost
· AMD Extended Frequency Range(XFR)
从节能技术到自动超频
在x86处理器刚开始蓬勃发展的阶段,那时候的x86 CPU都只能够运行在一个固定的频率上,比如说Intel的80386DX的一个型号永远跑在33MHz这个主频上,不像是今天的CPU,频率可以在一定范围内变动。而随着CPU的发展,主频逐渐提高到了1GHz乃至更高的地步。但这时候人们发现,一直让CPU运行在一个固定的频率并不合适,一来是在计算机空闲时我们并不需要运行在高主频下的CPU,二来是一直运行在高主频下的CPU无论在发热还是耗电方面都不太理想。
倒在4.0GHz前的Pentium 4,发热问题严重
图片来自于Wikipedia
那么怎么办呢?能不能让CPU的主频变成一个浮动值而不是固定值呢?这样在不需要的时候CPU能够自动降低主频以达成节能的目的,而在需要时又可以迅速地恢复原有的主频以提供标称的计算能力为我们服务。于是,能够让CPU主频根据系统负载自动进行调节的节能技术就应运而生了,最早有Intel的SpeedStep和AMD的PowerNow!。
最初节能技术主要针对的是移动平台,那时候的操作系统还要靠打补丁或是安装特定驱动来实现对CPU主频的操控,不过随着技术的演进、操作系统的电源管理逐步完善,CPU的主频切换延迟越来越低,其可切换的频率范围也越来越广。CPU节能技术的发展让软硬件都适应好了动态的CPU主频,而此时,新的风暴来临了。
2006~2008年左右的CPU市场可以说是风云变换,前脚AMD以Athlon 64 X2系列打得高频低能的Pentium D系列找不到北,后脚Intel以崭新的Core架构以及Core 2 Duo处理器横扫中高端CPU市场,CPU界的第一回“核”战争打得不可开交,而这次战争的胜负点可以说就是在2008年Intel发布的Nehalem微架构上。
四个核心中,两个闲置核心关闭,其它两个则以更高频率运行
在保证TDP在有效范围的前提下,四个核心均以更高频率运行
Nehalem微架构继承了Core微架构的高效特性,并且将单片CPU上面的最大核心数一举提升到了8核之多。面对如此之多的核心,当时还是以单线程为主的各项应用都没有很好的利用办法,而对于单线程应用来说,同架构下主频越高的处理器跑得越快(大部分情况)。为了让处理器在当时占据绝对多数的单线程应用中发挥出应该有的强悍性能,Intel决定引入一项新的技术,这项技术能够让CPU在面对单线程类负载时临时“关闭”掉部分核心(其实是让它们转入节能状态),同时将没有关掉的核心主频提升到标称值以上,也就是俗称的超频,只不过现在这个步骤交给系统来自动进行,用户无需干预。当然,它也可以对所有核心进行自动超频,不过由于TDP的限制,对越多的核心进行超频,其超频幅度就会越小。
实际上Turbo Boost技术的前身——动态加速技术(Dynamic Acceleration Technology)在Core 2 Duo时代就已经存在了,只不过当时的动态加速远没有Turbo Boost那么好用,并且刚开始仅局限于移动平台。
Intel Turbo Boost 1.0、2.0
上面所说的这项在Nehalem微架构中引入的特性被Intel注册了专用的商标——Intel Turbo Boost,当然,Intel为了方便在国内宣传这项技术,给它起了“睿频”的中文名,所以现在一般以睿频代称Intel的自动超频技术。
在Nehalem上首次引入的睿频技术能够让CPU在TDP范围内(注意是范围内)进行自动超频,但不能突破TDP的限制,这自然也就限制了CPU能够达到的最高频率。不过这也足以让Nehalem处理器成为当时的性能王者,其代表就是它改良制程(换到32nm)并小改架构(换到Westmere)后推出的Core i7-990X。
不过Intel并没有在此停下脚步,在Tick-Tock战略的下一个Tock点(更换架构),他们推出了经典的Sandy Bridge架构,并将Turbo Boost技术升级到了2.0版本。
Sandy Bridge是奠定Intel现今桌面CPU基础结构的一代经典架构,它将原本外置于CPU的核显整合进了同一块Die,并且引入了环形总线(Ringbus)将CPU内部的各个部分串接在一起,实现了高速、低延迟的内部通信。既然iGPU正式被整合到一起了,那么Turbo Boost也应该要照顾到它,于是,Turbo Boost 2.0升级的一部分就是支持对核显进行频率的调控。
而Turbo Boost 2.0上另一个重要的特性就是允许CPU越过TDP进行超频,不过由于在超过标称TDP后,CPU的发热量会大很多,所以Intel又给这个特性加上了最长时间、最高允许的功耗两项限制,后者延伸出了PL1、PL2的概念,PL1一般指CPU的长时运行最大功耗,等同于TDP,而PL2则是规定了CPU在睿频状态下的最大功耗值。但由于主板厂商一般都会自动解锁这个限制,所以在我们使用的时候,CPU基本没有睿频时间和功耗的限制,这两项限制常见于OEM整机和笔记本平台。
Turbo Boost 2.0一直被随后的Core系列CPU所沿用,另外还有服务器的Xeon系列也拥有这项特性。它非常成熟稳定,不管在什么平台,都能够给用户带来一定的性能提升。
Turbo Boost Max 3.0
在Turbo Boost 2.0成为标配之后,标准的睿频技术直到现在都没有太大的发展。不过Intel并不是没有新的想法的,他们在Broadwell-E上面引入了全新的Turbo Boost Max 3.0技术。
Turbo Boost Max 3.0的控制面板
Turbo Boost Max 3.0虽然延续了Turbo Boost 2.0的版本编号,但两者实际上并不构成继承关系,而更是两种并列的技术。我们知道,没有两片CPU的体质是完全一样的,而就算是在同一片CPU上,不同内核的体质也是不一样的,在普通情况下,内核之间的差别并不大,不过一旦进入到超频状态,体质差别就会体现出来,具体来说就是相同电压下某个内核可以达到更高的频率。为了充分榨干CPU的每一分利用价值,Intel开发出了专注于提升单核频率的Turbo Boost Max 3.0技术,在CPU的测试环节中,CPU的内核特性就会被写入到CPU内部,BIOS或特定的软件可以读取出这个信息,体质最佳的核心可以被自动超频到一个更高的频率去(比最高单核睿频频率还要高200MHz左右),配合上相应的驱动和应用程序,用户可以手动将某些程序指定到运行频率更高的核心上去,从而更快地完成工作。当然,现在的操作系统也会自动地调用这项特性。
初代的Turbo Boost Max 3.0只能加速一个核心,到了Skylake-X的时候,这项技术可以支持到同时给两个核心加速,而Comet Lake-S,也就是十代桌面酷睿上面,就增加了对这项技术的支持。
Thermal Velocity Boost
相比起桌面平台,移动平台的散热条件可以说是非常的……苛刻了。在很多笔记本上面,CPU甚至不能维持满标称的睿频时间就会回落到基础工作频率甚至出现降频情况。但对于散热设计非常好的机型来说,普通的睿频不太能够满足需求,于是Intel在第八代移动版酷睿处理器上面引入了新的Thermal Velocity Boost,直译过来的意思就是根据温度决定的高速睿频。顾名思义,要触发这项睿频技术,首先要满足的条件就是处理器当前的温度,其次要满足的条件是处理器还有睿频所需要的功耗“预算”。
当同时满足两个条件的时候,Thermal Velocity Boost就会被触发,它能够让处理器的频率瞬间上到比最高睿频更高的地步,对于Coffee Lake-H来说,这个值是200MHz,而它在移动低压平台也有被使用,不过频率提升的幅度就只有一半,也就是100MHz了。不过由于它有温度的限制,在有较大负载的时候,CPU的频率很快就会掉下来。
Thermal Velocity Boost也是一项尽可能榨干处理器潜力的技术,在全新的第十代桌面版酷睿上,它终于离开了一直呆着的移动平台,来到了桌面平台,不过只有最高级的Core i9系列处理器支持这一特性,这也是让新一代处理器达成单核5.3GHz频率的法宝。
AMD Turbo Core、Precision Boost、Extended Frequency Range
Intel那边有Turbo Boost技术,而AMD这边当然也就会有相应的实现。在2010年正式发布的Phenom II 六核处理器上面,AMD为它加入了Turbo Core自动超频技术,基本的原理与Intel的Turbo Boost类似,都是在一定的功耗空间下尽可能地提升CPU的频率,随后这项技术被FX和部分APU所继承,不过那时候的故事大家都知道了,推土机系列架构的通病导致它空有高频而没有太好的性能表现。最终,推土机家族被AMD全盘放弃,取而代之的是完全重新设计的Zen架构。
在2017年发布的初代Zen架构处理器,也就是Ryzen 1000系列处理器中,AMD引入了全新开发的一套较为智能的CPU电源管理系统——SenseMI。在SenseMI,有两个可以针对性提升处理器频率的特性,一个是Precision Boost,另一个是Extended Frequency Range,也就是XFR技术。
Precision Boost在传统自动超频的基础上进一步细化了频率步进,不再以100MHz(默认BCLK)为一个间隔,而是细化到了0.25x的地步,也就是说,Precision Boost能够以25MHz的间隔调节CPU的频率,在精准度上有较大的提高。
而XFR则是会带给处理器更高的频率空间,在末尾带X的处理器上,这个空间是200MHz,而不带X的处理器则是有一半。需要注意的是,XFR下能够达到的最高频率并不是处理器规格中标注的最高加速频率,可能会超过该数字。
从这张Ryzen 7 1800X的频率-时间曲线图可以清楚地看出各项特性作用的时间点和基线,比如说XFR Boost的上限确定在4.1GHz,而Precision Boost能够实现的最高频率为4.0GHz。当然AMD在这里也分开了单核和全核的最高加速频率,和Intel一样,一般在标注处理器规格时,最高加速频率指代的是单核最高能够达到多少频率。
另外,我们还要注意,由于睿频是Intel的注册商标,因此在正式场合中,我们不能用AMD某款处理器的最高睿频频率来描述它的规格,最好使用“最高加速频率”来取代。
在Ryzen 2000系列处理器中,AMD将Precision Boost升级到了第二代。
总结:睿频技术是懒人的福音
睿频技术是建立在CPU能够动态调节自身频率的基础上的,它从诞生到现在不过十数年,却已经成为现代处理器上面必须要有的一项技术。对于众多普通用户来说,这些技术能够在确保处理器安全的情况下为用户提供更多的性能,它根据系统的负载自动进行调整,用户完全用不着自己去手动设置什么即可享受到这部分“附赠”的额外性能,对于不会或者是不敢去手动超频,抑或者是懒得去折腾各种参数的用户而言,它们绝对是个福音。
不过话又说回来,在十代桌面酷睿处理器中,一款处理器必定会支持Turbo Boost 2.0技术,不过却不一定会支持Turbo Boost Max 3.0或者是Thermal Velocity Boost技术,这也成了Core系列除核心、线程数量之外的新分级特性,对于普通用户来说,越来越多的睿频技术会造成认知上的困难,处理器厂商们是不是应该适当的整合一下旗下的各种睿频技术了呢?这个问题,只有等日后才能知晓答案了。