Pojęcie karty graficznej
• Karta graficzna jest najważniejszą kartą rozszerzeń. Montuje
się ją w jednym ze slotów na płycie głównej. Odpowiada ona
za otrzymanie obrazu na monitorze. Zmienia ona sygnały
przetwarzane przez procesor na format, który może być
wyświetlany
przez
monitor.
Najmniejszą
jednostką
wykorzystywaną przez kartę graficzną do wytworzenia obrazu
jest piksel. O ile karta nie jest wyposażona we własny
procesor, każdy piksel (oznaczający jeden punkt obrazu) jest
obliczany przez procesor komputera. Im więcej kolorów
zawiera dany obraz, tym większa ilość pamięci jest potrzebna
do jego wyświetlania. Każdy obraz utworzony przez procesor
jest umieszczany w pamięci karty graficznej w postaci mapy
bitowej. Specjalny konwerter cyfrowo-analogowy (RAMDAC)
przekształca
następnie
taką
cyfrową
informacje
na
odpowiednie impulsy elektryczne, które później przesyła do
monitora.
Budowa Karty Graficznej
•
Typowa karta graficzna składa się z czterech elementów: płytki drukowanej,
procesora graficznego, pamięci (zwykle w postaci kilku kostek) oraz układu
RAMDAC (często integruje się go z procesorem graficznym w jednej kości).
Karta graficzna komunikuje się z komputerem poprzez jedną z czterech
magistrali: ISA (spotykaną w pierwszych kartach graficznych), Vesa Local Bus
(używaną w niektórych systemach z procesorem 486), PCI , AGP, oraz
najnowszą Pci-Express.
Po otrzymaniu informacji od procesora komputera (CPU) o potrzebnej grafice,
chip karty przygotowuje ją, pomagając sobie zainstalowaną na karcie pamięcią
(w przypadku kart AGP do przechowywania tekstur używana jest dodatkowo
pamięć komputera).
Gdy obraz jest już gotowy, zapisywany jest w obszarze wydzielonym w pamięci
karty w postaci zbioru różnokolorowych punktów. Ów zbiór punktów zwany jest
ramką (frame), zaś obszar pamięci - buforem ramki (frame buffer).
Przykładowo, grafika o rozdzielczości 1024x768 przy 24-bitowym kolorze
zajmuje ok. 2,36 MB. Wyliczyć można to w dość prosty sposób: mapa bitowa o
rozdzielczości 1024x768 składa się z 1024x768 = 786432 punktów. Kolor
każdego z nich opisany jest na 24 bitach, czyli trzech bajtach. Zatem jedna
ramka zajmuje w pamięci 1024x768x3 bajty = 2359296 bajtow. Karta
graficzna musi mieć więc co najmniej 2,5 MB pamięci (czyli w praktyce 4 MB),
by wyświetlić rozdzielczość 1024x768 przy 16,8 mln kolorów.
Z bufora ramki dane pobierane są punkt po punkcie przez układ RAMDAC. Ten
zamienia cyfrowo opisane punkty na analogowe impulsy prądu o napięciu
zależnym od koloru punktu. Na ich podstawie powstaje obraz na monitorze.
Budowa Karty Graficznej
D-SUB, gniazdo wyjścia
TV.
cyfrowe złącze DVI
Schemat Bloków Karty
Graficznej
Skok w Trzeci wymiar
•
Zmiany jakościowe, jakie nastąpiły na polu programów graficznych a szczególnie
gier związane były początkowo z rozwojem sprzętu, jednak obecnie wydaje się,
że to nowe programy wymuszają powstawanie specjalistycznych rozwiązań, a
nie na odwrót. Początkowo gry bazowały na płaskiej, dwuwymiarowej grafice.
Wszelkie rysowane obiekty były jednoznacznie określone współrzędnymi x i y.
Podczas przetwarzania danych w dwóch wymiarach najczęściej wykonywane
były funkcje odpowiedzialne za przenoszenie odpowiednich bitmap z jednego
obszaru pamięci w inny. Dodatkowo bitmapy te można było wzbogacić różnymi
efektami specjalnymi związanymi np.: z paletą kolorów. Można też było używając
odpowiednich masek bitowych dokonywać prostych transformacji. Operacje na
takich elementach graficznych były i są proste, nie wymagają ogromnych mocy
obliczeniowych (przynajmniej jak na dzisiejsze komputery). Niestety, w
środowisku 3D sprawy znacznie się komplikują. Tutaj każda wyświetlana ramka
wymaga przeglądnięcia i odpowiedniego przetworzenia bazy modelowanych
obiektów. W przypadku grafiki dwuwymiarowej wystarczała ingerencja tylko w
ten obszar pamięci obrazu, gzie następowała zmiana np.: położenia obiektu. W
środowisku 3D prosta zmiana położenia obiektu powoduje konieczność
przetworzenia dużo większej ilości informacji, niekiedy przebudowania całej
trójwymiarowej sceny. Związane jest to zarówno z obecnością dodatkowych
atrybutów, takich jak oświetlenie (cieniowanie) oraz z samym sposobem
przechowywania modelowanych obiektów w tzw. Z-buforze. Transformacja
geometrii modelowanego świata, wyznaczenie nowych współrzędnych x, y, z
pozwala dopiero na wygenerowanie odpowiedniego obrazka.
• Karta rozszerzeń, umiejscawiana na płycie
głównej poprzez gniazdo ISA, PCI lub AGP,
(najnowsze PCI - ex), która odpowiada w
komputerze za obraz wyświetlany przez
monitor.
AGP
PCI - Ex
Gniazdo
zasilające
Gniazda kart Graficznych
AGP
•
To typ magistrali opracowany przez
inżynierów firmy Intel.Standard ten nie
został stworzony z myślą o
wyeliminowaniu szyny PCI, lecz po to aby
ją uzupełnić.Sama idea działania AGP jest
bardzo prosta: otóż karta graficzna z
nową magistralą może użyć dowolnej
ilości pamięci operacyjnej komputera, a
dzięki niezależnej szynie sprzętowej
zapewnia bardzo szybki transfer danych.
Rozwój oprogramowania multimedialnego
(czyli w praktyce właściwie gier)
uświadomił twórcom standardu PCI, że
ich magistrala nie jest już w stanie
poradzić sobie z transferem tak
olbrzymich ilości danych. Okazuje się że
w przypadku niektórych aplikacji,
zwłaszcza tych które korzystają z grafiki
3D, standardowe 132 MB/s oferowane
przez PCI już nie wystarcza. Nowy
standard zdaje się rozwiązywać ten
problem. Pierwotnie nowa technologia
miała być przeznaczona jedynie dla płyt
głównych obsługujących procesory
Pentium II, na przykład dla chipsetu 440
LX. Ale wkrótce kilku niezależnych
producentów z Tajwanu (między innymi
VIA) opracowało chipsety obsługujące
port AGP w standardowych płytach
Pentium z gniazdem Socket 7.
Port AGP
Standardy AGP
• AGP x1 - standardowa szybkość szyny 266 MB/s przy
częstotliwości taktowania 66 MHz (czyli dwa razy więcej niż w
przypadku szyny PCl);
• AGP x2 - maksymalna przepustowość 532 MB/s. Transfer
danych jest inicjowany narastającym i opadającym zboczem
sygnału taktującego. Obniżono również napięcie z 5V do
3,3V.W efekcie następuje pozorny wzrost częstotliwości zegara
do 133 MHz;
• AGP x4 - do zrealizowania jedynie na płytach głównych z
częstotliwością szyny 100 Mhz. Wprowadzona została przez
Intela do specyfikacji 2.0 Teoretyczna przepustowość sięga
1064 MB/s a praca odbywa się przy obniżonym do 1,5V
napięciu.
• AGP X8 – najszybszy transfer danych na poziomie 2128 MB/s
– Dodatkowo szyna AGP potrafi inicjować kolejny transfer danych,
mimo tego, iż poprzedni się jeszcze nie zakończył. W przypadku
standardu PCI polecenie transmisji danych może być rozpoczęte
dopiero po zakończeniu poprzedniego transferu.
Zalety AGP
•
możliwość pobierania tekstur bezpośrednio z pamięci operacyjnej komputera;
•
do czterech razy większa niż w przypadku PCI szybkość transmisji danych graficznych;
•
szybszy dostęp procesora do danych w pamięci RAM, niż w lokalnej pamięci karty
graficznej;
•
przeznaczenie jedynie dla kart graficznych. Nie ma konieczności dzielenia się szyną z
innymi urządzeniami, jak w przypadku PCI (na przykład karta graficzna, sieciowa itp.).
Na sukces AGP składają się następujące technologie:
–
DIME (Direct Memory Execute) - czyli możliwość szybkiego pobierania tekstur z pamięci
operacyjnej, bez ich uprzedniego umieszczania w pamięci karty graficznej;
–
GART (Graphics Address Remmaping Table) - wolna pamięć RAM jest tu widziana przez kartę
graficzną jako jej własny obszar pamięci.
•
Mimo że nie widać tego na pierwszy rzut oka, AGP stanowi jedynie pewne przedłużenie
magistrali PCI i nie jest magistralą jako taką. Nie ma i nie będzie płyt głównych z
wieloma gniazdami AGP bowiem jedynym urządzeniem umieszczonym w takim
gnieździe może być karta grafiki. Karty AGP posiadają dwustronną listwę połączeniową o
132 kontaktach. Odpowiednie kontakty otrzymują sygnały zapewniające poprawną
pracę magistrali. Występujące sygnały przejęto z magistrali PCI oraz dodano 32 linie
magistrali AGP (AD [31-0]) jak również sygnały SBA[7-0] spełniające rolę pomocniczej
magistrali SBA (Side Band Adress port), wykorzystywanej do transportu adresów i
rozkazów.
Dodatkowo szyna AGP potrafi inicjować kolejny transfer danych, mimo tego, iż
poprzedni się jeszcze nie zakończył. W przypadku standardu PCI polecenie transmisji
danych może być rozpoczęte dopiero po zakończeniu poprzedniego transferu.
PROCESOR
• Układy takie pomagają procesorowi komputera rysować linie,
trójkąty, prostokąty, potrafią wygenerować obraz trójwymiarowy,
pokryć go odpowiednią tzw. teksturą itd…
• Procesor karty graficznej komunikuje się z pamięcią wysyłając i
pobierając z niej informacje o obrazie w tzw. paczkach.
• Procesory 64-bitowe wysyłają paczki 64-bitowe (8-bajtowe), za
128-bitowe paczki 16 bajtowe. To czy procesor jest 64-bitowy czy
128-bitowy, praktycznie nie powoduje dwukrotnej różnicy
prędkości na korzyść układów 128-bitowych. Przewaga zaczyna
być widoczna przy pracy w wyższych rozdzielczościach
UKŁAD RAMDAC
•
Układ RAMDAC pobiera dane o obrazie wygenerowanym przez procesor karty
graficznej. Dane te są w postaci zbioru różnokolorowych punktów. Następnie
RAMDAC zamienia je na sygnały analogowe i wysyła do monitora. Im szybszy
RAMDAC, tym więcej potrafi wysłać informacji w ciągu sekundy co ma
bezpośredni wpływ na częstotliwość odświeżania (jest to liczba pojedynczych
obrazów, jakie wyświetla monitor w ciągu sekundy. Częstotliwość 60Hz oznacza,
że w ciągu sekundy na ekranie monitora rysowanych jest 60 pełnych obrazów.
Oko ludzkie przestaje odróżniać "skoki" między obrazami już przy szybkości ok.
25 obrazów na sekundę, więc częstotliwość 60Hz wydawałaby się aż za duża.
Jak się okazuje w praktyce, przy 60Hz prawie nie widać migotania obrazu, ale
nasze oczy się męczą. Dlatego do pracy przy komputerze powinniśmy ustawiać
częstotliwość co najmniej 75Hz, zaś im więcej tym lepiej. Warto przy tym
wiedzieć, że ustawienie częstotliwości większej niż 85Hz nie ma już wpływu na
nasz wzrok.
PAMIĘĆ VIDEO
• Każda karta graficzna ma własną pamięć RAM, w
której przechowuje potrzebne informacje o
obrazie.
• W pamięci tej przechowywane są dane o każdym
punkcie obrazu, a także tekstury (w postaci map
bitowych) oraz dane o głębi (z pamięci jest w tym
celu wydzielany tzw. bufor Z).
Pamięć
RAM
Dodatkowe możliwości kart graficznych
1.
Większość współczesnych kart graficznych wyposażanych jest w dodatkowe
układy, umożliwiające współpracę z odbiornikiem TV, magnetowidem i
kamerą. Jednym z tych układów jest dekoder, służący do zamiany
analogowego sygnału Video (pochodzącego np. z kamery lub magnetowidu)
na sygnał cyfrowy; drugi natomiast, zwany enkoderem, realizuje funkcję
odwrotną - zamienia sygnał cyfrowy obrazu (wytworzony przez procesor
graficzny karty) na sygnał analogowy.
Dekoder (ang. Video Decoder) realizuje zamianę sygnału analogowego, wg
standardu S-Video i Composite Video, pochodzącego z odbiornika TV, kamery
lub magnetowidu, na sygnał cyfrowy wg standardu YUV. Enkoder (ang. Video
Encoder) realizuje funkcje odwrotną - zamienia sygnał cyfrowy YUV
(wytworzony przez procesor graficzny), na sygnał analogowy (wg standardu S-
Video i Composite Video), umożliwiający wyświetlanie obrazu za pomocą
odbiornika TV lub zapis tego obrazu na taśmie magnetowidowej. Większość
dekoderów i enkoderów dokonuje obróbki sygnału telewizyjnego zapisanego w
obu systemach telewizji kolorowej: NTSC i PAL. System NTSC (stosowany w
Stanach Zjednoczonych i Japonii), generuje obraz z rozdzielczością 640 x 480
(lub 720 x 480 wg standardu CCIR601) i z częstotliwością 30 klatek na
sekundę. W systemie PAL (stosowanym w Europie) obraz posiada
rozdzielczość 768 x 576 (lub 720 x 576 wg standardu CCIR601) oraz
częstotliwość wyświetlania klatek rzędu 25 Hz.
Każda karta graficzna posiada 15-stykowe zewnętrzne złącze VGA,
umożliwiające podłączenie monitora. Karta wyposażona dodatkowo w dekoder
i enkoder video, powinna posiadać złącza umożliwiające podłączenie źródeł
sygnału (magnetowid, kamera, tuner TV) oraz odbiorników sygnału video
(magnetowid lub odbiornik TV). Mogą; być to złącza:
2.
S-Video (wejściowe, input) i Composite Video (wejściowe, input),
3.
S-Video (wyjściowe, output) i Composite Video (wyjściowe, output).
Współczesna karta graficzna może posiadać jeszcze następujące dodatkowe
złącza rozszerzeń, znajdujące się na płytce karty:
Tryby pracy karty VGA
Numer
trybu
(Hex)
Rozdzielcz
ość
Pole
znak
u
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
9x14
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
KONIEC