Mennyivel gyorsabb a gDDR5?

Elemzés - 2009/02/07

Oldalak: << - < - 1 - 2 - 3 - 4 - > - >>
Bevezető
Ez a cikk akár kezdődhetne ugyanúgy, mint a közelmúltban megjelent, az RV770 memória-sávszélességével foglalkozó testvére - az AMD bejelenté vala az HD4870-est erős gDDR5 memóriáival, majd az emberek elébb hitetlenkedének, később örvendezének vala. A történet azonban itt nem ér véget, sőt, csak most kezdődik igazán, hiszen ahogy a gDDR5 egyre inkább tömegtermékké válik, és a fajlagos költsége csökken, egyre inkább lehet reális alternatívája egy szélesebb memóriabusznak - olyannyira, hogy márciusban az AMD várhatóan egy 128-bites memóriabusszal és gDDR5 memóriával szerelt (alsó-)középkategóriás chipet fog bejelenteni az RV740 személyében.
Miután mi itt szeretünk a jövőben kutakodni, nagyon kíváncsiak lettünk, mit is várhatunk ettől a megoldástól. A HD4870-es tesztekből sokat nem tudunk meg, hiszen ott csak annyi biztos, hogy bőven rendelkezik a kártya tartalék kapacitással memória-sávszélesség terén, ezért a jelenlegi egyetlen gDDR5-ös kártyából kiindulva egy egyedi VGA-t kellett "előállítani". Így született ez a cikk.
Elméleti háttér - SDR, DDR, DDR2-DDR3, gDDR3-gDDR4, gDDR5
Mielőtt belevágunk a teszt kialakításába, ill. a mérésekbe, érdemes áttekinteni, mi is a különbség az egyes memória-típusok között - ez alapján érthető lesz, miért is olyan nagy előrelépés a gDDR5 a korábbi megoldásokhoz képest. Nem kell akadémiai székfoglalóra készülni - csak a lényeges elemeket emeljük ki. Ez azt is jelenti, hogy az egyes típusok közötti különbségek listája messze nem teljes - a részleteket pl. a Wikipedia-n lehet végigbogarászni.
SDR - Single Data Rate
Kezdjük a kályhánál. Az első memóriatípus roppant egyszerű: minden órajellel képes egy parancsot (olvasást vagy írást) fogadni, és egy, a memóriabusz sávszélességével megegyező méretű adatot (röviden adatszót) továbbítani (olvasni, vagy írni). Azaz egy 128-bites SDR memória 200MHz-es frekvencián hajtva 128 / 8 * 200 = 3200 MByte / sec sávszélességet biztosít.
Az 1 parancs / órajel működés csak folyamatos átvitel (burst) üzemmódban áll, ennek a feltételeivel ebben a cikkben nem foglalkozunk.
RAM típusBelső órajel Névleges órajelEffektív órajelSávszélesség
SDR (128-bit)200 MHz200 MHz200 MHz3.200 MByte / sec
DDR - Double Data Rate
Miután az SDRAM memóriák belső sávszélessége lényegesen nagyobb, mint a memóriabuszé, és folyamatos átviteli módban a sávszélességet a memóriabusz limitálja, egy érdekes trükköt hoztak be a DDR memóriákkal - a memória egy órajel alatt továbbra is egy műveletet végez, viszont a művelet két adatszó szélességen zajlik, és az adatot a memória két lépésben továbbítja - az egyik szót az órajel felfutó szakaszában, a másikat a lefutóban. Így az egységnyi idő alatt átvitt byte-ok száma megduplázható.
A DDR-rel indult el a fizikai és az effektív órajelek megkülönböztetése - a 200MHz fizikai órajelen üzemelő DDR memóriát DDR-400-ként láthattuk viszont a boltok polcain, ahol a 400MHz az effektív órajel, azaz az az órajel, ahol az SDR memória ugyanazt a sávszélességet biztosítaná, mint az ilyenre címkézett DDR. Egyszerű, igaz?
A fentiek alapján a 128-bites DDR memória sávszélessége 200MHz-es fizikai órajelen: 128 / 8 * 200 * 2 = 6400 MByte / sec.
RAM típusBelső órajel Névleges órajelEffektív órajelSávszélesség
DDR (128-bit)200 MHz200 MHz400 MHz6.400 MByte / sec
DDR2 és DDR3
A DDR2 és a DDR3 tovább folytatja azt a trendet, ami a DDR-rel elindult - a DDR2 egy órajel alatt 4, a DDR3 pedig 8 adatszót olvas / ír. A rendszermemóriához használt DDR2 és DDR3 memóriák esetében mindig az effektív órajelet látjuk, azaz ha a fizikai órajel 200MHz, akkor ezek a RAM-ok DDR2-800 és DDR3-1600 néven lelhetők fel.
Csak hogy tovább bonyolódjon a helyzet, DDR és DDR2-es memóriák videokártyákon is vannak. Amíg a DDR esetében még korrektül voltak megadva a fizikai és az effektív órajelek, a DDR2 esetében mind a gyártók, mind a szakirodalom trükkösen mind a fizikai, mind az effektív órajelet megszorozta kettővel - ezért azok a VGA-k, amiket DDR2-es, 800MHz-es memóriával hirdetnek, ott az effektív órajel 800MHz, mindenhol 400MHz olvasható fizikai órajelként, és a memória belsejében 200MHz-en ketyegnek a dolgok. Erre az "álfizikai" órajelre a következőkben névleges órajelként fogunk hivatkozni.
Ha még van, aki nem menekült el, akkor szeretnénk jelezni, hogy a nehezén már túl vagyunk!
A 128-bites DDR2 memória sávszélessége 200MHz-es fizikai órajelen, amelyet 400MHz-es fizikai- és 800MHz-es effektív órajelen hirdetnek: 128 / 8 * 200 * 4 = 12800 MByte / sec.
RAM típusBelső órajel Névleges órajelEffektív órajelSávszélesség
DDR-2 (128-bit)200 MHz400 MHz800 MHz12.800 MByte / sec
DDR-3 (128-bit)200 MHz800 MHz1.600 MHz25.600 MByte / sec
gDDR3 és gDDR4 - Graphics Double Data Rate
Először is: a gDDR3 és a gDDR4 nem DDR3 és DDR4 - mindkét széria specializált DDR2-es memóriákra épül, bár a gDDR4 bizonyos tekintetben közelebb áll a DDR3-hoz. Azért volt szükség rájuk, mert a rohamosan növekvő étvággyal rendelkező VGA-k számára igen rövid idő alatt szűkössé vált az effektív 800MHz-en cammogó DDR2, ezért különféle alkalmazás-, ill. fogyasztás-specifikus finomhangolások után elindult a frekvencia felfelé. Ami a mi számunkra lényeges, az az, hogy a gDDR3 sebességadatok összevethetők a DDR2-es adatokkal: a 800Mhz-es effektív órajellel rendelkező, 128-bites buszon kapcsolódó gDDR3 ugyanúgy 12800 MByte-ot visz át másodpercenként. Viszont a gDDR3-as memóriáknál a 800Mhz-es effektív órajel nem jellemző - a leggyorsabb gDDR3 memóriák már bőven 2000MHz felett járnak.
A gDDR4 ismét beveti a belső órajel-felezős trükköt - ezzel viszont sajnos duplájára növeli a késleltetést azonos effektív órajel mellett. Mivel a leggyorsabb gDDR4 memóriák alig járnak a gDDR3 előtt effektív órajelben, ez a szabvány túlzottan nagy piaci sikert nem ért el.
128-biten a 800MHz-es névleges órajelű gDDR3 és gDDR4 memória sávszélessége: 128 / 8 * 800 * 2 = 25600 MByte / sec.
RAM típusBelső órajel Névleges órajelEffektív órajelSávszélesség
gDDR3 (128-bit)400 MHz800 MHz1.600 MHz25.600 MByte / sec
gDDR4 (128-bit)200 MHz800 MHz1.600 MHz25.600 MByte / sec
gDDR5
Szinte hihetetlen, de eljutottunk az utolsó típusig is. A gDDR5 a gDDR4-re épít, viszont az a nagy újítás, hogy duplaannyi adatcsatornával rendelkezik, azaz megegyező (ál)fizikai órajel mellett duplaakkora sávszélesség elérésére képes. Azért nagy lépés ez, mert az eddigi gyorsítások mind a késleltetés növelése árán érték el az effektív órajel növekedését, a gDDR5 viszont a gDDR4-hez képest nem növeli a késleltetést, mégis azonos névleges órajel mellett kétszeres memória-sávszélességgel rendelkezik.
128-biten a 800MHz-es névleges órajelű gDDR5 memória sávszélessége: 128 / 8 * 800 * 4 = 51200 MByte / sec.
RAM típusBelső órajel Névleges órajelEffektív órajelSávszélesség
gDDR5 (128-bit)200 MHz800 MHz3.200 MHz51.200 MByte / sec
Itt érdemes megjegyezni, hogy amikor a tesztek során (akár ebben a cikkben, akár másikban) a memória órajeléről beszélünk, akkor a névleges órajelről van szó.
A teszt felépítése
Ahhoz sajnos nem rendelkezünk megfelelő eszközökkel, hogy valós terhelés mellett pontosan megmérjük a gDDR3 és a gDDR5 memória teljesítőképességének különbségét, ezért kerülő utat kellett választanunk - úgy terveztük meg a tesztet, hogy a gDDR3 és a gDDR5 memória azonos sávszélességre legyen beállítva, és az így kapott különbség alapján következtetünk arra, hogy azonos busz-szélesség és azonos órajel mellett mekkora lehet a két teljesítmény közötti differencia. Adottak voltak a következő eszközök:
  • HD4870, gDDR5 memória, 256-bit, 900MHz
  • HD4850, gDDR3 memória, 256-bit, 993MHz
