Lab procesory graficzne (2)


Grafika komputerowa - Lab. 5

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, depth cueing, antyaliasing, op
eracje 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 TMS34820
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 - strumień informacji opisujących pojedynczą
klatkę animacji;
- obliczenia na danych opisujących wierzchołki (współrzędne, wektory
normalne);
- obliczenia na wartościach pikselowych (składowe R, G, B, A);

- obliczenia wykonywane w shaderach (kilku-kilkudziesięcio rozkazowe
programy)

Sygnały synchronizacji urządzeń rastrowych:
- synchronizacja pozioma (ang. Horizontal)
- synchronizacja pionowa (
ang. Vertical)
- sygnał wygaszania:
Blank (HBlank, VBlank)

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

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
HActive (K pixeli)

0x08 graphic
0x08 graphic

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic

0x08 graphic
HBlank

0x08 graphic
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

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
VActive (L linii video)

0x08 graphic
0x08 graphic

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic

0x08 graphic
VBlank

0x08 graphic
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

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
600 linii video (VActive)

0x08 graphic
0x08 graphic

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic

0x08 graphic
VBlank

0x08 graphic
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

  1. 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

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
HActive (800 pixeli)

0x08 graphic
0x08 graphic

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic

0x08 graphic
HBlank

0x08 graphic
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:

Lp.

Standard

KxL

HFreq [kHz]

VBW [MHz]

1.

Hercules

720x348

23.70

18.00

2.

EGA

640x350

23.8

16.0

3.

VGA

640x480

32,72

22,46

4.

SVGA

800x600

40.9

35.6

5.

1024x768

52.36

59.88

6.

TIGA

1280x1024

69.78

103.8

7.

1600x1280

87.0

168.0

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:

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

20,4

17,6

2.

1024x768

26,17

29,59

3.

TIGA

1280x1024

34.9

51.2

4.

1600x1280

43.64

82.83

Przebiegi synchronizacji pionowej i poziomej w trybie z przeplotem

VFront VSync VBack

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
VActive L/2 linii video

0x08 graphic
0x08 graphic

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic

0x08 graphic
VBlank

0x08 graphic
1/VFreq

0x08 graphic
0x08 graphic
0x08 graphic
HBlankp

HFront HSync HBack HSync HBack

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
HActive (K pixeli)

0x08 graphic
0x08 graphic

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic

0x08 graphic
HBlank

0x08 graphic
1/HFreq

HFront = HBack 10 ÷20 % HBlank

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:

  1. bez przeplotu

  2. 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

  1. 1/ HFreq = HActive + HBlank = 16s + 1s = 17s

  2. 1/ HFreq = HActive + HBlankp = 16s + 1,8s = 17,8s

HBlankp = 1,8*HBlank

******************Synchronizacja pionowa***************************************************

  1. VActive = L * 1/ HFreq = 1280* 17s = 21,76 ms

  2. VActive = L/2 * 1/ HFreq = 640* 17,8s = 11,39 ms

  1. 1/ VFreq = VActive + VBlank = 21,76 ms + 1 ms = 22,76 ms

  2. 1/ VFreq = VActive + VBlank = 11,39 ms + 1 ms = 12,39 ms

  1. VFreq = 1/ 22,76 ms = 43,9 Hz

  2. VFreq = 1/ 12,39 ms = 80,7 Hz

Uwagi:

  1. zbyt mała częstotliwość VFreq w trybie bez przeplotu /migotanie obrazu/

Procesor TMS34010 - blok współpracy z monitorem

0x01 graphic

0x01 graphic

0x01 graphic

0x01 graphic

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

0x01 graphic

VFreq [Hz]

75.0

O [ms]

13.3

P [ ms ]

1.6

Q [ ms ]

0.2

R [ ms ]

11.3

S [ ms ]

0,2

VideoClock [MHz]

100,0

0x01 graphic

Rejestry

Macintosh

1152x870

HESYNC

HEBLNK

HSBLNK

HTOTAL

VESYNC

VEBLNK

VSBLNK

VTOTAL

ROZWIĄZANIE:

DANE: Rozdzielczość 1152 x 870

VFreq = 75 Hz

VCLK = 100 MHz

************OBLICZENIA WSTĘPNE*****************

O =1/VFreq = 1/(75 Hz) = 13.33 ms

HActive = D =11521/VCLK =1152*10 ns = 11.52 s

***********************************VERTICAL**********************************

Określamy 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 = (10÷20%) VBlank przyjmujemy10% stąd:
Q = S = 0.2 ms

P = 1.6 ms

R = VActive = 1/VFreq VBlank = 13.3 2 =11.3 ms

A = 1/HFreq = VActive/ 870 =13.3 ms / 870 =12.98 s

HBlank = A D = 1/HFreq HActive =12.98 11.52 =1.46 s

HBlank = B + C + E

C = E = (10÷20%) HBlank przyjmujemy C=E=0.23 s (15% ) stąd:
C = E = 0.23 s

B = HBlank - C + E = 1.46 -0.23-0.23 = 1 s

********************************HORIZONTAL******************************

Określamy 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 = (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/VFreq 870 = 11.3 ms

VBlank = O R = 1/VFreq VActive =13.3 11.3 =2 ms

VBlank = P + Q + S

Q = S = 0.2 ms (10÷20%) VBlank

P = 1.6 ms

*********************************************************

Dla HSync jednostka taktu 1/VCLK= 10 ns

Przeliczenie na takty

Dla VSync jednostka taktu 1/HFreq= A= 12.98 µs

Przeliczenie na takty

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

0x08 graphic
Rejestry (uwzględnia numerację 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

0x08 graphic

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

0x01 graphic

0x01 graphic

Zweryfikować parametry czasowe obliczone z rzeczywistymi

Wartości obliczone

Wartości rzeczywiste

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 obliczone

Wartości rzeczywiste

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

0x08 graphic

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


0x08 graphic
WYNIKI

 Zadanie 1

 

 

 

 

 

 

 

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

0x08 graphic

 

 

 

EGA

640

350

23,86

39,90

16,04

 

 

 

 

VGA

640

480

32,73

28,56

22,41

 

 

 

 

SVGA

800

600

40,91

22,44

35,64

 

 

 

 

 

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

 

 

 

 

0x08 graphic
 

 

 

 

 

 

 

 

 

 

Zadanie 2

 

z przeplotem

 

 

 

 

 

 

 

 

 

 

 

0x08 graphic
 

 

 

 

DANE

 

WYNIK

 

 

 

 

VFreq

60

[Hz]

 

VActive [ms]

14,67

 

 

 

 

VBlank

1

[ms]

 

 

 

 

 

 

 

HBlank

2

[s]

HBlankp

3,6

[s]

0x08 graphic
 

 

 

 

 

 

 

 

 

 

 

 

 

 

DANE

WYNIK

 

 

 

 

 

K

L

HFreq [kHz]

HActive [s]

VBW [MHz]

 

 

 

 

SVGA

800

600

20,45

45,29

17,66

 

 

 

 

 

1024

768

26,18

34,59

29,60

 

 

 

 

TIGA

1280

1024

34,91

25,05

51,11

 

 

 

 

 

1600

1280

43,64

19,32

82,83

 

 

 

 

 

 

 

 

 

 

0x08 graphic
 

 

 

 

Zadanie 3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

DANE

 

WYNIK

 

 

 

 

VCLK

100

[MHz]

 

HActive [s]

16,00

0x08 graphic
 

 

 

 

VBlank

1

[ms]

 

 

 

 

 

 

 

HBlank

1

[s]

HBlankp

1,8[s]

 

 

 

 

 

 

K

L

 

 

 

 

 

 

 

 

1600

1280

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

WYNIK

 

 

 

 

 

 

 

 

(a) bez przeplotu

(b) z przeplotem

 

0x08 graphic
 

 

 

 

1/HFreq

[s]

17

17,8

 

 

 

 

 

VActive

[ms]

21,76

11,39

 

 

 

 

 

1/VFreq

[ms]

22,76

12,39

 

 

 

 

 

VFreq

[Hz]

43,9

80,7

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

VActive=1/VFreq - VBlank

HFreq=1/(VActive/L)
HActive=1/HFreq-HBlank
VBW=1/(HActive/K)

VActive=1/VFreq - VBlank

HFreq=1/(VActive/(L/2))
HBlankp=1,8*HBlank
HActive=1/HFreq-HBlankp
VBW=1/(HActive/K)

HBlankp=1,8*HBlank
HActive=K*1/VCLK

(a)
1/HFreq=HActive+HBlank

VActive=L*1/HFreq

1/VFreq=VActive+Vblank

VFreq=

(b)

1/HFreq=HActive+HBlankp

VActive=L/2*1/HFreq

1/VFreq=VActive+Vblank

VFreq=



Wyszukiwarka

Podobne podstrony:
Lab procesory graficzne
t cyfrowych procesow graficznych 132 03 wsk
Lab4 Procesory graficzne
t cyfrowych procesow graficznych 132 02 wsk
t cyfrowych procesow graficznych 132 04 kpe
t cyfrowych procesow graficznych 122 04 wsk
programowanie procesorow graficznych GPU denkowski
Program nauczaniaTECHNIK CYFROWYCH PROCESOW GRAFICZNYCH 311[51]
311[51] technik cyfrowych procesow graficznych
TECHNIKI POLIGRAFICZNE procesy graficzne
Graficzne p rzedstawienie procesu wedzenia
Autocad, Klasyfikacja rysunkow schematycznych- przy opracowaniu graficznym dowolnego procesu technol
ODKSZTAŁCENIA W PROCESIE TŁOCZENIA lab
INSTRUKCJE, lab.2, Wykorzystanie interfejsu graficznego
PPTSiA lab lista prezentacji, Studia, AiR, SEMESTR I, Procesy przetwórstwa tworzyw sztucznych i ich
Przedstawić graficznie i omówić oddziaływania międzyatomowe w ciele stałym, Akademia Morska Szczecin

więcej podobnych podstron