NVIDIA esitteli yleisölle uuden lippulaivansa GeForce 7800 GTX -näytönohjaimen kesäkuussa Computex 2005-tapahtumassa. High End-markkinoille suunnatussa GeForce 7800 GTX -näytönohjaimessa on 110nm prosessilla valmistettu G70-grafiikkapiiri joka perustuu NV40-grafiikkapiirin arkkitehtuuriin. Pienemmän valmistustekniikan ansiosta NVIDIA on kuitenkin voinut mm. lisätä ytimen pikseliliukuhihnojen (pixel pipeline) ja verteksivarjostinliukuhihnojen (vertex shader pipeline) lukumäärää ja sekä optimoida paremmaksi pikseliliukuhihnojen arkkitehtuuria. Testeissä GeForce 7800 GTX onkin osoittautunut melko hurjaksi, sillä suorituskyky on ollut parhaimmillaan jopa lähes kaksi kertaa parempi verrattuna edelliseen NVIDIAn lippulaivaan GeForce 6800 Ultraan. Parantuneen suorituskyvyn lisäksi NVIDIA on onnistunut laskemaan myös G70-grafiikkapiirin virrankulutusta päivitetyn arkkitehtuurin ansiosta, vaikka transistorimäärä on kasvanut merkittävästi ytimessä verrattuna vanhempaan NV40-grafiikkapiiriin.
Seuraavaa artikkelia varten Leadtek Research toimitti Skenegroupin testipenkkiin kaksi kappaletta GeForce 7800 GTX -referenssiohjaimia (WinFast PX7800 GTX TDH MyVIVO). Tässä artikkelissa käydään läpi hieman mm. G70-grafiikkapiirin arkkitehtuuria, valmistusprosessia ja referenssijäähdytyksen tehoa. Lisäksi artikkeli sisältää yleisiä käytännön kokemuksia ohjaimesta ja tietysti testitulokset peleissä. Verrokkina artikkelissa käytetään edellisestä artikkelista tuttuja MSIn valmistamia NVIDIA GeForce 6800GT ja ATI Radeon X800XL -näytönohjaimia. Artikkeli ei käsittele NVIDIAn SLI-tekniikkaa (Scalable Link Interface) mutta SLI-testitulokset pelien osalta ovat mukana verrokkina. Alla olevasta linkistä löytyy lisää tietoja NV40-grafiikkapiiristä ja sen arkkitehtuurista.
Tällä hetkellä jälleenmyyjiltä löytyy varastoista kattavat valikoimat NVIDIA GeForce 7800 GTX -näytönohjaimia. Lisäksi markkinoille on ilmestynyt hieman halvempi vaihtoehto, GeForce 7800 GT -näytönohjain.
Leadtekin WinFast PX7800GTX TDH MyVIVO -näytönohjaimen tuotepakkaus on kohtuullisen pieni. Pakkauksen koko saisi olla hieman isompi, koska pakkauksen sisällä ohjain ja oheismateriaali ovat pakattu todella tiivisti (suojattu muovikuorella). Pakkauksen ulkoinen ilme on perinteisen hillitty, kuten aikaisemmissakin Leadtekin retail-pakkauksissa.
Leadtekin WinFast PX7800GTX TDH MyVIVO -näytönohjaimen mukana toimitettava oheismateriaali on käytännössä täysin sama kuin muidenkin Leadtekin valmistamien ohjaimien mukana tuleva oheismateriaali. Toivottavasti seuraavassa Leadtekin ohjaimessa nähtäisiin mahdollisesti jo uudistettu oheismateriaali, sillä samasta oheismateriaalista kirjoittaminen alkaa hieman puuduttamaan.
Pakkauksesta löytyy GeForce 7800 GTX-näytönohjaimen lisäksi seuraavat oheismateriaalit: manuaali, "quick installation guide", HDTV / VIVO-kaapeli (9-pin midi-din, S-Video ja komposiitti (RCA)) TV-uloslähdölle ja -sisääntulolle, 2x DVI / VGA-adapteri ja 6-pinninen virtakaapeli / haarakappale (2x molex). Mukana tulevalla ajuri cd:llä on mm. NVIDIA ForceWare 77.50 (WHQL)-, WDN-, DirectX 9.0c -ajurit ja lisäksi WinFox 2 -, WinFast DVD -, WinFast PVR -, MuVee 3 - ja Coloreal -ohjelmistot. Pelejä Leadtek on lisännyt pakettiin vain kaksi kappaletta: Prince of Persian: Warrior Within (DVD) ja Splinter Cell: Chaos Theory (DVD).
NVIDIAn G70-grafiikkapiiri (Rev. A2) on valmistettu TSMC:n (Taiwan Semiconductor Manufacturing Company) 110nm tuotantolinjalla Taiwanissa. Transistoreita se sisältää 302 milj. joka on noin 80 milj. enemmän kuin 130nm prosessilla valmistetussa NV40-grafiikkapiirissä. Pienemmän valmistustekniikan ansiosta NVIDIA on voinut mm. lisätä ytimen pikseliliukuhihnojen (pixel pipeline) ja verteksivarjostinliukuhihnojen (vertex shader pipeline) lukumäärää ja sekä optimoida paremmaksi pikseliliukuhihnojen arkkitehtuuria, jota NVIDIA kutsuu Superskalaari Arkkitehtuuriksi (Superscalar Architecture). Valmistuskustannuksiltaan pienempää prosessia hyödyntävä G70-grafiikkapiiri on valitettavasti kuitenkin kalliimpi valmistaa, koska piiri on fyysisesti isompi kuin NV40-grafiikkapiiri. Pienempi valmistusprosessi on tarjonnut joka tapauksessa paremmat saannit, jonka ansiosta TSMC on pystynyt välttämään "fubar"-piirit ja toimittamaan riittävästi toimivia piirejä NVIDIAlle. Tämä viittaisi erinomaiseen tuotantolinjaa ja piirisuunnitteluun. NVIDIAn mukaan piiriä suunniteltaessa tavoitteena oli nostaa transistoreiden määrää ja samalla laskea virrankulutuksen vaatimuksia. Tässä tavoitteissa NVIDIA on onnistunut erinomaisesti, sillä G70-grafiikkapiiri kuluttaa huomattavasti vähemmän virtaa kuin NV40-grafiikkapiiri. Flipchip-paketointia käyttävä G70-grafiikkapiiri on suunniteltu natiiviksi PCI-E-piiriksi mutta HSI-siltapiirin (High-Speed-Interconnect bridge chip) avulla se toimisi myös AGP-piirisarjoilla ongelmitta. Markkinoinnissa käytettävät termit ovat päivittyneet G70-grafiikkapiirin julkaisun myötä versioon 4.0 ja nykyisiä G70-grafiikkapiirin tukemia ominaisuuksia ovat CineFX 4.0 (mm. OpenGL 2.0/DirectX 9.0c (Shader Model 3.0)), IntelliSample 4.0 ja Ultrashadow II.
G70-grafiikkapiirin arkkitehtuuri mahdollistaa myös eri kellotaajuuksien käyttämisen eri laskentayksiköissä. Ratkaisu parantaa merkittävästi laskentayksiköiden joustavuutta kellotaajuuksien suhteen.
G70-grafiikkapiiriä suunniteltaessa NVIDIA analysoi noin 1300 varjostinohjelmaa, joidenka mukaan yleisimmät pikselivarjostinkäskyt ohjelmissa olisivat kerto- ja yhteenlaskut (MAD, MUL, ADD, DP2/3/4 jne). Tutkimus osoitti myös sen, ettei NV40-grafiikkapiirin arkkitehtuuri ole täysin optimaalinen suorittamaan rinnakkain kyseisiä pikselivarjostinkäskyjä ja laskutoimituksia ilman muutoksia arkkitehtuurissa. NV40-grafiikkapiirin pikseliliukuhihna sisältää kaksi keskenään erilaista 32-bittistä liukulukuvarjostinyksikköä: MUL-laskentayksikön (Shader Unit1 - varjostinyksikkö 1, MUL - Multiply) joka pystyy suorittamaan vain kertolaskuja ja tehokkaamman MAD-laskentayksikön (Shader Unit2 - varjostinyksikkö 1, MAD/MADD - Multiply-add) kerto- ja yhteenlaskuille. Kahden MADD-laskentayksikön käyttäminen pikseliliukuhihnassa olisi nostanut huomattavasti transistorimäärää, joten NVIDIA päätyi käyttämään NV40-grafiikkapiirissä kahta keskenään erilaista laskentayksikköä.
NVIDIA on tehnyt muutamia muutoksia ja parannuksia G70-grafiikkapiirin arkkitehtuuriin, joista merkittävin muutos on ehdottomasti pikseliliukuhihnojen MUL-laskentayksikön korvaaminen tehokkaammalla MAD-laskentayksiköllä (MADD). Toisen MADD-laskentayksikön lisääminen on parantanut huimasti G70-grafiikkapiirin suorituskykyä pikselivarjostissa, sillä se on ollut parhaimmillaan lähes kaksi kertaa nopeampi kerto- ja yhteenlaskuihin perustuvia pikselivarjostinkäskyjä kuin NV40-grafiikkapiiri. Lisäksi varjostinyksikkö 1:n yhdysrakenteinen teksturointiprosessori (Texture Processor - Texture Memory / Management Unit) voi toimia G70-grafiikkapiirissä rinnakkain riippumatta laskettavista pikselivarjostinkäskyistä. NVIDIAn mukaan myös verteksitekstuurinäytteiden hakua (Vertex Texture Fetch, TEX ops / texture sampling), haarautumisprosessoria (Branch Processor), fragmenttiristikytkentäohjainta (Fragment Crossbar Controller), ROP-pikseliliukuhihnoja (ROP pixel pipeline - Raster Operation) ja muistiohjainta olisi optimoitu hieman tehokkaammiksi NV40-arkkitehtuurista, mutta niiden rakenne näyttää pysyneen samana ainenkin NVIDIAn omissa julkaisupapereissa. NV40-grafiikkapiirin arkkitehtuurista löytyy lisää tietoa täältä.
Alla esimerkki G70-grafiikkapiirin pikselivarjostinsuorituskyvystä (NVShaderPerf) verrattuna NV40-grafiikkapiiriin:
-------------------- G70 --------------------
Target: GeForce 7800 GTX (G70) :: Unified Compiler: v77.72
Cycles: 13.00 :: R Regs Used: 3 :: R Regs Max Index (0 based): 2
Pixel throughput (assuming 1 cycle texture lookup) 793.85 MP/s
-------------------- NV40 --------------------
Target: GeForce 6800 Ultra (NV40) :: Unified Compiler: v77.72
Cycles: 17.00 :: R Regs Used: 3 :: R Regs Max Index (0 based): 2
Pixel throughput (assuming 1 cycle texture lookup) 376.47 MP/s
| GeForce 6600 GT | GeForce 6800 LE | GeForce 6800 Ultra | GeForce 7800 GTX | |
![]() |
![]() |
![]() |
![]() |
|
| Piirin nimi | NV43 | NV40 | NV40 | G70 |
| Valmistusprosessi | .11µ (TSMC) | .13µ (IBM) | .13µ (IBM) | .11µ (TSMC) |
| Transistoreita | 143 milj. | 222 milj. | 222 milj. | 302 milj. |
| Muistiväylän leveys, bittiä |
128 bit (64x2) | 256 bit (64x4) | 256 bit (64x4) | 256 bit (64x4) |
| Muistiväylän nopeus (Ultra) |
16.0 GB/s | 22.4 GB/s | 35.2 GB/s | 38.4 GB/s |
| Pikselitäyttösuhde | 2000 MP/s | 2400 MP/s | 6400 MP/s | 6880 MP/s |
| Tekselitäyttösuhde | 4000 MT/s | 2400 MT/s | 6400 MT/s | 10320 MT/s |
| Verteksinopeus | 375 Mtri/s | 320 Mtri/s | 600 Mtri/s | 860 Mtri/s |
| AGP/PCI-E-väylä | 2x / 4x / 8x / PCI-E | 2x / 4x / 8x / PCI-E | 2x / 4x / 8x / PCI-E | PCI-E |
| Muistin määrä | 128 MB | 128 MB | 256 MB | 256 MB |
| Piirin kellotaajuus |
500 MHz | 300-320 MHz | 400-450 MHz | 430-495 MHz |
| Muistien kellotaajuus |
500 MHz | 350 MHz | 550-600 MHz | 600-675 MHz |
| Tuetut muistit | DDR / DDR2 / DDR3 | DDR / DDR2 / DDR3 | DDR / DDR2 / DDR3 | DDR / DDR2 / DDR3 |
| Pikseli- liukuhihnojen lukumäärä |
8 x 1 (TMU) | 8 x 1 (TMU) | 16 x 1 (TMU) | 24 x 1 (TMU) |
| ROP-pikseli- liukuhihnojen lukumäärä |
8 x 1 (TMU) | 8 x 1 (TMU) | 16 x 1 (TMU) | 16 x 1 (TMU) |
| Pikseli- liukuhihnan asetukset |
16 FP ALUa (MUL ja MAD varjostinyksiköt + 2 mini ALUa per liukuhihna) |
16 FP ALUa (MUL ja MAD varjostinyksiköt + 2 mini ALUa per liukuhihna) |
32 FP ALUa (MUL ja MAD varjostinyksiköt + 2 mini ALUa per liukuhihna) |
48 FP ALUa (2 MAD varjostinyksikköä + 2 mini ALUa per liukuhihna) |
| Pikseli- liukuhihnan laskentatarkkuudet |
FP32 / FP16 | FP32 / FP16 | FP32 / FP16 | FP32 / FP16 |
| Operaatiota kellojaksossa |
64 FP tai 32 FP + 8 TEX | 64 FP tai 32 FP + 8 TEX | 128 FP tai 64 FP + 16 TEX | 192 FP + 24 TEX |
| Tekstuureja per vaihe |
16 | 16 | 16 | 16 |
| Verteksivarjostin- liukuhihnojen lukumäärä |
3 | 4 | 6 | 8 |
| Pikselivarjostimen versio |
3.0 | 3.0 | 3.0 | 3.0 |
| Verteksivarjostimen versio |
3.0 | 3.0 | 3.0 | 3.0 |
| OpenGL / DirectX versio |
1.5 / 9.0 | 1.5 / 9.0 | 1.5 / 9.0 | 1.5 / 9.0 |
| RAMDAC | 2 x 400 MHz | 2 x 400 MHz | 2 x 400 MHz | 2 x 400 MHz |