Pipeline
Pipeline v kontextu počítačového zpracování je technika pro současné provádění více instrukcí. Počítačové procesory dokážou zpracovat miliony instrukcí za sekundu. Každá instrukce prochází několika fázemi, přičemž každou zpracovává jiná část procesoru. S každým taktovacím cyklem se instrukce přesune z jedné fáze do další, a zatímco jedna instrukce prochází jednou fází, jiné instrukce současně procházejí odlišnými fázemi.
Typická pipeline CPU zahrnuje pět fází — načtení instrukce, dekódování instrukce, provedení, přístup k paměti a zápis zpět ačkoli se to může lišit podle (architektury). Bez zpracování v pipeline by procesor dokázal zpracovávat pouze jednu instrukci najednou. Protože přesun instrukce všemi fázemi trvá několik taktovacích cyklů, většina procesoru by zůstávala nečinná, zatímco by se jediná instrukce přesouvala z fáze do fáze. Zpracování bez pipeline nezpůsobí, že provedení jedné instrukce potrvá déle, znamená však, že procesor může zpracovat méně instrukcí za sekundu.
Zpracování instrukcí v pipeline funguje podobně jako automobilová montážní linka, kde má každé stanoviště jediný úkol — instalaci sedadel, montáž motoru, připevnění kol atd. Pokud se po lince pohybuje vždy jen jeden automobil, většina těchto stanovišť zůstává nečinná a továrna nedokáže za den vyrobit mnoho automobilů. Pokud je však na lince současně desítky vozidel — dost na to, aby každé stanoviště zůstalo vytížené — za jediný den se dokončí mnohem více automobilů, přestože výroba každého z nich stále trvá stejně dlouho.
Grafické pipeline GPU
Kromě CPU používají pipeline ke zpracování instrukcí také počítačové GPU. Grafická pipeline GPU je složitější a zahrnuje několik specializovaných komponent pro zpracování, které provádějí matematické funkce za účelem vykreslení 3D scén a objektů do 2D obrazů zobrazených na obrazovce.
Architektury GPU se mezi jednotlivými generacemi výrazně liší, většina grafických pipeline však postupuje podobně. Jednoduchá grafická pipeline začíná převodem 3D souřadnic vrcholů (rohů trojúhelníků, které tvoří každý 3D objekt) na 2D souřadnice na rovinné ploše obrazovky. Tyto souřadnice převede na drátové modely a poté vyplní geometrii mezi těmito vrcholy, aby vytvořila tvary. Dále tyto tvary rastrově převede na pixely přidáním textur, osvětlení a dalších efektů shaderů. Skryté pixely a další informace, které nejsou viditelné pro „kameru“, se odstraní, poté se výsledný obraz uloží do framebufferu a zobrazí na obrazovce.
Otestujte své znalosti