Představení NVIDIA GF100 Fermi

03.02.2010 20:36

Nové jádro GF100 se skládá z více jak tří miliard tranzistorů, což je zhruba dvakrát tolik v porovnání s předchozí generací GT200. Protože se pozornost upíná pouze na nejvýkonnější variantu, zatím stále nevíme, jakým způsobem chce NVIDIA vyrábět levnější verze nových grafických karet. Uspořádání procesoru je dost modulární, takže můžeme očekávat na slabších kartách menší čipy, u GeForce GTX z řady 200 jsme měli při sníženém počtu stream procesorů stále stejně velké jádro. GF100 se bude vyrábět u společnosti TSMC nejmodernějším 40nm technologickým postupem.


U nových GeForce se s největší pravděpodobností nesetkáme s dvouprocesorovým řešením, jako tomu bylo doteď. S ohledem na vysokou spotřebu a náročné chlazení uvolní cestu duální kolos dvěma samostatným kartám, na které musí mít náročný uživatel patřičnou základní desku s podporou SLI. Optimalizace mají u jediného procesoru zaručit takový výkon, který by odpovídal dvěma kartám s čipem GeForce GTX 285. Konkurovat by měl i nejvýkonnější dvouprocesorové kartě současnosti Radeonu HD 5970 od ATI.

 Fotka nového jádra GF100

 

Architektura

Protože design GF100 je odvozený od předchůdce GT200 (a ten pochází z G92), je na první pohled vidět podobnost mezi oběma čipy. Základním stavebním prvkem zůstává stream procesor, jež můžeme najít pod marketingovým označením CUDA core. GF100 má těchto jader 512, což je 2,13x více ve srovnání s GT200, kde jich bylo 240.

Staré jádro obsahuje deset texturovacích clusterů (TPC), každý vybavený třemi stream multiprocesory. Ty se skládají z osmi stream procesorů a osmi jednotek pro filtrování a adresování textur. Tato základní organizace se u nového jádra vyvinula v komplexnější zdroj prostředků, který nahrazuje původní texturovací clustery za nové grafické clustery (GPC). Ty obsahují funkce, jež byly dříve k dispozici mimo jednotky TPC. Nyní GPC obsahuje vlastní rasterovací engine, spolupracující se čtyřmi stream multiprocesory, z nichž každý ovládá 32 stream procesorů (CUDA jader) a čtyři vyhrazené texturovací jednotky. Z těchto informací nám jednoduchou úvahou vyplyne, že se procesor GF100 plně vybavený všemi 512 stream procesory skládá ze čtyř GPC.

Kromě toho docházíme k závěru, že starší jádro GT200 má k dispozici více texturovacích jednotek – osm v každém TPC a až deset TPC v jednom čipu proti čtyřem texturovacím jednotkám na stream multiprocesor, kterých je maximálně šestnáct (v každém GPC po čtyřech). Toto řešení je lépe zaměřeno na efektivnost výpočtů.

Grafické clustery jsou zásobovány enginem NVIDIA GigaThread, který přiřazuje práci všem šestnácti stream multiprocesorům. Ten představuje významný prvek architektury Fermi díky své nové schopnosti vytvářet a odesílat vlákna ke zpracování paralelně.

 

Diagram nového jádra GF100

 

GigaThread se také stará o přenos dat z tzv. frame bufferu. Na první pohled užší 384bitová paměťová sběrnice, která se skládá ze šesti 64bitových řadičů, v nás může vyvolat dojem, že nové grafické karty jsou v tomto směru omezeny. Vždyť původní jádro GT200 mělo o dva řadiče víc, tedy celková šířka byla 512 bitů. Rozdíl je v použitých paměťových čipech. Zatímco dřívě byl procesor doplněn GDDR3 paměťmi, teď už došlo na GDDR5, které samy o sobě zdvojnásobují celkovou propustnost. Pokud tedy porovnáme paměťový subsystém s novým Radeonem, vyjde nám, že při základní frekvenci 1,2 GHz (4,8 GHz efektivně) je teoretická maximální propustnost GF100 230 GB/s, tedy o 76 GB/s větší.


GF100 obsahuje šest oddílů rasterizačních operátorů (ROP), jež dokáží vyprodukovat osm 32bitových pixelů najednou. Předchozí generace GT200 byla vybavena osmi bloky, které však zvládly vypočítat poloviční množství za jeden cyklus. Výsledkem tedy je o šestnáct pixelů vyšší výpočetní výkon. V praxi to znamená, že nové GPU díky svému extrémnímu výkonu zvládne zpracovávat až 32x Coverage Sampling AntiAliasing (CSAA) při poklesu výkonu o pouhých deset procent ve srovnání s 8x MultiSampling AntiAliasingem (MSAA).

 

