ďťż
Nie chcesz mnie, Ben. SkĹadam siÄ z siedmiu warstw popieprzenia okraszonych odrobinÄ
gĂłwnianego szaleĹstwa.
Układu sterowania wyświetlaczem (kontrolera CRT) - odpowiadającego za zachowanie zależności czasowych podczas wyświetlania obrazu oraz wyświetlającego kursor. Karta VGA posiada piąty element: przetwornik cyfrowo-analogowy, przetwarzający wzorce cyfrowe na sygnał analogowy przesyłany do monitora. Powyższe układy zawierają od kilkudziesięciu (karta EGA) do kilkuset (karta VGA) programowalnych rejestrów sterujących. Z punktu widzenia procesora, karta graficzna to zbiór portów wejścia-wyjścia i obszar pamięci obrazu - programowanie sterownika sprowadza się zatem do zapisu oraz odczytu do i z pamięci oraz portów wejścia-wyjścia. Pamięć obrazu jest odwzorowana bezpośrednio w przestrzeni adresowej procesora, pomiędzy adresami A000:0000h a B000:FFFFh, pozwalając na wykorzystanie do zapisu lub odczytu instrukcji mov lub mosv.
Na pamięć obrazu przeznaczone jest 128 kB przestrzeni adresowej procesora. Była to ilość wystarczająca dla kart CGA. Standardowy sterownik VGA posiada 256 kB pamięci RAM, a karta SVGA co najmniej 512 kB. Z tego powodu pamięć obrazu zorganizowana jest na różne sposoby, w zależności od trybu pracy sterownika. W trybach odziedziczonych po kartach CGA wykorzystywana jest spakowana (ang. packed) metoda odwzorowania pamięci - w jednym bloku pamięci RAM każdemu punktowi na ekranie odpowiada fragment bajtu zawierający numer koloru tego punktu (rysunek 8.1). Pole odpowiadające jednemu punktowi wynosi zwykle l, 2, 4 lub 8 - co odpowiada 2, 4, 16 lub 256 kolorom obrazu. Dla kart EGA i VGA podstawową metodą odwzorowania ekranu jest metoda płatowa (ang. planar, bit mapped). Pamięć obrazu dzielona jest na 4 płaty (bloki) po 64 kB każdy (patrz rysunek 8.2). W każdym bloku jednemu bitowi odpowiada jeden punkt - dzięki takiej strukturze 256 kB pamięci obrazu zajmuje 64 kB przestrzeni adresowej. Konsekwencją przyjętej organizacji pamięci jest utrudniony dostęp do danych. Zapis lub odczyt wymaga dodatkowo programowania rejestrów układu graficznego. Karty SVGA umożliwiają współpracę z co najmniej 512 kB pamięcią obrazu. Ponieważ na pamięć obrazu zarezerwowane jest 128 kB przestrzeni adresowej procesora, do dostępu do pamięci karty SVGA wykorzystują technikę stronicowania - polegającą na kojarzeniu z niewielkim obszarem pamięci (oknem) w przestrzeni adresowej różnych fragmentów większego obszaru pamięci (stron lub banków). Zapis lub odczyt adresu położonego wewnątrz okna powoduje zapis lub odczyt odpowiadającego mu bajtu w banku. Rozmiar banku i okna wynosi zwykle 64 kB. Aby uzyskać dostęp do pamięci położonej poza ob.-rębem bieżącego banku, należy zmienić zawartość rejestru sterującego położeniem banku (przeważnie nosi on nazwę Bank Start Address). Stronicowanie pamięci wykorzystuje jedną z następujących technik: -pojedyncze okno,
-dwa nakładające się okna,
-dwa nie nakładające się okna .
We wszystkich metodach stronicowania ważnym parametrem jest odstęp pomiędzy po-j czątkami kolejnych banków (granularity*) - może być on mniejszy niż rozmiar banku, co oznacza, że kolejne banki mają część wspólną. W trybach graficznych SVGA w obrębie banku odwzorowanie pamięci obrazu jest identyczne jak w analogicznych trybach VGA. Tryby tekstowe
W trybach tekstowych pamięć obrazu sterowników EGA, VGA i SVGA zorganizowana jest tak samo jak w sterowniku MDA i CGA. Z tego powodu została zachowana całkowita zgodność pomiędzy poszczególnymi rodzajami kart graficznych. Każdy znak reprezentowany jest przez dwa bajty pamięci obrazu. Pierwszy z nich zawiera kod ASCII wyświetlanego znaku, drugi zaś określa jego atrybut. Wyświetlanie znaków odbywa się bardzo szybko, gdyż do zapisania jednego znaku wymagane jest przesłanie tylko dwóch bajtów. W pamięci obrazu kody znaków zapisane są na przemian z atrybutami, dlatego do wyświetlania znaków można wykorzystać instrukcję asemblera rep movsx. W pamięci obrazu można przechowywać do ośmiu stron tekstu, w zależności od ilości zainstalowanej pamięci i trybu pracy. Dostępne tekstowe tryby pracy podaje tabela 8.2. Tabela 8.2
|
WÄ
tki
|