GTX680架構(gòu)解析 GPU版開普勒三大定律
全新的Kepler相比上代的Fermi架構(gòu)改變了什么,看架構(gòu)圖就很清楚了:
Fermi GF100/GF110核心架構(gòu)圖
Kepler GK104核心架構(gòu)圖
GK104相比GF110,整體架構(gòu)沒有大的改變,GPU(圖形處理器集群)維持4個,顯存控制器從6個64bit(384bit)減至4個64bit(256bit),總線接口升級至PCIE 3.0。剩下的就是SM方面的改變了:
GF100和GF104的SM架構(gòu)圖
這里之所以要把GF104這顆中端核心的SM架構(gòu)圖也列出來,是因?yàn)镚F104相比高端的GF100核心做了一些細(xì)小的改動,這些改動也被沿用到了GK104當(dāng)中。另外從核心代號上來看,GK104其實(shí)就是用來取代GF104的,而取代GF100的核心另有他人。
GK104的SMX架構(gòu)圖
NVIDIA把GK104的SM(不可分割的流處理器集群)稱為SMX,原因就是暴增的CUDA核心數(shù)量。但實(shí)際上其結(jié)構(gòu)與上代的SM沒有本質(zhì)區(qū)別,不同的只是各部分單元的數(shù)量和比例而已。具體的區(qū)別逐個列出來進(jìn)行對比:
1. NVIDIA現(xiàn)在把流處理器稱為CUDA核心;
2. SFU(Special Function Units,特殊功能單元)是比CUDA核心更強(qiáng)的額外運(yùn)算單元,可用于執(zhí)行抽象的指令,例如正弦、余弦、倒數(shù)和平方根,圖形插值指令也在SFU上執(zhí)行;
3. Warp是并行線程調(diào)度器,每一個Warp都可以調(diào)度SM內(nèi)部的所有CUDA核心或者SFU;
4. Dispatch Unit是指令分派單元,分則將Warp線程中的指令按照順序和相關(guān)性分配給不同的CUDA核心或SFU處理;
5. LD/ST就是載入/存儲單元,可以為每個線程存儲運(yùn)算源地址與路徑,方便隨時隨地的從緩存或顯存中存取數(shù)據(jù);
6. TMU是紋理單元,用來處理紋理和陰影貼圖、屏幕空間環(huán)境光遮蔽等圖形后期處理;
通過以上數(shù)據(jù)對比不難看出,GK104暴力增加CUDA核心數(shù)量的同時,SFU和TMU這兩個與圖形或計算息息相關(guān)處理單元也同比增加,但是指令分配單元和線程調(diào)度器還有載入/存儲單元的占比都減半了。這也就是前文中提到過的削減邏輯控制單元的策略,此時如何保證把指令和線程填滿一個CUDA核心,將是一個難題。
關(guān)注我們
