Video
Zobrazovacia sústava

qMonitor
qVideoadaptér
qPamäťové mapy a bitové roviny v grafických módoch
qFonty a videostránky v textových módoch BIOS
qVhodná videokarta


Zobrazovacia sústava

Úvodom

Základná doska PC zvyčajne neobsahuje hardware pre zobrazovanie informácie na monitore, preto na prevod signálov z obrazovej pamäte (videopamäte-videoRAM) na videosignál, ktorý smeruje do zobrazovacej jednotky (najčastejšie monitora) je potrebná karta grafického adaptéra.

Obraz vytvára počítač pomocou dvoch hlavných prvkov:

  • Zobrazovacieho adaptéra (grafickej či videokarty, videoadaptéra), ktorý tvorí obraz.
  • Displeja (monitora), ktorý adaptérom vytvorený obraz zobrazí na svojej obrazovke
Každá zobrazovacia sústava môže pracovať v 2 základných režimoch:
  • Textovom, pri ktorom je obrazovka rozdelená na malé políčka (napríklad 80 stĺpcov a 25 riadkov), z ktorých každé zobrazí 1 znak. Tento hardwardovo nenáročný a rýchly spôsob predstavuje klasickú možnosť, typickú pre staršie programy DOS.
  • Grafický, ktorého princíp spočíva v rozdelení obrazovky na maticu bodov (napríklad 640 bodov v riadku a 480 v stĺpci). Rozsvecovaním určitých bodov možno vytvoriť text, obrázok alebo animáciu.
 
Grafické štandardy


Štandardy charakterizujúce rozlíšenie a farebnú hĺbku, ale aj obnovovacie frekvencie a prepojenie monitora s grafickou kartou. V histórii počítačov PC sa vyrábalo niekoľko grafických kariet a tomu zodpovedajúcich typov monitorov (monochromatické MDA, Hercules, farebné CGA, EGA, VGA až pod dnešný SVGA):

  • V roku 1981 najskôr CGA (Color grafic Adapter), 
  • potom štandard Hercules ,
  • od roku 1987 po dnes najbežnejší štandard VGA (Video Graphic Adapter), 
  • neskôr od asociácie VESA štandard SVGA (Super VGA),
  • a od roku 1991 (opäť od IBM) štandard XGA
Väčšina z nich je už technicky prekonaná a sú v súčasnosti nahradzované grafickými akcelerátormi, pomocou ktorých sa vykonávajú grafické operácie autonómne, čím odľahčujú mikroprocesor a urýchľujú prácu.

Grafické karty v PC pôvodne slúžili na zobrazovanie textových informácii, iba neskoršie so zvyšovaním kvality a kapacity videopamäte sa ich úloha posunula k zobrazovaniu grafických informácii. Jeden z prvých adaptérov štvorfarebný CGA, mal kapacitu pamäte 16 kB, 256-farebný VGA mal kapacitu 256 kB, dnešné adaptéry majú kapacitu bežne 2 až 4 MB a viac. S kapacitou videoRAM priamo súvisí počet obrazových bodov a farieb - rozlíšenie. Karta CGA vedela zobraziť maximálne 640x200 bodov a dve farby, karta VGA 320x200 a 256 farieb (pri rozlíšení 640x480 iba 16 farieb), karta SVGA s pamäťovou kapacitou 1 MB vie zobraziť 640x480 bodov a 16,7 miliona farieb (alebo 1027x768 a 256 farieb) a podobne.

Základnou súčasťou zobrazovacej sústavy (video subsystému) je:

  • kontrolér (v prípade grafických akcelerátorov grafický procesor), 
  • pamäť videoRAM, 
  • pamäť EPROM s rozšírením BIOS a fontami znakov, 
  • D/A prevodník (často býva súčasťou grafického procesora) a 
  • obvody oddeľujúce kontrolér od zbernice. 
Komunikácia kontroléra (grafického procesora) s pamäťou videoRAM bola pôvodne pomocou dátovej zbernice so šírkou 8 alebo 16 bitov, neskôr 32 bitov. (V počítačoch s operačným systémom MS DOS je pre videoRAM rezervovaný priestor pamäte od A0000H po BFFFFH). Výrazné zvýšenie výkonu priniesla realizácia 64-bitovej zbernice, ktorá sa používa pri prevážnej väčšine dnešných grafických kariet.


Grafické karty s podporou 3D čiže grafické akcelerátory

Pôvodne v počítačoch PC sa používali klasické grafické karty. Ich hlavnou nevýhodou bolo, že obrazovú informáciu zapisoval do VideoRAM sám procesor. Počas počítania zobrazenia sa procesor nemohol zaoberať inou činnosťou, pretože grafický adaptér bol pripojený pomocou úzkej a pomalej systémovej zbernice ISA. Urýchliť komunikáciu s grafickým adaptérom umožnilo až priame prepojenie procesora najprv pomocou. lokálnej zbernice (VESA Local Bus), neskôr pomocou zbernice PCI a rozhrania AGP (Accelerated Graphics Port). Výhodou grafického akcelerátora je, že pracuje ako procesor, nezávisle od hostiteľského procesora prijíma iba požiadavky na zobrazenie určitého útvaru a zobrazenie realizuje samostatne, pričom procesor sa v tom čase môže zaoberať inými úlohami.

AGP (Accelerated Graphics Port) sú neodmysliteľnou súčasťou dnešných PC a patria k najburlivejšie sa vyvíjajúcim typom komponentov súčasných počítačov.

Ako rastú možnosti počítačov a grafických čípov, pribúda množstvo nových aplikácii s podporou 3D, ktoré pracujú s veľmi náročnou grafikou vyžadujúcou spracovanie obrovských objemov údajov. 

V počiatkoch rozvoja 3D grafiky to vyzeralo takto: V počítači ste mali klasickú grafickú kartu. Ak ste potrebovali pracovať s 3D aplikáciami potrebovali ste špecializovanú kartu, ktorá obsahovala 3D akcelerátor. Ten preberal špecializované úlohy pri spracovaní grafických objektov. Nároky na výkonnosť PC rástli a obmedzením výkonnostných možností sa stali prenosy medzi grafickou kartou a 3D akcelerátorom prostredníctvom zbernice PCI. Východiskom z tejto situácie sa stala integrácia grafickej karty a 3D akcelerátora do jednej karty. Moderná grafická karta teda nerealizuje len prevod digitálnej informácie na obrazovú ale sa podieľa na výpočte zobrazovaných údajov (výpočte zobrazovanej scény a na nej rozmiestnených objektov, ale aj o prepočet pohybu jednotlivých objektov vrátane s tým súvisiacich úprav). 

