Čip G94
65nm jadro G94 s celým označením G94-300-A1, A1 znači prvú finálnu revíziu
Mainstreamový čip G94, vyrábaný v 65nm procese u TSMC, je založený na základovej unifikovanej architektúre G80 – recenzia: „Prvé pohľady na architektúru G80” a obsahuje zmeny, ktoré priniesol so sebou čip G92, nakoľko patrí do jeho „vývojovej vetvy“. nVidia škáluje výkon svojich čipov hlavne dvoma spôsobmi – počtom clusterov (nazývaných tiež TPCs = thread processing clusters) a frekvenciou. Keďže je rozsah možných frekvencií obmedzený, je jasné, že dlhé roky sa využíva „osekanie“ čipu na docielenie potrebného – nižšieho výkonu.
Z fyzikálneho hľadiska predstavuje G94 natívny 4 clusterový čip – bez neaktívnych clustrov, ktorý má celkovo ~ 505 miliónov tranzistorov v ~225mm^2 (15x15mm) veľkom jadre. Pre tento krok sa rozhodla nVidia, aby mohla produkovať jadrá relatívne lacno, podobne ako AMD/ATi – RV670. RV670 je napriek tomu menší ~ 193mm², cenovo sa to zhruba vyrovná pre mierne drahší a novší 55nm proces. Presné čísla nie sú samozrejme zverejnené. Vďaka pomerne malým rozmerom môže teda nVidia vyrobiť relatívne veľa – viac ako 240 čipov G94 na 300mm wafery, čo znamená v konečnom výsledku viac GeForce 9600GT grafických kariet a vyššie marže. Rovnako môže neskôr aj klesnúť cena čipov, pokiaľ si to vyžaduje situácia a čip s menším počtom tranzistorov dosahuje ľahšie vyššie frekvencie. Finančne menej výhodná varianta by bola vyrobiť G92 čipy s 8 clustermi a následne polovičku vypnúť. Takýto „G94“ by ale naďalej mal ~754 miliónov tranzistorov a asi by bolo potrebné deaktivovať aj inak funkčné clusteri. Jasne vidieť, v čom je výhoda vyrobiť natívny 4 clusterový G94. Vráťme sa ale k technickým detailom.
Nasledujúci obrázok predstavuje do veľkej miery zjednodušenú schému jadra. Znázornený je hlavne tok dát zo začiatku čipu – thread scheduler až po koniec – ROPs (rasterizačné jednotky), kde sa finálne pixely dostávajú do framebuffera a sú zobrazované na vašej obrazovke.
G94 je plne unifikovaný čip, ktorý podporuje a prevyšuje špecifikácie Direct3D 10 API, sám si zabezpečuje vyťaženie jednotiek a zakrýva latenciu. Z hľadiska architektúry vychádza zo známeho G92, ktorý predstavuje die-shrink G80 s rôznymi zmenami. Tieto prebral aj G94. Z tohoto dôvodu sa pozriem len na novinky a rozdiely voči G80. Odporúčam preto prečítať aj článok „Prvé pohľady na architektúru G80”, kde je architektúra čipu G80 komplexne rozobraná.
Na začiatku čipu bol oproti G80 vylepšený loadbalancing a zmeny sa dotkli aj schedulera, vďaka čomu je docielené vyššie vyťaženie výpočtových jednotiek. Počet výpočtových jednotiek TMUs, ALUs priamo závisí od počtu clusterov. Povedzme si teda, čo obsahuje jeden TPC. Jeden G9x cluster obsahuje rovnako ako G8x cluster – 16 Streaming processing jednotiek alebo „skalárnych“ ALUs, zoradených do 2x8 skupín. Tieto skupiny sú interne nazývané – SMs = streaming multiprocessors. Ďalej vidieť interpolátory pracujúce na rovnakej frekvencii ako ALUs, texturovacie jednotky – TMUs, zložené z 8 adresovacích (TAUs) a 8 filtrovacích (TFUs) jednotiek. Patrí sem ešte scheduler na začiatku každého clusteru, ktorý sa stará o to, aby boli jednotlivé jednotky optimálne vyťažené (nVidia sama hovorí o ~75% vyťaženosti TMUs) a 8KiB veľká L1 cache.
Technické parametre čipu "G94" | |
Výrobný proces: |
65nm @ TSMC |
Počet tranzistorov: | ~505 miliónov |
Plocha a rozmery jadra: | ~240mm^2; 15,8 x 15,8 mm |
Obal jadra: | flipchip |
Základná konfigurácia: | 32 textúr/ 16 pixelov/ 64x Z |
Zbernica: | 256-bit 4x 64-bit |
Podpora Direct3D: | 10 |
Pripojenie k systému: | PCI-Express 2.0 x16 |
Výstupy: | 2x dual-link DVI, HDMI, HDCP |
Dostávame sa k TMUs (texturovacím jednotkám), ktorých schopnosti neboli takisto zmenené, zvýšil sa jedine počet adresovacích jednotiek. Zatiaľ čo G80 obsahoval dvakrát viac filtrovacích (TFUs) ako adresovacích jednotiek (TAUs), má tento pomer TFUs: TAUs už každý G9x čip rovnaký – 1:1. Znamená to, že čisto bilineárna texelfillrate G9x TMUs sa zdvojnásobila oproti G8x TMUs. V praxi, kedy sa používa minimálne trilineárne alebo trilineárne anizotropné filtrovanie, nepredstavuje táto zmena výhodu. Toto hovorí nVidia oficiálne. Neoficiálne existujú špekulácie, ktoré hovoria o tom, že TMUs G9x sú z časti zdielané. Možno si to predstaviť ako „unifikované“ TMUs, ktorých časť tranzistorov sa využíva na adresovanie a zároveň na filtrovanie. Bližšie informácie neexistujú, sú to už len divoké dohady. Tieto by ale vysvetľovali vyšší prepad výkonu G9x grafických kariet so zapnutým AF oproti G8x. Z časti pravdivé teda pravdepodobne budú. Nebolo by to prvýkrát, čo nVidia „zneužíva“ výpočtové jendotky.
Relatívne najväčšie zmeny sa uskutočnili na ROPs (rasterizačných jednotkách). Ich schopnosti sa oproti G8x ROPs nelíšia, podporované sú rovnaké formáty, FP-32 blending, multisampling, supersampling transparency adaptive, coverage antialiasing a všetko čo si Direct3D 10 vyžaduje. Vylepšená ale bola ich (Color/Z) kompresia pri určitých nastaveniach a najmä vyšších rozlíšeniach. G94 a G92 by mali vedieť preto lepšie zaobchádzať s dostupnou priepustnosťou a VRAM. Zlepšil sa aj Z-culling, ktorý je teraz mierne inteligentnejší. Tieto vylepšenia si G200 ROPs ponechali . Zatiaľ co G80 obsahoval šesť quadov ROPs, G92 ich obsahuje už len štyri. Tieto štyri ROP quady obsahuje aj G94. Dokopy teda 16 ROPs, ktoré dokážu za takt ukončiť 16 pixelov s Color a Z hodnotami. Zachovaná zostala aj „optimalizácia“ vďaka ktorej dokážu všetky ROPs vypočítať 128 Z-samplov (hĺbkových hodnôt) pokiaľ nie je v „hre“ farba. S farbou klesne táto hodnota na 64 Z-samplov. Oproti G80 to je zníženie, kompenzuje to ale plánovaná vyššia pracovná frekvencia jadra – s rovnakou pracujú aj ROPs. Výkon ROPs, keď vezmeme do úvahy vylepšenia a frekvenciu, by nemal predstavovať limitáciu v čipe.
na rozdiel od G92 podporuje G94 len SLI zapojenie dvoch grafických kariet
Využívaný je naďalej pomerne zastaralý crossbar a tak závisí šírka zbernice priamo úmerne od počtu ROPs - lebo každý ROPs quad je spojený s framebufferom. Zatiaľ čo G80 mal šesť 64bit kanálov, má ich G92/G94 len štyri. Celkovo ponúka G92/G94 zákazníkovi teda 256bit zbernicu, štvornásobne poddelenú. So všetkým tým súvisí aj veľkosť VRAM. Každý 64bit kanál je napojený na dva (32bit) pamäťové čipy. Možnosti kapacity VRAM sú teda len 512MiB alebo 1GiB, čo záleží od veľkosti jedného pamäťového čipu (64MiB alebo 128MiB). V spojení s 900MHz GDDR 3 pamäťou má G94, keď berieme do úvahy aj výkon/teoretické hodnoty, dostatočnú priepustnosť k dispozícii. Problém s nedostatkom priepustnosti má ale G92, ktorý s dvojnásobným výkonom má podľa verzie len 7 až 22% vyššiu dostupnú priepustnosť. Viac už v konkrétnom článku GeForce 9800 GTX(+).
Jadro G92 nie je čo sa týka veľkosti na „hrane“ výrobného procesu a nVidia preto mohla integrovať NVIO - všetky I/O tranzistory spolu s VP do samotného jadra. Ba čo viac, G94 obsahuje rovnako ako G92 vylepšený video procesor. Tento dokáže „úplne“ urýchlovať H.264 codec a čiastočne aj VC-1 videá. nVidia odôvodňuje len čiastočné urýchlenie VC-1 faktom, že nie je tak výpočtovo náročné ako H.264. Do budúcnosti by sme si ale želali viac. Ďalšie PureVideo-HD vylepšenia, ktoré sú dostupné aj pre G92 sa uskutočnili v samotnom ovládači. Prvé dve vylepšenia s názvami Dynamic Contrast Enhancement a Dynamic Blue, Green and Skin Tone Enhancement dokážu počas prehrávania (on the fly) analyzovať HD video a napríklad scénam s nedostatočným kontrastom pridať kontrast a dopasovať, zmeniť farby pozadia. Nová je aj funkcia s názvom Dual-Stream Decode. Vďaka nej je možné prehrávať a urýchľovať dva video streamy. Doposiaľ bolo normálne, že pri prehrávaní HD alebo Blu-ray disku vypol Windows Vista Aero plochu a aktivoval klasický vzhľad. GeForce 9600 GT už túto limitáciu nemá.
Čo sa týka pripojenia čipu a grafickej karty k zvyšku systému, podporuje G94 najnovšiu PCI-Express 2.0 zbernicu. Oproti PCI-Express 1.1 sa priepustnosť zdvojnásobila. G94 GPU ponúka okrem toho natívnu podporu SLI, HDMI a DisplayPort. V referenčný dizajne sú síce navrhnuté dva dual-link-DVI výstupy, board partneri sa ale môžu rozhodnúť či ich nenahradiť vyššie zmieneným HDMI výstupom alebo DisplayPort-om.
jutes
M1ch4l
Gudas
M1ch4l
M1ch4l
andrejsvk
JeffoneoN
fobos
Pavol Bobik
fobos
Gudas
Pavol Bobik
sapiq
crux2005