3DLabs P10 -- megreng a grafikus piac!

Amitől a P10 egyedülálló!

Párhuzamosítás

A P10-nek saját command processzora van, melynek feladata az egyes grafikus szálak ütemezése. Szálak, ugyanis a P10 command processzora minden végrehajtási szálhoz külön utasításpuffert rendel, így azok tényleg parallel képesek futni (logikailag, és részben fizikailag). Ha az egyik szál érvénytelen műveletet hajt végre, azaz nem megfelelő adat kerül a szál utasításpufferjébe, akkor az adott szál "kihalhat", de -- és ez a kritikus pont -- ez nem érinti a többi, hibátlanul működő grafikus szálat. Magyarul ha a Microsoft Longhorn egyik ablakában egy program (tfh. 1 ablak = 1 szál) valami disznóságot csinál, akkor az ablak bezárul, de ez nem érinti a többi ablakban futó grafikus programokat.


"Longhorn-ready?"

A párhuzamos működés, illetve a szálak ilyen jellegű izolálása az egyik kritikus pont a jövő operációs rendszeréhez, amire a mai kártyák még nem képesek. A párhuzamos működésnek a mai játékok szempontjából semmi jelentősége sincs, ez tehát egy "jövőbe mutató" feature.

Hirdetés

16 vertex processzor

A P10 összesen 16 db, fejenként 32 bites lebegőpontos vertex processzorral rendelkezik. Ezzel szemben a GeForce4 kettő ilyen vertex shadert tudhat magáénak. Van különbség azonban a két implementáció között. Az nVidia és az ATi megoldásai ugyanis négyelemű (4 dimenziós) vektorokkal számolnak, míg a P10 vertex shaderei csak egyeleműekkel. Ha négyelemű vektorok az adatok, akkor a P10-nek négy vertex prociját kell egyszerre használnia, hogy egy ilyen vektorral számolni tudjon. Mivel a legtöbb adat valóban négyelemű, ezért a 16 vertex shadert leginkább 4 x 4-ként képzelhetjük, azaz az nVidia féle értelmezésben 4 vertex shaderrel bír a P10. A vertex pipeline-ok leosztását a hardver (VP manager és a raszterizáló felé a multiplexer) végzi, a szoftver számára a művelet tranziens és csak egyetlen, nagy vertex processzorral kommunikál.


"Reszkess, GeForce4!"

A megoldás egyébként ugyanazt az elvet követi, mint az nVidia crossbar memóriavezérlője (LMA). Egyszerűen finomabb felbontásban engedi elérni az adatokat, így -- amennyiben például -- csak kételemű vektorokkal számolunk, a P10 már ciklusonként 8 vektorral bánik el, míg a GeForce4 ugyanúgy csak kettőt tud kiszámolni, mert mindenképpen négyelemű a vertex pipeline, ha kihasználjuk, ha nem! Emlékezzünk, hogy ott a 128 bites memóriabuszt lehetett címezni 4 x 32 bites szegmensekben!


GeForce4 Ti és MX crossbar memóriavezérlő

A crossbar memóriaszervezésre még visszatérünk a későbbiekben, a 256 bites memóriabusz miatt az ugyanis gyakorlatilag elengedhetetlen. A vertex processzorokhoz kapcsolódóan még annyit kell megemlítenünk, hogy azok teljes mértékben DirectX 8 kompatibilisek, sőt, könnyen Vertex Shader 2.0, azaz DirectX 9 kompatibilissé tehetőek a későbbiekben.

Tile processzor

Korábban már írtuk, hogy a P10 NEM az ún. Tile Based renderinget használja, ugyanolyan hagyományos renderelő, mint az nVidia és az ATi összes kártyája. A megtévesztő elnevezés mögött a P10 teljesítmény maximalizáló és sávszélesség-spóroló eljárása bújik, azaz egyfajta Occlusion Culling megoldásról van szó.


"Az (egyik) Agy..."

Tile alatt a 3DLabs azt érti, hogy a renderelendő képet a P10 8 x 8-as pixel blokkokra bontja, és ezekkel számol a továbbiakban, nemes egyszerűséggel azért, mert így használja ki legjobban a belső cache kialakítását.

A visibility processzor pedig a HyperZ-hez hasonló Z-tömörítés és Occlusion Culling felelőse, bár erről nem áll rendelkezésre kellő információ.

64 pixel processzor

A vertex shaderekhez hasonlóan a pixel processzorok is 32 bites processzorok tömbjéből állnak. Összesen 64 db lebegőpontos koordináta-generátor és 64 db, csak egész (!) műveleteket végző pixel processzora van. A 3DLabs szerint egyébként ezt hívják igazi programozhatóságnak, ellentétben az ATi/nVidia megoldásaival (melyek sokkal kevesebb, de komplexebb, ugyanakkor kevésbé flexibilis register combinerekből -- pixel shaderekből -- állnak).


"4 pixel shader"

A P10 ezen processzorokból összesen 4 pixel pipeline-t üzemeltet, pontosan négyszer annyit, mint a GeForce4! A P10 pixel shaderei DirectX 8 kompatibilisek, de "sajnos" a DirectX 9 elvárásainak nem felelnek meg, ugyanis a Microsoft a DirectX 9-cel elvárja, hogy a pixel pipeline-ok elejétől a végéig lebegőpontos egységekből álljanak. Tehát, amíg a P10 vertex shaderei csak azért nem "DX9-esek", mert a végső DX9 specifikációk még nincsenek kész, addig a pixel shaderek nem is lehetnének azok. A 3DLabs ezt azzal indokolja, hogy a most használatos 0.15 mikronos gyártási eljáráshoz túl komplex lenne egy ilyen chip, azt minimum 0.13, de méginkább 0.10 mikronon kellene gyártani. Az ősszel debütáló NV30 és R300 már 0.13 mikronos, és DirectX 9-es chip lesz.

A P10 egy menetben 8 textúrát képes feldolgozni, a GeForce4 viszont csak négyet (a Radeon 8500 pedig hatot). A VPU ráadásul változó textúra méreteket is kezel, bár ez megint csak a Longhornnál nyer majd értelmet (ugyanakkor DX9 követelmény).

A cikk még nem ért véget, kérlek, lapozz!

Azóta történt

  • Matrox Parhelia-512 -- grafikus K.O.!

    A második pofont a 3DLabs P10 után meglepő módon a régóta szunnyadó Matrox méri a grafikus piacra... 512 bit, 256 bit, 20 GB/s, három képernyős megjelenítés... tovább nem is soroljuk, elképesztő!

  • GeForce FX - a trónkövetelő

    Ahogy azt várhattuk, ma lehullt a lepel az NV30 kódnevű, új generációs nVidia grafikus chipről. Radeon 9700 Pro vagy GeForce FX? Mostantól már ez itt a kérdés.

Előzmények

  • nVidia GeForce4 Ti/MX!

    A trónfosztás megtörtént, a GeForce3 és a teljes MX család már ''történelem''. A jelen: nFiniteFX II, LMA II, 650 MHz-es DDR RAM-ok és sok egyéb...