Acties:
  • 0 Henk 'm!

  • XxRenéxX
  • Registratie: Juli 2009
  • Laatst online: 25-06 09:03
Ik was eerst van plan hier een vraag te stellen uit mijn onwetendheid, maar naar mijn onderzoekje naar geheugen is het nu meer een gedacht die ik wil pijlen. Ik vroeg mij namelijk af hoeveel geheugen een 4gb GTX770 KAN gebruiken met een 256 bit brede geheugen bus. Sommige hoor ik zeggen dat de kaart niet eens die 4gb kan gebruiken door de te kleine geheugen bus, maar niemand kon vertellen hoeveel dan wel en waarom.

Ik was een complete noob op geheugengebied een paar uur geleden en wist alleen dat hogere MHz vaak beter was. Nu denk ik dat ik heb kunnen berekenen hoeveel een GTX770 4gb in een best-case scenario kan gebruiken bij een FPS van 60. Eerst mijn gedachtegang en redenatie.

Ik kwam erachter dat GDDR5 2 verschillende clocks gebruikt voor het lezen en schrijven van bits; de Command Clock (CK) en Word Clock (WCK). De WCK opereert op 2 keer de snelheid van de CK en bij Double Data Rate wordt zowel bij de stijgende als dalende kant van het clock signaal, data getransferd. Bij DDR3 is de data rate keer 2, voor GDDR5 is die zelfs 4; daarom is de effectieve kloksnelheid voor DDR3 altijd keer 2 en die van GDDR5 keer 4. De chip naar I/O (CK) frequentie ratio is 4 tot 1, dus voor een CK van 1000MHz lopen de chips apart 250MHz.

De GTX770 heeft een CK van 1753 MHz, een WCK van 3506MHz en een effectieve snelheid van 7012MT/s (Megatransfers per second). De bandbreedte van de geheugen bus is 256 bit wat betekend dat er elke transfer voor 256 bit aan data wordt getransferd, ofwel (256/8) = 32 bytes per transfer. Dat is dus (7012*32) = 224384 MB/s (het is Megatransfers per second dus ook Megabytes per second), wat op zijn beurt 224,384GB/s is. Tot zover klopt alles met de daadwerkelijke specificaties opgegeven door NVidia.

De algemene formule voor GDDR5 bandbreedte is overigens: CK*4*(bus width/8).

Elke geheugenchip van GDDR5 kan zowel in x32 of x16 snelheid lopen. Welke van de twee hangt af van de hoeveelheid geheugen op het PCB. Een 2gb GTX770 heeft 8 memory chips op het PCB zitten, wat neerkomt op 256MB per chip. Voor de 2gb kaart zijn de chips ingesteld op x32 snelheid, wat overeenkomt met de bandbreedte van het geheugen (8*32 = 256). Voor de 4gb kaarten zouden de chips dus op een snelheid van x16 draaien, anders zou de bandbreedte 512 worden en dat is niet de bedoeling. Dus ervan uitgaand dat een GTX770 4gb het dubbele aantal geheugenchips krijgt in plaats van dubbele grootte chips (iets wat qua berekeningen niet uitmaakt), komt het erop neer dat er op de GTX770 4gb 16 chips van 256MB zitten op een snelheid van x16 (of 16 bit). Dit is een Clamshell configuratie wat betekend dat de chips in plaats van x32 zijn aangesloten, x16 zijn aangesloten; dus één pin voor de bovenkant, de ander voor de onderkant en dat om en om.

Uitgaand van de 4 tot 1 ratio van de CK clock kunnen we ervan uitgaan dat de Memory Cells apart op 438,25MHz lopen op een snelheid van x16. De snelheid van de Memory Cell was een kwart van de CK dat op zijn beurt weer een kwart was van de effectieve kloksnelheid. De snelheid van een Memory Cell is dus een 16de van de effectieve kloksnelheid, die info is verder echter niet nodig. Wel is het nodig om te weten dat er voor een 256 bus bij de 4gb kaart 16 chips zijn en voor de 2gb maar 8. De algemene formule(s) voor de Memory Cell bandbreedte is/zijn dus:

