Uusimmat

NVIDIA GeForce 8800

30.11.2006 16:45 Muropaketin toimitus

NVIDIA ja ATI ovat kilpailleet suorituskykyisimmän näytönohjaimen tittelistä vuosia ja uusien mallien myötä valtikka on siirtynyt vuorotellen valmistajalta toiselle. ATI julkaisi R580:n myötä tammikuussa Radeon X1900 -tuoteperheen, johon NVIDIA vastasi maaliskuussa G71-koodinimellisellä grafiikkapiirillä, johon perustuu mm. GeForce 7900 GTX. Näiden kahden näytönohjaimen välillä ei ollut suurta eroa suorituskyvyssä, mutta seuraavalla näytönohjaimella, kahdella G71-grafiikkapiirillä varustetulla GeForce 7950 GX2:lla, NVIDIA onnistui jälleen kääntämään kamppailun edukseen. ATI julkaisi vielä elokuussa Radeon X1950 XTX:n, mutta tämä ei tuonut odotetunlaista parannusta suorituskyvyssä Radeon X1900 XTX:hen verrattuna.

NVIDIAn G80-koodinimellistä grafiikkapiiriä odotettiin pitkään ja hartaasti, ja julkaisu tapahtui sopivasti ennen joulumarkkinoita marraskuun 8. päivä. Julkaisun yhteydessä parrasvaloihin astuivat kaksi GeForce 8800 -tuoteperheen näytönohjainta: GTX ja GTS, jotka molemmat ovat löytäneet tiensä Muropaketin testipenkkiin. G80 on kokenut huomattavan paljon uudistuksia aiempiin päivityksiin nähden ja tyhjältä pöydältä on lähdetty suunnittelemaan mm. tukea DirectX 10 -rajapinnalle ja Unified Shader -arkkitehtuuria, jossa Pixel ja Vertex Shaderit on yhdistetty yhdeksi liukulukuja murskaavaksi laskentaprosessorikoneistoksi. NVIDIA käytti G80:n suunnittelemiseen neljä vuotta ja yhteensä 475 miljoonaa dollaria.

Artikkelissa luodaan katsaus Unified Shader -arkkitehtuuriin sekä GeForce 8800 GTX- ja GTS-näytönohjaimiin, jotka edustavat MSI:n ja Asuksen näkemystä uutuustuotteista. Mukana on luonnollisesti myös tehonkulutus-, lämpötila-, melu- ja suorituskykymittauksia, ja artikkeli lyödään pakettiin ylikellotustesteillä.

 

G80:n arkkitehtuuri

G80-grafiikkapiiri perustuu järkälemäiseen Unified Shader -suunnitteluun, joka käsittää GTX-mallissa 128 kappaletta 1,35 GHz:n kellotaajuudella toimivaa Stream-prosessoria (SP), jotka on järjestelty kahdeksaksi 16 prosessorin nipuksi. GTS:ssä Stream-prosessoreita on ainoastaan 96 kappaletta ja niiden kellotaajuus on 1,2 GHz. Periaatteeltaan Unified Shader eroaa hyvin paljon aiemmista menettelytavoista, joissa Pixel ja Vertex Shaderit on käsitelty erillisillä prosessoreilla, sillä G80:n myötä jokainen prosessori osaa käsitellä pikseli-, verteksi- ja geometriaoperaatiota.

Kahdeksan Stream-prosessorin niput ovat yhteydessä kuuteen ROP-osioon (Raster Operation), joissa jokaisessa on oma L2-välimuisti ja liittymärajapinta 64 bittiä leveän muistiohjaimen päässä olevaan muistiin (kaaviossa FB = Frame Buffer, kehyspuskuri). Kun nämä kuusi 64 bittiä leveää muistiohjainta lasketaan yhteen, saadaan G80:n muistiohjaimen leveydeksi yhteensä 386 bittiä. NVIDIAn aiempaan G71-grafiikkapiiriin (GeForce 7900 GTX / GeForce 7950 GX2) tai ATIn R580:aan (Radeon X1900 XTX / R580+: Radeon X1950 XTX) verrattuna muistiohjain on puolet leveämpi. ROP on kokenut myös huomattavaa parannusta ja jokainen ROP-yksikkö pystyy prosessoimaan enintään 16 värinäytettä ja 16 Z-näytettä per kellojakso, tai vaihtoehtoisesti 32 Z-näytettä per kellojakso. Kuudella ROP-yksiköllä tämä tarkoittaa yhteenlaskettuna 96 väriä ja Z-näytettä tai jopa 192 Z-näytettä. Ehkä merkittävin uudistus on kuitenkin ROP-yksiköiden kyky käsitellä HDR- ja AA -tekniikoita päällekkäin.

