ADVERTISEMENT
高階卡只要雙 6pin?是的,你沒看錯。GTX 680 頂著 28nm 光環,電力效率大幅提升。Kepler 是不是 Fermi 3.0?能否打爆雙核卡? NVIDIA 新任卡王完全解析,看下去就知道。
快速目錄:
- SMX:改變最大的硬體單元
今年GPU相當有看頭,不論是早先AMD推出的(Graphics Core Next)架構,或是NVIDIA前一陣子發表的(克卜勒)核心,在效能、功耗與新技術方面,都令人感到驚艷。
這得歸功於新製程加持,透過28nm製程,Kepler這次能大量堆疊CUDA Core(即為Stream Processor,串流處理器),總量達到1536個,是Fermi時期的3倍,電力效率可達原本的2倍。加上TXAA、GPU Boost與Adaptive VSync(自適性垂直同步)等技術,讓Kepler相當值得期待。
ADVERTISEMENT
28nm製程是大功臣
若要說今年 AMD 與 NVIDIA 的最大改變,筆者認為是使用28nm新製程。過去從65nm升級55nm,或是從55nm跨到40nm,效能與功耗上都有相當大的進步。更換製程所帶來的影響不下於修改架構,因此這次即便沒有大幅修改架構,但憑藉著28nm與新增的多項技術,仍有相當大的可看性。
最明顯的差異就是電力效率大幅提升,單位耗電量所帶來的效能比之前高了1~2倍,這點不論在AMD或NVIDIA的官方文件內都有刻意強調。且製程精進之後,同樣的核心面積可塞下更多的電晶體。從Kepler上可看到,在架構沒有大幅修正的前提下,我們可將GF 100與GK 104的CUDA Core視為相似的設計。CUDA Core數量從GF 100時期的512個提升到GK 104的1536個,足足變成3倍,透過核心堆疊自然可讓效能大幅提升。
ADVERTISEMENT
▲假設與Kepler在相同環境中,Fermi的Shader時脈為Kepler的2倍,而Kepler的CUDA Core數量是Fermi的2倍,可得到右方的結果。從理論上而言,Kepler核心面積約為Fermi的1.8倍,但是運算相同的資料量,電力只需要耗費Fermi的90%。若從運算方面分析,單位面積下Kepler只需要Fermi約50%的功耗就能完成相同的運算。
Keywords:製程
製程(Manufacture Process)指的是半導體的製作工藝,一般所指的28nm等長度單位,是用於表示半導體內讓電子通過的電晶體管寬度。當製程精進時,能讓電晶體管的寬度縮減,單位面積內可容納更多的電晶體。但製程仍有其極限,不可能無限縮小。矽原子半徑約為0.111nm(奈米),製程再精進也難以突破這個物理限制,加上漏電與量子穿隧效應等問題,這幾年內可能就會碰到瓶頸。
SMX:改變最大的硬體單元
依照慣例NVIDIA近期的開發代號都以科學家為主,前兩代是Fermi,而這次換成了德國天文學家Kepler,核心型號亦從原本的GF(GeForce Fermi)改為GK(GeForce Kepler)。如果你期待在Kepler身上,看到AMD GCN架構那樣大刀闊斧的改造,Kepler可能要會讓你失望。Kepler仍是Fermi架構的延伸與最佳化,透過新製程擴充CUDA Core的數量,基礎架構與Fermi相當神似。
ADVERTISEMENT
▲效能強化,規模略增:SMX是Kepler的基礎架構,核心為8個SMX所組成。從架構圖來看,設計與Fermi的SM相當,差異在於CUDA Core數量從32個增加到192個,且為了強化指令調派,內建4組Warp Scheduler,數量是Fermi核心的2倍。Raster Engine(光柵引擎),則是2個SMX共用1組,也就是每個GPC(Graphics Processing Cluster)內建1組,核心內的總數與前代相同。
SM加強版SMX
從架構面來看,Kepler最明顯的改變就是SM(Stream Multiprocessor)內CUDA Core數量從32個變成192個,名稱則改為SMX。其中X所代表的意思,就官方的說法概念類似「Extreme」,故用SMX代表強化過的SM單元。除了CUDA Core數量增加外,另外SFU(Special Function Unit,特殊運算單元)的數量也大幅增加。原本每個SM內只有4個SFU,現在則大幅增加到32個。SFU的作用是負責處理三角函數、指數運算等工作,因此可預期Kepler理論運算效能將超越Fermi。
這次的SMX是NVIDIA第四代設計,早期G70仍使用VS(Vertex Shader,頂點著色引擎)與PS(Pixel Shader,像素著色引擎),此時採用的是4D向量架構。到了G80之後,由於DirectX 10在API內提供了Unified Shader(統一著色引擎、統一著色器),整合了VS與PS,這也就是後來的Stream Processor(後來NVIDIA又將其改名為CUDA Core)。G80時將CUDA Core、材質過濾單元、材質存取、暫存區等組成SM單元,這就是第一代SM架構。
ADVERTISEMENT
內容倍增但不加料
G92承襲G80架構,兩者都被歸類在第一代SM,第二代則是GT 200核心,此時SM架構仍不算大幅改變。直到Fermi,GF 100與GF 110核心在SM內加入更多硬體架構,像是PolyMorph Engine(多形體引擎),此為第三代SM架構。現在Kepler的SMX架構中,仍具備PolyMorph Engine與Raster Engine,SMX與SM最大的差異仍在於CUDA Core數量、Warp Scheduler(Warp排程器)等單元數量,簡單來說就是內容增加、效率提升但是沒有新加料。
取消Shader分頻機制
除了SMX架構修改之外,Kepler內在最大的改變就是取消以往核心、Shader的分頻機制。以前在G71時代開始嘗試Shader分頻技術,當時Shader時脈僅比核心時脈(Core Clock)高出數十MHz,直到G80才徹底近入分頻時代,到了GT 200之後,核心與Shader時脈才將時脈比例固定為1:2。
▲這張圖片代表了Fermi與Kepler在指令調度上的差異,以往Fermi偏重硬體式調度,而Kepler則偏重軟體。軟硬體調度各有其優缺點,並不會完全採用硬體或軟體,只是比重上的增減。軟體調度上比硬體更為靈活,因此在Kepler上NVIDIA選擇較高的比重以軟體執行。
分頻設計對於當時的NVIDIA好處是很明顯的,能夠以較少的運算資源換取大量的吞吐量,搭配Co-Issue技術,讓NVIDIA保住Shader運算量的底限。以至於G80甚至後期的GF110,都能用較少的CUDA Core數量來取得運算上的抗衡能力。節省出來的電晶體,更可用來配置其他硬體單元,這些都是分頻所帶來的效益。
Shader分頻這麼好,幹麻要放棄?分頻好歸好,但是仍是雙面刃。最主要的因素是分頻後的Shader時脈過高,會提早壓迫到核心與技術所能承受的時脈上限,讓GPU的溫度與發展都受到限制。以實際上來說,會造成核心發熱量不均,會影響其他硬體的效能。並迫使其他硬體單元以較低的時脈運作,破壞了整個GPU運算流水線的平衡。因此Kepler回歸同頻機制,也讓Kepler有較大的時脈提升空間,把核心時脈一舉推到1006MHz。
(後面還有:Kepler:2倍速的運算架構)
延伸閱讀:
ADVERTISEMENT