Waarom is geheugen bandbreedte honderden GB/s?

Pagina: 1
Acties:

  • Maulwurfje
  • Registratie: April 2014
  • Laatst online: 20-03 20:42
Videokaarten hebben baat bij een flinke geheugen bandbreedte. Dit is voor de RTX momenteel 720 GB/s. Nu heb ik de vraag waarom is deze bandbreedte zo enorm in vergelijking met andere snelheden in een computer?

Je DDR4 geheugen doet afhankelijk van single, dual of quad channel 20 tot 80 GB/s. Je diskdrive doet maximaal 1 tot 2 Gb/s. Waarom heeft een videokaart deze extreme snelheden nodig als de data die in het geheugen van je videokaart eerst op je SSD staat, vervolgens via je CPU (en dus DDR4 geheugen) naar je GPU (GDDR6 geheugen) wordt geschreven?

De bottleneck is hier toch overduidelijk de snelheid van je SSD en CPU? Ik weet dat dit niet het geval is. Wat voor cruciale informatie mis ik 8)7

  • heuveltje
  • Registratie: Februari 2000
  • Laatst online: 21:24

heuveltje

KoelkastFilosoof

Maulwurfje schreef op zaterdag 12 september 2020 @ 00:08:
Videokaarten hebben baat bij een flinke geheugen bandbreedte. Dit is voor de RTX momenteel 720 GB/s. Nu heb ik de vraag waarom is deze bandbreedte zo enorm in vergelijking met andere snelheden in een computer?

Je DDR4 geheugen doet afhankelijk van single, dual of quad channel 20 tot 80 GB/s. Je diskdrive doet maximaal 1 tot 2 Gb/s. Waarom heeft een videokaart deze extreme snelheden nodig als de data die in het geheugen van je videokaart eerst op je SSD staat, vervolgens via je CPU (en dus DDR4 geheugen) naar je GPU (GDDR6 geheugen) wordt geschreven?

De bottleneck is hier toch overduidelijk de snelheid van je SSD en CPU? Ik weet dat dit niet het geval is. Wat voor cruciale informatie mis ik 8)7
Ik heb er verder niet echt veel diepgaand verstand van,
Maar je mist een beetje dat moderne gpu's gewoon kleine computers zijn die heel veel zelf berekenden/doen.

-textures bewerken etc is gewoon veel data intensiever(veel data verplaatsen) dan de meeste bewerkingen die een cpu doet. waar het meer reken gelimiteerd is.
-(deze is wat kort door de bocht.) Maar je cpu heeft zeg 4 cores die tegelijk werken. en je GPU 4000 . Dus je hebt ook veel meer geheugen snelheid nodig om die te bezig te houden.

[ Voor 11% gewijzigd door heuveltje op 12-09-2020 00:28 ]

Heuveltjes CPU geschiedenis door de jaren heen : AMD 486dx4 100, Cyrix PR166+, Intel P233MMX, Intel Celeron 366Mhz, AMD K6-450, AMD duron 600, AMD Thunderbird 1200mhz, AMD Athlon 64 x2 5600, AMD Phenom X3 720, Intel i5 4460, AMD Ryzen 5 3600 5800x3d


Acties:
  • +2 Henk 'm!

  • GG85
  • Registratie: Januari 2002
  • Laatst online: 31-05 10:05

GG85

.......

Maulwurfje schreef op zaterdag 12 september 2020 @ 00:08:
Waarom heeft een videokaart deze extreme snelheden nodig als de data die in het geheugen van je videokaart eerst op je SSD staat, vervolgens via je CPU (en dus DDR4 geheugen) naar je GPU (GDDR6 geheugen) wordt geschreven?
Dat is nogal een aanname die je doet :). Als de GPU alleen maar een doorgeefluik zou zijn tussen CPU en beeldscherm: waarom een GPU?
Stapje verder: als alle data toch al kant en klaar op je SSD staat, waarom een CPU, geheugen etc etc?

Het (overversimpelde) antwoord is dat de GPU nogal wat geheugenintensieve bewerkingen moet doen. Stel je wilt 60fps dan heb je 1/60=16,6ms de tijd om een frame van bijvoorbeeld 3840x2160=8Mpixels te renderen.
Wat dat betekend is dat je paralel, voor een heel aantal pixels tegelijkertijd allerlei berekeningen moet gaan doen (je geeft tenslotte niet een 2d plaatje weer, maar 'berekend' een 3d scene. Dat betekent dat je in de praktijk 'dezelfde pixel heel erg vaak in je handen hebt' en dus heel erg vaak uit het geheugen moet halen, er iets mee moet doen en vervolgens weer weg moet schrijven.
Doordat video een nogal paralelle bezigheid is tov een meer sequenciele CPU (erg overversimplificeerd) heb je op een videokaart veruit de meeste bandbreedte nodig binnen een systeem.

edit: snelle zoekactie: https://www.gamersnexus.n...d-game-graphics-explained

[ Voor 3% gewijzigd door GG85 op 12-09-2020 00:33 ]


Acties:
  • +2 Henk 'm!

  • Maulwurfje
  • Registratie: April 2014
  • Laatst online: 20-03 20:42
Maulwurfje schreef op zaterdag 12 september 2020 @ 00:08:
Wat voor cruciale informatie mis ik 8)7
GG85 schreef op zaterdag 12 september 2020 @ 00:31:
[...]


Dat is nogal een aanname die je doet :). Als de GPU alleen maar een doorgeefluik zou zijn tussen CPU en beeldscherm: waarom een GPU?
Stapje verder: als alle data toch al kant en klaar op je SSD staat, waarom een CPU, geheugen etc etc?

Het (overversimpelde) antwoord is dat de GPU nogal wat geheugenintensieve bewerkingen moet doen. Stel je wilt 60fps dan heb je 1/60=16,6ms de tijd om een frame van bijvoorbeeld 3840x2160=8Mpixels te renderen
Ik maak de denkfout door te stellen dat het videogeheugen van de GPU direct communiceert met het rest van het systeem. Geheugen modules die communiceren via de geheugenbus direct met de gpu-die. De communicatie tussen de GPU, CPU, RAM loopt natuurlijk via PCI-E (en dat is momenteel max 32Gb/s).

Render je een frame dan blijft die data natuurlijk op de videokaart en zet de gpu-die per stap de berekende data weer terug in het geheugen, om zo de hele rendering pipeline af te werken :*)

[ Voor 15% gewijzigd door Maulwurfje op 12-09-2020 01:30 ]