Pokročilé architektury počítačů (PAP_08.ppt) Karel Vlček, katedra Informatiky, FEI VŠB Technická Univerzita Ostrava
Karel VlčekPokročilé architektury procesorů 2 Principy zobrazování 2D grafiky Každý prvek 2D obrazu má souřadnice x (horizontální) a y (vertikální), nemá třetí souřadnici z Má-li grafické zobrazení znázorňovat 3D scénu, používá se např. stínování, ale to neumožňuje měnit úhel pohledu, celý obraz se musí pro nový pohled vytvořit znovu
Karel VlčekPokročilé architektury procesorů 3 Vektorová grafika Rozšířená třída 2D obrazů je nazývána vektorová grafika Vektorová grafika pracuje s obrazem vytvořeným z elementárních prvků Elementární prvky obrazu jsou: bod, úsečka a polygon Dále k nim patří: oblouk, kružnice, elipsa a různé křivky
Karel VlčekPokročilé architektury procesorů 4 Výhody použití vektorové grafiky Počítač ovládá zobrazení jednoduchými příkazy a posílá malé objemy dat do grafického procesoru Každý prvek je realizován ve vlastní rovině i text je takovým prvkem, to značně usnadňuje manipulaci se zobrazením Zobrazení se může měnit v reálném čase
Karel VlčekPokročilé architektury procesorů 5 Oblast použití 3D grafiky Ve vědeckém zkoumání a vyhodnocování experimentů v krystalografii a biochemickém výzkumu V architektuře při návrhu nových objektů do stávající zástavby Animace filmů, v reklamních pořadech Ve výuce dovedností, jako pohyblivé objekty v letových a automobilových trenžérech
Karel VlčekPokročilé architektury procesorů 6 Postup vytváření 3D grafiky Pro vytváření scény se využívá databáze objektů (krychle, koule, válce, až po objekty z přírody) Konverze modelů objektů na množiny polygonů - většinou trojúhelníků (tesselace) Přiřazení materiálových vlastností - barva, lesk apod. Vykreslení (rendering)
Karel VlčekPokročilé architektury procesorů 7 Vykreslování 3D grafiky Počáteční fáze je tzv. drátový model Stínování konstantní - nerealistické Gouraudovo resp. Phongovo stínování jsou způsoby vykreslování, které se blíží realistickému zobrazení jako na fotografii Při vykreslování dochází i k transformaci souřadnic a výpočtu osvětlení
Karel VlčekPokročilé architektury procesorů 8 Algoritmy 3D grafiky (1) Lineární interpolace je potřebná například při nanášení textur nebo stínování Jednorozměrná lineární interpolace Vícerozměrná lineární interpolace Bilineární interpolace Algoritmus DDA (Digital Differential Analyser)
Karel VlčekPokročilé architektury procesorů 9 Algoritmy 3D grafiky (2) U křivek se používá kvadratická nebo polynomiální interpolace Geometrické transformace je možné rozdělit na lineární a nelineární Lineární: otočení, posunutí, změna měřítka, zkosení a kombinace těchto operací Nelineární: zborcení, perspektivní zkreslení, zkroucení, operace zvaná optická čočka, atd.
Karel VlčekPokročilé architektury procesorů 10 Algoritmy 3D grafiky (3) Zvláštní skupinu transformací tvoří projekce Projekce převádí objekty z třírozměrné do dvourozměrné representace Projekce může být aplikována na jednotlivé body objektů nebo se může týkat celého souřadnicového systému (je-li aplikována na všechny body)
Karel VlčekPokročilé architektury procesorů 11 Popis algoritmů transformace (1) Bilineární transformace A P B R C Q D
Karel VlčekPokročilé architektury procesorů 12 Popis algoritmů transformace (2) Trilineární transformace R
Karel VlčekPokročilé architektury procesorů 13 Popis algoritmů transformace (3) Maticový popis lineárních transformací Matice A je popisem bodu v prostoru
Karel VlčekPokročilé architektury procesorů 14 Popis algoritmů transformace (4) Posunutí vektorem je prováděno maticí posunutí
Karel VlčekPokročilé architektury procesorů 15 Popis algoritmů transformace (5) Otočení o úhel okolo osy x je prováděno maticí otočení
Karel VlčekPokročilé architektury procesorů 16 Popis algoritmů transformace (6) Otočení o úhel okolo osy y je prováděno maticí otočení
Karel VlčekPokročilé architektury procesorů 17 Popis algoritmů transformace (7) Otočení o úhel okolo osy z je prováděno maticí otočení
Karel VlčekPokročilé architektury procesorů 18 Popis algoritmů transformace (8) Změna měřítka ve směru os x, y, z popsaná koeficienty S x, S y, S z je prováděna maticí
Karel VlčekPokročilé architektury procesorů 19 Popis algoritmů transformace (9) Zkosení objektu ve směru roviny xy je popsáno koeficienty SH x, SH y je prováděna maticí
Karel VlčekPokročilé architektury procesorů 20 Grafické akcelerátory - první generace grafických procesorů Grafický procesor má za úkol provádět velké množství operací v pohyblivé řádové čárce ve velmi krátkém čase Další kritickou operací je ukládání dat, která vzniknou například při operaci vykreslování Tyto dva požadavky měly největší vliv na formování architektur grafických procesorů
Karel VlčekPokročilé architektury procesorů 21 Vnitřní architektura TMS (1) Grafický procesor TMS byl vyroben jako první (1986) Byl navržen jako akcelerátor pro 2D grafiku pro použití v pracovních stanicích a osobních počítačích Délka datového slova je 32 bitů Adresový prostor je 128 MB
Karel VlčekPokročilé architektury procesorů 22 Vnitřní architektura TMS (2) Doba cyklu 132, 160 nebo 200 ns Velikost pixelů je volitelná 1, 2, 4, 8 nebo 16 Počet registrů zápisníkové paměti je 30 a jejich délka je 32 bitů, které jsou rozděleny do dvou sad A a B Instrukční soubor je orientovaný na operace v rastrové grafice
Karel VlčekPokročilé architektury procesorů 23 Instrukční soubor TMS Instrukce je možné rozdělit do tří skupin: Instrukce přesunů (adresování pixelů i polí) Univerzální instrukce (aritmetické a logické instrukce, a instrukce pro řízení programu) Grafické instrukce (obsahují instrukce pro práci s pixely, s poli, s okny a s maskou a s průhledností
Karel VlčekPokročilé architektury procesorů 24 Procesor TMS (1) Předchozí grafický procesor TMS byl inovován a uveden na trh jako TMS v roce 1990 Počet vývodů pouzdra se zvětšil z 68 na 145 Doba cyklu je 100 nebo 125 ns Byla doplněna další velikost pixelu 32 bitů Instrukční soubor je kompatibilní (je rozšířený)
Karel VlčekPokročilé architektury procesorů 25 Procesor TMS (2) Je zabudována obvodová podpora zpracování pixelů Zpracovává až 8 milionů osmibitových pixelů za sekundu S použitím numerického koprocesoru TMS (pro zrychlení operací v pohyblivé řádové čárce) trvá transformace jednoho bodu v 3D souřadnicích 2,9 mikrosekund
Karel VlčekPokročilé architektury procesorů 26 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