Archief - werking van de gpu help

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

bosiwollig

Legacy Member
beste 9livers,

Ik probeer de werking van grafische kaarten beter te begrijpen. Maar nu vraag ik mij iets af. Als er een beeld gerenderd wordt dan komen er allemaal 1-0 van de cpu naar de gpu. Vervolgens kent de processor van de grafische kaart een kleur aan elke pixel toe en dat wordt dan opgeslagen in de ram van de grafische kaart. En dan zit ik een beetje vast. Ik heb begrepen dat als je een analoge output gebruikt die gegevens in je ram naar de ramdac gaan waar het beeld wordt omgezet in een analoog signaal. En uiteindelijk gaat dat analoge signaal naar je analoge monitor. waar het weer wordt omgezet in een digitaal signaal en weergegeven. Maar nu vraag ik mij af. Als je een digitaal scherm hebt. (vb. hdmi poort) Wordt het beeld dan opgeslagen in de ram en dan meteen naar het digitale scherm gestuurd? Want als daat zo is. Dan is een analoog scherm toch veel slechter. Want die ramdac dat neemt toch wel tijd ( fps verlies?). En j verliest ook kwaliteit.

Nu zijn mijn vragen:
1) wordt bij een digitaal scherm de info rechtstreeks uit de ram gehaald? Of passeerd die eerst langs eenander ondrdeel in de grafische kaart?
2) verlies je frames bij een analoog scherm als gevolg van dat de beelden van digitaal=> analoog=>digitaal worden omgezet. (dat je kwaliteit verliest dat weet ik al.)

alvast bedankt

Epyon

Legacy Member
1) Digitale interfaces zoals DVI of HDMI gebruiken een TMDS transmitter. In feite is dit een veredelde level shifter die de digitale data van de frame buffers op een gepast signaalniveau brengt om over de kabel te vervoeren. De informatie over de kabel is een 1:1 kopie van de data uit de frame buffers: de data blijft dus digitaal, enkel zijn signaalniveau wordt aangepast. In het beeldscherm gebeurt dan weer het omgekeerde. Bij dit proces gaat geen data of kwaliteit verloren.