Memory Cell Clock*16*(bus width/8) voor de 4gb versie
Memory Cell Clock*8*(bus width/8) voor de 2gb versie

Met die formule(s) kan je uitrekenen dat de bandbreedte voor één cel op een GTX770 4gb 14024MB/s is (438,25*16*(16/8)). Voor de volledigheid: voor de 2gb versie is het (438,25*8*(32/8)) ook 14024MB/s. Elke cel heeft dus een bandbreedte van 14.024GB/s. “Maar je had ook 224.384 kunnen delen door het aantal geheugenchips,” en dat klopt maar ik vond dit een stuk boeiender en ik moest zeker weten dat het allemaal klopte!

Dan nu het gedeelte waar het voor mij om ging, en waar ik al het voorgaande voor in één avond heb proberen te begrijpen: hoeveel gigabyte kan er van de GTX770 4gb gebruikt worden door de kleine geheugen bus? Dit is ook het gedeelte waar ik niet weet of ik het juist heb. Het vorige gedeelte overigens ook niet, maar alle cijfers klopten dus ik ga er even van uit dat ik het bij het juiste eind heb.

Ok nu we dat weten kunnen we bedenken hoeveel een game nodig heeft qua bandbreedte als die de volle 4gb (of 256MB per cel) wilt gebruiken. Als de game op 60fps per seconde loopt dan is er een bandbreedte nodig van (256*60) = 15360MB/s per seconde ofwel, 15.36GB/s. Oh jee, dat is niet wat de GTX770 4gb aan kan per chip. Dat was maximaal 14.024GB/s. Er is dus een tekort van 1,336GB/s, maar hoeveel GB in geheugen is dat in het geheel? Nou 1,336GB/s maal 16 (voor het totaal aantal geheugen chips) is een totaal tekort van 21,376GB/s. Als de game per seconde 60 frames toont dan is dat tekort per frame 0,35626GB/s en dat is ~357MB geheugen. Mocht ik het dus met mijn theorie juist hebben dan kan de kaart bij 60fps ‘maar’ ongeveer 3739MB van de 4096MB gebruiken. Dat lijkt mij toch nog duidelijk meer dan de 2048MB op de 2gb versie en het argument dat de 4gb versie zonde van het geld is lijkt mij dan ook ongeldig.

Wat ik ook interessant vind is dat er gezegd wordt dat het allemaal getest is en dat er bewezen is dat het niet uitmaakt. Mocht ik het echter bij het goede eind hebben, betekent dat ook dat het nog helemaal niet realistisch getest KAN worden. Je zult pas merken dat je bandbreedte echt te klein is als je bijvoorbeeld 120fps probeert te behalen in een game die de 4gb echt NODIG heeft, maar die games bestaan niet. De enige manier om 4gb deze dagen vol te maken is via een obsceen hoge resolutie, zoals 3x 2560x1440. Feit is echter dat je met een GTX770 sowieso nooit bij de 120fps in de buurt komt met die resolutie, ik durf te wedden dat je zelfs niet bij de 40fps in de buurt komt met een dergelijke resolutie. Het lijkt mij daarom ook niet dat het met de hedendaagse games überhaupt te testen valt. De vraag die ik wel eens zie of mensen een GTX770 4gb moeten kopen om te future-proofen lijkt mij dan ook allerzins redelijk en te beantwoorden met een ‘ja’. Hoewel het waar is dat een GTX770 4gb geen 4096MB kan gebruiken bij 60fps, blijft de bruikbare 3739MB toch ruimschoots meer dan 2048MB en een solidere keuze voor de toekomstige games. Wie weet hoeveel geheugen die gaan opeten, zeker met een optimalisatie voor de GDDR5 in de nieuwe PS4 bijvoorbeeld.

Wat denken jullie ervan? Klopt het überhaupt een beetje wat ik zeg? Ik ben benieuwd naar de visie van mijn mede-Tweakers :D

