NVIDIA Tegra K1技術(shù)詳解
NVIDIA在2013年的CES上召開了自己的專場(chǎng)發(fā)布會(huì),發(fā)布了Tegra 4 SoC芯片。時(shí)間過去了一年,NVIDIA又在CES2014的的專場(chǎng)發(fā)布會(huì)中發(fā)布了全新的Tegra K1 SoC芯片。如果說Tegra 4在2013年的表現(xiàn)的確不夠亮眼的話,那么新的Tegra K1會(huì)怎么樣?這顆被人寄予厚望的產(chǎn)品,能帶來NVIDIA又一次新的崛起嗎? NVIDIA在CES 2014上發(fā)布了全新的Tegra K1處理器。這次發(fā)布會(huì)上令人震撼的消息主要有兩個(gè):首先是NVIDIA在移動(dòng)平臺(tái)全面引入了來自于桌面GPU的架構(gòu)和技術(shù)特性,使得移動(dòng)平臺(tái)的圖形性能、功能向前大幅度躍進(jìn)。其次是NVIDIA首次公開了秘密研發(fā)多年的“丹佛計(jì)劃”,并將“丹佛計(jì)劃”的具體成果使用在了Tegra K1中。除此之外,TegraK1還在CPU核心、ISP設(shè)計(jì)以及節(jié)能設(shè)計(jì)等方面有獨(dú)特之處。 令人驚訝的圖形性能――Tegra K1初窺 根據(jù)NVIDIA在發(fā)布會(huì)上的信息,Tegra K1將有兩個(gè)版本:已經(jīng)發(fā)布上市的版本采用了四核心Cortex-A15的CPU搭配192個(gè)CUDA Core的開普勒架構(gòu)GPU、以及其他一些功能性核心共同組成Tegra K1 SoC。此外,NVIDIA還將在2014年中期發(fā)布基于ARM 64位丹佛核心、也同樣搭配192個(gè)CUDA Core的另一個(gè)版本Tegra K1。有關(guān)這兩個(gè)版本核心的具體消息,本文將會(huì)做出詳細(xì)的介紹,這里先來看看大家喜聞樂見的性能比拼。
NVIDIA一直在推動(dòng)著Tegra芯片的快速進(jìn)化
雖然目前沒有廠商宣稱已經(jīng)有Tegra K1的實(shí)際產(chǎn)品上市,但在CES2014上,聯(lián)想新發(fā)布的ThinkVision 28 4K顯示器搭配了ARM SoC芯片和安卓操作系統(tǒng)(也就是可以化身為特大號(hào)平板電腦的顯示器),結(jié)果外媒記者不小心發(fā)現(xiàn)這款顯示器使用的竟然是一顆頻率較低的Tegra K1。經(jīng)過簡(jiǎn)單測(cè)試,Tegra K1早期版本的部分性能也大白于天下。
由于時(shí)間有限,外媒的測(cè)試只包含了3DMark、GFXBench 2.7、安兔兔三個(gè)項(xiàng)目。在3DMark的測(cè)試中,Tegra K1的總分達(dá)到了22285分,超越高通驍龍800 30.5%、超越Tegra 4 34%,超越蘋果A7處理器53.6%。在圖形部分,Tegra K1的成績(jī)達(dá)到了24927分,超越高通驍龍800的Adreno 33038.8%、超越Tegra 4 45.9%、超越蘋果A7 31%。在3DMark的物理測(cè)試得到的CPU性能方面,Tegra K1的3D Mark Physics成績(jī)達(dá)到了16299分,超越高通驍龍800 10.7%、超越Tegra 4 8.7%、更是達(dá)到了蘋果A7的205%。GFXbench測(cè)試中,Tegra K1在公平的Offscreen模式下,平均幀數(shù)達(dá)到了48幀,遠(yuǎn)遠(yuǎn)高出蘋果A7的27幀、驍龍800的23幀和Tegra 4的20幀。不過在安兔兔測(cè)試中,Tegra K1由于系統(tǒng)、測(cè)試軟件版本等問題,總成績(jī)甚至沒有超越Tegra 4,失去了比較意義。由于測(cè)試樣機(jī)的原因,Tegra K1在這次測(cè)試中的頻率只有2.0GHz,并未達(dá)到之前宣傳的2.3GHz。不過即使如此,Tegra K1的性能還是出乎人們的預(yù)料。從GFXBench的數(shù)據(jù)來看,Tegra K1的GPU性能甚至達(dá)到了目前高通驍龍800的兩倍以上,這是非常驚人的勝出幅度。
除了上述測(cè)試外,另一家媒體也得到了TegraK1的測(cè)試成績(jī)。他們依舊使用了GFXBench 2.7作為對(duì)比,不過對(duì)比的產(chǎn)品直接標(biāo)明了圖形核心名稱:分別是擁有384個(gè)流處理器的NVIDIA GeForce GT 740M(GK107核心,開普勒架構(gòu))、Intel HD Graphics 4400和Intel HD Graphics 4200(就是Has NVIDIA一直在推動(dòng)著Tegra芯片的快速進(jìn)化well處理器中集成的顯卡)、Power VRG 6430(來自蘋果A7)、Adreno 330(來自驍龍800)、GeForce URL(來自Tegra 4的72個(gè)圖形核心)。測(cè)試表明,在1920×1080分辨率下,Tegra K1大約能跑出60幀的成績(jī),性能是GT 740M112幀的大約一半,基本上和Intel HD Graphics 4400的57幀持平,明顯超出Intel HD Graphics 4200的47幀,更遠(yuǎn)超PowerVRG6430的27幀、Adreno 330的24幀和Tegra 4的16幀。
總體來看,這兩家的性能測(cè)試結(jié)果基本吻合,對(duì)Tegra K1的性能判斷也應(yīng)該都是真實(shí)的,其強(qiáng)大的圖形性能令人側(cè)目。這還不算完,NVIDIA表示在壓力更大、負(fù)荷更重的GFXBench 3.0中,Tegra K1可以達(dá)到蘋果A7性能的最高三倍。那么,為什么Tegra K1的性能尤其是圖形性能如此強(qiáng)大呢?
開普勒架構(gòu)在每瓦特性能上的改進(jìn)
NVIDIA在進(jìn)入統(tǒng)一渲染管線發(fā)展后,旗下G80、GT200、Fermi的CUDA計(jì)算核心都是以“大而全”的方向來設(shè)計(jì)的。一個(gè)CUDA Core中除了包含計(jì)算部分外,還包含了指令控制的模塊。以GF100為例,它的CUDA Core中既包含了整數(shù)處理單元,又包含了浮點(diǎn)處理單元,還包含了指令分發(fā)、操作數(shù)控制和結(jié)果排序等模塊。這樣做的結(jié)果是對(duì)GPU整體來說,CUDA Core的功能更強(qiáng)大,控制和操作更有效率,但是從另一個(gè)角度來說,計(jì)算效率不高,尤其是直接應(yīng)用在性能提供上的晶體管比率較低。因此NVIDIA必須采用CUDA Core和GPU核心分頻的方式來保證高性能,這也導(dǎo)致了整個(gè)GPU的功耗過高。不僅如此,在Fermi之前的GPU上,指令需要在解碼后才完成相關(guān)性排序,并且整個(gè)指令的相關(guān)檢查、排序過程是在GPU內(nèi)完成的,F(xiàn)ermi提供了一個(gè)比較復(fù)雜的多線程指令排序、控制單元,為GPU提供所有指令的關(guān)聯(lián)性檢查、分支預(yù)測(cè)以及指令處理等,整體效率比較低并且可能需要等待,往往會(huì)拖累整個(gè)計(jì)算流水線。
在開普勒上,上述兩個(gè)問題都不復(fù)存在了。對(duì)開普勒而言,底層設(shè)計(jì)以最簡(jiǎn)單的ALU代替,固定數(shù)量的ALU組成一個(gè)計(jì)算模塊(類似于AMD的CU單元,不過AMD的CU是64個(gè)ALU一組,NVIDIA將每個(gè)ALU都稱作CUDA Core),所有的指令排序、控制、緩存等為整組ALU服務(wù),無論是整數(shù)還是浮點(diǎn),經(jīng)過前端處理后,都能直接送入計(jì)算單元進(jìn)行處理。如果說Fermi時(shí)代的每個(gè)CUDA Core都配備了相關(guān)的指令模塊的話,那么在開普勒上,每32個(gè)計(jì)算單元配備一個(gè)指令模塊,大幅度提升了提供性能的晶體管比率。不僅如此,在指令檢查等問題上,開普勒將有關(guān)指令相關(guān)性檢查的內(nèi)容轉(zhuǎn)移至解碼之前,在經(jīng)過了相關(guān)的排序、選擇后,再進(jìn)行解碼,這樣指令不會(huì)由于相關(guān)性檢查未通過而返回前端導(dǎo)致效率降低,明顯提升了GPU的運(yùn)行效率。通過上述改進(jìn)后,開普勒架構(gòu)就成為我們今天看到的諸如GTX 770、GTX 780等顯卡的基本結(jié)構(gòu)。NVIDIA在開普勒架構(gòu)上的轉(zhuǎn)變,使得開普勒架構(gòu)的性能功耗比大幅度提升,也使得NVIDIA有機(jī)會(huì)將開普勒架構(gòu)應(yīng)用在對(duì)性能功耗比要求極為苛刻的移動(dòng)計(jì)算平臺(tái)上。
開普勒進(jìn)駐:強(qiáng)悍圖形核心
說到Tegra K1的圖形性能,就不得不提起NVIDIA強(qiáng)大的桌面GPU架構(gòu)――開普勒(Kepler)了。作為老牌的視覺計(jì)算廠商,NVIDIA的招牌產(chǎn)品就是GPU。桌面市場(chǎng)上,NVIDIA從Fermi時(shí)代后開始轉(zhuǎn)向重視GPU的每瓦特性能,開普勒架構(gòu)的GPU產(chǎn)品是NVIDIA在每瓦特性能上的一次突破。
開普勒進(jìn)駐Tegra
在之前的Tegra產(chǎn)品上,NVIDIA并沒有使用和桌面產(chǎn)品相同的GPU架構(gòu),而是采用了老舊的、源自NV40時(shí)代以及NVIDIA收購的芬蘭公司Hybrid Graphics所提出的混合架構(gòu)。這個(gè)架構(gòu)的優(yōu)勢(shì)在于在當(dāng)時(shí)的情況下,能夠提供非常不錯(cuò)的每瓦特性能和每晶體管性能,但是隨著技術(shù)進(jìn)步,老架構(gòu)的問題也逐漸凸顯,比如技術(shù)支持不夠先進(jìn),規(guī)格落后較多,尤其是在Tegra 4上,竟然無法提供對(duì)OpenGL ES 3.0的完整支持――雖然Tegra 4已經(jīng)支持了部分OpenGL ES 3.0中的關(guān)鍵性技術(shù),但在快速發(fā)展的移動(dòng)圖形技術(shù)面前,無法完整支持OpenGL ES 3.0不但顯得頗為落后,而且很難滿足NVIDIA Tegra系列頂級(jí)移動(dòng)SoC的定位。因此,NVIDIA很早就宣稱自己肯定會(huì)將桌面GPU的技術(shù)帶到移動(dòng)平臺(tái)來。
終于,在Tegra K1上,NVIDIA將完整的一顆開普勒SMX單元納入了SoC中。其中包括了整個(gè)多形體引擎部分(完整支持頂點(diǎn)拾取、曲面細(xì)分等功能)、流處理器部分、特殊運(yùn)算單元、線程調(diào)度、L2緩存、紋理模塊等全部SMX內(nèi)容。其他方面,NVIDIA為Tegra K1配備了4個(gè)ROP單元和8個(gè)紋理單元。L2緩存更是一步到位增加到128KB,基本滿足現(xiàn)代GPU計(jì)算的需求。總的來說,通過上述步驟,NVIDIA實(shí)現(xiàn)了在ARM SoC上從之前老舊的分離式渲染架構(gòu)到目前先進(jìn)的開普勒架構(gòu)的躍進(jìn)。此外,由于有了完整的一個(gè)開普勒核心,因此Tegra K1獲得了GPU部分的單精度和雙精度計(jì)算能力;不過雙精度計(jì)算能力由于缺乏相關(guān)的單元(和GK104一樣),其速度是單精度計(jì)算能力的1/24。
目前的Tegra K1支持規(guī)格是所有ARM S oC中最為先進(jìn)、齊全的。其規(guī)格完全支持諸如OpenGL 4.4、OpenGL ES 3.0、DirectX 11、OpenCL 1.2、CUDA 6.0以及移動(dòng)GPU中常見的ASTC、ETC、DXT等多種紋理壓縮格式。相比前代產(chǎn)品Tegra 4,Tegra K1真正做到了規(guī)格和性能上的大躍進(jìn)。
為了證明自己GPU強(qiáng)大的規(guī)格以及驚人的性能,NVIDIA在發(fā)布會(huì)和會(huì)后多次展示了由Tegra K1帶來的實(shí)時(shí)渲染DEMO。其中包含了在開普勒發(fā)布時(shí)展示的人頭DEMO,主要展示了皮膚模擬、表情模擬以及曲面細(xì)分技術(shù),此外還有基于計(jì)算渲染的全局光照技術(shù)、Unreal Engine 4基于Tegra K1的多個(gè)DEMO等。從這些DEMO的演示效果來看,Tegra K1本身的性能和所能呈現(xiàn)的圖形畫面是令人震撼的,基本上超越了目前所有主流SoC至少一個(gè)世代。在PC平臺(tái)上幾乎所有的特效都可以在Tegra K1上呈現(xiàn),雖然由于Tegra K1本身性能問題、部分DEMO縮減了特效,整體效果無法做得很完美,但至少Tegra K1在圖形部分的跨越性和顛覆性毋庸置疑。
在Tegra K1發(fā)布時(shí),NVIDIA還拋出了一份對(duì)比,宣稱TegraK1的浮點(diǎn)計(jì)算能力高達(dá)365GFLOPS,已經(jīng)遠(yuǎn)遠(yuǎn)超越了PS3和XBox 360。雖然這樣的對(duì)比有吸引眼球的意味在內(nèi),但是不得不說,Tegra K1的具體性能還是非常令人滿意的。目前一些消息稱部分PC游戲在經(jīng)過簡(jiǎn)單的處理后,就能直接運(yùn)行在Tegra K1上,效果甚至不亞于PC平臺(tái)。考慮到目前有多家廠商宣布基于Tegra 4的游戲機(jī)產(chǎn)品問世,我們不禁期待,Tegra K1的游戲機(jī)產(chǎn)品如果能以較低的價(jià)格,在安卓平臺(tái)上達(dá)到XBox 360、PS3的水準(zhǔn),是否會(huì)引起一場(chǎng)革命?
第三方媒體公布的NVIDIA Tegra K1的性能測(cè)試,可以看出Tegra K1的性能已經(jīng)超過了桌面級(jí)
集成顯卡Intel HD Graphics 4400。
Tegra K1的圖形核心源自開普勒架構(gòu)。從開普勒架構(gòu)開始,NVIDIA在設(shè)計(jì)GPU時(shí)首先注重的是移動(dòng)平臺(tái)和性能功耗比。
由于基礎(chǔ)架構(gòu)一樣,因此Tegra K1支持幾乎所有桌面顯卡的功能特性,同時(shí)功耗控制在2W以內(nèi)。
NVIDIA在發(fā)布會(huì)上用搭載了Tegra K1的平板演示了著名的DirectX 11時(shí)代的人頭DEMO,震驚全場(chǎng)。
根據(jù)NVIDIA官方數(shù)據(jù),Tega K1的圖形性能已經(jīng)超越了XBox360和PS3。
下一代Tegra將使用性能功耗比更為優(yōu)秀的Maxwell產(chǎn)品,從而保持和桌面端同步。
大量的功耗控制技術(shù)保證Tegra K1即使使用開普勒架構(gòu)的GPU也能將功耗控制在2W以內(nèi)。
功耗迷局:2W的GPU?
開普勒的確很強(qiáng)大,但還有一個(gè)問題揮之不去,那就是功耗。開普勒再強(qiáng)大,依舊是面向桌面用戶的產(chǎn)品,在SoC產(chǎn)品中能使用嗎?根據(jù)NVIDIA在發(fā)布會(huì)上的數(shù)據(jù),Tegra K1在GPU部分的功耗不超過2W,真的這么低?
這個(gè)數(shù)據(jù)實(shí)際上是有可能達(dá)到的:以GeForce GT 740M為例,這顆移動(dòng)平臺(tái)使用的GPU擁有兩個(gè)SMX核心,包含了384個(gè)CUDA Core,它的TDP功耗為19W。其中3W左右會(huì)被用在內(nèi)存控制單元、PCI- E總線以及其余的非GPU部分,這樣剩余的功耗只有16W。此外,由于工藝改變,大約6W的額外漏電不復(fù)存在(Tegra K1采用了漏電更低、更適合移動(dòng)平臺(tái)的HPM工藝,并非桌面GPU使用的HP等工藝),功耗進(jìn)一步降低到了10W左右。考慮到Tegra K1只有1個(gè)SMX,因此功耗會(huì)被控制在5W左右。在Tegra K1中,GPU觀察到的最大頻率只有900~950MHz,比桌面動(dòng)輒1GHz以上低了不少,而且使用的電壓會(huì)更低,因此功耗降低到2W~3W并非難事。況且NVIDIA本身就對(duì)GPU的動(dòng)態(tài)頻率、動(dòng)態(tài)電壓技術(shù)爛熟于心,在動(dòng)態(tài)調(diào)整的情況下實(shí)際運(yùn)行功耗還會(huì)進(jìn)一步降低。
除了本身在規(guī)格上進(jìn)行改動(dòng)外,NVIDIA還使用了大量的技術(shù)來保證Tegra K1的功耗不會(huì)超標(biāo)。在GPU部分,NVIDIA使用了諸如Rail Gating(軌道柵極)、Power Gating(功率柵極)、Multi-Level Clock Gating(多極時(shí)鐘柵極)、Optimized Interconnectand Data Patch(優(yōu)化的互聯(lián)和數(shù)據(jù)模塊)、Idle,Low- utilizationand Active Regimes(閑置、低功耗和活躍狀態(tài)的功耗控制)等多種技術(shù)來保證GPU功耗在絕大多數(shù)狀態(tài)下都能處于較高的性能功耗比狀態(tài)。
根據(jù)NVIDIA的數(shù)據(jù),Tegra K1的GPU性能功耗比相比驍龍800的Adreno 330和蘋果A7的PowerVR SGX6400大幅勝出。在NVIDIA給出的測(cè)試環(huán)境(GFXBench 3.0以及1080pOffscreen分辨率)中,Tegra K1在提供相同的性能時(shí),功耗表現(xiàn)都遠(yuǎn)遠(yuǎn)好于對(duì)比機(jī)型,其每瓦特性能是對(duì)比機(jī)型的1.5倍。
Tegra K1的色彩壓縮技術(shù)
NVIDIA在Tegra K1的發(fā)布會(huì)上還額外提到了色彩壓縮技術(shù),其技術(shù)思想并不困難,不過實(shí)現(xiàn)起來還是不太容易。簡(jiǎn)單來說,目前很多平板電腦、手機(jī)顯示內(nèi)容在像素級(jí)別來看,大部分都是相同的。比如一張黑色的背景上面漂浮著幾個(gè)圖標(biāo)。除了圖標(biāo)和文字區(qū)域外,別的黑色背景部分的像素完全一樣。還有網(wǎng)站的網(wǎng)頁顯示,大部分都是白色背景。這些黑色、白色以及其它的均一色彩部分,雖然簡(jiǎn)單,但是都牢牢占據(jù)了顯示帶寬――GPU又不認(rèn)識(shí)哪些是一樣的背景,哪些是內(nèi)容,因此只能統(tǒng)統(tǒng)顯示。色彩壓縮技術(shù)的難點(diǎn)在于智能識(shí)別不需要壓縮的文本和需要壓縮的色彩部分,因此一直以來都沒有很成熟的方案。
在Tegra K1上,NVIDIA提出了一種色彩壓縮技術(shù)。簡(jiǎn)單來說,NVIDIA希望通過一種特殊的算法,將平板電腦上相同的色彩盡可能地壓縮以節(jié)省帶寬、從而降低能耗并提高效率。尤其對(duì)網(wǎng)頁顯示、背景顯示等內(nèi)容來說,色彩壓縮后數(shù)據(jù)的節(jié)省能夠提高能耗比。官方展示中,在待機(jī)畫面下,Tegra K1的GPU經(jīng)過色彩壓縮后節(jié)約了最多76%、最少43%的數(shù)據(jù)帶寬,整體表現(xiàn)很不錯(cuò)。需要注意的是,色彩壓縮技術(shù)只對(duì)2D畫面有效,3D畫面下由于生成圖形快速而多變,因此色彩壓縮技術(shù)是無法實(shí)現(xiàn)的。
寫在最后
NVIDIA Tegra K1的最大變化是采用了192個(gè)與PC同代次的開普勒架構(gòu)CUDA Core,從而實(shí)現(xiàn)了手持移動(dòng)芯片圖形性能的飛躍。從之前的技術(shù)分析中,我們就可以認(rèn)識(shí)到Tegra K1在圖形性能方面的提升。不過,Tegra K1之所以被稱為“革命性”的手持移動(dòng)芯片,除了GPU部分的革新外,還有更多的創(chuàng)新被融合進(jìn)包括CPU在內(nèi)的其他部分。