Karty graficzne Karta graficzna ma za zadanie zarówno
Transkrypt
Karty graficzne Karta graficzna ma za zadanie zarówno
Karty graficzne Karta graficzna ma za zadanie zarówno wyświetlanie obrazu, jak i aktywne współuczestnictwo w jego tworzeniu. I. Budowa karty graficznej 1. RAMDAC (DAC) – układ przetwornika cyfrowo-analogowego zajmujący się wyświetlaniem obrazu, odczytuje zawarte w pamięci karty w postaci binarnej informacje opisujące: - kolory poszczególnych pikseli w trybach graficznych - kody znaków oraz ich atrybuty (kolor, migotanie, itp.) pochodzące z generatora znaków (w trybie tekstowym) Na podstawie odczytanych informacji RAMDAC generuje sygnały elektryczne sterujące monitorem analogowym. Układ RAMDAC zintegrowany jest z procesorem graficznym. Od szybkości pracy tego układu uzależnione są rozdzielczość obrazu i częstotliwość odchylania pionowego (odświeżania obrazu). Karta graficzna poza sygnałami RGB generuje impulsy synchronizacji poziomej HS i pionowej VS, Które synchronizują pracę generatorów odchylania w monitorze ekranowym (tzn. inicjują początek kreślenia nowej linii). 2. Procesor graficzny GPU (akcelerator) – odpowiada za budowanie obrazu w pamięci karty Na żądanie sterownika programowego wykonuje on podstawowe i najczęściej używane operacje graficzne: - kreślenie odcinków, - rysowanie prostokątów, - wypełnianie i kopiowanie obszarów, co przyspiesza działanie programów użytkowych i graficznych interfejsów użytkownika (GUI) W praktyce akcelerator działa z reguły tylko w niektórych wyższych trybach, zaś w trybach o gorszych parametrach karta działa jako tzw. bufor ramki (frame buffer), tzn. wszystkie operacje graficzne wykonywane są przez VRAM. 3. Pamięć obrazu Video RAM (VRAM) – przechowuje cyfrowe dane o obrazie. VRAM jest dwuportową, tzn. mająca osobne wejście dla procesora poprzez PCI lub AGP i wyjście dla przetwornika RAMDAC odmianą pamięci DRAM. Typy pamięci stosowanej w kartach graficznych: - DDR, DDR2, DDR3 - GDDR4, GDDR5 (np. Gigabyte HD5970 2GB 512 PCI-E GDDR5, cena ok 2500 zł) 4. Pamięć ROM – przechowuje dane generatora znaków i oprogramowanie firmowe. Jest to pamięć typu Flash EEPROM 5. Interfejs wymiany danych i sterowania kartą graficzną (PCI, AGP, PCI-e) 6. Złącza „zewnętrzne” karty (DVI, HDMI, S-Video) II. Ilość pamięci karty wykorzystywanej do wyświetlenia obrazka o zadanej rozdzielczości i liczbie kolorów Rozdzielczość 640x480 800x600 1024x768 1280x1024 16 kolorów 256 kB 256 kB 512 kB 1 MB 256 kolorów 512 kB 512 kB 1 MB 2 MB 16.7 mln. kolorów 2 MB 2 MB 3 MB 6 MB III. Zasada działania karty graficznej Procesor zapisuje dane o obrazie w pamieci RAM karty, sterownik zainstalowany na karcie powoduje przesłanie zawartosci pamieci RAM do przetwornika DAC który przetwarza dane cyfrowe na sygnał analogowy i przesyła go do monitora. Tryb graficzny, a tryb tekstowy Pracę kart graficznych można podzielić na 2 różniące się znacznie tryby: tekstowy i graficzny. Różnica polega na sposobie interpretacji zawartości pamięci wideo. W trybie tekstowym zawartość pamięci interpretowana jest jako kody znaków, które należy wyświetlić na ekranie. Zawartość pamięci wideo określa więc w tym przypadku pośrednio, co ma być wyświetlone na ekranie. Informacja o tym, który piksel ma być zapalony, a który zgaszony, pochodzi z generatora znaków. Znaki tworzone są na matrycy znaków. W trybie graficznym zawartość pamięci wideo jest interpretowana jako bezpośrednie określenie jasności świecenia każdego piksela IV. Karty EGA - wyświetlanie obrazów graficznych w 16 kolorach, przy rozdzielczości 640x350 punktów i dostępnej pamięci powyżej 128KB - w trybie tekstowym matryca znaku wynosi 8x14 punktów - każdemu punktowi na ekranie przyporządkowano 4 bity: jeden bit zawiera informację o kolorze czerwonym, drugi - o kolorze zielonym, trzeci - o kolorze niebieskim, czwarty - wyznacza poziom jasności - przy pamięci 256KB – podział pamięci na 4 mapy bitowe (1 mapa odpowiada za kolor czerwony, druga – zielony, trzecia – niebieski, czwarta – jasność) – czterobitowa informacja IRGB (0000-1111) - IRGB adresuje jeden z 16 6-bitowych rejestrów palety kolorów - dane z rejestrów sterują 3 katodami kineskopu - na każda katodę przypadają po 2 bity dające 4 możliwe nasycenia każdego z kolorów, np dla koloru czerwonego (RR') mamy 4 możliwe stany 00, 01, 10, 11 (64 możliwe kolory do uzyskania) - 16 rejestrów pozwala na korzystanie z 16 kolorów z 64 możliwych) - dla przykładu: kolorowi czerwonemu przypisany jest numer 4 (gdyż IRGB=0100); kombinacja 0100 adresuje więc rejestr o adresie 4. Do rejestru tego użytkownik może wpisać 6-bitową informację (R'G'B'RGB) o następujących wartościach: 000100 - "czerwony o pojedynczym nasyceniu", 100000 - "czerwony o podwójnym nasyceniu" lub 100100 - "czerwony o potrójnym nasyceniu" oraz każdą dowolną kombinację określającą zupełnie inny kolor. Jeżeli w trakcje realizacji programu użytkownika, zajdzie potrzeba wyświetlenia punktu "czerwonego" (IRGB=0100), to na ekranie w danym miejscu pojawi się kolor odpowiadający kombinacji R'G'B'RGB odczytanej z rejestru o numerze 4 (0100). V. Karta VGA Tryby pracy karty VGA Numer trybu (Hex) Rozdzielczość Pole znaku Liczba kolorów Tryb 0, 1 320x200 8x8 16/256K tekstowy 40x25 2, 3 640x200 8x8 16/256K tekstowy 80x25 4, 5 320x200 4/256K graficzny 6 640x200 2/256K graficzny 7 720x350 mono tekstowy 80x25 D 320x200 16/256K graficzny E 640x200 16/256K graficzny F 640x350 mono graficzny 10 640x480 16/256K graficzny 11 640x480 2/256K graficzny 12 640x480 16/256K graficzny 13 320x200 256/256K graficzny 9x14 Zasada dzialania VGA Pamięć obrazu RAM podzielona jest na cztery mapy bitowe po 64 KB każda. Czterobitowa informacji wybiera jeden z 16 rejestrów palety. Rejestry te (podobnie jak w EGA) zawierają 6-bitowe numery kolorów (R'G'B'RGB). W ośmiu pierwszych rejestrach znajduje się informacja o następujących kolorach: – rej. 0 - kolor czarny (R'G'B'RGB = 000000), – rej 1 - kolor niebieski (000001), – rej. 2 - kolor zielony (000010), – rej. 3- kolor cyan (000011), – rej. 4 - kolor czerwony (000100), – rej. 5 - kolor purpurowy (000101), – rej. 6 - kolor brązowy (000110), – rej. 7 - kolor biały (000111). W rejestrach o numerach 8-15 znajdują się te same kolory w wersji rozjaśnionej. Sześciobitowa kombinacja wybranego rejestru palety adresuje 1 z 64 rejestrów z zestawu 256 rejestrów 18-bitowych w jakie wyposażony jest VIDEO-DAC. Każdy rejestr tego zestawu podzielony jest na trzy 6-bitowe części. Pierwsza część zawiera informacje o kolorze czerwonym, druga - o zielonym, trzecia - o niebieskim. Każdy więc podstawowy kolor opisany jest za pomocą 6 bitów, co pozwala uzyskać 64 poziomy napięć sterujących każdą katodą RGB. Dzięki temu na ekranie można uzyskać 64 poziomy nasycenia każdego podstawowego koloru (RGB), co po zmieszaniu daje 64*64*64 = 262144 kolory. Karty VGA mogą również współpracować z monitorami monochromatycznymi typu Mono-VGA. Dzięki temu, na ekranie można uzyskać 64 poziomy szarości. Do sterowania takim monitorem wykorzystywane jest wyjście analogowe G karty VGA (sygnał intensywności koloru zielonego). W tym przypadku niezbędna jest korekcja zawartości rejestrów przetwornika VIDEO-DAC. Korekcja ta polega na wyliczeniu ważonej sumy intensywności kolorów podstawowych RGB, zgodnie ze wzorem: Poziom szarości=0,3R+0,59G+0,11B VI. Karty SVGA Karty pracują we wszystkich trybach oryginalnej karty VGA i posiadają ponadto dodatkowe niestandardowe tryby pracy. Karta z pamięcią o pojemności 1 MB może wyświetlać obraz o rozdzielczości 1024 x 768 w 256 kolorach lub 1280 x 1024 w 16 kolorach. Wszystkie współczesne karty SVGA wyposażane są w trzy 8-bitowe przetworniki VIDEO-DAC, zapewniające pracę w trybie TRUE COLOR, w którym każda składowa RGB koloru, pojedynczego elementu obrazu, opisana jest za pomocą 8 bitów. Pojedynczy pixel opisany jest więc za pomocą 24-bitowej informacji (trzech bajtów). Pozwala to uzyskać na ekranie 256 x 256 x 256 = 16777216 kolorów Wymagana pojemność pamięci obrazu karty graficznej jest ściśle uzależniona od żądanej rozdzielczości i liczby kolorów wyświetlanych na ekranie i można ją obliczyć wg wzoru: Gdzie: X max - maksymalna liczba punktów (pixeli) współrzędnej poziomej Y max - maksymalna liczba punktów (pixeli) współrzędnej pionowej Np. niezbędną minimalną pojemność pamięci karty graficznej o wymaganej rozdzielczości 1024 x 768 i 256 kolorach, zgodnie z powyższym wzorem: Od szybkości pracy układu RAMDAC uzależnione są następujące parametry: • rozdzielczość obrazu, • liczba kolorów wyświetlanych na ekranie, • częstotliwość odchylania pionowego (odświeżania obrazu). Dla przykładu: przy rozdzielczości 1024 x 768 i 16.7 mln. kolorów, jedna klatka obrazu opisana jest przez 1024 x 768 x 3 bajty = 2.3 MB. Mnożąc tę wartość przez częstotliwości odświeżania 80 Hz otrzymujemy żądaną szybkość przetwarzania RAMDAC równą 180 MB/s. VII. SLI i CrossFire a) SLI – opracowana przez firmę NVIDIA – zwiększenie wydajności systemu graficznego przez łączenie kart z serii GeForce – wymagania: płyta główna z 2 złączami PCI-e x16, karty połączone mostkiem b) CrossFire – opracowana przez firmę ATI – zwiększenie wydajności systemu graficznego przez łączenie kart ATI – wymagania: płyta główna z obsługą CrossFire, do niedawna karta nadrzędna CrossFire Edition VIII. Parametry kart graficznych – – – – – – – – – rodzaj złącza: PCI-e, AGP pamięć VRAM szerokość magistrali pamięci częstotliwość pracy pamięci w grafice 3D częstotliwość pixel shader lub fragment shader (cieniowanie pixeli w czasie rzeczywistym) częstotliwość pracy GPU częstotliwość pracy RAMDAC technologia skalowania (SLI, CrossFire) producent chipsetu