显示卡的下个战场从NVIDIA GPU Boost看未来

2020-05-22 497 views
显示卡
  • 显示卡的下个战场从NVIDIA GPU Boost看未来

    显示卡的下个战场从NVIDIA GPU Boost看未来

    当NVIDIA推出GTX 680之后,也一併带来许多新的技术,包含了新的Kepler核心架构、新的记忆体控制器,以及全新的反锯齿技术,但是以上这些技术都没有GPU Boost更受到瞩目。接下来小编就针对这项新的技术分析,并分享测试心

    得让各位玩家参考,玩家们往后使用GTX 600系列显示卡时就能更加了解。

    █ 显示卡也要Boost

    Kepler架构的问世,引起全球各界媒体与玩家的瞩目,率先搭载Kepler GK104核心的GTX 680更是成为近年来NVIDIA的代表作!而GTX 680也带来许多新颖的技术,其中有一项技术备受瞩目,也成为业界中创举的技术,那就是「GPU Boost」!

    相信多数玩家还有印象Intel当时率先在CPU中导入了Turbo Boost技术,在不同的负载程度的状态下,CPU会自动调整核心的时脉,对于运算核心来说突破性的发展,但既然能在CPU上实现,那幺相信离GPU应该也不远了,因此GPU Boost的原理其实和Intel Turbo Boost、AMD Turbo Core相去不远,都是根据TDP来决定是否要提高时脉,不过或许有其他考量,NVIDIA对外公布的相关技术资料实在太少,多数玩家根本不了解GPU Boost,这也是促使小编动笔写这篇文章的原由。

    前一段小编说道GPU Boost与Intel Turbo Boost、AMD Turbo Core的原理相似,原因是目前还有多数的应用程式仅支援单核心处理,所以CPU的Boost在核心负载程度不高的条件下,降低部分核心的时脉,利用有限的TDP大幅提高一部分核心的时脉,加速处理应用程式的速度。而GPU Boost虽然原理相似,但技术上更加困难,主要是因为GPU的架构较CPU複杂许多,CPU仅数个核心,而GK104就有总数1536个CUDA核心,在核心中包含了难以估算的数学计算程序,加上线路设计或者是频率控制都有一定的难度,所以可以说CPU的Boost是利用核心的负载程度来控制,而GPU Boost必须利用TDP负载度来控制核心时脉,让我们继续往下看GPU Boost是如何由TDP来控制时脉。

    小编教室:

    TDP(Thermal Design Power)并不是功耗,而是处理器在最大负荷时产生的热量,也可称为热功耗,单位为W。大家熟悉的功率(P)是电流(I)×电压(U)或(V),所以不要搞错啰!

    █ GPU Boost发挥核心最大效益

    各位应该都很好奇GPU是如何知道每个核心的负载?GK104拥有1536个CUDA核心,要控制每个核心的负载几乎不可能,而且GPU本身的设计就无法判断单一核心的使用率,简单来说,GPU只能知道有多少核心在动作,但是却不知道每个CUDA核心的使用率,然而因为每个核心负责的工作排程都不同,小编举个例子,一间工厂有1536个员工,但老闆并不会知道这些员工究竟是否全力在工作,但可以从最后的产值就知道是否有达到额定的产值,而这里比喻的产值就是TDP。

    就因为GPU的设计无法判断每个核心单元的使用率,所以GPU因处理程序的关係,整体使用率可能只有80%~90%左右,让部分CUDA核心处于闲置,导致TDP并无法达到额定的最大值,很显然这样代表GPU并没有发挥到最大效率。在前几期介绍GTX 680时小编有提到,Kepler相较于以往的设计主要是以更小的核心,和更少的电晶体来达到更低的功耗,因此外接电源只需要两个6Pin就能驱动,但是用更多的核心数量来提升效率,而这部分也和软体本身的优化有一定的关係。

    GPU Boost之所以能成功全都要归功于GPU的核心控制模组和VBIOS的设计,并且监控GPU运作时的实际TDP,再透过计算当下的TDP和设计时最大TDP之间的差距,就能知道剩余多少TDP空间可以发挥,再利用提高核心时脉的方式达到最大TDP;GPU调整核心时脉都是以整个核心同步,这点和CPU可以调整部分核心时脉不一样,所以当时脉控制器将频率送进核心里面,虽然所有核心都会提升时脉,闲置的核心依旧是闲置,但运算中的核心却又可以提升处理的速度,最后让输出的总效能和所有核心都满载是一样的TDP,如此一来就不会因为达不到额定的TDP而浪费效能,不可否认这是一个聪明且又能发挥GPU效能的设计!

    显示卡的下个战场从NVIDIA GPU Boost看未来
    图 / GPU闲置时会以最低的时脉和功耗运作

    显示卡的下个战场从NVIDIA GPU Boost看未来
    图 / GPU的设计是要让所有核心都满载才会达到额定的TDP

    显示卡的下个战场从NVIDIA GPU Boost看未来
    图 / 但是因为受到软体所需的处理程序关係,负责计算的GPU核心也不相同,

    因此部分不须计算的核心处于闲置。

    显示卡的下个战场从NVIDIA GPU Boost看未来
    图 / VBIOS判断TDP空间之后,消耗剩余TDP来提升所有CUDA核心的时脉,让正在计算的核心速度更快。

    █ 和使用超频软体有何不同?

    以往玩家们要提升GPU时脉就必须使用超频软体来调校,透过显示卡超频软体可以将核心时脉和电压值固定在某个阶段,并且长时间持续运作,显示卡本身完全不会顾虑TDP的限制直到上限。但是NVIDIA的GPU Boost并不需要任何软体来控制,玩家们也不能自行关闭,技术上就如上一段所说的,并没有在GPU或显示卡上装特殊的控制器,整个运作的流程都和TDP有关係,简单来说TDP是主导GPU Boost的重要关键!

    GPU Boost并没有办法控在某个数值,即使玩家们透过超频软体手动将时脉提高,GPU Boost依旧会继续动作,比方说预设Boost最高时脉为1110MHz,但是手动将时脉提高100MHz之后,时脉会累加上去变成1210MHz。儘管是如此,最后还是会因为当下的条件和使用环境而改变,但不管如何,在非常严苛的环境下依旧能维持1006MHz的时脉运作。

    显示卡的下个战场从NVIDIA GPU Boost看未来

    图 / 即使负载程度相当高的状态下,最低的运作时脉依然为1006MHz。

    █ GPU Boost加速流程与限制

    GTX 680是第一款拥有GPU Boost功能的显示卡,公版绘图核心预设的时脉为1006MHz,而官方公布的GPU Boost之后时脉为1058MHz,但是实际测试后发现在没有修改条件下,GPU Boost最高时脉可以达到1110MHz,相较于基本时脉1006MHz共提升104MHz;前面有提到GPU Boost与Intel和AMD处理器的Boost有那幺几分相似,但其实更加複杂,尤其是我们要知道GTX 680的CUDA核心数量共有1536个,加上执行不同应用程式所需要的TDP都不尽相同,当然还有VBIOS在扮演着重要的关键角色,因此整个也会有个完整的工作流程,让我们继续往下看吧。

    当我们实际使用GTX 680来测试GPU Boost时,首先可以安装GPU-Z来看到显示卡的各种参数,琳琅满目数据只需要看GPU核心时脉、电压值、TDP热功耗这几个项目就好,接下来开启欲使用的应用程式,软体本身当然是要以游戏或显示卡测试软体为主,这样才能让GPU动起来。

    在说明GPU Boost工作流程之前,或许各位可以先了解显示卡前端作业流程,以下小编就简单描述。当执行游戏软体之后,CPU会开始接收指令,不论是DirectX或是OpenGL,都会先经过CPU来做前端作业,在经由驱动程式把相关的讯息传达到显卡,以上就是前端作业的流程。接下来当显示卡接手之后,在GPU内有用来监控核心时脉的控器,在透过VBIOS判断GPU当下的TDP和理论最大额定TDP之间的差距,在尚未达最大TDP之前提升所有CUDA核心的时脉,直到额定的195W最大TDP为止!简单来说,就是运用还没用到的TDP来提升所有核心的速度,获得最大的TDP使用率,也就是提升所谓的效能功耗比。

    但是GPU Boost会受到TDP与温度的限制,而且核心的负载率和TDP有直接关係,当核心使用率较低时TDP并不会达到100%,那幺GPU Boost才能继续动作,例如GTX 680额定的最大TDP为195W,不论核心的使用率是否由达到100%,都会停止GPU Boost的动作,当TDP降低之后才会继续。而透过测试还得知GTX 680的GPU Boost所提升的时脉约每13MHz为一个阶段,最高达到1110MHz,依照不同的软体运作的时脉也会不同;提升时脉的的同时电压也会随之提升,幅度由1.062V到1.175V,而公版GTX 680的最大电压值则是1.175V,儘管透过软体手动调高时脉,电压值也不会再上升。
     

    时脉

    电压

    1110MHz

    1.175V

    1097MHz

    1.162V

    1084MHz

    1.150V

    1071MHz

    1.137V

    1058MHz

    1.125V

    1045MHz

    1.120V

    1032MHz

    1.100V

    1019MHz

    1.075V

    1006MHz

    1.062V

    显示卡的下个战场从NVIDIA GPU Boost看未来  

    █ 能否发挥GPU Boost全看关键70℃

    虽然现在知道只要TDP还未达到最高时,GPU Boost会提升CUDA的时脉,直到TDP最大值。不过还有一个非常重要的关键,那就是核心的温度!要验证温度是否为关键很简单,首先让GTX 680在正常的环境下运作,并且透过GPU-Z来监控,主要是用来观看时脉和温度的变化。根据小编的测试,GTX 680的GPU Boost会在启动软体后直接到时脉的最大值1110MHz,不过一旦温度达到70℃之后,会自动下降13MHz,也就是1097MHz,80℃则会降至1084MHz,相对的只要将风扇转速提高让核心温度下降,就会恢复GPU Boost的运作,将风扇转速提高之后,核心温度维持在75℃左右,TDP约97%,如此一来时脉就会定在1097MHz;如果有办法将温度控制在70℃以内,这样时脉就能维持在最高的1110MHz。

    看到这里大家对于GPU Boost多少应该都能理解,包含运作的方式和影响的层面,运用未使消耗的TDP来作为提升时脉的动力,但是各位一定很想知道TDP究竟是否能改变?答案是可以的!想超频的玩家们可以透过显示卡超频软体来改变TDP,例如小编测试时所使用的MSI Afterburnet,就能将TDP设定为70%~132%,但是各位要注意的是,当提高TDP就会增加整体耗电量,耗电量一旦提升核心温度也会跟着加速上升,因此正确的方式应该是增加TDP的同时,逐步增加核心时脉和电压,并且同时降低核心温度,这样才不会让温度限制GPU Boost的运作!

    █ 是否能针对特性核心Boost?

    当研究过GPU Boost和CPU Boost之后,不难发现这两种Boost的方式并不同,CPU只针对特定核心进行Boost,在处理不支援多和架构的软体时,能利用剩余的TDP来大幅提高单一核心的时脉,让处理器更有效率。而GPU Boost目前的设计是同时提升所有CUDA的时脉,或许有玩家会认为为什幺不能针对GPC模组或是SMX模组,甚至是单一核心来提升时脉?小编要告诉各位读者,并不是不能这幺做,而是不需要!原因是GPU中的每个CUDA核心都是执行续,处理程序的工作排程并不会固定在某个GPC模组或是SMX模组,依照软体的运算需求,每个CUDA核心的工作时间也极短,随时都会变换处理程序,因此没有必要去控制特定或是单一核心的时脉。再来就是效率上的问题,控制每个CUDA核心除了技术困难度增加之外,在效率上远不如直接提升所有CUDA核心的时脉,因此目前的技术都可以控制单一GPC模组或是SMX模组,甚至是CUDA核心的时脉,但是没有这个必要。

    显示卡的下个战场从NVIDIA GPU Boost看未来

    图 / CPU能单独控制特定核心的时脉,因此能让核心处理不支援多核心的软体时更加快速!

    显示卡的下个战场从NVIDIA GPU Boost看未来

    图 / GTX 680拥有1536个CUDA核心,且每个CUDA的处理时间非常短,没有针对单一核心调整的必要性。

    █ GPU Boost只是开端

    经过反覆的测试,可以得到一个具体且正确的答案,「TDP决定GPU Boost的高度」!这项技术彷彿带给显示卡全新的生命,多年来显示卡因为架构特性的关係,拥有CPU更优异的平行运算效率,在同一个体积之下可以不断增加核心执行续的数量,从当时G80仅有数个CUDA核心到今日GK104的1536个CUDA核心,相当惊人的成长速度。但也是因为GPU的执行续有处理排程顺序,并不是所有的执行序都同时进行运算,再GPU中有工作排程处理引擎,能帮所有的CUDA核心安排处理顺序,但CUDA核心等待处理的同时,等于永远都达不到额定TDP,效能也因此受到牵制。

    运用技术将闲置的TDP来提升整个GPU的时脉,在相同的耗电量下可以运用到100%的TDP,有效提升效能耗电比。加上以往高阶显示卡的TDP都在250W左右,但是实际上却没有达到该有的效率,而GTX 680只需195W的TDP就能达到100%的效率,甚至可以超越,从这点就可以看到未来显示卡的影子。不过核心製成的进步,不断缩小了TDP的上限,未来是否会因为这样而影响GPU Boost的发展性,目前是不得而知!GPU Boost只不过是开端,目的就是为了提升控制TDP以及核心的使用率,未来技术更加成熟后,即使製程进步缩小TDP的空间,也能因为高效率核心来达到更高的效益!
     

  • 上一篇: 下一篇: