www.svethardware.cz
>
>
>
>

Vývoj grafických akcelerátorů: 1. díl

Vývoj grafických akcelerátorů: 1. díl
, , článek
Dnes se podíváme na vývoj prvních grafických čipů a probereme jejich přínos pro svět počítačů. V tomto díle projdeme přes počátky akcelerované grafiky a zaměříme se na společnosti ATI a Nvidia v 90. letech.
K oblíbeným
Kapitoly článku:
  1. Vývoj grafických akcelerátorů: 1. díl
  2. ATI Technologies
  3. Nvidia Corporation
reklama
Už od vzniku prvních počítačů bylo zapotřebí nějakým způsobem zajistit výstup programu, ať už to bylo výpisem palebné tabulky pro dělostřelectvo nebo real-timeovým zobrazováním realisticky vypadající 3D scény na 6 monitorech. Zaměřme se ale spíše na dobu, kdy se počítače podobaly těm dnešním.

S dobou, kdy grafická scéna přestává být pouze vypsaným textem, se tyto výpočty stávají mnohem náročnější a tedy mnohem více zpomalují běh celého programu. Proto začaly vznikat procesory specializované na grafické výpočty.

Jeden z prvních byl obsažen v 8bitové rodině Atari, byla to dvojice čipů vyvinutých speciálně pro potřeby Atari - ANTIC a GTIA (Alpha-Numeric Television Interface Circuit, George's Television Interface Adapter). Jejich funkce se vzájemně doplňovala. První z nich měl za úkol generovat obraz ať už v textovém nebo grafickém režimu a starat se o jeho celkový posun. Druhý se staral o aplikaci barev a také o zobrazení pohyblivých obrázků a detekci kolize jejich hran. To bylo ve své době velmi podstatné, protože to velmi ulehčilo práci CPU.


Hra International Karate a kombinace více grafických režimů

Hardwarová podpora pro zobrazování spritů byla obsažena také v grafickém čipu VIC-II v počítači Commodore 64 a pozdějším Commodore 128. Byl velmi podobný obvodu GTIA z Atari. Současně dokázal zobrazit 8 spritů velikosti 24x21 pixelů v monochromatickém režimu nebo 12x21(pixely spritů měly dvojnásobnou šířku) v režimu multi-color. Pro zobrazení více než osmi spritů se používaly vhodně naprogramované přerušovací rutiny, jediným omezením zůstal počet spritů na obrazovém řádku.

Trochu rozdílná situace panovala na IBM PC. Dlouho zde nebyl žádný grafický akcelerátor (pouze se měnily grafické adaptéry a zobrazovací standardy, zvyšoval se počet barev a rozlišení), takže si softwarové firmy samy vytvářely grafické knihovny pro jejich programy. Až v roce 1984 se tato situace mírně mění, protože IBM uvádí PGC (Professional Graphics Controller). Jednalo se o ucelený grafický subsystém založený na Intel 8088, který nabízel uživatelům množství možností a navíc byl vybaven jednoduchým programovacím rozhraním.

Z hardwarového hlediska se PGC skládalo z tří plošných spojů, na kterých bylo dohromady 64 kB ROM paměti. V té byl uložen celý vykreslovací algoritmus. Dále obsahovalo RAM paměť o kapacitě 320 kB, jejíž podstatná část (asi 300 kB) se používala jako framebuffer. Zbytek paměti sloužil k pohybu s obrazem. Vše nebylo řízeno specializovaným čipem, ale obyčejným Intel 8088, který podle příkazů od PC prováděl všechny výpočty. Celé PGC bylo do PC zapojeno pomocí sběrnice ISA.



IMB PGC bylo na svou dobu velmi pokročilé, podporovalo rozlišení 640x480 s 256 barvami a poskytovalo 2D i 3D akceleraci pro CAD aplikace. Cena byla sice 4290 dolarů, ale v porovnání s tehdejšími pracovními stanicemi pro CAD za 50 000 dolarů to byla velmi výhodná koupě. Na domácí počítač to bylo ale příliš, proto v této oblasti úspěch nezaznamenalo.

Jako nástupce po Commodore 128 příchází Amiga se svým čipsetem OCS (Original Chip Set), který se skládá ze tří čipů – Agnus, Denise, Paula. Pro nás je podstatný první z nich, tedy Agnus. Skládá se ze dvou koprocesorů Copper a Blitter. Copper, pracující takřka nezávisle na hlavním procesoru, dokáže pohybovat se sprity na obrazovce, modifikovat barevnou paletu nebo měnit grafický režim, což se využívalo pro situace, kdy bylo zapotřebí vykreslit jednu část obrazovky ve vyšším rozlišení než druhou, např. grafický editor – menu vykresleno v hi-res módu a zbytek v low-res.

Blitter byl koprocesor specializovaný na bit blit operace, tedy kombinování více bitmap do jedné. Klasickým použitím bylo např. vykreslování částečně průhledných obrázků na pozadí, tedy kombinace bitmapy pozadí, bitmapy obrázku a bitmapy obsahující informaci o průhlednosti obrázku. Pomocí blitteru se také kreslily přímky a vyplňovaly oblasti.

Jako další vývoje OCS následovaly ECS (Enhanced Chip Set) a AGA (Advanced Graphic Architecture), oba rozvíjely možnosti zobrazení až na (v případě AGA) 256 barev z palety 16 777 216 (24bitová hloubka), což byl výrazný nárůst oproti OCS, který dovoloval pouze 32 barev z palety 4 096 (12bit). Přibyla i podpora super hires plynulého scrollingu a podpora 32bit stránkování pro Fast Page Memory. Výsledkem byla možnost zobrazení větších spritů.

Bohužel, kromě zmíněného chipsetu, žádná jiná komponenta nefungovala v 32bit režimu, což jeho využití omezovalo. Další vlastností byla nulová podpora pro akceleraci 3D, což se ukázalo s příchodem prvních 3D her jako značný problém. Tento nedostatek postupně vedl ke ztrátě vedoucího postavení na trhu.



Amiga. Název pocházející ze španělského slova přítelkyně. Náhodou však také není, že v abecedě leží před slovy Atari nebo Apple. Původně byla vyvíjena společností Amiga Corporation, ale ještě v době vývoje byla tato firma odkoupena Commodore International, která v roce 1985 Amigu na trh uvedla. Amiga byla založena na několika mikroprocesorech Motorola 68000 a obsahovala originální a velmi pokročilý chipset, který nabízel velké zvukové i grafické možnosti, což předurčovalo zaměření především na hry, ale své využití našla také v televizních stanicích pro počátky virtuálních studií předpovědi počasí.

Konkurence z malého města Armonk nedaleko New Yorku, tedy IBM, také nespala. Po prvním grafickém akcelerátoru PGC přichází IBM 8514/A. Ten využíval slotu MCA a sériově se zapojoval jako druhá karta (obvykle společně s VGA) do výstupu na monitor. Karta sama o sobě nepodporovala textový režim a ani nebyla ovládána přes BIOS, čili počítač pouze s ní nenabootoval. Hlavními úlohami byla akcelerace CAD aplikací, tedy rychlé zpracování a vykreslení vektorů, protože v minulosti bylo v CAD pomocí vektorů vykreslováno i písmo. Další součástí byl modul pro akceleraci bit blit operací, proto byla výrazně zrychlena práce s bitmapami.

A v neposlední řadě mezi významný krok kupředu patřila i podpora pro Windows 3. Zajímavostí je, že po uvedení tohoto akcelerátoru se firma Microsoft rozhodla, že rutiny pro obsluhu grafických karet se přestěhují z jádra ven do ovladačů, protože tato karta nebyla zpětně kompatibilní. I přes svou vyšší cenu se stala IBM 8514/A první masově úspěšnou grafickou kartou.



V textu několikrát zmiňuji pojem sprite. O co se tedy jedná? Sprite (čteno sprajt) je dvourozměrný obrázek, definující jednu animační fázi objektu. Jejich rychlým měněním dochází ke vzniku iluze pohybu. Obvykle byl na obrázku jeden konkrétní odstín definován jako průhledná - při vykreslování spritu do videopaměti nepřepisoval původní data
reklama
Nejnovější články
NASA pátrá po zbytcích Beresheet, přežít mohlo laserové "zrcátko" NASA pátrá po zbytcích Beresheet, přežít mohlo laserové "zrcátko"
Beresheet narazil do Měsíce rychlostí, že neměl šanci přežít v celku, ovšem NASA předpokládá, že zařízení Lunar Retroreflector Array (LRA) přežít mohlo. Jeho úkolem je odrážet laserové paprsky a přesně tak se jej NASA pokusí najít.
19.4.2019, aktualita, Jan Vítek
Sega Mega Drive Mini jsou k předobjednání Sega Mega Drive Mini jsou k předobjednání
Nedávno byly představeny nové mini-retro konzole Sega Mega Drive Mini, které mají dorazit na trh během letošního září. Sega přitom změnila vývojářský tým, který na nich pracuje a slíbila další hry nad rámec těch původně slíbených. 
19.4.2019, aktualita, Jan Vítek
NASA konečně detekovala nejstarší typ molekul vesmíru NASA konečně detekovala nejstarší typ molekul vesmíru
Už dlouho se předpokládá, že pravděpodobně nejstarší typ molekul ve vesmíru byla HeH, čili prostý dvouprvkový hydrid helia. Je to celkem logické uvažování, když helium a vodík jsou nejstarší prvky. Až nyní to ale máme potvrzeno pozorováním.
19.4.2019, aktualita, Jan Vítek
Jiří Olšanský 'Rik_Leah': co to znamená být streamer? Jiří Olšanský 'Rik_Leah': co to znamená být streamer?
YouTube je sice coby platforma pro upload videí nadále velmi populární, ale v případě pravidelného streamování (živého vysílání i několik hodin v kuse) se těší větší oblibě Twitch.tv. Přinášíme vám tak rozhovor s někým, kdo se tomu už delší dobu věnuje.
19.4.2019, rozhovor, Karel Polívka
Video: Kolik robotů SpotMini od Boston Dynamics utáhne náklaďák? Video: Kolik robotů SpotMini od Boston Dynamics utáhne náklaďák?
Společnost Boston Dynamics, která je známá svými pokročilými roboty, zveřejnila na YouTube krátké video, ve němž předvádí další kousky, které jsou její stroje schopné vykonat. Tentokrát se zaměřila na celou smečku robotů SpotMini. 
18.4.2019, aktualita, Kateřina Hoferková