Vpravo ukázka 32x Coverage Sampling AntiAliasingu s 24násobným vzorkováním

 

Důvod, proč má GF100 nové GPC jednotky s vlastním rasterizačním enginem v každém stream multiprocesoru, spočívá v tzv. PolyMorph enginu, což je pětistupňový systém, který v kombinaci se zbytkem multiprocesoru vytváří vrcholy, mozaiku, provádí výstupní transformaci, nastavení atributů a výstup do paměti. Mezi každým krokem vykonává multiprocesor kompletní výpočet gemoterie (vertex, hull, domain, geometry shading). Z každého PolyMorph enginu jdou tato základní geometrická data do rastrovacího enginu, z nichž každý zvládne vypočítat osm pixelů za cyklus, což představuje 32 pixelů během jediného cyklu za celý grafický procesor.

Diagram stream multiprocesoru s PolyMorph enginem

 

Změn doznala také vyrovnávací paměť GF100. Každý ze stream multiprocesorů má k dispozici vlastní L1 cache o velikosti 64 KB, která může rovněž fungovat jako paměť sdílená. V zásadě jde o dvě možnosti – 16 KB sdílených a 48 KB vyhrazených nebo naopak. V předchozí generaci jsme se mohli setkat se sdílenou L1 cache o kapacitě 16 KB, která měla za úkol uchovávat data v takové míře, aby vznikala potřeba jít pro nová do frame bufferu co nejméně. Zvětšením této paměti a její dynamickou konfigurovatelností se povedlo docílit zpracování grafiky a ostatních výpočtů ve stejný čas. Při počítání fyziky nebo ray tracingu neexistuje žádný předvídací adresový mechanizmus, takže menší sdílený prostor a větší L1 cache zrychlí přístup do paměti.


Ani paměť druhé úrovně nezůstala opomenuta. Ta se transformovala z původních 256 KB pro čtení textur na plně unifikovanou L2 cache s velikostí 768 KB. Svou komplexností nahrazuje texturovací chache, ROP cache a FIFO. Nyní sem může kterákoliv z těchto komponent libovolně přistupovat, ať už pro čtení nebo zápis. Ve výsledku to znamená další navýšení výkonu a snížení potřeby přístupu do hlavní paměti.

Podpora více monitorů

Kromě podpory DirectX 11 zmíněné v úvodu se ve společnosti NVIDIA rozhodli, že nezůstanou pozadu ani v počtu monitorů, na které lze výsledný obraz umístit. Oproti Eyefinity od ATI jsou tu ale dva rozdíly. Je třeba vydat nové ovladače, které přijdou až s uvedením nových grafických karet na trh, podpory se dočkají i starší výrobky s jádrem GT200. Tím druhým pak nutnost mít v počítači dvě grafiky, protože počet konektorů jich neumožňuje připojit více než dva. Maximální podporované rozlišení na všech displejích je stanoveno na 2560x1600, což odpovídá dnešním 30“ panelům. Po jejich spojení si tak můžete užívat celkovou plochu 7680x1600 px, nicméně na tak velké ploše už musíte počítat s určitým poklesem výkonu.

Závěr

Všechny výše popsané změny by měly přispět k lepšímu využití výpočetního výkonu nového procesoru a vyšší kvalitě obrazu především v nejnovějších hrách, postavených na DirectX 11. Grafiky s čipem GF100 by se měly na trhu objevit koncem března, šest měsíců od doby, kdy konkurenční Radeon HD 5870 převzal pomyslný trůn nejvýkonnější grafické karty. Zatím stále nejsou známy přesné parametry a všechny varianty, které budou z nového procesoru vycházet, víme pouze o označení dvou nejvyšších - GeForce GTX 480 a 470. U GeForce GTX 480 můžeme očekávat podobnou cenu, za jakou se prodává dvouprocesorový Radeon HD 5970, protože právě to je karta, se kterou se NVIDIA chce znova utkat o své prvenství. Pokud se jí to podaří, dá se předpokládat cenový pokles HD 5970, který se aktuálně „prodává“ za zhruba patnáct tisíc včetně DPH. Uvozovky kolem slova prodává jsou zde záměrně, protože výrobek od žádného z partnerů ATI stále nelze v Česku sehnat. Snad podobný problém nenastane s GF100, i když tomu moc nevěříme. Až se objeví nové informace, které by měly být zaměřeny na přesné specifikace a s nimi i první testy, určitě vás o nich budeme informovat, rozhodně je na co se těšit.