P.S. Ik zie net dat ik hier de hele avond mee zoet ben geweest en de tijd vloog voorbij haha, waarom vindt ik zoiets leuk 8)7 Zal wel gek zijn.

Edit: Bronnetjes toegevoegd voor degene met interesse :)

http://www.tomshardware.c...-30-question-gddr5-memory
http://www.elpida.com/pdfs/E1600E10.pdf
Wikipedia: GDDR5
Wikipedia: Prefetch buffer
Wikipedia: Transfer (computing)
Wikipedia: DDR3 SDRAM

[ Voor 3% gewijzigd door XxRenéxX op 12-06-2013 01:26 ]


Acties:
  • 0 Henk 'm!

  • BradKing
  • Registratie: Mei 2008
  • Laatst online: 08-07 17:59
Ik vind het een goed verhaal en zonder het verder nagerekend/sourced te hebben ziet het er ook duidelijk en kloppend uit.

Ik had al niet verwacht dat er bij de higher end consumer cards rare dingen gedaan werden als 'totaal niet bruikbaar geheugen maar groter is beter' enzo, dat gebeurt wat mij betreft eerder bij de OEM versies van low end kaarten.

Dank voor al het uitzoekwerk :)

Acties:
  • 0 Henk 'm!

  • Paprika
  • Registratie: September 2007
  • Laatst online: 23-08 21:39
Lang verhaal kort, gewoon je geheugen overklokken, en dan kan het dus wel (15.36 * 16 = 245.76, oftewel >= 245.76GBps) :+.

Afbeeldingslocatie: http://www.overclockersclub.com/vimages/msi_gtx_770/nsi770.png
Afbeeldingslocatie: http://www.hardocp.com/images/articles/1370416035hHzrhsOyOf_2_6_l.gif
Afbeeldingslocatie: http://legitreviews.com/images/reviews/2202/oc-gpuz.jpg

etc...

Zijn wel 2GB modellen, zal eens kijken of er al reviews zijn voor een 4GB model.

[ Voor 14% gewijzigd door Paprika op 12-06-2013 11:06 ]


Acties:
  • 0 Henk 'm!

  • XxRenéxX
  • Registratie: Juli 2009
  • Laatst online: 25-06 09:03
Bedankt :) ik had natuurlijk ook kunnen zeggen (60*4096)-224000 dan had ik ook meteen het tekort gehad. Ik vond het alleen vrij boeiend om mij te verdiepen in de techniek erachter. Het is voor mij ook duidelijk waarom het of 2gb of 4gb was en niet bijvoorbeeld 3gb. Door de Clamshell techniek kun je enkel verdubbelen. Ik denk dat NVidia dus een tussenweg heeft gekozen en ook een 4gb heeft uitgegeven, hoewel die 4gb niet volledig gebruikt kan worden.

Inderdaad, je geheugen overclocken wilt ook helpen haha :-) Dan heb je wel nog steeds het dat te weinig is voor 4gb gebruik bij 120fps, maar dat is toch geen haalbare kaart. Trouwens, 2000MHz op de Command Clock? Dat is hoog :o dan loopt elke geheugencel op 500MHz en dat begint toch de grens te worden van GDDR5.

Acties:
  • 0 Henk 'm!

  • Paprika
  • Registratie: September 2007
  • Laatst online: 23-08 21:39
Heeft wel als voordeel dat je bandwidth mooi in sync loopt met je busgrootte :D (wat getallen betreft).
We cranked up the power target to 110% and set the temperature target to 94C. From there we then increased the memory and GPU clock speeds as far as we could. We were able to take the card up to 12085MHz on the core (1260MHz Boost) and all the way up to 8000MHz on the memory! Thanks to GPU Boost 2.0 we were hitting 1306MHz when gaming, which is better than the 1162MHz you boost to with stock settings. This is a very nice overclock on the core and an amazing overclock on the memory. It should be noted that when we tried to overclock beyond 8000MHz on the memory that we started seeing artifacts in 3D applications, but a 1GHz overclock on the memory is amazing. ASUS did a great job designing this card and it easily overclocks!
http://www.legitreviews.com/article/2202/15/

