小戴
作為NVIDIA革命性第二代Maxwell架構(gòu)的次旗艦產(chǎn)品,GTX970憑借強勁的性能和合理的功耗帶來了非常優(yōu)秀的能耗比,自上市起就成為了大家關(guān)注的焦點,一度被視為極為完美的顯卡。可是好景不長,前不久圍繞GTX970的麻煩可不少,因為很多玩家發(fā)現(xiàn)其4GB顯存只有3.5GB可以被充分利用,剩下的0.5GB似乎被忽略了。這一下在玩家圈中炸開了鍋,玩家們紛紛懷疑,這是遇到了質(zhì)量問題?還是產(chǎn)品設(shè)計缺陷?抑或是驅(qū)動對新顯卡的支持度不夠好呢?下面跟小編一起來看看這起“顯存門”風(fēng)波的始末。
顯存問題掀起風(fēng)波
NVIDIA GTX970的風(fēng)波要從年初說起。二代Maxwell架構(gòu)的GTX 980和970牢牢占據(jù)了單芯顯卡性能前兩名的寶座,自然是玩家們最關(guān)注的焦點。而細心的國外玩家在論壇指出,自己購買的GTX970似乎只能使用最多3.5GB的顯存,剩下的0.5GB容量看上去似乎被忽略浪費掉了。并給出了GPU-Z的截圖,圖中顯示該卡的顯存占用一直在3.5GB。而通過overlock開發(fā)的一款測試程序發(fā)現(xiàn),GTX970其實可以完全利用全部的4GB顯存,但是最后0.5GB的性能會出現(xiàn)大幅度下滑。根據(jù)NVIDIA最早給出的技術(shù)文檔,GTX970和GTX980的差別僅在于CUDA流處理器、紋理單元和核心頻率,屏蔽了三組SMM單元以降低功耗,而顯存位寬、顯存大小、顯存頻率、L2緩存等均沒有任何區(qū)別,一切都變得撲朔迷離起來。
官方回應(yīng) 竟是規(guī)格縮水
隨著顯卡問題的發(fā)酵,NVIDIA也坐不住了,對此進行了官方回應(yīng),稱:“雖然架構(gòu)上GTX 970和GTX 980是完全一致的,GTX 970配備了4GB獨立顯存,但是它的SM配置與GTX 980不同,交叉開關(guān)(crossbar)資源也更少。為了優(yōu)化此結(jié)構(gòu)下的顯存管理,我們將其分成了3.5GB、0.5GB兩個部分。GPU會優(yōu)先訪問3.5GB部分。如果游戲需要的顯存少于3.5GB,就只會訪問第一部分,所以有些第三方工具顯示顯存占用量的時候就只會給出3.5GB,而在GTX 980上會顯示更多。如果游戲需要的顯存超過3.5GB,我們就會同時使用兩部分。我們知道大家擔(dān)心這0.5GB顯存的性能,而最好的測試就是看看實際游戲性能?!?/p>
雖然語焉不詳語意模糊,但還是在一定程度上解釋了GTX970出現(xiàn)的顯存問題,但是對喜歡刨根問底的技術(shù)宅同學(xué)來說,這個答案顯然不能讓他們滿意,含糊不清的回應(yīng)并沒有解釋到底哪里出現(xiàn)了問題,因為以前沒遇到過這樣的問題。
NVIDIA GTX 980/970使用的都是GM204核心,顯存規(guī)格完全一致,都是256bit位寬,4GB GDDR5容量,7GHz頻率,由四組ROP/顯存管理器負責(zé),從這一點來看不會有什么不同。唯一的不同,就是GTX 970屏蔽了三組SMM陣列,但是這會和顯存有關(guān)嗎?以前的顯卡也都是這么做的,并沒有觀察到類似的現(xiàn)象?。?/p>
要解釋這個問題,就需要徹底的了解GTX970底層構(gòu)架的基本規(guī)格,隨著調(diào)查的進一步深入,NVIDIA很意外的告訴大家:“我們以前宣傳的時候把GTX970的規(guī)格搞錯了!”GTX970的錯誤在于,它的實際ROP單元只有56個,L2緩存也不是最初的和GTX980一樣的2MB,而是1.75MB,減少了1/8,不過顯存控制器沒有變化,的確是256bit位寬,4GB顯存。對于為什么會出現(xiàn)這樣的錯誤,NVIDIA解釋說技術(shù)銷售團隊在制作評測指南時并沒有意識到Maxwell架構(gòu)具備上具備部分禁用ROP/顯存主控的功能,而這是Maxwell架構(gòu)上才有的新功能,他們知道GTX 970是有256bit位寬的,但不知道可以獨立禁止ROP單元及2MB L2緩存,所以他們制作的文檔中的錯誤就在NVIDIA各部門流傳開了,并通過媒體傳播開了。這個問題在過去的4個月中都沒有被發(fā)現(xiàn),直到本月初NVIDIA開始調(diào)查GTX 970顯存尋址的問題時才被注意到。PPT團隊再一次背黑鍋了。
而由于GPU-Z、AIDA64這樣知名的工具也因為對第二代Maxwell架構(gòu)了解不夠深入,而未能發(fā)現(xiàn)問題,GTX 970檢測中都標注著64個ROP單元。不過其實也有跡象的,比如說NVIDIA自己的DeviceQuery CUDA開發(fā)工具,一直都準確報告了GTX 970只有1.75MB的二級緩存,但是除了相關(guān)軟硬件開發(fā)者,普通玩家和評測人員顯然不會注意到這個問題,或許在不久的將來,大家可以在各大評測內(nèi)容中看到這一項。
深度解析Maxwell架構(gòu)顯存架構(gòu)限制問題
NVIDIA的高級VP Jonah Alben對這個問題做了詳細解釋。GTX970有13個SMM,每個SMM有128個SP,總計1664個SP。SMM通過Crossbar與L2連接,然后L2再連接顯存控制器,GTX980有8個L2(共計2048KB)與MC連接(每個連接32bit),但GTX970只有7個L2(共計1792KB)與MC連接,最后2個MC共用一個L2。GTX980 每個L2 ROP模塊有專門對應(yīng)的32bit帶寬的512MB區(qū)域,但GTX970由于少組L2,這樣,最后一部分的512MB顯存和MC就需要和前面一組512MB顯存和MC共用L2,此時最后一組L2的請求數(shù)量就是前面其他L2的兩倍,性能就會減半,這樣就導(dǎo)致最后一組的512MB顯存的利用率和使用效率會出現(xiàn)問題。
為了解決這個問題,NVIDIA將內(nèi)存分成兩個區(qū)域,前面的七個DRAM 3.5GB一個主區(qū)域,最后第八個DRAM 0.5GB一個區(qū)域。顯存訪問時系統(tǒng)會依照1-2-3-4-5-6-7-1-2-3-4-5-6-7的順序優(yōu)先使用,這樣可以使得帶寬能夠更為均衡地使用。這樣的解決方案在3.5GB以下使用情況完美,但在3.5GB以上就會出現(xiàn)問題。通過Nai benchmark浮點測試表明,最后0.5GB顯存的速度僅有前面3.5GB的1/7,從正常的150GB/s下降到22.35GB/s。OS將顯存分為三個區(qū)域,PCI-E訪問前面的3.5GB主區(qū)域性能是后面的0.5GB的4倍,NVIDIA會讓OS優(yōu)先使用前面的3.5GB,最后的0.5GB到迫不得已不夠用才會不情愿地使用。
這就是為什么GTX 970顯卡的224GB/s帶寬是技術(shù)上正確的,因為3.5GB部分顯存的帶寬是196GB/s(7GHz×7port×32bit),而0.5GB那部分讀取速度是28GB/s,但這二者不是同時讀取的,這實際上是一個XOR(異或)的情況。進一步來講,由于0.5GB顯存那部分不能跟3.5GB那部分同時讀取,這又進一步導(dǎo)致顯卡的等效帶寬太低了,使用的0.5GB部分顯存越多,3.5GB部分顯存的等效帶寬就會越低。
最終的結(jié)果就是GTX 970擁有獨一無二的顯存布局,需要操作系統(tǒng)及NVIDIA的驅(qū)動優(yōu)化,因為3.5GB部分的顯存相比另外的0.5GB部分更大、更快、更好。這0.5GB部分的顯存邏輯上來看相當于VRAM與系統(tǒng)內(nèi)存之間的緩存,它的速度比3.5GB部分更慢,不過依然是PCI-E總線到內(nèi)存的帶寬的2倍。
往大的方面說,取決于你如何定義GTX 970的顯存容量,它可以說是3.5GB顯存的,也可以說是4GB顯存的,其中只有前面的3.5GB是全速的,這也是軟件最想用的那部分。不過512MB那部分分區(qū)也是有意義的,雖然性能比3.5GB部分低,但它依然比PCI-E到主內(nèi)存的帶寬更高,GTX 970依然可以使用完整的4GB顯存。
寫在最后:GTX 970到底有問題嗎?
上面分析了這么多,那么GTX970到底有問題嗎?所幸的是,通過多家國內(nèi)外媒體的測試,GTX970確實可以使用全部的4GB顯存,3.5-4GB中間部分的顯存是可以被游戲利用起來的。與GTX 980的性能進行對比,無論是在3.5GB-4GB之間占用還是在4GB顯存占用時,性能下降均處于較為相當?shù)乃?。在測試中,無論顯存占用情況如何,GTX 970和GTX 980的性能差距始終在15%左右,爆顯存的事情并沒有發(fā)生。如果之前的GTX970顯存問題的傳言準確,那應(yīng)該會看到GTX970相對于GTX980性能有較大幅度的下降才對,而這樣的事情并沒有在測試中出現(xiàn)。絕大多數(shù)熱門游戲大作在4K及以下分辨率的時候,即使畫質(zhì)全部手動調(diào)至最高,顯存占用率也不會超過3.5GB。
小編認為,這次可能真的如NVIDIA說的那樣,他們是疏忽了,而不是故意隱瞞。首先,因為ROP單元、二級緩存的參數(shù)對普通用戶來說確實意義不大,NVIDIA故意夸大它們的規(guī)格撈不到任何好處,被發(fā)現(xiàn)了反而是嚴重的打臉,沒必要這樣冒險。其次,無論之前的傳言如何,以及顯存分配到底是怎樣的,GTX 970的性能都在那擺著的,而且二代Maxwell架構(gòu)優(yōu)秀的功耗比也給大家?guī)砹松羁痰挠∠螅覀冊僭陲@存上糾結(jié)似乎完全沒有必要。