Pokročilé architektury počítačů (PAP_10.ppt) Karel Vlček, katedra Informatiky, FEI VŠB Technická Univerzita Ostrava
Karel VlčekPokročilé architektury procesorů 2 Vyspělé rastrové grafiky Paralelizace geometrického stupně může být zajištěna řetězením (pipelining) nebo skutečným paralelním uspořádáním Režimy činnosti geometrického stupně jsou dva: okamžitý (immediate), který zajišťuje předávání grafických údajů a udržovací (retained), který má za úkol udržovat tato data v pohotovosti
Karel VlčekPokročilé architektury procesorů 3 Činnosti geometrické jednotky Každý stupeň linky vyžaduje speciální algoritmus - každý procesor v lince je naprogramován na odlišný program Vykreslovací (rendering) algoritmus musí být implementován obvodově nebo alespoň pomocí odlišného firmware Data dodává více procesorů a jejich činnost musí být synchronizována
Karel VlčekPokročilé architektury procesorů 4 Paralelní spolupráce maticových procesorů Jednotlivé vrcholy jsou počítány paralelně, pro každou souřadnici x, y, z, w se použije jeden procesor Transformace vrcholů se provádí paralelně, ale každý se vypočítává jednotlivě Primitiva jsou transformována paralelně, ale výpočty se provádějí jednotlivě
Karel VlčekPokročilé architektury procesorů 5 Metody zrychlení maticových výpočtů (1) Vyhledávací rutiny jsou napsány v asembleru Databáze jsou ukládány do rychlejší paměti SRAM Používá se vyhledávací (traversal) procesor, případně procesor optimalizovaný pro určitý datový formát
Karel VlčekPokročilé architektury procesorů 6 Metody zrychlení maticových výpočtů (2) Sdílená paměť více procesory (shared- memory model) Distribuovaná paměť pro více procesorů (distributed-memory model) Distribuovaná paměť podle grafických primitiv Paralelní databáze, které umožňují rozdělení zátěže výpočetního výkonu
Karel VlčekPokročilé architektury procesorů 7 Synchronizace paralelních databází Potíže se synchronizací paralelních databází nastávají proto, že jsou ukládána grafická primitiva různé složitosti Jejich vyvolání a zpracování trvá rozdílně dlouhou dobu Problém může být vyřešen obvodovou podporou: je to paměť FIFO s kódy příznaků pro synchronizaci primitiv
Karel VlčekPokročilé architektury procesorů 8 Multiprocesorové architektury (1) Důvody pro použití multiprocesorových architektur: Šířka pásma kanálu pro přenos signálu neodpovídá rychlosti toku informace reprezentované signálem Rasterizace primitiv grafiky s určením viditelnosti každého pixelu vyžaduje vysoký výpočetní výkon
Karel VlčekPokročilé architektury procesorů 9 Multiprocesorové architektury (2) Šířka pásma kanálu je řešitelná změnou rychlosti a zavedením paralelního toku dat Rasterizace Pixelová cache Paměť snímku Paměť snímku Paměť snímku Paměť snímku primitiva 1 pixel 16 pixelů Rychlý sériový přenos Pomalý paralelní přenos
Karel VlčekPokročilé architektury procesorů 10 Multiprocesorové architektury (3) Řetězení rasterizace do rozkladových řádků y třídič Aktivní segmenty Generátor hran a Stínovač polygonyhrany viditelnost tok pixelů
Karel VlčekPokročilé architektury procesorů 11 Souběžná rasterizace obrazu Metoda spočívá v rozčlenění obrazu na shodně velké segmenty vhodné velikosti Předpokladem je to, že je možné odpovídajícím způsobem rozčlenit paměť To je prováděno: Do souvislých bloků Do šachovnicových (prokládaných) bloků
Karel VlčekPokročilé architektury procesorů 12 Rozklad do souvislých bloků Rychlost vykreslování je funkcí počtu primitiv v obraze Všechnu práci s rasterizací primitiv v daném bloku musí provádět jeden procesor Tento způsob je výhodný pro zpracování menších primitiv
Karel VlčekPokročilé architektury procesorů 13 Rasterizace paralelizovaného obrazu Dva způsoby rozčlenění paměti snímku
Karel VlčekPokročilé architektury procesorů 14 Rozklad do prokládaných bloků Výkonnost je výrazně vyšší než u souvislých bloků Výpočty jsou lépe rozloženy, protože nejsou závislé na počtu zpracovávaných primitiv Je možné pracovat s více úrovněmi procesorů Spolupráce procesorů se liší podle toho, zda jsou to procesory SIMD nebo MIMD
Karel VlčekPokročilé architektury procesorů 15 SIMD versus MIMD SIMD bývají uspořádány do tzv. procesorového otisku (footprint processor) Nevýhodou SIMD je to, že nevyužívají plně své procesorové elementy, proto se SIMD hodí pro jednodušší algoritmy Pro podporu složitých algoritmů jsou vhodnější MIMD, výkon se zlepší, jsou-li procesory odděleny pamětí FIFO
Karel VlčekPokročilé architektury procesorů 16 Hybridní paralelní rasterizace Virtuální vyrovnávací paměti - obstarává stejnou oblast grafického zobrazení Virtuální procesory - uplatní se v rozkladovém řádku Výhodou je možnost tzv. inkrementálního řazení do skupin Znásobuje nároky na kapacitu paměti
Karel VlčekPokročilé architektury procesorů 17 Architektury s kompozicí obrazu Kompoziční architektury pracují s rozdělováním na části s kompletním vykreslováním primitiv Tato technika umožňuje zvyšovat výkonnost Nevýhodou je to, že je nutné distribuovat databáze primitiv do mnoha částí, nicméně je to cesta k extrémně vysoké výkonnosti
Karel VlčekPokročilé architektury procesorů 18 Systém pro kompozici obrazu Systém pro kompozici obrazu s osmi vykreslovacími stupni
Karel VlčekPokročilé architektury procesorů 19 Literatura: Dvořák, V.: Architektura a programování paralelních systémů, VUTIUM Brno, (2004), ISBN X Dvořák, V., Drábek, V.: Architektura procesorů, VUTIUM Brno, (1999), ISBN Drábek, V.: Výstavba počítačů, PC-DIR, s.r.o. Brno, (1995), ISBN Mueller, S.: Osobní počítač, Computer Press, Praha, (2001), ISBN Pluháček, A.: Projektování logiky počítačů, Vydavatelství ČVUT Praha, (2003), ISBN