Ďalším dôvodom pre zvýšenie výkonu grafických čipov je monitor s väčšou obrazovkou (náhrada 14" , 15" monitorov 17" a väčšími a s tým súvisiace zvýšenie rozlíšenia z 640x480 bodov). 

Vývojári sa pokúšajú prísť s riešením, ktoré by zaručilo dostatočný výkonnostný potenciál na dlhšie obdobie a pritom nepriviedli inovujúcu firmu na pokraj finančnej katastrofy, nakoľko vývoj grafických čípov je veľmi nákladná záležitosť.
 

  1. Prvým riešením je GPU, teda Graphics Processor Unit.
  2. Druhé riešenie predstavuje dosiahnutie zvýšenia výkonu grafickej karty použitím viacerých grafických čipov.
 
q Podpora štandardu AGP4x
 
So zavedením mikroprocesora Pentium II sa ujala nová špecializovaná zbernica AGP na pripojenie grafickej karty.  V porovnaní s PCI (Perpheral Component Interconect) ponúkala dvojnásobnú prenosovú kapacitu, pričom celá šírka prenášaného pásma bola k dispozícii iba pre komunikáciu grafickej karty s mikroprocesorom a operačnou pamäťou. (Fyzická konštrukcia AGP a jeho podstata sa od PCI veľmi nelíšia. Rozhranie AGP disponuje nízkou dobou prerušenia, na rozdiel od PCI pracuje paralelne a po vyslaní požiadavky nečaká pred ďalšou operáciou na odpoveď.) Základný režim AGP1x onedlho vystriedal režim AGP2x, ktorý priniesol zdvojnásobnenie prenosovej kapacity - na prenos údajov sa nevyužili len zvyčajné nábehové hrany impulzov, ale aj zostupné. Ďalším zlepšením bola zbernica AGP4x s novými čipovými súpravami, ktoré podporujú zvýšenie prenosovej kapacity nie zvýšením pracovnej frekvencie zbernice ale presunom dvojice informácie v priebehu každej nábehovej a zostupnej hrany. K jednoduchosti riadenia zbernice pri komunikácii grafická karta, mikroprocesor a operačná pamäť prispieva aj podpora DIME (Direct Memory Execution), ktorá umožňuje grafickému čípu pracovať s operačnou pamäťou priamo, bez zaťažovania mikroprocesora. Výhodou zbernice AGP je aj kompatibilita s klasickým režimom. Ak vložíte do základnej dosky podporujúcej AGP4x kartu s klasickou zbernicou AGP, základná doska sa prispôsobí a funguje v režime AGP1x.
 

q Pamäť grafickej karty

Výkonná grafická karta by mala mať aspoň 16MB (do kancelárskeho počítača) optimálne 64MB. V súčasných operačných pamätiach sa používajú pamäte typu SDRAM (Synchronous Dynamic Random Acces Memory ). Pri najvýkonejšich grafických čipoch sa požaduje plynulé zásobovanie vysokými objemami dát s čím súvisí používanie špecialnych pamätí DDRAM, ktoré môžu jednak pracovať pri vyššich frekvenciach ako je frekvencia, s ktorou pracuje operačná pamäťa tiež umožňujú čítanie a zápis nielen nábehovou, ale aj so zostupnou hranou hodinového impulzu. (Potom DDRAM pracujúca na frekvencii 166 MHz je výkonnostne porovnateľná s klasickou SDRAM na 333MHz.) 

Porovnanie prenosovej kapacita zberníc pre video:
 
Zbernica Pracovná frekvencia Prenosová frekvencia
PCI 33 MHz 132 MB/s
AGP 66 MHz 264 MB/s
AGP2x 66 MHz 528 MB/s
AGP4x 66 MHz 1G B/s

 
q Od čípu ku grafickému procesoru
 
Moderný grafický číp v mnohých ukazovateľoch nezaostáva za mikroprocesorom. Nástup novej (4 generácie) generácie je grafický procesor GPU (Graphics Processor Unit)

GPUGeForce
(napríklad typu 256 alebo FX) vykonáva všetky grafické inštrukcie a tak nielen šetrí strojový čas mikroprocesora počítača, ale najmä zrýchľuje dostupnosť údajov. Tie už totiž nemusia pri spracovaní v mikroprocesore putovať prostredníctvom zbernice do operačnej pamäte a odtiaľ do grafickej karty. V praxi to teda vyzerá tak, že v momente, keď sa v programe vyskytne inštrukcia na spracovanie obrazu, tú vykoná nie CPU, ale GPU.

GPU je skutočným procesorom, o čom svedčí jeho architektúra, disponujúca štyrmi výkonnými jednotkami (jednotka transformácii, osvetlenia, nastavenia a renderovania. Pre vysvetlenie:
RENDERING - vizualizácia, tj. tvorba reálneho obrazu na základe počítačového modelu, charakteristík scény a okolia. Model býva charakterizovaný sieťou alebo drôtovou konštrukciou, je mu priradený  tzv. materiál definujúci jeho povrch a vzťah k dopadajúcemu svetlu. Scénu charakterizuje umiestnenie svetiel a kamery, okolie zase napr. farba či obraz v pozadí, hmla apod. Program, ktorý RENDERING vykonáva, na základe matematických algoritmov konštruuje bitmapový obrázok, ktorý čo najpresnejšie simuluje možnú fotografiu kamery v reálnej, počítačom takto napodobnenej scéne.) O zložitosti tohto čípu hovorí 23 miliónov tranzistorov, ktoré sú integrované do obvodu. Spomenuté črty sa podieľajú na výkonnosti čípu, ktorá predstavuje 480 megapixelov za sekundu , v 32 - bitovej farebnej hĺbke. 

Takýto výkonný čip potrebuje nielen dostatočne širokú zbernicu (v tomto prípade 256 bitov), ale aj podporu rýchlej pamäte (namiesto osvedčených SDRAM použili pamäte DDRAM (s kapacitou do 64 MB), ktoré umožňujú zápis a čítanie údajov nielen s nábehovou, ale aj so zostupnou hranou hodinového impulzu - čo umožňuje spracovanie dvojnásobného objemu dát v priebehu jedného hodinového cyklu). Prevodník RAMDAC pracuje na frekvencii 350 MHz.



q Monitor

Na obrazovku je z vnútornej strany nanesený luminofór (materiál, ktorý sa rozsvieti po dopade elektrónového papršleku). Luminofór nie je nanesený rovnomerne ale tvorí raster. Presnejšiemu dopadu zväzku elektrónov na jednotlivé luminofórové body napomáha mriežka (maska) s presne rozmiestnenými otvormi pred obrazovkou. Každý farebný bod pozostáva z troch základných zložiek. Emisia elektrónov môže byť zaistená :
  • troma samostatnými tryskami;
  • jediným emitorom, ktorý vypúšťa tri samostatné papršleky (usporiadanie TRINITRON).
Svetelný bod je zostavený z 3 luminofórových zložiek RGB. Luminiscenčné body bývajú vzdialené 0,28 mm, u špičkových luminofórov majú rozteč 0,25 mm.

Vertikálna vychyľovacia frekvencia V-Sync ovláda pohyb papršleku hore a dole, teda po stĺpcoch s frekvenciou okolo 75 Hz. Je to obnovovacia frekvencia obrazu, pri ktorej oko už neregistruje blikanie obrazu. Prekresľovanie obrazu može byť v režime:

  • Prekladanom (Interlaced), v ktorom sa uľahčuje elektronike vykreslenie potrebného počtu riadkov tak, že kreslí ob linku - jednu obrazovku zloženú z párnych riadkov a nasledujúcu len z nepárnych riadkov.
  • Neprekladanom (Non Interlaced -NI), v ktorom je kreslený normálne jeden riadok za druhým.
Horizontálna vychyľovacia frekvencia H-Sync ovláda vychyľovanie papršlekuo d ľava do prava , teda po riadkoch. Napríklad pri rozlíšení 800x600 a obnovovacej frekvencii obrazu 75 Hz musí papršlek pre nakreslenie jednej obrazovky prebehnuť 600 riadkov a za sekundu nakresliť 75 obrazoviek. Potrebná veľkosť horizontálnej frekvencie je 600x75 = 45 kHz.

Súhrnným parametrom charakterizujúcim elektroniku monitora je šírka pásma. Napríklad pri rozlíšení 800x600 a obnovovacej frekvencii 75 Hz treba za sekundu dopraviť 800x600x75x1,5 = 5906250 údajov, čomu zodpovedá šírka pásma 59 MHz (koeficient 1,5 charakterizuje príspevok riadiacich signálov).
 
 
obr. 52. Blokové zapojenie zobrazovacieho systému.
 
 
 
 
 
 
 

 



q Videoadaptér

Úlohou tejto druhej časti zobrazovacej sústavy je určiť polohu jednotlivých bodov (pixelov) a priradiť im farebný kód - videokarty vlastne konvertujú príkazy mikroprocesora na elektrické signály, ktorými sa potom riadi monitor.

Základnou súčasťou videoadaptéra je videokontrolér, ktorý spracováva inštrukcie od mikroprocesora, vykonáva vlastné výpočty a odovzdáva dáta prevodníku RAM DAC (konvertuje dáta z pamäti na výstupný analógový signál pre monitor). Dôležitým indikátorom videokontroléra je jeho dátová šírka: 32 bit je už zastaralých, 64 bit je dnes štandardom, špičkou je 128 bit.

Videokontrolér zapisuje informáciu o každom zobrazovacom bode do videopamäti. Základné požiadavky kladené na videopamäť:

  • Dostatočná kapacita pamäte. Napríklad pre rozlišovací režim 800x600 = 480000 pixelov s 16 = 24 farebným zobrazením, špecifikovaným pomocou 4 bitov treba veľkosť pamäte (480000x4)/8 bajtov.
  • Dostatočne rýchla , aby sa dáta rýchle snímali a prenášali na obrazovku. Používajú sa rovnaké druhy pamäťových obvodov ako v operačnej pamäti (DRAM, resp. špecialne obvody pre videoadaptér EDO RAM).

 
obr. 53. Využitie oblasti videoRAM rôznymi obrazovými adaptérmi. Videopamäť adaptéru má tú zvláštnosť, že sa môže premietať do 3 rôznych adresných priestorov. Pre textové módy sa tento priestor začína na adrese B800:0 H a končí na B800:7FFF H. Pre grafické módy ide minimálne o priestor od A000:0H po A000:FFFFH.

 

Videokontrolér

tvorí :
  • rozhranie k systémovej zbernici počítača, cez ktoré sa ovláda zápis informácia na zobrazovanie do videopamäte a prenáša sa stavová informácia o tomto procese ;
  • rozhranie k monitoru, ktoré periodicky obnovuje zobrazenie na základe prekonvertovaných dát na jednotlivé zložky jasovej modulácie, resp. na požadovný formát videosignálu.
Celú komplikovanú čínnosť videokontroléra riadia sústava vnútorných registrov (v prípade adaptéra VGA 255 registrov), ktoré sú združené do kontrolérov CRTC, ATC, GDC a sequencera SEQ a sú prístupné cez adresy I/O portov.
  • CRTC (Cathode Ray Tube Controller) - kontrolér ovládajúci generovanie obrazu , ktorý ovláda časový priebeh pohybu papršleku s frekvenciou obnovy obrazu okolo 70 Hz, odlišnej od frekvencie siete 50 Hz, bez prekladania riadkov.
  • ATC (Attribute Contoller) - kontolér ovládajúci farebné atribúty signálu. CRTC a ATC spolupracujú pri generovaní obrazu.
  • GDC ( Graphic Data Controller ) - grafický kontrolér, ktorý riadi prístup k videopamäti zo strany procesora.
  • SEQ (Sequencer) - kontrolér pre sekvenčné adresovanie videopamäte. Pri generovaní obrazu zabezpečuje synchronizáciu hardware s CRTC a definuje aj usporiadanie a prístup k videopamäti.

 
obr. 54. Skupinové zapojenie adaptéra EGA/VGA.


Pamäťové mapy a bitové roviny v grafických módoch

Potrebná veľkosť videopamäti v grafickom móde závisí od počtu zobrazovaných bodov na obrazovke (pixel - picture element ) a od nárokov na množstvo farieb. Obrazovku teda možno chápať ako maticu bodov, napríklad pre adapter EGA 640*350 bodov. Ak može byť každý bod zafarbený jednou zo 16 farieb (4 bit => 0.5 bajtová informácia), tak štandarný grafický mód EGA potrebuje 640*350*0.5 = 112000 bajtov videopamäte. Pre jednofarebné zobrazenie s horšim rozlíšením, napríklad v grafickom móde adaptéra CGA treba 640*200/8 = 16 kB.
 
 
 
obr. 55. Mapovanie videopamäti v grafickom EGA móde. Štyri rôzne bajty na rovnakých pozíciách v pamäťových mapách majú rovnakú adresu zo strany adresnej zbernice CPU. Jednotlivé bity tohoto logického bajtu sú vždy priemetom 4 bitov z jednotlivých máp a každý z nich definuje jeden bod na obrazovke v rozsahu 16 farieb. 

 
 
 
Obr. 56. Spracovanie pseudofarebnej informácie z bitových rovín u VGA. Informáciou uloženou v bitových rovinách nemusí byť vždy priamo definovaná skutočná farba. V kvalitnejších adaptéroch (napríklad VGA) táto štvorica bitov udáva len číslo registra farby palety, ktorý potom obsahuje kód zobrazovanej farby.

 

V grafickom móde sa používa tzv. mapovanie pamäti (memory maps) do menšieho logického adresovacieho priestoru, ktoré umožňuje, aby sa jeden bit adresovacieho priestoru premietal do 4 príslušných bitových rovin ((bit planes), v ktorých sa nachádza informácia o jednotlivých bitoch farebného kódu (IRGB). Ak má adaptér k dispozícii napríklad pamäť 256 KB tak podľa popísaného rozdelenia pripadá na jednu bitovú rovinu 64 KB. Každý pixel je teda reprezentovaný štvoricou spriahnutých bitov a každý z bitov je uložený v inej rovine. Napríklad pixel (0,0) v ľavom hornom rohu obrazovky bude na adrese A000:0 H a jeho napríklad tyrkysové zafarbenie zabezpečí 4 bitové číslo 0011B, uložené v jednotlivých bitových rovinách ( pamäťových mapách), spriahnutých s adresou daného pixelu (0,0). Bity R (red), G (green), B(blue) v staršich typoch adaptérov , napríklad v CGA zodpovedajú priamo farbe signálu a v novších typoch adaptérov slúžia ako ukazovateľ ( pointer ) na jeden z palety registrov, ktoré potom obsahujú 3*6 bitový kód farby. Pomocou 6 bitov možno vytvoriť 64 odtieňov každej základnej zložky farby takže celkove v každom registri jednu z 64*64*64 = 262144 farieb. Pritom atribút ovláda monitor u starších typov adaptérov (CGA, EGA) digitálnym spôsobom a u novších typov adaptérov pomocou DAC prevodníka analógovým spôsobom.



Fonty a videostránky v textových módoch BIOS

V textovom (alfanumerickom) režimesa používa na zobrazenie jedného znaku dvojbajtová informácia: ASCII kód znaku a atribút . Na základe ASCII kódu sa rozkreslí tvar znaku a na základe atribútu sa určí jeho zafarbenie a farba podkladu Pritom horná štvorica bitov atribútu definuje farbu pozadia ( Ak bit pozadia b = 1 tak zobrazenie znaku bliká ). Dolná štvorica bitov atribútu definuje zafarbenie textu, pričom textový bit I = 1 zvyšuje intenzitu odtieňa farby.

Význam jednotlivých bitov atribútu znaku:
 
 
  pozadie text
číslo bitu 7 6 5 4 3 2 1 0
význam b R G B I R G B

  kde:
 


 

Význam farebného zakódovania.
0000 - čierna 0100 - červená (R)
0001 - modrá(B) 0101 - fialová
0010 - zelená(G) 0110 - hnedá
0011 - tyrkysová 0111 - tmavo sivá
Význam farebného zakódovania.
1000 - svetlo sivá 1100 - svetlo červená
1001 - svetlo modrá 1101 - svetlo fialová
1010 - svetlo zelená 1110 - žltá
1011 - svetlo tyrkysová 1111 - biela
 napríklad 4EH - sa interpretuje ako žlty text na červenom pozadí
 
 
 Obr. 57. Mapovanie videopamäti v textovom mode (využívajú sa len bitové roviny 0 a 1 - v bitovej rovine 0 sú uložené ASCII hodnoty a v rovine 1 atribúty. Logika adresovania je však nastavená tak, že obe roviny sa premietajú do logického adresového priestoru pamäte tým spôsobom, že ASCII hodnoty sú na párnych adresách a atribúty na nepárnych adresách. Celá obrazovka textu s 25 riadkami po 80 znakov v riadku spotrebuje celkom 80*25*2 = 4000 bajtov.) Tretia bitová mapa na obrázku je vyhradená pre uloženie fontových blokov. Každý fontový blok má pre definíciu znaku vyhradených 32 bajtov. Pri menšej výške znaku sa využíva len začiatočných 8 alebo 14 začiatočných bajtov a zvyšok je nevyužitý. (Tvary znakov sa takto nachádzajú vždy na rovnakých adresách). VGA má celkom 8 fontových 8KB blokov, EGA v dôsledku menšej videopamäti len 4 bloky.

 
 
Obr. 58. Schéma objasňujúca funkciu generátora znakov, pomocou ktorého sa vykresľujú na obrazovke tvary znakov.

 


 
Obr. 59. Štruktúra fontu a fontového bloku. Bitová rovina 3, v ktorej sú uložené fontové bloky nie je v textovom móde programovo prístupná. V grafických módoch táto bitová rovina však obsahuje normálne videodáta a preto pri kombinovaných grafických a textových výstupoch môže byť fontový blok, neštandardnej abecedy, uložený vo videoRAM prepísaný grafickým zobrazením a následne BIOSom nastavený na implicitný font.

Videopamäť, ktorá je k dispozícii v IBM PC je podstatne väčšia ako 4KB. Preto je video pamäť BIOSom logicky rozdelená na niekoľko časti tzv. video stránok (video pages), z ktorých každá obsahuje definíciu jednej obrazovky, pričom aktuálne sa vždy zobrazuje len jedna videostránka. Jednotlivé videostránky napríklad VGA potom začínajú na adresách 0000H, 1000H, 2000H…7000H. V najbežnejších textových módoch býva v riadku 80 znakov. Na zaplnenie obrazovky s 25 riadkami treba pamäť 2*80*25= 4000 bajtov. Nakoľko 4kB = 4096 je na každej textovej stránke nevyužitých 96 bajtov, čo sa niekedy využíva na "zmiznutie kurzora" pomocou jeho umiestnenia na neexistujúci 25 riadok (teda vlastne do tejto medzery).

Znaky sa premietajú na obrazovku ako sériová postupnosť 2 bajtov (ASCII kód, atribút znaku) a rozdelenie videopamäti na videostránky je čiste logická záležitosť BIOSu. S hľadiska HW je poloha znaku určená offsetom znaku vo videopamäti (spôsobom video_segment:offset_znaku). V závislosti od polohy znaku na riadku Row_No (0 - 24) a stĺpci Cols_No (0 - 79), je posunutie:

    Offset_znaku = (Row_No*80*2) + (Cols_No*2)
Z dôvodov zachovania kompatibility pri vývoji rôznych adaptérov býva adresa videosegmentu v textových módoch najčastejšie B800H, tak ako u adaptéra CGA. Pre grafické a textové módy zobrazovania sa teda používajú rôzne oblasti do ktorých sa mapuje videopamäť.

V grafickom móde sa znaky softwarovo kreslia pomocou pixelov . V textových módoch sa znaky zobrazujú hardwarovo pomocou generátora znakov. Základná definičná tabuľka znakov býva v pamäti ROM. Vzorka 128 znakov mimo základný rozsah 01 až 7FH , je uložená v oblasti nepoužívanej videopamäte RAM na adrese, ktorú špecifikuje prerušenie INT 1FH, ( na adrese 0:007CH), takže oblasť znakov 80 - FFH možno predefinovať, napríklad podľa potrieb diaktriky národných abecied.

Každý znak v textovom móde je definovaný tvarom (font), na ktorý sa odvoláva pomocou pointera, ktorý tvorí ASCII kód znaku (0 - 255) . O vykreslenie znaku o rozmeroch m*n (m - šírka, n - výška v počte pixelov ) sa stará HW generátor znakov. Pri 80 znakoch v riadku je šírka fontu m= 640/80 = 8 bodov a pri 25 riadkoch je výška znaku n = 350/25 = 14 bodov. Pri rovnakej šírke m = 8 pixelov závisí výška znaku od typu adaptéra. Možno ju meniť, napríklad pri výške znaku 8 bodov bude 350/8 = 43 riadkov. Základná definičná tabuľka so štruktúrou fontového bloku o max výške znaku až 32 bodov potrebuje 256*32 = 8kB a je tak navrhnutá. že každý bodový vzor znaku sa nachádza na stálej adrese, aj keď výška znaku je meniteľná. Preto zostane pri rôznych výškach znakov časť 32 - n bajtov v rámci každého znaku voľná. Adresu tabuľky fontového bloku možno zistiť, resp. modifikovať pomocou prerušenia BIOS INT 10H/ ax = 1130H.
 
 
 
Obr. 60. Bodový vzor znaku. ASCII kód znaku sa používa ako ukazovateľ do tabuľky definíc znakov, kde je každému ASCII kódu (0 - 255) priradený bodový tvar znaku.

 

Pretože BIOS je uložený v pamäti ROM ukladá si najdôležitejšie parametre nastavenia videomódu do vyhradenej oblasti pre BIOS data (od adresy 400:0 po 400:FF a v rámci nej do Video_Display_Data_Area) . Niektoré z nich sú v tabulke:
 
 
Adresa Počet byte Názov implicitné nastavenie
449H 1 MODE - aktuálny videomód 3
44AH 2 COLS -počet stĺpcov textu 50H=80
44cH 2 REGEN_SIZE - rozmer 1 videostránky 1000H=4kB
44EH 2 Video_start - začiatok videopamäti 0
462H 1 Active_Page - aktívna videostránka 18H = 24
482 1 ROWS - počet riadkov-1 18H=24
485H 2 POINTS - výška znaku [ pixel] 14


Vhodná videokarta

K najdôležitejším častiam grafických kariet patrí videoprocesor, videopamäť (typ s malou prístupovou dobou - 20 až 30 ns, poprípade s ďalšími pokrokovými technikami, ako je dual port RAM, zabezpečujúci väčšiu šírku dátovej zbernice) a prevodník RAMDAC.

Grafické karty možno rozdeliť na dve veľké skupiny:

  • Klasické zariadenia bez akcelerátora (napríklad karta Trident 8900 vybavená 512kB RAM s možnosťou rozšírenia do 1MB pre 14 palcové monitory). Najväčšou nevýhodou týchto kariet je absencia podpory grafických funkcii, ktoré urýchľujú prostredia operačných systémov. V takomto prípade sa všetky grafické operácie (napríklad presun okna alebo animácia) vykonávajú pomocou procesora počítača, čím sa stráca jeho výkon.
  • Grafické karty označované ako akcelerátory, ktoré vykonávajú väčšinu grafických operácii, takže procesor sa môže venovať iným činnostiam (napríklad produkty S3 alebo Trio 64 V+, ktoré umožňujú manipulovať až s tromi samostatnými prúdmi obrazových dát a spracúvať neštandardné grafické údaje). Procesoru teda stačí poslať karte jednoduché základné inštrukcie a prekresľovanie obrazu ponechá jej.
Po vzniku nových typov inteligentných videočipov (grafických procesorov AGP F) a širokej zbernice PCI (v súčasnosti 64 bit , no v blízkej budúcnosti nástup 128-bitových modelov) nastalo rozšírenie dátovej zbernice, cez ktorú prechádzajú dáta do videopamäte.

Videokarta s väčšou kapacitou videopamäte je vhodná k monitorom s väčšou uhlopriečkou, napríklad 15 alebo 17 palcov. Veľká kapacita videopamäte umožňuje pracovať vo vysokom rozlíšení s veľkým počtom farieb, ale nevplýva na zvýšenie rýchlosti. Videopamäť 1 MB postačí na rozlíšenie 800x600 pri 65535 farbách, poprípade na 1024x768 bodov v 256 farbách. Pre 15 palcové monitory sú vhodnejšie 2 MB videopamäte, s ktorými možno zobraziť 1024x768 bodov v 65 535 farbách. So 4 MB možno pracovať s paletou 16,7 milión farieb.

Prevodník RAMDAC je zariadenie, ktoré konvertuje digitálne dáta prichádzajúce z procesora na analógový signál, ktorý je vysielaný k monitoru. Rýchlosť RAMDAC je dôležitá, lebo pokiaľ prevodník nedočíta dáta z pamäte, čip nemôže zapisovať nové dáta. Napríklad pri rozlíšení 1024x768 a obnovovacej frekvencii obrazu 90 Hz musí byť 92 MHz. Čím vyššie rozlíšenie, tým by mala byť frekvencia prevodníka vyššia (špičkové RAMDAC dokážu pracovať až na frekvencii 220 MHz.)

Okrem požiadaviek na rýchlosť karty sa pri podpore videa a 3D aplikáciách používa aj kompresia zvukových a najmä obrazových dát. V súčasnosti sa používa na podobné účely metóda MPEG  v hardwardovej alebo softwarovej podobe. Vysoký stupeň kompresie sa dosahuje niekoľkými trikmi, napríklad v sekvencii obrázkov sa zachováva kompletná informácia iba pre niektoré snímky. Ostatné obrázky sú zachované v redukovanej podobe takým spôsobom, že sa ukaldajú iba zmenené údaje obrazu.



Demopríklad :

Videostránka v textovom móde 2000 * 2 = 4000D = 1000H. Z toho odpočítať - 4 * 24 = 60H => 1000H - 60H = FA0H - 1 = F9FH na určenie koncovej adresy posledného znaku na obrazovke.
 
 
videopage začiatočná adresa. adresa konca stránky
0 0H 0F9FH
1 1000H 1F9FH
2 2000H 2F9FH
3 3000H 3F9FH
  1. a/ zaplniť znak / atribut “G” = 47H => biely text na červenom pomocou príkazu debug F(fill)
       
       
      F B800:0 L50 "HGOGRGEG" => load 50 krát HORE s atribútom 47H
      F B800:7CAH "SVTVRVEVDV" hnedy text na fialovom  =>  STRED
      F B800:FD4H "A" 07 42 70 43 37 44 73 => ABCD vpravo dole.
  1. b / uložiť rôzne zafarbenie na rôzne stránky pomocou príkazu debug F(fill)
    •  
       
      F B800:0 LF9F B0 07
      F B800:1000 LF9F 32 17
      F B800:2000 LF9F 33 20
      F B800:3000 LF9F 34 37
  1. c /potom postupne prepínať stránky pomocou T (trasovania) uloženého kódu pomocou režimu A (assemble)
    •  
       
      mov ax, 0501  (prepnutie na 1 stránku pomocou int 10h/ ah = 5)
      int 10H
      mov ax, 0502  (resp. na ďalšie stránky pomocou 0502, 0503)
      int 10H
      mov ax, 0503
      int 10H

Zobrazovacia jednotka - zhrnutie

Základná doska PC neobsahuje hardware pre zobrazovanie informácie na monitore, preto na prevod informácie z videopamäte na videosignál, ktorý smeruje do zobrazovacej jednotky (najčastejšie monitora) je potrebná karta grafického adaptéra, poprípade samostatný grafický procesor.

Základnou súčasťou grafického adaptéra je:
  • videopamäť ( s malou prístupovou dobou   a s čo najväčšou šírku dátovej zbernice). Informácia o farbe zobrazovaného bodu na obrazovke (pixel - picture element,  ktorého farba je zadefinovaná pomocou registra farby palety ) sa špecialnym spôsobom mapuje do bitových rovín videopamäte.
  • prevodník RAMDAC, konvertuje digitálne dáta prichádzajúce z procesora na analógový signál, ktorý je vysielaný k monitoru. Čím vyššie rozlíšenie monitora, tým by mala byť rýchlosť (frekvencia) prevodníka vyššia (špičkové RAMDAC dokážu pracovať až na frekvencii 220 MHz.).
Grafické karty možno rozdeliť na tri veľké skupiny:
  • Jednoduchý grafický adaptér, v ktorom sa všetky grafické operácie (napríklad presun okna alebo animácia)  vykonávajú pomocou procesora počítača CPU, čím sa stráca jeho výkon.
  • Grafické karty označované ako akcelerátory, samotné vykonávajú väčšinu grafických operácii, takže procesor sa môže venovať iným činnostiam.  Procesoru teda stačí poslať karte jednoduché základné inštrukcie a prekresľovanie obrazu ponechá jej.
  • Moderný grafický číp - grafický procesor GPU (Graphics Processor Unit) v mnohých ukazovateľoch nezaostáva za mikroprocesorom. GPU vykonáva všetky grafické inštrukcie a tak nielen šetrí strojový čas mikroprocesora počítača, ale najmä zrýchľuje dostupnosť údajov. Tie už totiž nemusia pri spracovaní v mikroprocesore putovať prostredníctvom zbernice do operačnej pamäte a odtiaľ do grafickej karty. V praxi to teda vyzerá tak, že v momente, keď sa v programe vyskytne inštrukcia na spracovanie obrazu, tú vykoná nie CPU, ale GPU.

Grafické karty v PC pôvodne slúžili na zobrazovanie textových informácii, iba neskoršie so zvyšovaním kvality a kapacity videopamäte sa ich úloha posunula k zobrazovaniu grafických informácii. 

  • V textovom režime je obrazovka rozdelená na malé políčka (napríklad 80 stĺpcov a 25 riadkov), z ktorých každé zobrazí 1 znak. Tento spôsob je hardwardovo  nenáročný a rýchly. V textovom  režime sa používa na zobrazenie jedného znaku dvojbajtová informácia:ASCII kód znaku a atribút.  (Celá obrazovka textu s 25 riadkami po 80 znakov v riadku spotrebuje celkom 80*25*2 = 4000 bajtov.) Každý znak v textovom móde je definovaný tvarom (font), na ktorý sa odvoláva pomocou pointera, ktorý tvorí ASCII kód znaku (0 - 255) . O vykreslenie znaku o rozmeroch m*n (m - šírka, n - výška v počte pixelov ) sa stará HW generátor znakov.
  • V grafickom  režime je obrazovka rozdelená na maticu bodov (napríklad 800 bodov v riadku a 600 bodov v stĺpci pri VGA štandarde). Rozsvecovaním určitých bodov možno vytvoriť text, obrázok alebo animáciu. Potrebná veľkosť videopamäti v grafickom móde závisí od počtu zobrazovaných bodov na obrazovke (pixlov ) a od nárokov na množstvo farieb. Obrazovku teda možno chápať ako maticu bodov, napríklad pre adapter EGA 640*350 bodov. Ak može byť každý bod zafarbený jednou zo 16 farieb (4 bit => 0.5 bajtová informácia), tak štandardný grafický mód EGA potrebuje 640*350*0.5 = 112000 bajtov videopamäte.
Videokarta s väčšou kapacitou videopamäte je vhodná k monitorom s väčšou uhlopriečkou, napríklad 15 alebo 17 palcov. Veľká kapacita videopamäte umožňuje pracovať vo vysokom rozlíšení s veľkým počtom farieb, ale nevplýva na zvýšenie rýchlosti. Videopamäť 1 MB postačí na rozlíšenie 800x600 pri 65535 farbách, poprípade na 1024x768 bodov v 256 farbách. Pre 15 palcové monitory sú vhodnejšie 2 MB videopamäte, s ktorými možno zobraziť 1024x768 bodov v 65 535 farbách. So 4 MB možno pracovať s paletou 16,7 milión farieb.

Okrem požiadaviek na rýchlosť karty sa pri podpore videa a 3D aplikáciách používa aj kompresia zvukových a najmä obrazových dát. V súčasnosti sa používa na podobné účely metóda MPEG  v hardwardovej alebo softwarovej podobe. Vysoký stupeň kompresie sa dosahuje niekoľkými trikmi, napríklad v sekvencii obrázkov sa zachováva kompletná informácia iba pre niektoré snímky. Ostatné obrázky sú zachované v redukovanej podobe takým spôsobom, že sa ukladajú iba zmenené údaje obrazu.


 Win 1250          Návrat na stránku   HTML 4.0 
Back


Next