A sávszélességeket azonos szintre hozni vagy a memóriabusz szélességének változtatásával, vagy az órajel módosításával lehet. Miután a kölcsönkapott HD4870-ről nem lett volna ildomos levágni a busz felével együtt 256M memóriát, a 128-bites megoldást nem tudtuk szembeállítani a 256-bitessel - maradt az órajel csökkentése. Ennek a megoldásnak az a veszélye, hogy a gDDR5 amúgy is magasabb késleltetése még jobban megnő - ezért mielőtt ész nélkül nekiestünk volna a tesztelésnek, végeztünk néhány előzetes mérést...
... amit nagyon jól tettünk, mert a 625/497MHz-re beállított HD4870 katasztrófálisan teljesített, helyenként 30%-kal is lassabb volt a referencia órajeles HD4850-nél. Ezért a próbaméréseket elvégeztük 600, 700, 800 és 900MHz-es memóriaórajelekkel is - miután azt tapasztaltuk, hogy az első lépcső ugrásszerű javulást hozott, míg utána már egyenletesen emelkedett a teljesítmény, megmaradtunk a 600MHz-es beállításnál.
Tesztkörnyezet
A konfiguráció elemei
Alaplap Gigabyte X38-DS4, FSB @333MHz
CPU és órajel Intel E6700 (4M L2 cache), @3.00GHz (9x333)
CPU hűtés Cooler Master HyperTX2
Memória 4x1GB Geil Ultra DDR2-8500
Memória beállítások 1066MHz (3.2x333), 5-5-5-15, tRD: 6
Tápegység Corsair TX650
Operációs rendszer Windows Vista x86 Ultimate SP1
VGA neve Core clock Shader clock Memory clock Driver
Radeon HD4850 625 MHz 993 MHz (x2) Catalyst 8.12 WHQL
Radeon HD4850 625 MHz 993 MHz (x2) Catalyst 9.1 WHQL
RAM típusBelső órajel Névleges órajelEffektív órajelSávszélesség
gDDR3 (256-bit)497 MHz993 MHz1.986 MHz63.552 MByte / sec
gDDR5 (256-bit)150 MHz600 MHz2.400 MHz76.800 MByte / sec
A VGASpeed.hu tesztkörnyezetének részletes ismertetője itt található meg.
A tesztben résztvevő játékok
DirectX 9
F.E.A.R. v1.08
Oblivion v1.2.046
Race Driver: GRID v1.2
Rainbow Six: Vegas v1.06
DirectX 10
Bioshock v1.1
Crysis v1.21
World in Conflict v1.09
DirectX 10.1
Assassin's Creed v1.0
Far Cry 2 v1.0
S.T.A.L.K.E.R.: Clear Sky v1.5.0.7
Unigine Tropics demo v1.1
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.
Oldalak: << - < - 1 - 2 - 3 - 4 - > - >>