En inderdaad, 120FPS i.c.m. een resolutie (of extreme AA filters) resulterend in een geheugen verbruik van 4GB is op dit moment wel erg optimistisch.

[ Voor 98% gewijzigd door Paprika op 12-06-2013 11:11 ]


Acties:
  • 0 Henk 'm!

  • XxRenéxX
  • Registratie: Juli 2009
  • Laatst online: 25-06 09:03
Paprika schreef op woensdag 12 juni 2013 @ 11:08:
Heeft wel als voordeel dat je bandwidth mooi in sync loopt met je busgrootte :D (wat getallen betreft).


[...]

http://www.legitreviews.com/article/2202/15/

En inderdaad, 120FPS i.c.m. een resolutie (of extreme AA filters) resulterend in een geheugen verbruik van 4GB is op dit moment wel erg optimistisch.
Je kunt wel zeggen dat je 256 bit bus tot de max benut haha. Inderdaad, het is erg optimistisch, daarom vind ik het ook vreemd dat er wordt gezegd dat die 4gb kaarten nutteloos zijn. Momenteel zijn ze wel wat nutteloos, er is gewoon nog geen game die 4gb gebruikt op een 1080p of 3x 1080p resolutie en alsnog 60fps loopt. Maar wie weet wat de toekomst brengt, die 4gb kaarten zijn dan ook echt future-proofen.

Alhoewel, een 5760x1080 resolutie zal dan wel geen 4gb gebruiken maar sommige games zullen wel meer dan 2gb gebruiken op die resolutie dus zo zinloos is het ook vandaag niet.

Die 500MHz per cel vind ik ook wel grappig, het lijkt alsof dat een soort van hard-cap is op de snelheid van het geheugen met normale koeling/waterkoeling, voor hoger zul je stikstof enzovoort nodig hebben. Qua GDDR5 clock is dit wel 'as good as it gets' volgens mij. Trouwens, die chips zijn best oud. Kijk maar: http://www.techpowerup.co...lass-2-gb-gddr5-dram.html. Dat is dus techniek die verwacht was in de eerste helft van 2010!

Acties:
  • 0 Henk 'm!

  • Paprika
  • Registratie: September 2007
  • Laatst online: 23-08 21:39
Ik heb "nog altijd" 2 680s met 2GB op 3x 1200p. Er zijn wel eens situaties waar iets meer geheugen handig was geweest, maar eigenlijk valt het nog best wel reuze mee en zijn er eigenlijk weinig spellen waar ik er last van heb. Zeker vele malen minder dan verwacht...

Acties:
  • 0 Henk 'm!

  • XxRenéxX
  • Registratie: Juli 2009
  • Laatst online: 25-06 09:03
Paprika schreef op woensdag 12 juni 2013 @ 11:23:
Ik heb "nog altijd" 2 680s met 2GB op 3x 1200p. Er zijn wel eens situaties waar iets meer geheugen handig was geweest, maar eigenlijk valt het nog best wel reuze mee en zijn er eigenlijk weinig spellen waar ik er last van heb. Zeker vele malen minder dan verwacht...
Ik zit ook op 3x 1200p met 2 5870s met 1GB xD. Dat is dan toch vrij lastig allemaal. Met het bovenstaande moet ik mijzelf ook verantwoorden waarom ik mijn bankrekening leeg wil trekken voor een nieuwe GPU :-) ik ben immers maar een arm studentje haha.

Acties:
  • 0 Henk 'm!

  • killer2
  • Registratie: September 2002
  • Laatst online: 28-05 12:57
ik merkte hick ups in crysis 3 met 5760x1200 met 2 x GTX 770 SLI 2x2Gb, net 2 GTX770 besteld met 2x 4Gb....kijken of dat het oplost....
Pagina: 1