NVIDIAn Unified Shader perustuu neljän Pixel Shaderin liukuhihnaan ja vektoriyksiköiden paloittelemiseen neljään skalaariyksikköön. Neljän neljän Pixel Shader -yksikön sijaan käytössä on 16 Stream-prosessoria, joissa jokaisessa on neljä tekstuuriosoiteyksikköä (TA), kahdeksan tekstuurisuodatinyksikköä (TF) ja L1-välimuisti. Uuden menettelytavan myötä Stream-prosessorit ovat itsenäisiä ja entistä useampi niistä kykenee työskentelemään samanaikaisesti. Tämä on merkittävä uudistus jo siinä mielessä, että se antaa ohjelmoijille mahdollisuuden koodata entistä monimutkaisempia Shadereita. G80:ssa on kaksinkertainen määrä kapasiteettia tekstuurisuodatukselle tekstuuriosoiteyksikköä kohti, kuin G71:ssä, joten se kykenee suorittamaan joko kaksinkertaisen anisotrooppisen suodatuksen, bilineaarisen suodatuksen FP16-tekstuureilla täydellä nopeudella tai 32 pikseliä per kellojakso.

Paperilla tarkasteltuna R580+ 48 Pixel Shader -prosessorilla, joista jokainen kykenee käsittelemään neljää pikselikomponenttia kerrallaan, ja 650 MHz:n kellotaajuudella saavuttaa maksimissaan 125 miljardin komponentin laskentatoimituksen sekunnissa. Vastaavasti G80 128:lla 1,35 GHz:n kellotaajuudella toimivalla Stream-prosessorilla saavuttaa 173 miljardin komponentin rajan sekunnissa. On kuitenkin muistettava, ettei näitä lukuja voida suoraan verrata keskenään suorituskyvyn mittarina, sillä asiaan vaikuttaa merkittävästi mm. eri käskyjen sekoitus ja arkkitehtuurin tehokkuus.

Grafiikkapiirin suoritusajan suhde Vertex- ja Pixel Shader -prosessointiin vaihtelee hyvin paljon suorituskohteen mukaan, mutta Pixel Shader -osuus on ollut merkittävämmässä osuudessa Vertex Shaderiin verrattuna. Vertex Shaderin osuus onkin painottunut oikeastaan vain, kun kohteessa on ollut paljon geometristä prosessoitavaa. G80:n myötä rajoittuneisuuden rajapyykki häviää, kun Stream-prosessorit kykenevät käsittelemään sekä Pixel että Vertex Shader -operaatioita, jolloin esimerkiksi paljon Vertex Shader -operaatioita käsiteltäessä Pixel Shader -osuus ei jää joutilaaksi. Tähän paneudutaan tarkemmin hieman myöhemmin.

Kaikki GeForce 8800 -näytönohjaimet tukevat myös CUDA:a (Compute Unified Device Architecture), joka tarjoaa yhteisen rauta- ja ohjelmistoratkaisun data-intensiiviseen laskentaan. CUDA:n merkittävin ominaisuus on Thread Computing, joka osaa ottaa irti hyödyn raskaasti säikeistetystä GeForce 8800 -arkkitehtuurista. Pohjimmiltaan CUDA sisältää kaiken GPUGPU-toiminnallisuuden, mukaan lukien NVIDIAn Quantum Effects -fysiikkatekniikan. Quantum Effects mahdollistaa fysiikkasimuloinnin ja -renderöinnin suoraan grafiikkapiirillä. GeForce 8800:n Stream-prosessoria tullaan ajan myötä käyttämään mitä suurimmissa määrin esimerkiksi veden, tulen, savun ja vaikkapa räjähdyksien mallintamiseen. Ja koska edellä mainitut ominaisuudet voidaan laskea suoraan grafiikkapiirissä, prosessorille jää enemmän laskentatehoa pyörittämään esimerkiksi pelimoottoria ja tekoälyä.

G80:stä puhuttaessa ei voida olla hyppäämättä DirectX 10:n yli, sillä kyseinen grafiikkapiiri on markkinoiden ensimmäinen, joka tukee tätä rajapintaa. DirectX 10 -tuesta ei toistaiseksi kuitenkaan ole hyötyä, sillä tämä tullaan lanseeraamaan yhdessä Microsoftin Windows Vista -käyttöjärjestelmän kanssa ensi vuoden alussa. Tilanne on sama, kuin vuosia sitten ATI Radeon 9700 Prolla, jolloin rauta saapui markkinoille ennen DirectX 9:ää.

