MTE legt uit: het verschil tussen een CPU en een GPU
CPU's en GPU's lijken op elkaar. Ze zijn allebei gemaakt van honderden miljoenen transistors en kunnen duizenden bewerkingen per seconde verwerken. Maar wat is het verschil tussen een CPU en een GPU?
Wat is een CPU?
De CPU (centrale verwerkingseenheid) van een computer wordt vaak het "brein" van een computer genoemd. Het is een verzameling van miljoenen transistors die kunnen worden gemanipuleerd om een geweldige reeks berekeningen uit te voeren. Een standaard CPU heeft tussen één en vier verwerkingscores die ergens zijn geklokt van 1 tot 4 GHz.
Een CPU is krachtig omdat hij alles kan. Als een computer in staat is om een taak uit te voeren, komt dat omdat de CPU het kan. Programmeurs bereiken dit door middel van brede instructiesets en lange functielijsten die door alle CPU's worden gedeeld.
Wat is een GPU?
Een GPU (grafische verwerkingseenheid) is een gespecialiseerd type microprocessor. Het is geoptimaliseerd voor het weergeven van grafische afbeeldingen en voert zeer specifieke computertaken uit. Het draait op een lagere kloksnelheid dan een CPU, maar heeft vele malen het aantal verwerkingskernen.
Je kunt bijna denken aan een GPU als een gespecialiseerde CPU die is gebouwd voor een zeer specifiek doel. Bij videoweergave draait het allemaal om eenvoudige wiskundige bewerkingen, en dat is waar een GPU het beste in is. Een GPU zal duizenden verwerkingscores tegelijkertijd hebben. Elke kern, hoewel langzamer dan een CPU-kern, is afgestemd om bijzonder efficiënt te zijn bij de elementaire wiskundige bewerkingen die vereist zijn voor het weergeven van video. Dit enorme parallellisme maakt GPU's in staat om de complexe 3D-graphics te maken die moderne games vereisen.
Wat is het verschil tussen een CPU en een GPU?
Als een CPU een Leatherman is, is een GPU een zeer scherp mes. Je kunt een zeskantbout niet met een mes vastdraaien, maar je kunt zeker wat spullen knippen.
Een GPU kan maar een fractie van de vele bewerkingen doen die een CPU doet, maar dat gebeurt met een ongelooflijke snelheid. Een GPU gebruikt honderden kernen om tijdgevoelige berekeningen te maken voor duizenden pixels tegelijk, waardoor complexe 3D-afbeeldingen kunnen worden weergegeven. Echter, zo snel als een GPU kan gaan, kan het alleen echt "domme" operaties uitvoeren.
Een moderne GPU zoals de Nvidia GTX 1080 heeft bijvoorbeeld 2560 shader-kernen. Dankzij die kernen kan het 2560 instructies of bewerkingen uitvoeren gedurende één klokcyclus. En wanneer je pixels van een scherm een procent helderder moet maken, is dat perfect. Ter vergelijking: een vieraderige Intel i5 CPU kan maar vier gelijktijdige instructies per klokcyclus uitvoeren.
CPU's zijn echter flexibeler dan GPU's. CPU's hebben een grotere instructieset, zodat ze een breder scala aan taken kunnen uitvoeren. CPU's werken ook met hogere maximale kloksnelheden en zijn in staat om de invoer en uitvoer van alle componenten van een computer te beheren. CPU's kunnen zich bijvoorbeeld organiseren en integreren met virtueel geheugen, wat essentieel is voor het draaien van een modern besturingssysteem. Dat is gewoon niet iets wat een GPU kan bereiken.
Hoe zit het met GPU-berekening?
Hoewel GPU's het beste in videoweergave passen, zijn ze technisch in staat om meer te doen. Grafische verwerking is slechts één soort van repetitieve en zeer parallelle computertaak. Andere taken zoals Bitcoin-mining en wachtwoordscheuren zijn afhankelijk van dezelfde soorten enorme gegevenssets en eenvoudige wiskundige bewerkingen. Dat is de reden waarom sommige mensen GPU's gebruiken om niet-grafische bewerkingen uit te voeren. Dit is het best bekend als "GPU-berekening".
Conclusie
CPU's en GPU's hebben vergelijkbare doelen, maar zijn geoptimaliseerd voor verschillende computertaken. Een efficiënte computer moet beide goed werken.
Afbeelding tegoed: Mmanss (Eigen werk)