Jádro NV40
První „tečkou mezi oči“ je počet tranzistorů, který se vyšplhal na 222 milionů. Toto je obrovské číslo i v porovnání s procesory, vždyť Athlon 64 má asi 105 milionů a Pentium 4 kolem 125 milionů! Čipy budou vyráběny u IBM tradičním 0,13mikronovým procesem za pomoci technologie FSG, takže zde se žádný převrat nekoná. I s touto technologií bude ale jádro obrovské a na jeden 300mm wafer se vejde jen kolem 190 čipů. To nám otevírá téma výtěžnosti, která může být hlavně zpočátku nižší. Přeci jen, vyrobit bezchybně 222 milionů tranzistorů není jednoduché.
![](/file/23435/Chip_2004-06_cd1.bin/chplus/svethardware/sh/media.nsf/0c97cd6cabb1398ec1256cc50082f4bf/2dd30bdc393afd56c1256e76007b4436/Body/0853c.jpg?OpenElement&FieldElemFormat=jpg)
Další zapletenou otázkou je frekvence. Zpočátku vše nasvědčovalo tomu, že se bude takt jádra pohybovat kolem 500-600MHz, později byla hodnota upřesněna na 475MHz. Skutečnost je ale nakonec jiná, GeForce 6800 Ultra běží na pouhých 400MHz, což je mimo jiné nejméně pro hi-endový čip nVidie od dob GeForce4. I při této nízké frekvenci je ale renderovací výkon obrovský, a to díky propracované 3D pipeline.
Upravená SIMD/MIMD architektura
Před 3D pipeline, resp. mezi API a AGP/PCI-E rozhraním, ale stojí ještě jedna věc, a to kompilátor. První a druhá generace CineFX, tedy grafické čipy NV3x, byly postaveny VLIW architektuře (tzn. Very Long Instruction Word). Pokud bych měl její význam zjednodušit, tak VLIW procesory dokáží díky kompilátoru upravit zdrojový kód tak, že se místo několika instrukcí použije instrukce jediná o velké délce slova. Ovšem právě VLIW kompilátor u GeForce FX nebyl příliš podařený už jen z důvodu, že se dodělával dodatečně k hotové NV30.
Výsledkem bylo, že instrukční slova byla skládána velmi neefektivně a pipeline se občas zasekávala a restartovala. Znamenalo to slabší výkon GeForce FX hlavně v operacích se shadery, ve kterých naproti tomu ATi excelovala. Proto nyní nVidia nahrazuje u 6. generace GPU tento systém novou architekturou SIMD/MIMD, čímž usnadní práci hlavně sama sobě. (Pozn.: SIMD = Single Instruction Multiple Data, MIMD = Multiple Instruction Multiple Data).
Zapeklitá 3D pipeline
Nejprve vám nabídnu schéma představující celou grafickou pipeline GeForce 6800:
Obrovskou devizou nového grafického čipu je jeho masivní paralelismus. GeForce 6800 klade důraz na to, aby bylo možno zároveň zpracovávat co největší množství dat. Díky tomu jsou její statistiky následující:
- Po─ìet pixel pipeline: 16
- Pixel shader operace/pixel: 8
- Pixel shader operace/takt: 128
- Přesnost pixel shaderu: 32-bit
- Pixelů za takt – jedna textura: 16
- Pixelů za takt – dvě textury: 8
- Z-stencil pixely/takt: 32
První pohled na 3D pipeline nám říká, že po neefektivní implementaci v GeForce FX se nVidia rozhodla použít u NV40 raději 16 samostatných a pevně určených pipeline. Nic není ale takové, jak se na první pohled zdá. I když je evidentní, že jsou jednotlivé jednotky oddělené, nepracují úplně nezávisle. Pokusím se to vysvětlit.
Po fázi určení pozice polygonů/trojúhelníků (Triangle Setup) se totiž každý trojúhelník rozdělí na „dlaždice“ po 2x2 pixelech. Následovně se každá tato dlaždice zpracovává zároveň v jedné čtveřici pipeline, tzn. celkový počet 16 pipeline je rozdělen na 4 čtveřice. Výhodou je efektivnější využití přístupu do paměti apod., ačkoliv se může stát, že některá ze čtveřice pipeline poběží naprázdno (v případě, že trojúhelník nezaplňuje celou dlaždici).
Toto rozdělení na 4 skupinky po čtyřech dává také nVidii skvělou možnost použít „zmetky“ z výroby pro prodej v nižším segmentu. Stačí, když se některá chybně vyrobená čtveřice jednoduše vypne a čip lze prodat do nižšího cenového segmentu.