2) Je verliest geen frames door het DA (Digital to Analog) proces dat de RAMDACs uitvoeren. RAMDACs gebruiken een LUT (LookUp Table) om de digitale informatie analoog te maken. Dit is een zeer snelle manier van converteren. Daarnaast zijn de RAMDACs ook betrekkelijk hoog geklokt (meerdere honderden MHz'en). Ze kunnen m.a.w. vlugger digitale beelden analoog maken dan de videokaart beelden kan renderen. Je hebt wel een kleine latency penalty door het DA proces, maar vanaf het eerste beeld door de RAMDAC is, gaat de stroom beelden net even snel als de GPU ze kan renderen. De latency penalty is vaak ook verwaarloosbaar (honderden van een ms).
Het valt een beetje te vergelijken met knikkers door een buisje doen rollen: het duurt een eindje eer de eerste knikker uit het buisje komt, maar daarna komen ze er even snel uit als je ze er in doet rollen.

bosiwollig

Legacy Member
thnx voor het snelle antwoord,
ik zit nog met een vraagje: Aangezien die ramdac intesief wordt gebruikt wordt die warm. En ik heb begrepen dat die ramdac zich bevindt op de die.Nu vraag ik mij af : wordt de die temprature warmer wanneer je analoog scherm gebruikt (via ramdac) dan via de TMDS. m.a.w waar bevindt die tmds zich en wordt je gpu warmer als je een analoog scherm gebruikt? En zou er mij ook iemand kunnen vertellen waarom de hd 48xx serie slechts 2 schermen aankan en een 58xx er 3 aan kan. Is er gewoon een andere TMDS gebruikt ?
en moest ieand mij kunnen uitleggen wat een stream processor is zou het ook fijn zijn.
Ik weet dat ik veel vraag. Maar ik zou het graag beter begrijpen.

Epyon heeft mij in ieder geval al heel hard geholpen waarvoor nogmaals bedankt

en de snelheid van je ram hoe zit dat juist?
Ik zie in gpu-z 900mhz staan. Ik heb 1 gb ram. Moet ik dan 900mhz x 4 doen?( 4x 256 mb?)
en als je dan een kaart hebt met 512 mb en je ziet in gpu-z 500mhz staan. Moet je dan 500 x 2 doen? (2 x 256 mb?)

Epyon

Legacy Member
Een RAMDAC wordt niet meteen warm. Hij wordt ook niet intensief gebruikt. Een RAMDAC doet namelijk geen echte berekeningen (het is geen processor), hij zoekt gewoon waardes op in een register. Het is niet omdat iets hoog geklokt is (alhoewel 400MHz voor een traditionele RAMDAC niet echt hoog meer is tegenwoordig) dat het warm krijgt. Een processor krijgt warm omdat er veel transistoren inzitten. Op een moderne GPU zitten honderden miljoenen tot zelfs een miljard transistoren. Daarvan zijn mss slechts enkele duizenden voor de RAMDAC. De warmte van een GPU wordt vooral veroorzaakt door zijn processing elements. Of er nu wel of geen scherm aangesloten is zal dus niets uitmaken qua temperatuur.

Ik weet het nu niet precies van de 48xx reeks, maar meestal kan je maar twee schermen gebruiken omdat er slechts twee frame buffers zijn. Frame buffers zijn een buffergeheugen waarin het afgewerkte beeld gebufferd wordt voor het naar het scherm wordt doorgestuurd. Meestal is één framebuffer aan de eerste DVI uitgang verbonden en de tweede aan de tweede DVI uitgang én een optionele derde uitgang (HDMI, Displayport,...). In theorie zouden die twee uitgangen tegelijk hetzelfde beeld kunnen outputten (komt uit één en dezelfde framebuffer), maar dat is afhankelijk van hoe de fabrikant dit implementeert.
De 5xxx reeks heeft meerdere framebuffers en meerdere onafhankelijk gestuurde uitgangen.

Een stream processor is een zeer basic processing element dat elementaire bewerkingen aankan. In principe is het een volledig uitgeklede processor die één instructie op één datapakket per kloktik aankan. Een GPU is m.a.w. een multi-core processor, met tegenwoordig vaak honderden van deze cores of stream processors.
Het verschil met een gewone multi-core processor, bvb een quad-core Intel processor, is dat deze laatste bestaat uit vier afzonderlijke processor, elk met hun elektronica om instructies en data uit het geheugen te halen, resultaten te cachen, instructies te herordenen etc. Meer dan de helft, soms zelfs tot 80%, van de die oppervlakte van een x86 processor is voorbehouden voor deze 'randapparatuur', de resterende oppervlakte is het effectieve processing element.
Een GPU heeft voor zijn honderden stream processor of processing elements slechts één stuk van deze 'randapparatuur' die zorgt voor geheugentoegang, instructies ordenen, data verdelen etc. Dit is zeer gemakkelijk om parallelle instructies uit te voeren, en graphics bestaan hier bijna volledig uit. De GPU kan één instructie laden en deze aan al zijn stream processor geven, die dit allemaal tegelijk zullen uitvoeren. Een gewone processor daarentegen zou deze instructie honderden malen moeten herhalen.

De RAM snelheid is van alle geheugenchips even snel. Als het geheugen aan 900MHz loopt, lopen alle chips op 900MHz.

bosiwollig

Legacy Member
De RAM snelheid is van alle geheugenchips even snel. Als het geheugen aan 900MHz loopt, lopen alle chips op 900MHz.

maar hoe komt het dat de snelheid van de 4870 op internet 3600mhz staat en in gpu-z staat 900 mhz. En voor de bandbreedte te berekenen gebruik ik ook 3600mhz. Hoe komt het dat het 3600 mhz is in plaats van 3600.

en nog duizend maal dank!

dus hoe meer stream processors hoe sneller de gpu een bepaalde berekening kan uitvoeren?

krisse5844

Legacy Member
bosiwollig zei:
De RAM snelheid is van alle geheugenchips even snel. Als het geheugen aan 900MHz loopt, lopen alle chips op 900MHz.

maar hoe komt het dat de snelheid van de 4870 op internet 3600mhz staat en in gpu-z staat 900 mhz. En voor de bandbreedte te berekenen gebruik ik ook 3600mhz. Hoe komt het dat het 3600 mhz is in plaats van 3600.

en nog duizend maal dank!

dus hoe meer stream processors hoe sneller de gpu een bepaalde berekening kan uitvoeren?

GDDR / GDDR2 /GDDR3 / GDDR4 / GDDR5 /...

Zelfde als geheugen voor op uw moederbord

SDRAM / DDR1 / DDR2 / DDR3

Eens googelen op DDR enzo , en je zal meer weten ...

Epyon

Legacy Member
Hoe meer stream processors hoe meer rekencapaciteit de GPU heeft. Dat kan gebruikt worden om dezelfde data sneller te verwerken of om meer data in dezelfde tijd te verwerken.

bosiwollig

Legacy Member
ik den kdat ik het van die ram door heb. Je hebt effective en real clock speed. Je real clock speed is gewoon de echte clock speed van je memory op je gpu. Maar bij de effective clock speed bij gddr5 moet je deze vermenigvuldigen met 4 omdat gddr5 in staat is om 4 pakketjes met data te versturen per clock cycle. Vandaar de (900x4). Maar bij gddr - gddr4 was de memory slechts in staat om 2 pakketjes met data te versturen. Vandaar dat bij gddr- gddr4 de effective speed het dubbel is van de echte speed (x2). En bij ram op het moederbord. Als je in de winkel ram koopt waarop staat 1333mhz ddr3. Wilt dat dan zeggen dat de echte clock speed 667 mhz is maar de effectieve 1333mhz ( omdat ddr3 in staatis 2 pakketjes met data te versturen elke clock cycle? van daar 2 x 667= +-1333mhz)

klopt dit?

krisse5844

Legacy Member
krisse5844 zei:
GDDR / GDDR2 /GDDR3 / GDDR4 / GDDR5 /...

Zelfde als geheugen voor op uw moederbord

SDRAM / DDR1 / DDR2 / DDR3

Eens googelen op DDR enzo , en je zal meer weten ...

bosiwollig zei:
ik den kdat ik het van die ram door heb. Je hebt effective en real clock speed. Je real clock speed is gewoon de echte clock speed van je memory op je gpu. Maar bij de effective clock speed bij gddr5 moet je deze vermenigvuldigen met 4 omdat gddr5 in staat is om 4 pakketjes met data te versturen per clock cycle. Vandaar de (900x4). Maar bij gddr - gddr4 was de memory slechts in staat om 2 pakketjes met data te versturen. Vandaar dat bij gddr- gddr4 de effective speed het dubbel is van de echte speed (x2). En bij ram op het moederbord. Als je in de winkel ram koopt waarop staat 1333mhz ddr3. Wilt dat dan zeggen dat de echte clock speed 667 mhz is maar de effectieve 1333mhz ( omdat ddr3 in staatis 2 pakketjes met data te versturen elke clock cycle? van daar 2 x 667= +-1333mhz)

klopt dit?

Mooi uitgepluist na mijn post ! ;)

