Lab4 Procesory graficzne


Grafika komputerowa - ćwicz. 3
Temat: Procesory graficzne
1. Sterowniki graficzne:
Funkcje:
- odczyt zawartości pamięci graficznej i generowanie szeregowego
strumienia informacji obrazowej do urzÄ…dzenia zobrazowania (pikseli);
- generacja sygnałów synchronizacji H, V i Blank.
Sterownik graficzny firmy Motorola: MC6845
2. Akceleratory graficzne:
Funkcje:
- wykonywanie specjalizowanych zadań graficznych: cieniowanie,
wypełnianie obszarów, triangulacja, depth cueing, (efekt głębi
przestrzennej), antyaliasing, operacje HLHSR itp.
- funkcje sterownika graficznego.
3. Koprocesory graficzne:
Funkcje:
- procesor graficzny  GP (Graphics Processor)
Wykonuje rozkazy graficzne z dostępnej listy rozkazów graficznych
(rozkazy sterujące, rozkazy kreślenia, rozkazy transmisji blokowych),
składuje wytworzone mapy bitowe w pamięci dostępnej przez procesor
obrazu
- procesor obrazu  DP (Display Processor)
Generuje sygnały synchronizacji i szeregowy strumień informacji
obrazowej, jednocześnie może wyświetlać wiele okien na ekranie z
różnych obszarów map bitowych pamięci graficznej.
- jednostka sterujÄ…ca interfejsem  BIU (Bus Interface Unit) .
Steruje wszelką komunikacją pomiędzy koprocesorem a zewnętrznym
procesorem i pamięcią graficzną. Zawiera zintegrowany sterownik
pamięci DRAM/VRAM umożliwiający realizację różnych trybów dostępu
przy transmisjach blokowych. Wykorzystywany przez DP i GP w
operacjach dostępu do map bitowych w pamięci graficznej.
Koprocesory graficzne firmy Intel: I82720, I82786.
4. Procesory graficzne:
Funkcje:
- funkcje koprocesora graficznego;
- jednostka obliczeniowa wykonująca rozkazy z listy rozkazów
uniwersalnych (rozkazy arytmetyczne, logiczne, warunki, skoki itp.)
Procesory firmy Teksas Instruments:
- TMS34010  16-bitowy procesor graficzny
- TMS34020  32-bitowy procesor graficzny współpracujący
z koprocesorem zmiennoprzecinkowym TMS34082
Procesory firmy Intel:
- I860  64-bitowy procesor graficzny z 2 jednostkami obliczeń
stałopozycyjnych i zmiennoprzecinkowych, z układem MERGE
(mnożenie macierzy 4x4)
5. Systemy wieloprocesorowe z przetwarzaniem potokowym:
Chipsety GeForce: Vertex Shader, Pixel Shader, Unified Shader
- przetwarzanie potokowe: potok  strumień informacji opisujących
pojedynczÄ… klatkÄ™ animacji;
- obliczenia na danych opisujących wierzchołki (współrzędne, wektory
normalne) wykonywane przez układ Vertex Shader;
- obliczenia na wartościach pikselowych (składowe R, G, B, A)
wykonywane przez układ Pixel Shader;
- obliczenia implementowane w postaci programów niskopoziomowych
składających się od kilku do kilkudziesięciu rozkazów.
Procesor obrazu  DP (Display Processor) generuje sygnały
synchronizacji i szeregowy strumień informacji obrazowej
Sygnały synchronizacji urządzeń rastrowych:
- synchronizacja pozioma (ang. Horizontal)
- synchronizacja pionowa (ang. Vertical)
- sygnał wygaszania: Blank (HBlank, VBlank)
1 Parametry sygnałów synchronizacji
1
1
1
Synchronizacja pozioma
1. Horizontal Line Rate: HFreq [kHz]
2. Horizontal Synchronization Width: HSync [µs]
3. Horizontal Back: HBack [µs]
4. Horizontal Front: HFront [µs]
HFront HSync HBack
HActive (K pixeli)
HBlank
1/HFreq
Synchronizacja pionowa
1. Vertical Line Rate: VFreq [Hz]
2. Vertical Synchronization Width: VSync [ms]
3. Vertical Back: VBack [ms]
4. Vertical Front: VFront [ms]
VFront VSync VBack
VActive (L linii video)
VBlank
1/VFreq
Przykład 1.
Sprawdzić czy monitor o dopuszczalnej częstotliwości odchylania poziomego
HFreq=33 kHz może współpracować z kartą graficzną SVGA w trybie rozdzielczości
800x600 z częstotliwością odświeżania VFreq=60Hz.
Wymagania techniczne monitora: min. czas HBlank=5µs
min. czas VBlank=0.67ms
VFront VSync VBack
600 linii video (VActive)
VBlank
1/VFreq
1. VFreq=60Hz
VActive =1/VFreq - VBlank= 1/60Hz-0.67ms=16.67-0.67=16.0ms
HFreq=1/(VActive/L)=1/(16.0ms/600)=1/26.67µs=37.5kHz
2. VFreq=50Hz
VActive =1/VFreq- VBlank= 1/50Hz-067ms=20.0-0.67=19.33ms
HFreq=1/(VActive/L)=1/(19.330ms/600)=1/32.22µs=31.0kHz
Przykład 2.
Wyznaczyć pasmo przenoszenia sygnału video (VBW) dla karty j.w. dla:
L=600 linii
K=800 pixeli
HFreq=37.5KHz VBW  Video Band Width
HFront HSync HBack
HActive (800 pixeli)
HBlank
1/HFreq
HActive=1/HFreq-HBlank=26.67µs-5µs=21.67µs
VBW=1(HActive/K)=1/(21.67µs/800)=1/27.09ns=36.9MHz
Zadanie 1:
Obraz wyświetlany na monitorze w sposób kolejnoliniowy odświeżany jest z
częstotliwością VFreq=60Hz. Zakładając, że układy sterujące monitora wymagają
minimalnych czasów wygaszania HBlank=2µs i VBlank=2ms wyznaczyć
częstotliwość sygnału synchronizacji poziomej HFreq i szerokość pasma sygnału
video VBW dla kart graficznych generujÄ…cych obraz w standardzie:
" Hercules 720x348
" EGA 640x350
" VGA 640x480
" SVGA 800x600
" * 1024x768
" TIGA 1280x1024
" * 1600x1280
Lp. Standard KxL HFreq [kHz] VBW [MHz]
1. Hercules 720x348
2. EGA 640x350
3. VGA 640x480
4. SVGA 800x600
5. 1024x768
6. TIGA 1280x1024
7. 1600x1280
Zadanie 2:
Wyznaczyć częstotliwość sygnału synchronizacji poziomej HFreq i szerokość pasma
sygnału video VBW dla obrazu generowanego z przeplotem o rozdzielczości:
" 800x600
" 1024x768
" 1280x1024
" 1600x1280
Zakładamy (jak w Zadaniu 1), że układy sterujące monitora wymagają minimalnych
czasów wygaszania HBlank=2µs i VBlank=2ms oraz odÅ›wieżanie z
częstotliwością VFreq=60Hz
Lp. Standard KxL HFreq [kHz] VBW [MHz]
1. SVGA 800x600
2. 1024x768
3. TIGA 1280x1024
4. 1600x1280
Przebiegi synchronizacji pionowej i poziomej w trybie z przeplotem
VFront VSync VBack
VActive L/2 linii video
VBlank
1/VFreq
HBlankp
HFront HSync HBack HSync HBack
HActive (K pixeli)
HBlank
1/HFreq
1 Założenia: (tak się przyjmuje):
1
1
1
HFront = HBack E"
E" 10 ÷20 % HBlank
E"
E"
dla 20%:HBlank :
HFront = HBack = 0,2*HBlank HBlankp = 1,8*HBlank