Vaikka DirectX 10:n tukemia Shader Model 4.0 -ominaisuuksia ei vielä päästä kuolaamaan, on syytä muistaa, ettei tämä tarkoita sitä, etteikö G80 kykenisi renderöimään DirectX 9 -rajapintaa tukevia ohjelmia muita näytönohjaimia suorituskykyisemmin. DirectX 10:n yksi merkittävä suorituskykyparannus on prosessorikuorman laskeminen ja ongelmien ratkominen useilla erilaisilla tavoilla DirectX 9:ään verrattuna. Suorituskykyyn kriittisesti vaikuttavia osia on suunniteltu täysin uudestaan, ja tästä esimerkkinä ovat mm. piirtokyselyt ja tilan muutokset.

Shader Model 4.0 tuo mukanaan paljon uutta, kuten ohjelmoitavan Geometry Shader -vaiheen, joka mahdollistaa alkukantakohtaisen manipuloinnin. DirectX 10 tarjoaa huomattavan parannuksen rekisteriresursseihin, sillä esimerkiksi väliaikaisten rekistereiden määrä on noussut 32:sta 4096:ään ja pysyvien rekistereiden 256:stä 65536:een, joka koostuu 16 vakiosta puskurista 4096 rekisterissä. DirectX 10 tuo myös uuden Unified Shader -arkkitehtuurin yhdessä Unified Instruction -joukolla, ja aiemmasta poiketen spesifikaatiot ovat tarkemmin määritelty, joten DirectX 10 -nimellä myytävissä näytönohjaimissa on kaikissa samat ominaisuudet.

Geometry Shaderit mahdollistavat geometrisen datan luonnin ja tuhoamisen grafiikkapiirissä, kun aiemmin grafiikkapiiri kykeni manipuloimaan ainoastaan olemassa olevaa geometrista dataa. Yhdessä Stream-ulostulolla, algoritmit, joita ei voitu edes prosessoida tai jouduttiin toteuttamaan prosessorilla, voidaan nyt suorittaa suoraan grafiikkapiirissä. Stream-ulostulo on DirectX 10:n uusi ominaisuus, joka mahdollistaa datan luomisen Geometry Shadereista, lähettämisen muistipuskuriin ja jälkeenpäin takaisin grafiikkapiirin liukuhihnaan prosessoitavaksi uudestaan. Tämä mahdollistaa aiempaa monimutkaisempaa geometrista prosessointia, kehittyneempää valaistusta ja grafiikkapiiripohjaista fysiikkalaskentaa ilman rankkaa prosessorin rasitusta.

HDR eli High Dynamic Range Rendering on tuttu tekniikka DirectX 9 -ajoilta, mutta DirectX 10 tuo tekniikkaan kaksi uutta formaattia, jotka tarjoavat saman lopputuloksen kuin HDR FP16:lla, mutta puolella tallennustilalla. R11G11B10 on ensimmäinen näistä formaateista ja on optimoitu varastoimaan tekstuurit liukulukuformaatissa. Se käyttää 11 bittiä vihreälle ja punaiselle ja 10 bittiä siniselle. Toinen liukulukuformaatti on suunniteltu käytettäväksi renderöintikohteena, mutta se käyttää viittä bittiä jaettua eksponenttia kaikkiin väreihin yhdessä yhdeksää bittiä logaritmin mantissaa jokaiselle komponentille.

Ylemmässä ”Heavy Geometry” -tapauksessa tilanne on hyvin Vertex Shader -painotteinen, mikä tarkoittaa sitä, että suorituskyky riippuu lähes yksistään Vertex Shader -yksiköiden määrästä (esimerkkitapauksessa neljä kappaletta). Vastaavasti alempi ”Heavy Pixel” -tapaus on Pixel Shader -painotteinen ja suorituskyky on riippuvainen kahdeksasta Pixel Shader -yksiköstä. Kumpikaan näistä tapauksista ei ole optimoitu rautaa ajatellen, sillä ensimmäisessä tapauksessa Pixel Shader -yksiköistä suuri osa jää toimettomaksi, kun taas jälkimmäisessä tapauksessa Vertex Shader -yksiköt ovat työttöminä.

G80:n Unified Shader -arkkitehtuuri tuo juuri tähän ongelmaan ratkaisun, sillä kun ohjelma on esimerkiksi Pixel Shader -intensiivinen, prosessoreista suurin osa prosessoi Pixel Shader -dataa, ja Vertex Shader -tapauksessa päinvastaisesti.

Sisältö

  1. NVIDIA GeForce 8800
  2. MSI GeForce 8800 GTX
  3. Asus GeForce 8800 GTS
  4. Testikokoonpano, Tehonkulutus, Lämpötila, Melu & Suorituskyky
  5. Ylikellotus
  6. Loppuyhteenveto