決戰(zhàn)性能之巔!NV雙芯旗艦GTX590評測
講完了GPC(內(nèi)含光柵引擎)和SM(內(nèi)含多形體引擎)之后,就輪到了GF100的最小單元——流處理器,現(xiàn)在NVIDIA將它稱為CUDA核心。
9.4 GF100圖形架構(gòu):第三代流處理器的諸多改進(jìn)
論單個CUDA核心,GF100與GT200/G80的基本功能是相同的,沿用了之前的1D標(biāo)量流處理器設(shè)計,無論程序要求什么類型的指令,都可以通過線程分配器打散之后交給CUDA核心處理,從而保證任何指令都能獲得100%的執(zhí)行效率。
GF100的SM與CUDA結(jié)構(gòu)
雖說像素和頂點等4D指令依然是主力,但在進(jìn)入DX10時代后Z緩沖區(qū)(1D)或紋理存取(2D)等非4D指令所占比重越來越多,此時NVIDIA的標(biāo)量流處理器架構(gòu)處理起來依然如魚得水。
● CUDA核心的改進(jìn):
每一個CUDA核心都擁有一個完全流水線化的整數(shù)算術(shù)邏輯單元(ALU)以及浮點運(yùn)算單元(FPU)。GF100采用了最新的IEEE754-2008浮點標(biāo)準(zhǔn),2008標(biāo)準(zhǔn)的主要改進(jìn)就是支持多種類型的舍入算法。新標(biāo)準(zhǔn)可以只在最終獲取數(shù)據(jù)時進(jìn)行四舍五入,而以往的標(biāo)準(zhǔn)是每進(jìn)行一步運(yùn)算都要四舍五入一次,最后會產(chǎn)生較大的誤差。

GF100能夠為32bit單精度和64bit雙精度運(yùn)算提供FMA(Fused Multiply-Add,積和熔加)指令,而GT200只在64bit時才能提供。FMA不僅適用于高性能計算領(lǐng)域,事實上在渲染緊密重疊的三角形時,新的FMA算法能夠最大限度的減少渲染誤差。
● 16個載入/存儲單元:
每一個SM都擁有16個載入/存儲單元,從而在每個時鐘周期內(nèi)均可為16個線程運(yùn)算源地址與目標(biāo)地址。支持的單元能夠?qū)⒚總€地址的數(shù)據(jù)載入和存儲到高速緩存或顯存中。
● 四個特殊功能單元:
GF100每個SM內(nèi)部還擁有額外的四個SFU(Special Function Units,特殊功能單元),可用于執(zhí)行抽象的指令,例如正弦、余弦、倒數(shù)和平方根,圖形插值指令也在SFU上執(zhí)行。每個SFU在一個時鐘周期內(nèi)針對每個線程均可執(zhí)行一條指令,一個Warp(32個線程)的執(zhí)行時間可超過八個時鐘周期。SFU流水線從分派單元中分離出來,讓分派單元能夠在SFU處于占用狀態(tài)時分發(fā)給其他執(zhí)行單元。復(fù)雜的程序著色器在特殊功能專用硬件上的運(yùn)行優(yōu)勢尤為明顯。
● 雙Warp調(diào)度器:
SM可對32個為一組的并行線程(又叫做Warp)進(jìn)行調(diào)度。每個SM擁有兩個Warp調(diào)度器以及兩個指令分派單元。這樣就能夠同時發(fā)出和執(zhí)行兩個Warp。
GF100的雙Warp調(diào)度器可選出兩個Warp,從每個Warp發(fā)出一條指令到16個核心、16個載入/存儲單元或4個特殊功能單元。因為Warp是獨(dú)立執(zhí)行的,所以GF100的調(diào)度器無需檢查指令流內(nèi)部的依存關(guān)系。通過利用這種優(yōu)秀的雙指令執(zhí)行(Dual-issue)模式,GF100能夠?qū)崿F(xiàn)接近峰值的硬件性能。
大多數(shù)指令都能夠?qū)崿F(xiàn)雙路執(zhí)行,兩條整數(shù)指令、兩條浮點指令或者整數(shù)、浮點、載入、存儲的混合指令以及SFU指令均可同時執(zhí)行。但雙精度指令不支持與其它指令同時分派。
關(guān)注我們


