Generációváltás 2. rész - HD4870
Elemzés - 2009/05/14, frissítve
Bevezető
Sorozatunk első részében megvizsgáltuk, mi újat mutatott az nVidia
GT200 GPU-ja, most pedig tüzetesebben szemügyre vesszük, hogy a GT200-zal majdnem egyidőben piacra került
RV770-powered HD4870 mit tudott felmutatni a zöldek 1.4 milliárd tranzisztoros gigásza ellen. Vágjunk is bele!
Mit vártunk és mi érkezett?
Úgy gondoljuk, az RV770-ről szóló pletykák felfutása nyugodtan megérdemli a "legendás" jelzőt. Mivel akkoriban
élte fénykorát a stream processor alapú teljesítménybecslés (amiből egyébként konkrétan a Radeonokban egyetlen
darab sincs), mindenki arra volt kíváncsi, hogy a 320 stream processort (nem) tartalmazó RV670-hez képest hány
ilyen egységet (nem) fog rejteni az RV770-es borítása. Az első pletyka talán már 2008. márciusában is elérhető volt,
és ez 480 SP-ről szólt - és ez a pletyka igaznak bizonyult. Aztán rövidesen érkezett egy 800 SP-ről szóló pletyka,
és ez is igaznak bizonyult. Végül, a megjelenés előtt nem sokkal azt is rebesgették, hogy 640 SP lesz - és ez a
pletyka is igaznak bizonyult.
Nem, nem bolondultunk meg - a három különböző igaz pletykának nagyon egyszerű a magyarázata: mindegyik
igaz volt egy bizonyos időszakban. A legnagyobb titok ugyanis az volt az RV770-nel kapcsolatban, hogy szemben
a GT200 500 négyzetmillimétert is meghaladó méretével, az AMD (ill. már az ATI is a felvásárlás előtt) kifejezetten
kordában tartott méretű chipet szeretett volna készíteni. Ez olyannyira sikerült nekik, hogy a chip méretét nem
a bele tervezett egységek (részben a 480 "SP"-t tartalmazó 6 db ALU+TEX cluster) határozták meg, hanem a chip
kerülete - a 256-bites memóriavezérlő és az egyéb perifériák olyan kerületet adtak ki, hogy 250-260
négyzetmilliméternél kisebb nem lehetett a chip területe. Ekkora területen viszont még maradt hely a 6 cluster
mellett - így előbb a 6 felment 8-ra, majd, amikor még mindig volt hely, eljutottunk a végleges 10-es számig, azaz
800 db (nem) stream processorig. Természetesen az extra 4 cluster (60%-kal több számítási kapacitás!) igencsak
megdobta a chip erejét, ami feltételezésünk szerint lehetővé tette, hogy a HD4870 konzervatívabb órajelekkel
induljon - ezáltal nőtt az RV770 kihozatala, csökkent a költsége, és az AMD olyan áron tudta adni még mindig bőven
profitabilisan a HD4870-et, amit az nVidia vélhetőleg azóta sem bocsátott meg nekik.
Az órajelekkel kapcsolatban érdekes módon elég jók voltak a találgatások - bár sokáig tartotta magát a pletyka,
hogy az AMD is bevezeti a shader órajel domaint. A core órajelet 700 és 800 MHz környékére becsülték, a gDDR5
memóriát pedig 900 és 1000 MHz közé - a fiktív shader órajel pedig vicces módon majdnem pont annyival lett volna
magasabb a core órajelnél, amennyivel a 800 "SP" több a 480-nál...
Frissítve! Zárójel: ha már ennyit tréfálkozunk a stream processorok és a Radeonok
viszonyán, érdemes szólni róla pár szót, hogy mi is a mulatság alapja. Az nVidia eredetileg úgy hirdette
az első unified shader alapú VGA-t, a 8800GTX-et, hogy 128 db önálló feldolgozóegységgel (stream processorral)
van felszerelve, azaz minden ilyen
SP saját kommunikációs interface-szel rendelezik, és a többitől függetlenül képes önálló feladatokat elvégezni.
A 128 SP látszatra számottevően több, mint a Radeon X1950XTX 48 pixel shadere (bár azok darabonként
négy aritmetikai- és logikai egységgel vannak felszerelve, míg egy SP-ben csak egy ALU van), ezért divatos
lett ezzel az SP-számmal dobálózni, annak ellenére, hogy az nVidia SP-i sem teljesen önállóak (hanem
nyolcasával SIMD tömbökbe vannak csoportosítva). Értelemszerű volt az AMD számára, hogy a 2900XT-t, amiben 320
ALU egység található, 320 SP-vel rendelkező kártyaként hirdesse, holott ezek az egységek még annyira sem
önállóak, mint a 8800GTX esetében - a legkisebb önálló kommunikációs interface-szel rendelkező egység 5 ALU-ból
áll (amelyből az egyik nagyobb tudással rendelkezik, mint a többi 4), és ilyen egységből van 64 db az R600-ban,
ezek pedig 4 db 16-elemű SIMD-tömbbe szerveződnek. Ez a szerveződés a jelenlegi játékokban azt jelenti, hogy
az R600-as architektúra alapú VGA-k számítási kapacitását igen nehéz kihasználni, azaz, bár a 2900XT
elvi síkon rendelkezik a 320 ALU adta 640 Flop / órajelciklus teljesítménnyel, a gyakorlatban ennél jóval
kevesebb művelet áll a játékok rendelkezésére.
Így tehát a 8800GTX
megjelenésével egy teljesen fals értékmérési rendszer indult útjára, ami a mai napig tartja magát, még
különféle izgalmas vadhajtásokat is termel (pl. 1 nVidia SP olyan erős, mint 5 ATI SP, stb.) - ezért könnyű
célpontot nyújt mindenféle sötétlelkű elemzők csipkelődéséhez. Zárójel bezár.
Eme kis kitérő után térjünk vissza eredeti témánkhoz. Ahogy az előző cikkben,
itt is csináltunk táblázatot, ezúttal csak a két kártya részvételével:
VGA neve | HD3870 | HD4870 | HD4870 előny |
Core órajel | 770 MHz | 750 MHz | |
Memória-órajel | 1125 MHz | 900 MHz | |
Memória mennyisége | 512 MB | 512 MB | |
ALU egységek ("SP"-k) | 320 | 800 | |
Textúrázó egységek | 16 | 40* | |
Interpolátor egységek | 32 | 32 | |
ROP egységek | 16 | 16** | |
Memóriabusz | 256-bit | 256-bit | |
Memória típusa | gDDR4 | gDDR5 | |
Triangle setup | 770 Mtri / sec | 750 Mtri / sec | -2.6% |
Számítási teljesítmény | 493 GFlops | 1200 GFlops | 143.5% |
Texel fillrate, 32-bit (FP10) | 12.3 GTex / sec | 24.0 GTex / sec *** | 94.8% |
Texel fillrate, 64-bit (FP16) | 12.3 GTex / sec | 15.0 GTex / sec | 22.0% |
Pixel fillrate, 0xAA | 12.3 GPixel / sec | 12.0 GPixel / sec | -2.6% |
Pixel fillrate, 4xAA | 6.2 GPixel / sec | 12.0 GPixel / sec | 94.8% |
Z-only fillrate | 24.6 GPixel / sec | 48.0 GPixel / sec | 94.8% |
Memória-sávszélesség | 72 GB / sec | 115.2 GB / sec | 60.0% |
*: az RV770 textúrázóinak kicsit más a tudása, ld. texel fillrate számok
**: az RV770 ROP-jai lényegesen erősebbek, ld. pixel- és z-fillrate számok
***: a textúrázási teljesítményt itt az interpolátorok korlátozzák
Leírjuk itt is, amit a GT200 kapcsán - bár a sötétzöld cellákban látható
összehasonlított kapacitások ugyan nem adnak teljes képet egy VGA teljesítményéről, az esetek nagy részében
azért erősen meghatározóak. Itt is van egy első ránézésre látható "meglepetés": a számítási teljesítmény alapján
sokan dobálóznak azzal, hogy az RV770 2.5-szer gyorsabb, de az adatsoron világosan látszik, hogy az ALU-kon
kívül semmelyik kapacitás nincs kétszeresnél nagyobb előnyben - még a textúrázás sem, ahol bár az egységek
2.5-szer annyian vannak, a gyakoribb 32-bites módban az interpolátorok korlátozzák a teljesítményüket, 64-bites
színinformációk esetén pedig csak 50%-os sebességgel képesek üzemelni, így a 143%-os feltételezett előnyből
a 64-bites textúrázás esetén 22% lesz.
Túlesve a 2.5-szeres teljesítmény meghiúsulása okozta sokkon, koncentráljunk arra, hogy az AMD mire helyezte
a hangsúlyt az RV770-ben.
Láthatóan a 32-bites textúrázás, ill. az AA melletti pixel fillrate és a Z-only fillrate majdnem 100%-kal
gyorsabb, mint a HD3870 esetében: miután ez a három dolog közismerten gyenge pontja az RV670 chipnek, ezekkel
a döntésekkel mélyen egyetértünk. Az AA nélküli pixel fillrate 2.6%-os csökkenése kicsit csalós lehet, mert AA nélkül
ezt a kapacitást nemigen fogja egy játék sem fogja felkoppantani, viszont ugyanez a csökkenés a triangle setup,
az ütemező és az interpolációs kapacitás terén már valamivel fájdalmasabb - végül, a memória-sávszélesség
"mindössze" 60%-os növekedése alapján biztosra vehetjük, hogy a sebesség-növekedés általában a 100%-tól is
messze lesz - kivétel lehet ezalól, ahol a brutális ALU-teljesítmény dominál. Végeztünk itt is hasonló
becslést, mint a GeForce-ok esetében - a modellünk azt mondja, hogy a HD4870 kb. 75-80%-kal lesz gyorsabb
elődjénél 4xAA mellett, és egy kicsit kevésbé fog megugrani AA nélkül. Lássuk!
Tesztkörnyezet
A konfiguráció elemei | |
Alaplap | Gigabyte X38-DS4, FSB @400MHz |
CPU és órajel | Intel Q9550 @Q9770 (3.2GHz, 8x400) |
CPU hűtés | Cooler Master HyperTX2 |
Memória | 4x1GB Geil Ultra DDR2-8500 |
Memória beállítások | 1000MHz (2.5x400), 5-7-7-19, tRD: 9 |
Tápegység | Corsair TX650 |
Operációs rendszer | Windows Vista x86 Ultimate SP1 |
VGA neve | Core clock | Shader clock | Memory clock | Driver |
Radeon HD3870 | 770 MHz | 1125 MHz (x2) | Catalyst 9.3 WHQL | |
GeForce 9800GTX | 675 MHz | 1674 MHz | 1100 MHz (x2) | ForceWare 182.06 WHQL |
Radeon HD4870 | 750 MHz | 900 MHz (x4) | Catalyst 9.3 WHQL |
Nocsak, egy potyautas! Természetesen nem véletlen került a résztvevők közé
a 9800GTX - a Radeonok teljesítményének növekedését abból a szempontból is érdemes nézni, hogy a HD4870
az előző generáció konkurens csúcskártyájánál mennyivel lett gyorsabb, ugyanis a HD3870 nem igazán volt
versenyben ezen a szinten.
A VGASpeed.hu tesztkörnyezetének részletes ismertetője itt
található meg.
A tesztben résztvevő játékok
DirectX 9
Race Driver: GRID v1.2
Mirror's Edge 1.02
Oblivion v1.2.046
Rainbow Six: Vegas v1.06
DirectX 10
Bioshock v1.1
Call of Juarez benchmark v1.3.0.1
Crysis v1.21
Unigine Tropics demo v1.1
DirectX 10.1
Assassin's Creed v1.0
Far Cry 2 v1.02
S.T.A.L.K.E.R. Clear Sky benchmark (xrEngine v1.5.0.7)
Stormrise v1.0
A játékokról, ill. a VGASpeed.hu tesztmódszereiről részletes ismertető
a bal oldali menü Tesztmódszer és játékok pontjában érhető el.