Pijplijn
Een pijplijn in de context van computerverwerking is een techniek om meerdere instructies tegelijk uit te voeren. Computer processors kunnen miljoenen instructies per seconde verwerken. Elke instructie doorloopt verschillende fasen, die elk door een ander onderdeel van de processor worden verwerkt. Bij elke klokcyclus gaat een instructie van de ene fase naar de volgende. Terwijl één instructie een fase doorloopt, gaan andere instructies tegelijkertijd door andere fasen.
Een typische CPU-pijplijn bestaat uit vijf fasen — instructie ophalen, instructie decoderen, uitvoeren, toegang tot het geheugen en terugschrijven hoewel dit kan verschillen per (architectuur). Zonder pijplijn zou een processor slechts één instructie tegelijk kunnen verwerken. Omdat elke instructie meerdere klokcycli nodig heeft om alle fasen te doorlopen, zou het grootste deel van de processor niets doen terwijl één instructie van fase naar fase gaat. Verwerking zonder pijplijn zorgt er niet voor dat één instructie langer duurt, maar betekent wel dat de processor minder instructies per seconde kan verwerken.
Een instructiepijplijn werkt ongeveer hetzelfde als een productielijn voor auto's, waarbij elk station één taak heeft — stoelen installeren, de motor monteren, de wielen bevestigen enzovoort. Als er steeds maar één auto tegelijk over de lijn rijdt, staan de meeste stations niets te doen en kan de fabriek niet veel auto's per dag produceren. Als er echter tientallen voertuigen tegelijk op de lijn staan — genoeg om elk station bezig te houden — worden er op één dag veel meer auto's voltooid, ook al neemt elke auto nog steeds evenveel tijd in beslag.
Grafische pijplijnen van GPU's
Naast CPU's gebruiken computer-GPU's ook pijplijnen om instructies te verwerken. De grafische pijplijn van een GPU is complexer en omvat verschillende speciale verwerkingsonderdelen die wiskundige functies uitvoeren om 3D-scènes en -objecten te renderen als 2D-afbeeldingen die op een scherm worden weergegeven.
GPU-architecturen verschillen sterk per generatie, maar de meeste grafische pijplijnen volgen een vergelijkbaar patroon. Een eenvoudige grafische pijplijn begint met het omzetten van de 3D-coördinaten van hoekpunten (de hoeken van de driehoeken waaruit elk 3D-object bestaat) naar 2D-coördinaten op het vlakke oppervlak van een scherm. Vervolgens worden die coördinaten omgezet in draadmodellen en wordt de geometrie tussen die hoekpunten ingevuld om vormen te maken. Daarna worden die vormen gerasteriseerd tot pixels door textuurkaarten, belichting en andere shadereffecten toe te voegen. Verborgen pixels en andere informatie die niet zichtbaar is voor de 'camera' worden verwijderd. Ten slotte wordt de afbeelding opgeslagen in de framebuffer en op het scherm weergegeven.
Test je kennis