RozwiÄ…zanie: VFreq=60Hz
1. VActive = 1/VFreq - VBlank= 1/60Hz-2ms=16.67-2=14,67ms
2. HFreq=1/(VActive/(L/2))=1/(14,67ms/300)=1/0,0489ms=20,45kHz
3. HBlankp = 1,8*HBlank= 1,8*2µs =3.6µs
4. HActive = 1/HFreq - HBlankp = 1/(20,45kHz)- 3.6µs=48,9-3,6=45,3 µs
5. VBW=1/( HActive/K)=1/(45,3 µs/800)=17,66 MHz
Zadanie 3:
Wyznaczyć maksymalną częstotliwość odświeżania obrazu dla karty graficznej
generujÄ…cej obraz:
a) bez przeplotu
b) z przeplotem
o rozdzielczości 1600x1280 taktowanej zegarem VCLK=100MHz zakładając, że
minimalne czasy wygaszania pionowego i poziomego wynoszÄ… odpowiednio
HBlank=1µs i VBlank=1ms
RozwiÄ…zanie:
******************Synchronizacja pozioma***************************************************
HActive = K * 1/VCLK = 1600* 1/100 MHz = 16µs
a) 1/ HFreq = HActive + HBlank = 16µs + 1µs = 17µs
b) 1/ HFreq = HActive + HBlankp = 16µs + 1,8µs = 17,8µs
HBlankp = 1,8*HBlank
******************Synchronizacja pionowa***************************************************
a) VActive = L * 1/ HFreq = 1280* 17µs = 21,76 ms
b) VActive = L/2 * 1/ HFreq = 640* 17,8µs = 11,39 ms
a) 1/ VFreq = VActive + VBlank = 21,76 ms + 1 ms = 22,76 ms
b) 1/ VFreq = VActive + VBlank = 11,39 ms + 1 ms = 12,39 ms
a) VFreq = 1/ 22,76 ms = 43,9 Hz
b) VFreq = 1/ 12,39 ms = 80,7 Hz
Uwagi:
a) zbyt mała częstotliwość VFreq w trybie bez przeplotu /migotanie
obrazu/
Procesor TMS34010  blok współpracy z monitorem
1 Rejestry środowiskowe bloku współpracy z monitorem TMS34010
1
1
1
1 Przebiegi sygnałów w czasie wyświetlania jednej linii obrazu
1
1
1
Rejestry środowiskowe bloku współpracy z monitorem TMS34010
1 Przebiegi sygnałów w czasie wyświetlania jednego obrazu
1
1
1
1 Wyświetlanie obrazu - charakterystyka czasowa
1
1
1
Zadanie 4
Wyznaczyć wartości rejestrów środowiskowych bloku współpracy z monitorem procesora
graficznego TMS34010 określających parametry czasowe sygnałów synchronizacji dla
obrazu generowanego w trybie:
- rozdzielczość KxL=1152x870
- częstotliwość odświeżania VFreq=75 Hz
- pasmo przenoszenia VBW=100 MHz. - {VCLK}
Zweryfikować parametry czasowe obliczone z rzeczywistymi.
Macintosh
1152x870
HFreq [kHz]
A [ µs ] 12.98
B [ µs ] 1.0
C [ µs ] 0.23
D [ µs ] 11.52
E [ µs ] 0.23
VFreq [Hz] 75.0
O [ms] 13.33
P [ ms ] 1.6
Q [ ms ] 0.2
R [ ms ] 11.33
S [ ms ] 0.2
VideoClock [MHz] 100,0
Rejestry Macintosh
1152x870
HESYNC
HEBLNK
HSBLNK
HTOTAL
VESYNC
VEBLNK
VSBLNK
VTOTAL
ROZWIZANIE:
DANE: Rozdzielczość 1152 x 870
VFreq = 75 Hz
VCLK = 100 MHz
************OBLICZENIA WSTPNE*****************
O =1/VFreq = 1/(75 Hz) = 13.33 ms
HActive = D =1152"1/VCLK =1152*10 ns = 11.52 µs
**********************************************************
*********VERTICAL**********************************
Dobieramy VBlank
VBlank =1/VFreq - (HActive+HBlank) "L
VBlank ma wartość maksymalną dla HBlank=0 stąd:
VBlank << 1/VFreq - (HActive+0) "870 = 13.33 - 10.02 =3.31 ms:
Przyjmujemy VBlank = 2 ms
VBlank = P + Q + S
Q = S = H" (10÷20%) VBlank przyjmujemy10% stÄ…d:
Q = S = 0.2 ms
P = 1.6 ms
R = VActive = 1/VFreq - VBlank = 13.33 - 2 =11.33 ms
A = 1/HFreq = VActive/ 870 =11.33 ms / 870 =12.98 µs
HBlank = A - D = 1/HFreq - HActive =12.98 - 11.52 =1.46 µs
HBlank = B + C + E
C = E = H" (10÷20%) HBlank przyjmujemy C=E=0.23 µs (H"15% ) stÄ…d:
C = E = 0.23 µs
B = HBlank - C - E = 1.46 -0.23-0.23 = 1 µs
*********************************************************
*********HORIZONTAL******************************
Dobieramy HBlank
HBlank + HActive =(1/VFreq-VBlank) / 870
HBlank ma wartość maksymalną dla VBlank=0 stąd:
HBlank + HActive << (1/VFreq-0) / 870= 13.33 ms / 870 = 15.32 µs
HBlank << 15.32 µs - HActive = 15.32 - 11.52 = 3.8 µs
Przyjmujemy HBlank = 1.46 µs
HBlank = B + C + E
C = E = H" (10÷20%) HBlank
przyjmujemy C = E = 0.23 µs stÄ…d B =1.46 - 0.23 - 0.23 = 1 µs
A = 1/HFreq = HActive + HBlank =11.52+1.46 = 12.98 µs
R = VActive = 1/HFeq " 870 = 11.33
-s
VBlank = O - R = 1/VFreq - VActive =13.3 - 11.3 =2 ms
VBlank = P + Q + S
Q = S = 0.2 ms H" (10÷20%) VBlank
P = 1.6 ms
*********************************************************
Dla HSync jednostka taktu Przeliczenie Dla VSync jednostka taktu
Przeliczenie na takty
1/VCLK= 10 ns na takty 1/HFreq= A= 12.98 µs
A 12.98 µs 1298 O 13.3 ms 13.3 ms/(12.98 µs)=1024
B 1.00 µs 100 P 1.6 ms 1.6 ms/(12.98 µs)=123
C 0.23 µs 23 Q 0.2 ms 0.2 ms/(12.98 µs)=15
D 11.52 µs 1152 R 11.3 ms 11.3 ms/(12.98 µs)=870
E 0.23 µs 23 S 0.2 ms 0.2 ms/(12.98 µs)=15
Rejestry H (uwzględniona numeracja taktów od 0)
HESYNC+1 B = 100
HEBLNK+1 B + C = 100 + 23 = 123
HSBLNK+1 B + C + D = 123 + 1152 = 1275
HTOTAL+1 B + C + D + E =A = 1275 + 23= 1298
Rejestry V
(uwzględniona numeracja taktów od 0)
VESYNC+1 P = 123
VEBLNK+1 P + Q = 123 + 15 = 138
VSBLNK+1 P + Q + R = 138 + 870 = 1008
VTOTAL+1 P + Q + R + S =O = 1008 + 15= 1023
Zweryfikować parametry czasowe obliczone z rzeczywistymi
Wartości rzeczywiste
Wartości obliczone
1/VCLK= 10 ns
A 12.98 µs 1298" 10 ns=12.98 µs
B 1.00 µs 100" 10 ns=1.00 µs
C 0.23 µs 23" 10 ns=0.23 µs
D 11.52 µs 1152" 10 ns=11.52 µs
E 0.23 µs 23" 10 ns=0.23 µs
Wartości rzeczywiste
Wartości obliczone
1/HFreq= A= 12.98 µs
O 13.3 ms 1024" 12.98 µs = 13.291 ms
P 1.6 ms 123" 12.98 µs = 1.596 ms
Q 0.2 ms 15" 12.98 µs = 0.195 ms
R 11.3 ms 870" 12.98 µs = 11.293 ms
S 0.2 ms 15" 12.98 µs = 0.195 ms
Literatura: Grafika Komputerowa  metody i narzędzia. Jan Zabrodzki
Rozdz. 9
9.22 Procesory graficzne
TMS 34010
TMS 34020
Układ współpracy z urządzeniami zobrazowania
“!
Rejestry wewnętrzne:
HESYNC+1
WYNIKI
Zadanie 1
o VActive=1/VFreq - VBlank
DANE WYNIK
VFreq 60 [Hz] VActive [ms] 14,67
VBlank 2 [ms]
HBlank 2 [µs]
DANE WYNIK
K L HFreq [kHz] HActive [µs] VBW [MHz]
Hercules 720 348 23,73 40,15 17,93
o HFreq=1/(VActive/L)
EGA 640 350 23,86 39,90 16,04
VGA 640 480 32,73 28,56 22,41
o HActive=1/HFreq-HBlank
SVGA 800 600 40,91 22,44 35,64
o VBW=1/(HActive/K)
1024 768 52,36 17,10 59,89
TIGA 1280 1024 69,82 12,32 103,87
1600 1280 87,27 9,46 169,16
Zadanie 2 z przeplotem
DANE WYNIK
o VActive=1/VFreq - VBlank
VFreq 60 [Hz] VActive [ms] 14,67
VBlank 1 [ms]
HBlank 2 [µs] HBlankp 3,6 [µs]
o HFreq=1/(VActive/(L/2))
DANE WYNIK
o HBlank =1,8*HBlank
p
K L HFreq [kHz] HActive [µs] VBW [MHz]
o HActive=1/HFreq-HBlank
p
SVGA 800 600 20,45 45,29 17,66
1024 768 26,18 34,59 29,60
o VBW=1/(HActive/K)
TIGA 1280 1024 34,91 25,05 51,11
1600 1280 43,64 19,32 82,83
Zadanie 3
o HBlank =1,8*HBlank
p
DANE WYNIK o HActive=K*1/VCLK
VCLK 100 [MHz] HActive [µs] 16,00
(a)
VBlank 1 [ms]
1/HFreq=HActive+HBlank
HBlank 1 [µs] HBlankp 1,8[µs]
VActive=L*1/HFreq
K L
1600 1280 1/VFreq=VActive+Vblank
VFreq=
WYNIK
(a) bez przeplotu (b) z przeplotem
(b)
1/HFreq [µs] 17 17,8 1/HFreq=HActive+HBlank
p
VActive [ms] 21,76 11,39
VActive=L/2*1/HFreq
1/VFreq [ms] 22,76 12,39
1/VFreq=VActive+Vblank
VFreq [Hz] 43,9 80,7
VFreq=


Wyszukiwarka

Podobne podstrony:
t cyfrowych procesow graficznych2?
t cyfrowych procesow graficznych2?
t cyfrowych procesow graficznych2 wsk
t cyfrowych procesow graficznych2 kpe
t cyfrowych procesow graficznych2 kpe
t cyfrowych procesow graficznych2?
t cyfrowych procesow graficznych2?
t cyfrowych procesow graficznych2 kpe
t cyfrowych procesow graficznych2 kpe
procesy

więcej podobnych podstron