Karty graficzne
Karta graficzna, często też określana też mianem akceleratora grafiki, to element komputera tworzący sygnał dla monitora. Podstawowym zadaniem karty graficznej jest przechowywanie informacji o tym jak powinien wyglądać ekran monitora i odpowiednim sterowaniu monitorem.
Większość kart graficznych (i wszystkie współczesne) składają sie z następujących elementów:
- Procesor graficzny (GPU) - odpowiedzialny za generowanie obrazu w pamięci obrazu
- Pamięć obrazu - VideoRAM, bufor ramki (ang. framebuffer) - przechowuje cyfrowe dane o obrazie.
- Pamięć ROM - pamięć przechowująca dane (np. dane generatora znaków) lub firmware karty graficznej, obecnie realizowana jako pamięć flash
- DAC - przetwornik C/A (ang. Digital-to-Analog Converter) - odpowiedzialny za przekształcenie cyfrowych danych z pamięci obrazu na sygnał sterujący dla monitora analogowego; w przypadku kart wyłącznie z wyjściem cyfrowym DAC nie stosuje sie Interfejs do systemu komputerowego - umożliwia wymianę danych i sterowanie kartą graficzną - zazwyczaj PCI, AGP, PCI-Express.
Wiele z kart graficznych posiada także:
- Framegrabber - układ zamieniający zewnętrzny, analogowy sygnał wideo na postać cyfrową
- Procesor wideo - układ wspomagający dekodowanie i przetwarzanie strumieniowych danych wideo; w najnowszych konstrukcjach zintegrowany z procesorem graficznym.
Pierwsze karty graficzne potrafiły jedynie wyświetlać znaki alfabetu łacińskiego ze zdefiniowanego w pamięci karty generatora znaków - tryb tekstowy. Kolejna generacja kart graficznych potrafiła już wyświetlać w odpowiednim kolorze poszczególne punkty (piksele) - tryb graficzny. Nowoczesne procesory graficzne udostępniają wiele funkcji ułatwiających i przyśpieszających pracę programów. Możliwe jest narysowanie odcinka, trójkąta, wieloboku, wypełnienie ich zadanym kolorem lub wzorem, tzw. akceleracja 2D. Większość kart na rynku posiada również wbudowane funkcje ułatwiające tworzenie obrazu przestrzeni trójwymiarowej, tzw. akceleracja 3D. Niektóre posiadają zaawansowane algorytmy potrafiące na przykład wybrać tylko widoczne na ekranie elementy z przestrzeni.
W 1979 roku firma IBM rozpoczęła sprzedaż swojego pierwszego komputera osobistego w którym wyświetlano informacje na ekranie zdolnym pomieścić 16 linii, po 64 znaki każda. W 1981 roku IBM wprowadził do sprzedaży IBM 5150 Personal Computer, które doczekało się lepszego adaptera graficznego - MDA (Monochrome Display Adapter). Urządzenie potrafiło wyświetlić aż 25 linii tekstu, z których każda mieściła 80 znaków. Do tego dochodziły cztery "kolory" liter: biały (a właściwie szary), czarny, rozjaśniony biały oraz podkreślenie. MDA wysyłał cyfrowy sygnał i pracował jedynie z odpowiednimi, monochromatycznymi monitorami TTL. Niedługo potem IBM zaproponował swoją pierwszą kartę graficzną - CGA (Color Graphics Adapter), która prócz tekstowych trybów pracy oferowała pierwsze tryby graficzne. Pierwszy, chyba najbardziej utożsamiany z CGA, miał rozdzielczość 320x200, z "oszałamiającą" liczbą czterech kolorów (dostępnych z dwóch palet: pierwsza zawierała kolory: biały, czarny, różowy i jaskrawoniebieski, a druga także biały i czarny oraz niezdecydowany zielony i pomarańczowoczerwony). Drugi tryb oferował większą rozdzielczość - 640x200, jednak już tylko w dwóch kolorach. W 1982 roku powstał słynny "Hercules". Oferował tryb tekstowy 80x25 oraz wysokorozdzielczy graficzny tryb monochromatyczny (czarno-biały) 720x348. Całkiem przyzwoita karta graficzna - EGA (Enhanced Graphics Adapter) - powstała dopiero dwa lata później. Była zgodna z CGA oraz MDA i oferowała nowy tryb graficzny: 640x350 przy 16-tu kolorach (z palety 64 barw). Podobnie jak wszystkie poprzednie karty, dawała cyfrowy sygnał TTL (RGBI) i współpracowała z kolorowymi oraz monochromatycznymi monitorami TTL. W 1987 roku pojawiła się na rynku karta PGA, posiadająca tylko jeden tryb graficzny - 640x480 przy 256 kolorach. W tym samym roku, 2 kwietnia, narodziła się karta graficzna z prawdziwego zdarzenia - VGA (Video Graphics Array), będąca do dziś minimalnym standardem we wszystkich aplikacjach graficznych. Dla graczy oferowała 256-kolorowy tryb pracy przy rozdzielczości 320x200, a do codziennej pracy 16 kolorów w rozdzielczości 640x480. VGA miała także szybkie tryby tekstowe i była zgodna z CGA i EGA. VGA, jako jedna z pierwszych, wysyłała analogowy sygnał RGB, który mógł wyświetlać teoretycznie nieskończoną liczbę kolorów. Dla użytkowników bardziej profesjonalnych IBM zaprojektował także kartę 8514/A, oferującą oszałamiającą wówczas maksymalną rozdzielczość 1024x768 przy 256 kolorach. w 1990 roku, IBM zaproponował swą nową kartę graficzną - XGA (eXtended Graphics Array). Kartom graficznym wciąż rozszerzano pamięć, by uzyskać wyższe rozdzielczości w wyższych trybach graficznych. Na początku procesory graficzne komunikowały się z pamięcią karty po 16-bitowej szynie. Szynę tę zastąpiono 32-bitową, następnie 64-bitową, zaś dziś coraz większą popularność zdobywa szyna 128-bitowa. Jedną z pionierskich kart graficznych posiadających pierwsze funkcje 3D była sławna Millennium firmy Matrox. firma NVIDIA rozpoczęła sprzedaż swego nowego układu - 128-bitowego RIVA 128 (Real-time Interactive Video and Animation). Był to pierwszy układ, który w testach Direct3D wyprzedził Voodoo, osiągając wyniki nawet dwukrotnie lepsze! Karty graficzne z procesorem RIVA miały ponadto bardzo często wyjścia zespolonego sygnału wizyjnego (Composite Video - umożliwiające przyłączenie do nich np. telewizora) oraz wejścia wideo. Firma 3Dfx nie poddała się i rozpoczęła sprzedaż następcy Voodoo - Voodoo2. Nowy układ, podobnie jak jego starszy brat, obsługuje tylko operacje trójwymiarowe. Jest jednak trzykrotnie szybszy od swego poprzednika i tym samym ponownie bije osiągami Rivę. Na rynku pojawia się coraz więcej nowych rozwiązań technicznych do kart grafiki, przedstawicielami najwydajniejszych kart graficznych są obecnie konstrukcje oparte na układach nVidia GeForce 7950 GX2 oraz ATi Radeon 1900XTX.
Jeszcze dwa, trzy lata temu wszystkie karty można było podzielić na cztery podstawowe grupy: bufor ramki, czyli najprostsze urządzenia wyświetlające wyłącznie obraz na ekranie monitora(np. Trident 8900), wspomagające procesor przy wyświetlaniu wielokątów, linii prostych, przesuwaniu i skalowaniu okien itp., akcelerator grafiki trójwymiarowej (czyli urządzenia obciążające jednostkę centralną w końcowym procesie obliczeń 3D), potrzebujące do prawidłowego działania zwykłej karty 2D (3dfx Voodoo), oraz karty 2D/3D z pamiętną Rivą 128 na czele. Obecnie wszystkie produkowane karty zalicza się do tej ostatniej grupy.
Tryby pracy systemu graficznego:
- Tryb tekstowy – wartościom poszczególnych bajtów pamięci są przypisane określone symbole alfanumeryczne wyświetlane na ekranie,wg tzw. tablicy kodowej.
- Tryb graficzny – obraz jest budowany z punktów (pikseli), których parametry są określane przez zawartość od jednego do kilku bajtów tzw. pamięci obrazu.
Standardy karty graficznych PC:
- MDA (Monochrome Display Adapter) -tryb tekstowy, monochromatyczny
- Hercules – tryb tekstowy i graficzny, mono, wysoka rozdzielczość (por. z VGA)
- CGA, EGA (Color Graphics Adapter, Enhanced) -tryby tekstowe i graficzne, palety kolorów
- VGA, SVGA (Video Graphics Array, Super) -tryby graficzne z szeroką paletą kolorów, wysoka rozdzielczość (640x480, 800x600, 1024x768 i więcej)
- Akcelerowane – wyposażone w specjalne układy (3D)