Prekursorem kart graficznych, instalowanych w komputerach rodziny PC, był sterownik, który pojawił się w komputerach IBM PC w roku 1981, o nazwie MDA (ang. Monochrome Display Adapter). Karta pracowała tylko w trybie tekstowym o rozdzielczości 25 linii x 80 znaków [2]. Wyposażona w 4KB pamięci oferowała częstotliwość odchylania pionowego 50 Hz.

Następcą sterownika MDA była karta CGA (ang. Color Graphics Adapter) - opracowana przez IBM w 1982 roku karta jako pierwsza oferowała możliwość korzystania z trybu graficznego. Były to jednak tylko dwie rozdzielczości: 640x200 oraz 320x200 punktów. Karta oferowała 16 KB pamięci - większa rozdzielczość wyświetlana była jedynie w trybie monochromatycznym, zaś niższa "aż" w 4 kolorach. Tryb tekstowy możliwy był również w dwóch wariantach: 80 znaków x 25 linii, bądź 40 znaków x 25 linii, niestety matryca znaku miała rozmiary 8x8 pikseli. Karta oferowała maksymalną częstotliwość odświeżania pionowego 60 Hz.

Karta wykorzystywała spakowaną (ang. packed) metodę odwzorowania pamięci - w danym bloku pamięci RAM każdemu pikselowi obrazu odpowiadał fragment bajtu, zawierający numer koloru tego punktu (np. 1 bit - 2 kolory, 2 bity - 4 kolory, itd.) [1].

Karta Hercules pojawiła się w tym samym czasie co karta CGA. Była ona wyposażona dodatkowo w złącze równoległe, umożliwiające podłączenie drukarki.

Karta oferowała możliwość pracy w rozdzielczości 720x348 punktów (zarówno w trybie tekstowym, jak i graficznym), ale jedynie w trybie monochromatycznym. Wyposażona była w 64 KB pamięci. Znaki w trybie tekstowym wyświetlane były na podstawie matrycy 9x14 punktów. Karta nie miała możliwości współpracy z IBM-BIOS, gdyż nie została wyprodukowana przez IBM.

Aby umożliwić szybszy dostęp do danych pamięć została podzielona była na dwie strony graficzne, natomiast każda ze stron - na cztery banki. Karta EGA (ang. Enchanced Graphics Adapter) to kolejny etap rozwoju CGA. Karta oferowała wyświetlanie obrazu w rozdzielczości 640x350 punktów przy 16 kolorach (wybieranych z palety 64 kolorów). Zaopatrzona była w 256 KB pamięci. Rozdzielczość w trybie tekstowym wynosiła 80x43, przy matrycy znaku 8x14.

Sterownik EGA składał się z czterech głównych bloków funkcjonalnych [1]:

Pamięć wideo opisywanej karty podzielona jest na cztery 64KB obszary (rozwiązanie to jest wykorzystywane również w kartach VGA). Trzy kolory podstawowe (RGB) przyporządkowane są do kolejnych obszarów, zaś czwarty z obszarów zawiera informacje o intensywności z jaką ma być wyświetlony dany kolor. Tak więc jeden piksel zawiera swoje składowe w czterech blokach pamięci. Dzięki takiej strukturze 256 KB zajmuje 64 KB przestrzeni adresowej. Rozwiązanie to nosi nazwę metody płatowej (ang. planar, bit maped), a jego wadą jest to, że utrudniony zostaje dostęp do danych [1]. Karta VGA (ang. Video Graphics Array) to kolejny standard firmy IBM, opracowany z myślą o aplikacjach graficznych. Sterownik ten jest w stanie emulować wszystkie dotychczas opisane standardy.

Cechą wyróżniającą kartę VGA jest fakt, że wysyła ona do monitora sygnały analogowe (poprzedniczki operowały na sygnałach cyfrowych), dzięki czemu zwiększono ilość wyświetlanych kolorów. Zajmuje się tym wyspecjalizowany układ przetwornika cyfrowo-analogowego (DAC - ang. Digital Analog Converter), który jest w stanie przedstawić każdą z barw w postaci określonej liczby poziomów (np. 64) [1].

Standardowy sterownik VGA umożliwia wyświetlanie 25 wierszy znaków w 80 kolumnach (matryca znaku 9x16). Znak może być wyświetlany w jednym z 16 kolorów, natomiast kolor tła dla każdego znaku może być inny.
W trybie graficznym karta VGA umożliwia wyświetlenie obrazu o rozmiarach 640x480 punktów przy 16 kolorach (wybranych z palety 256 kolorów). Maksymalną liczbę kolorów - 256 - osiągnąć można przy rozdzielczości 320x200 punktów. Karty SVGA (ang. Super VGA) są rozszerzeniem techniki VGA. Sterowniki SVGA wykorzystują tzw. 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) [1]. Tak więc, zapis/odczyt adresu położonego wewnątrz okna, powoduje zapis/odczyt odpowiadającego mu bajtu w banku. Rozmiar banku i okna wynosi zwykle 64 KB. Aby dostać się do pamięci spoza bieżącego banku, należy zmienić zawartość rejestru sterującego położeniem banku (ang. Bank Start Adress). Wszystko to po to, aby efektywniej wykorzystać 128 KB przestrzeni adresowej, którą ma zarezerwowaną procesor na pamięć obrazu.

[Karta graficzna Matrox]

Rysunek 2.11. Współczesna karta graficzna firmy Matrox

Dzięki takim, i wielu innym innowacjom, możliwe jest korzystanie z dużej pojemnościowo pamięci, co umożliwia współczesnym kartom graficznym osiąganie rozdzielczości 1280x1024 i wyższych, przy palecie kolorów 16.7 mln. (true color).

Współczesna karta graficzna to wysoko-wydajnościowy system mikroprocesorowy, na którego "pokładzie" znajduje się procesor graficzny, szybka pamięć, magistrala łącząca te dwa elementy (często 64 bitowa), układ przetwornika cyfrowo-analogowego (RAM-DAC) oraz kontroler CRT (ang. Cathode Ray Tube Controller). Zadaniem przetwornika cyfrowo-analogowego jest zamiana cyfrowego sygnału karty na analogowy sygnał RGB, sterujący monitorem. Zadanie kontrolera CRT polega na odczycie danych z pamięci, z określoną częstotliwością (częstotliwość wyświetlania klatek) oraz na sterowaniu częstotliwością synchronizacji pionowej (tzw. odświeżania ) i poziomej.

NASTĘPNA