bosiwollig

Legacy Member
thnx ;) bestaat er ook ddr dat meer dan 4 pakketten tegelijk aankan?
En dus is eigenlijk de effectieve speed van mijn ram in mijn pc nu eigenlijk 2666mhz? (heb 2 x 2 gb)?

Epyon

Legacy Member
Het aantal geheugenchips doet totaal niet terzake. Als je DDR3-1333 geheugen hebt werkt het hele systeem aan een effectieve bussnelheid van 667MHz. Dankzij de DDR technologie heb je een transfersnelheid van 1333MT/s (MegaTransfers per seconde) omdat er twee datatransfers per klokcyclus gebeuren. De naamgeving 1333MHz is dus in se foutief omdat er niet sneller dan 667MHz geklokt wordt.

DDR3 kan wel dubbel zoveel data per kloktik vervoeren als DDR2, wat op zijn beurt weer dubbel zoveel kon vervoeren als DDR. Dit komt omdat de geheugenchips in DDR3 op 1/8ste van de bussnelheid geklokt worden, bij DDR2 op 1/4 en bij DDR op 1/2. Hierdoor kan DDR3 per kloktik dubbel zoveel geheugenchips aanspreken als DDR2, DDR2 dubbel zoveel als DDR etc. De transfersnelheid in MB/s wordt dus ook mee verdubbeld, maar de bussnelheid in MHz blijft steeds de helft van de PC-xxxx waarde.
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan