Sunteți pe pagina 1din 26

Sisteme de I/E - Adaptoare video

6. ADAPTOARE VIDEO

Adaptorul video este componenta sistemului de calcul care realizeaz interfaa cu echipamentul de afiare. n general, acest adaptor se afl pe o plac de extensie separat, dar unele sisteme au funciile adaptorului video integrate pe placa de baz. Primele adaptoare video erau conectate la magistrala ISA. Odat cu creterea rezoluiei imaginilor afiate i a numrului de culori, a crescut rata de transfer necesar pentru remprosptarea imaginilor de pe ecran. Deoarece magistrala ISA nu oferea o rat de transfer suficient, adaptoarele video au fost conectate la magistrala VL Bus sau PCI. Adaptoarele actuale utilizeaz interfaa AGP (Accelerated Graphics Port), care asigur o cale de comunicare direct ntre adaptorul video i memoria intern a sistemului, fr utilizarea magistralei PCI. Astfel se evit congestia magistralei PCI, n special n cazul aplicaiilor 3D care necesit transferul unui volum foarte mare de date.

6.1. Structura unui adaptor video


Schema bloc de principiu a unui adaptor video este prezentat n Figura 6.1. Acesta este un adaptor care se conecteaz la magistrala sistemului, de exemplu, la magistrala PCI. Adaptoarele care utilizeaz interfaa AGP sunt descrise n seciunea 6.7.

Figura 6.1. Schema bloc de principiu a unui adaptor video. Componentele principale ale adaptorului sunt urmtoarele: controlerul grafic, BIOS-ul video, memoria video, circuitul RAMDAC (RAM Digital to Analog Converter), controlerul CRT, generatorul semnalelor de ceas i portul video. Aceste componente, cu excepia memoriei video, pot fi integrate ntr-un singur circuit grafic sau ntr-un set de circuite grafice. Principalele componente ale unui adaptor video sunt descrise n continuare.

6.1.1. Controlerul grafic


Controlerul grafic realizeaz principalele funcii ale adaptorului video. Acest controler conine interfaa cu magistrala sistemului, prin care se realizeaz legtura ntre memoria sistemului i memoria video. Viteza asigurat de interfaa cu magistrala este un element important, deoarece multe operaii

Sisteme de I/E - Adaptoare video

grafice implic copierea unui volum mare de date din memoria sistemului n memoria adaptorului video. O interfa performant cu magistrala trebuie s aib dou caracteristici importante. n primul rnd, trebuie s admit transferuri n mod exploziv (burst) prin specificarea adresei de nceput i a lungimii blocului. n al doilea rnd, interfaa trebuie s permit transferuri fr stri de ateptare. Un astfel de mod este important mai ales la citirea memoriei video. La scrierea n memoria video, trebuie utilizat o memorie FIFO pentru a asigura scrierea eficient a datelor sau actualizarea imaginilor de pe ecran. Controlerul grafic conine de asemenea interfaa cu memoria video, prin care se realizeaz controlul accesului la memoria video pentru actualizarea imaginilor. Registrele VGA (Video Graphics Array) i registrele de control asigur programarea adaptorului video pentru funcionarea n modurile compatibile cu standardul VGA. Majoritatea adaptoarelor sunt compatibile cu standardul VGA, iar acest standard asigur i compatibilitatea cu standardele anterioare. Exist ns i adaptoare care nu mai sunt compatibile cu standardul VGA, la care registrele VGA nu se mai regsesc. O alt funcie a controlerului grafic este generarea prin hardware a cursorului pentru ecran. Controlerul grafic poate executa i diferite funcii grafice, ca desenarea unor linii, umplerea unor suprafee sau transferul unor blocuri de date. Funciile grafice sunt implementate de obicei de ctre acceleratoarele grafice, controlerul grafic fiind numit n acest caz i procesor grafic. Acceleratoarele grafice pentru aplicaii 2D sau 3D sunt prezentate n seciunile urmtoare.

6.1.2. BIOS-ul video


BIOS-ul video pune la dispoziie funcii video care pot fi utilizate de programe pentru accesul la adaptorul video, realiznd interfaa cu controlerul grafic. Deoarece BIOS-urile diferitelor adaptoare sunt diferite, programarea a devenit dificil datorit creterii numrului de adaptoare de tipuri diferite. Organizaia VESA a elaborat un standard pentru funciile BIOS n modurile cu nalt rezoluie, numit VESA BIOS Extensions (VBE).

6.1.3. Memoria video


Memoria video pstreaz imaginea video, aceast memorie fiind numit i buffer de cadre. Dimensiunea, timpul de acces i organizarea memoriei video reprezint factori importani care influeneaz performanele adaptorului video. Detalii despre aceste aspecte ale memoriei video sunt prezentate n seciunea 6.4.

6.1.4. Circuitul RAMDAC


Circuitul RAMDAC (RAM Digital to Analog Converter) preia imaginea sub form de date numerice i o convertete n semnale analogice care pot fi afiate de monitor. Funciile circuitului RAMDAC pot fi integrate n cadrul controlerului grafic. Pentru arhitecturile mai performante, care utilizeaz memorii video cu port dual, circuitul RAMDAC trebuie s fie separat de controlerul grafic. Funcionarea circuitului RAMDAC este descris mai detaliat n seciunea 6.2.

6.1.5. Controlerul CRT


Controlerul CRT genereaz semnalele de sincronizare necesare pentru afiarea imaginilor de ctre monitor. Aceste semnale sunt semnalul de sincronizare pe orizontal SH i semnalul de sincronizare pe vertical SV.

6.1.6. Generatorul de ceas


Generatorul de ceas este utilizat pentru a converti frecvena oscilatorului cu cuar n frecvenele necesare pentru controlerul grafic, controlerul CRT i circuitul RAMDAC.

Sisteme de I/E - Adaptoare video

6.1.7. Portul video


Portul video permite ca imaginile video preluate din alte surse s fie mixate sau incluse n imaginile afiate pe ecran. Acest port poate fi utilizat, de exemplu, pentru afiarea pe ecran a imaginilor TV simultan cu imaginile grafice generate de calculator. Exist mai multe variante ale portului video, o parte din acestea fiind standardizate de organizaia VESA. O prim variant este interfaa VFC (VGA Feature Connector), care a fost elaborat pentru standardul VGA. Aceast variant, care nu mai este utilizat astzi, specifica o magistral de pixeli de 8 bii pentru conectarea unei surse video la calculator i permitea afiarea unor imagini video ntr-o fereastr de pe ecranul monitorului, cu o rezoluie de numai 640480 pixeli i un numr de 256 de culori. Rata de transfer maxim ajungea la 40 MB/s. O variant mbuntit a interfeei VFC este VAFC (VESA Advanced Feature Connector), variant care a fost standardizat de organizaia VESA n anul 1994 i revizuit n 1995. Interfaa VAFC pune la dispoziie o magistral dedicat de 32 de bii pentru transferul datelor video, cu o rat de transfer maxim de 150 MB/s. Caracteristicile imaginilor afiate sunt rezoluia maxim de 1024768 pixeli, 256 de culori i frecvena de remprosptare de 75 Hz. Varianta VAFC a reprezentat doar o soluie pe termen scurt pentru mixarea imaginilor video i a celor grafice. O alt interfa video este VMC (VESA Media Channel), care a fost standardizat n anul 1993. Aceast interfa, care s-a dorit a fi o soluie pe termen mai lung pentru sistemele multimedia, definete un canal separat de 32 de bii pentru transferul datelor video i audio necomprimate, la o rat de transfer maxim de 132 MB/s. Canalul dedicat pentru transferul datelor multimedia permite comunicaia direct, bidirecional i simultan ntre mai multe adaptoare video sau mai multe periferice de 8, 16 sau 32 de bii, fr a ncrca magistrala sistemului i fr intervenia UCP. Aceste periferice pot fi, de exemplu, decodoare MPEG-2, controlere HDTV sau aparate Video CD. Interfaa VMC permite aplicaii video n timp real, gestionnd simultan pn la 15 iruri de date multimedia. Specificaiile VMC permit utilizarea oricrei tehnologii pentru memoria video, inclusiv a unor tehnologii aprute ulterior elaborrii acestor specificaii. O ultim variant de interfa video prezentat este interfaa VIP (Video Interface Port), versiunea 2 a standardului acestei interfee fiind publicat de organizaia VESA n anul 1998. Similar interfeei VMC, interfaa VIP permite accesul diferitelor dispozitive video digitale la bufferul de cadre al adaptorului video pentru realizarea unor aplicaii cum sunt videoconferine, redarea discurilor DVD video sau aplicaii TV. Interfaa VIP este o conexiune fizic dedicat ntre adaptorul video i dispozitive cum sunt decodoare MPEG-2 sau HDTV, digitizoare video sau codificatoare video. Aceast interfa este mai simpl dect interfaa VMC i permite realizarea unor configuraii la costuri mai sczute. n seciunea 6.8 vor fi descrise diferite metode de combinare a imaginilor video cu cele grafice.

6.2. Funcionarea circuitului RAMDAC


Structura unui circuit RAMDAC este ilustrat n Figura 6.2.

Figura 6.2. Structura circuitului RAMDAC. Componentele circuitului RAMDAC sunt tabela de selecie a culorilor RAM CLUT (Color Look-Up Table) i convertoarele numeric-analogice DAC. Dup cum se observ din Figura 6.2, datele video pot fi aplicate la intrrile circuitelor DAC fie direct, ocolind tabela RAM CLUT, fie prin intermediul acestei tabele. Varianta utilizat depinde de modul video utilizat i, implicit, de numrul

Sisteme de I/E - Adaptoare video

de bii alocai n memoria video pentru culoarea fiecrui pixel. Modurile video pentru care datele din memoria video sunt transmise direct la intrrile circuitelor DAC se numesc moduri video cu culori directe, iar cele pentru care se utilizeaz tabela RAM CLUT se numesc moduri video cu culori indexate. Majoritatea aplicaiilor actuale utilizeaz moduri video cu culori directe. Totui, tabela RAM CLUT se utilizeaz n unele situaii. Tabela RAM CLUT este n principiu un convertor de cod care transform un cod de culoare exprimat pe un numr mai redus de bii (de exemplu, 8) ntr-o valoare extins (de exemplu, pe 24 de bii) pentru a permite utilizarea unui numr mare de culori. Aceast tabel se utilizeaz pentru aplicaiile care nu necesit un numr mare de culori sau n cazul n care adaptorul nu conine o memorie suficient pentru alocarea unui numr de 24 sau 32 de bii pentru culoarea fiecrui pixel. Considerm, de exemplu, cazul n care memoria video conine cte 8 bii pentru codul de culoare al fiecrui pixel, ceea ce permite utilizarea unui numr de 256 de culori. Dac se utilizeaz trei circuite DAC de cte 8 bii pentru culorile fundamentale, vor fi disponibile 16,7 milioane culori. Selecia celor 256 de culori care vor fi utilizate din numrul total de culori disponibile se realizeaz cu ajutorul tabelei RAM CLUT. Cu alte cuvinte, aceast tabel selecteaz 256 de culori care vor fi afiate simultan pe ecran dintr-o palet de 16,7 milioane culori. Tabela RAM CLUT este o memorie RAM care conine 256 de cuvinte de cte 24 de bii, fiecare cuvnt fiind mprit n trei cmpuri de cte 8 bii pentru cele trei culori fundamentale. Unele adaptoare utilizeaz o tabel RAM CLUT cu dimensiunea cuvntului de 18 bii, ceea ce limiteaz numrul total de culori la 262.144. Cei 8 bii reprezentnd codul culorii, citii din memoria video, se utilizeaz ca index n tabela RAM CLUT, coninutul cuvntului selectat fiind transmis la cele trei circuite DAC. Tabela RAM CLUT este programabil, deci fiecare cuvnt al tabelei poate fi ncrcat prin program cu o nou valoare. Prin simpla modificare a valorii unui cuvnt din tabela RAM CLUT se poate defini o nou culoare care va fi disponibil n cadrul setului de 256 de culori. Astfel este posibil i modificarea rapid a culorii unor obiecte afiate pe ecran sau tergerea obiectelor respective. Figura 6.3 ilustreaz modul n care se utilizeaz tabela RAM CLUT.

Figura 6.3. Utilizarea tabelei de selecie a culorilor RAM CLUT. Fiecare din cele trei convertoare numeric-analogice (circuite DAC) primete la intrare o valoare pe 8 bii i genereaz la ieire un semnal analogic care poate avea 256 de nivele de tensiune. Cele trei semnale analogice R, G i B generate de circuitele DAC sunt transmise prin conectorul i cablul interfeei la monitor pentru modularea celor trei fascicule de electroni.

Sisteme de I/E - Adaptoare video

Tipul i frecvena de funcionare a circuitelor DAC influeneaz n mod direct rezoluia maxim a imaginii i frecvena de remprosptare a acesteia. Rezoluiile mai mari implic un numr mai mare de pixeli care trebuie transmii de circuitele DAC pentru a menine o anumit frecven de remprosptare. Funcionarea circuitelor DAC este controlat de un ceas de pixeli. Tabelul 6.1 indic frecvena circuitelor DAC (frecvena ceasului de pixeli) n funcie de rezoluia ecranului i rata de remprosptare. Frecvena este indicat n MHz, valorile reprezentnd numrul de pixeli (exprimat n milioane de pixeli) care trebuie generai n fiecare secund de circuitele DAC. S-a utilizat un factor de multiplicare de 1,32 pentru a ine cont de duratele intervalelor de stingere pe orizontal i pe vertical, n care fasciculele nu sunt vizibile pe ecran. Tabelul 6.1. Frecvena n MHz a circuitelor DAC n funcie de rezoluia ecranului i frecvena de remprosptare.
Rezoluie 800 x 600 1024 x 768 1280 x 1024 1600 x 1200 1920 x 1440 2048 x 1536 60 Hz 38,0 62,3 103,8 152,1 219,0 249,1 75 Hz 47,5 77,8 129,7 190,1 273,7 311,4 85 Hz 53,9 88,2 147,1 215,4 310,2 352,9 100 Hz 63,4 103,8 173,0 253,4 364,9 415,2

Pe lng frecvena de funcionare a circuitelor DAC, posibilitatea de a obine anumite frecvene de remprosptare depinde i de ali factori: Calitatea adaptorului video. Anumite adaptoare nu sunt proiectate pentru a depi anumite frecvene de remprosptare, indiferent de ali factori. Rata de transfer a memoriei video. Ratele de remprosptare mai mari implic rate mai mari de transfer necesare pentru citirea memoriei video. Pentru rezoluii mari i un numr mare de culori, rata de transfer a memoriei video poate deveni un factor de limitare, viteza circuitelor DAC nefiind relevant dac memoria nu poate furniza datele suficient de rapid.

6.3. Reprezentarea culorilor


Numrul de culori care pot fi afiate pe ecran depinde n primul rnd de adaptorul video. Un monitor analogic cu tub catodic poate genera un numr de peste 16 milioane culori. Adaptorul video poate limita ns numrul de culori care pot fi afiate pe ecran. Numrul maxim de culori depinde de dimensiunea memoriei video i de numrul de bii alocai fiecrui pixel. Adaptoarele utilizeaz diferite moduri de reprezentare a informaiilor pentru culoarea fiecrui pixel n memoria video. Aceste moduri sunt ilustrate n Figura 6.4. Primul mod ilustrat (Figura 6.4(a)) este cel n care se utilizeaz 8 bii pentru a reprezenta culoarea unui pixel. Acest mod, numit i mod pseudo-color, permite utilizarea simultan a 256 de culori. n acest mod nu se pstreaz separat componentele pentru cele trei culori fundamentale. Se utilizeaz tabela RAM CLUT pentru extinderea numrului total de culori, dup cum s-a prezentat n seciunea 6.1.4.

Sisteme de I/E - Adaptoare video

Figura 6.4. Moduri de reprezentare a culorilor n memoria video. Dac se utilizeaz 15 bii pentru fiecare pixel (Figura 6.4(b)), sunt posibile 32.768 culori. n memoria video se aloc 16 bii pentru fiecare pixel, dar bitul cel mai semnificativ din cei 16 nu este utilizat. Pentru fiecare culoare fundamental sunt rezervai cte 5 bii. Acest mod de rezervare a biilor este desemnat prin 1:5:5:5. Un alt mod de reprezentare este cel n care se utilizeaz 16 bii pentru fiecare pixel (Figura 6.4(c)). Pentru culoarea verde sunt rezervai 6 bii, n timp ce pentru culorile rou i albastru sunt rezervai cte 5 bii. Modul de rezervare a biilor este indicat prin 5:6:5, numrul maxim de culori fiind de 65.536. Modurile cu 15 i 16 bii pe pixel sunt numite i moduri high color. Figura 6.4(d) ilustreaz modul n care se rezerv 32 de bii pentru fiecare pixel, din care cei 8 bii mai semnificativi nu sunt utilizai. Aceast reprezentare permite simplificarea structurii adaptorului video, dar reduce eficiena utilizrii memoriei video. Acest mod se numete cu pixeli necompactai. Adaptoarele actuale utilizeaz modul cu pixeli compactai, n care se rezerv 24 de bii pentru fiecare pixel (Figura 6.4(e)). Astfel, memoria video este utilizat mai eficient, i n acelai timp se reduce rata de transfer necesar pentru afiarea imaginilor. n ambele moduri, cu 32 sau 24 de bii pe pixel, sunt rezervai cte 8 bii pentru fiecare culoare fundamental, modul de rezervare a biilor fiind indicat prin 8:8:8. Numrul maxim de culori este de 16,7 milioane (16.777.216 culori). Aceste moduri sunt numite i moduri true color.

6.4. Memoria video


6.4.1. Amplasarea memoriei video
La primele calculatoare PC, ca memorie video se utiliza o parte a memoriei principale DRAM. UCP realiza operaiile necesare pentru actualizarea acestei zone, iar controlerul grafic actualiza imaginile de pe ecran citind coninutul acestei zone. O asemenea soluie se numete arhitectur cu memorie unificat (UMA Unified Memory Architecture). Costul acestei soluii este redus, dar performanele video sunt de asemenea mai reduse. Pentru a se utiliza rezoluii mari i rate de remprosptare ridicate, performanele memoriei video trebuie s fie mai ridicate dect cele ale memoriei DRAM obinuite. Pe msur ce dimensiunile necesare pentru memoria video au crescut, aceasta a fost plasat pe placa adaptorului video. Avantajul plasrii memoriei video n cadrul adaptorului video este creterea eficienei i posibilitatea de a mbunti performanele memoriei video pe msur ce devin disponibile noi tehnologii pentru aceast memorie.

Sisteme de I/E - Adaptoare video

O soluie combinat este utilizat la interfaa AGP, care permite procesorului video accesul la memoria principal pentru efectuarea diferitelor calcule necesare operaiilor grafice, dar dispune i de o memorie video dedicat. Astfel este posibil utilizarea mai flexibil a memoriei fr reducerea performanelor. La calculatoarele PC, memoriei video i se aloc o poriune a spaiului de adresare al memoriei principale a sistemului. Aceast poriune are dimensiunea de 64 KB sau 128 KB i este format din segmentele A i/sau B (adresele fizice A0000h i B0000h) din primul MB al memoriei principale. Aceast zon poate fi accesat de UCP i n modul real. Deoarece pentru majoritatea rezoluiilor acest spaiu nu este suficient, controlerul grafic mparte memoria video n pagini pe care le mut succesiv n aceast zon n care UCP are acces la imaginile grafice. Controlerele grafice actuale pot muta ntreaga memorie video n spaiul de adresare aflat deasupra limitei de 1 MB, care este utilizat n modul protejat. n acest caz nu este necesar paginarea pentru a avea acces la ntreaga memorie video. Acest tip de acces liniar la memoria video poate mbunti n mod semnificativ performanele sistemului de afiare.

6.4.2. Organizarea memoriei video


Organizarea memoriei video influeneaz n mare msur valoarea ratei de transfer. Prin utilizarea tehnicii de intercalare a bancurilor de memorie, se obine creterea semnificativ a performanelor la accesul memoriei video. Aceast tehnic permite ca dou sau mai multe bancuri de memorie s fie accesate simultan, iar datele provenite de la mai multe bancuri de memorie s fie multiplexate spre controlerul grafic sau circuitele DAC. Astfel, o memorie cu dou bancuri de cte 64 de bii devine prin intercalare aproape la fel de rapid ca o memorie cu lungimea cuvntului de 128 de bii. Memoriile video pot fi cu port unic sau cu port dual, n ultimul caz fiind posibil accesul simultan la ambele porturi de memorie. n Figura 6.5 se prezint amplasarea unei memorii video cu port unic.

Figura 6.5. Amplasarea unei memorii video cu port unic. O memorie video cu port unic dispune de un singur port de date, care este utilizat att pentru remprosptarea ecranului cu ajutorul circuitului RAMDAC, ct i pentru accesul de ctre UCP sau controlerul grafic pentru nscrierea unor noi informaii. O asemenea memorie realizat n tehnologia convenional nu poate asigura de obicei o rat de transfer suficient pentru o rezoluie ridicat i un numr mare de culori. Pentru a elimina acest dezavantaj, au fost create memorii video cu port dual. Amplasarea unei asemenea memorii este prezentat n Figura 6.6.

Figura 6.6. Amplasarea unei memorii video cu port dual.

Sisteme de I/E - Adaptoare video

Unul din porturi este similar celui de la memoriile convenionale i este utilizat de UCP sau de ctre controlerul grafic pentru actualizarea imaginilor. Al doilea port este un port cu acces serial i este utilizat pentru accesul la datele video n vederea remprosptrii imaginii de pe ecran. Astfel, actualizarea memoriei i remprosptarea ecranului se pot realiza n paralel. n cazul memoriei cu port dual, este necesar un circuit RAMDAC extern, deoarece portul serial nu poate fi direcionat ctre controlerul grafic.

6.4.3. Caracteristici ale memoriei video


Una din caracteristicile memoriei video care influeneaz performanele adaptorului video este dimensiunea memoriei. Aceast dimensiune determin rezoluia posibil a ecranului i numrul de culori care pot fi afiate. Dimensiunea memoriei necesare pentru afiarea unei imagini se calculeaz n funcie de numrul de culori disponibile pentru un pixel. Se poate utiliza urmtoarea formul: D = (RX RY Bpp) / 8 (6.1) unde D este dimensiunea memoriei, RX este numrul de pixeli pe orizontal, RY este numrul de pixeli pe vertical, iar Bpp este numrul biilor de culoare alocai unui pixel. Dimensiunea rezult n octei. Dimensiunea memoriei necesare este de obicei mai mare dect cea rezultat n urma calculului de mai sus. Din cauza organizrii memoriei i a modului de acces, adaptoarele sunt disponibile de obicei cu memorii de 2, 4, 8, 16, 32, 64 sau 128 MB, o parte a memoriei fiind neutilizat. Tehnologia de memorie numit MDRAM (Multibank DRAM) permite utilizarea unor bancuri de memorie de dimensiune mai redus, astfel nct se pot realiza adaptoare cu o dimensiune mai flexibil a memoriei video. Un alt motiv pentru care este necesar o memorie video cu dimensiunea mai mare este c anumite adaptoare video, mai ales acceleratoarele 3D, utilizeaz o zon de memorie pentru diferite funcii grafice, pe lng zona utilizat pentru pstrarea imaginilor. Adaptoarele utilizeaz metode diferite pentru alocarea memoriei necesare acestor funcii. Unele utilizeaz zona rmas liber dup alocarea bufferului de cadre, n timp ce altele aloc n prealabil memoria pentru calcule i apoi limiteaz dimensiunea bufferului de cadre n mod corespunztor. Tabelul 6.2 prezint dimensiunea n MB a memoriei video necesare pentru unele combinaii de rezoluii i numr de culori. n paranteze se indic configuraia standard de memorie necesar pentru combinaia respectiv, pentru organizarea convenional a memoriei video. Aceste dimensiuni nu se refer la acceleratoarele 3D, pentru aplicaiile 3D necesarul de memorie fiind mult mai ridicat. Tabelul 6.2. Dimensiunea memoriei video (n MB) n funcie de rezoluia ecranului i numrul de bii rezervai pentru culoarea unui pixel.
Rezoluie 800 x 600 1024 x 768 1280 x 1024 1600 x 1200 1920 x 1440 2048 x 1536 8 bii 0,46 (1 MB) 0,75 (1 MB) 1,25 (2 MB) 1,83 (2 MB) 2,63 (4 MB) 3,00 (4 MB) 16 bii 0,92 (1 MB) 1,50 (2 MB) 2,50 (4 MB) 3,66 (4 MB) 5,27 (8 MB) 6,00 (8 MB) 24 bii 1,37 (2 MB) 2,25 (4 MB) 3,75 (4 MB) 5,49 (8 MB) 7,91 (8 MB) 9,00 (16 MB) 32 bii 1,83 (2 MB) 3,00 (4 MB) 5,00 (8 MB) 7,32 (8 MB) 10,54 (16 MB) 12,00 (16 MB)

Pe lng dimensiunea memoriei video, este important i rata de transfer a memoriei. Rata de transfer maxim este numit i lime de band a memoriei. Aceast rat este influenat de tehnologia memoriei video i de timpul de acces al memoriei. Rata de transfer determin performanele globale ale adaptorului i este unul din factorii care condiioneaz utilizarea unor rezoluii nalte i a unui numr mare de culori la rate de remprosptare acceptabile. Exist mai multe funcii ale adaptorului video care trebuie s partajeze limea de band a memoriei video. Principala funcie i cel mai important utilizator al limii de band este funcia de remprosptare a ecranului. O valoare aproximativ a ratei de transfer necesare pentru remprosptarea ecranului poate fi calculat prin nmulirea valorilor urmtoare: numrul de pixeli pe orizontal, numrul de pixeli pe vertical, numrul de octei rezervai pentru un pixel i frecvena de

Sisteme de I/E - Adaptoare video

remprosptare a ecranului. Exist i alte funcii ale adaptorului video care necesit o anumit lime de band pentru accesul la memoria video. Pe lng circuitele de remprosptare, memoria trebuie s fie accesat i de UCP, ca i de controlerul grafic. De exemplu, UCP poate solicita transferul unei ferestre sau a unei imagini din memoria principal n memoria video. De asemenea, controlerul grafic poate crea o nou fereastr sau poate transfera o fereastr existent. S-a constatat c este necesar ca un procent cuprins ntre 30% i 50% din limea de band a memoriei video s fie rezervat pentru alte funcii dect cea de remprosptare a ecranului. Tabelul 6.3 indic, n MB/s, rata de transfer minim de care trebuie s dispun memoria video pentru diferite combinaii de rezoluii i frecvene de remprosptare. Valorile corespund modului cu 16,7 milioane culori cu pixeli compactai i se refer doar la funcia de remprosptare a ecranului. Tabelul 6.3. Rata de transfer (n MB/s) minim necesar pentru memoria video n funcie de rezoluia ecranului i frecvena de remprosptare n modul cu 16,7 milioane culori.
Rezoluie 800 x 600 1024 x 768 1280 x 1024 1600 x 1200 1920 x 1440 2048 x 1536 60 Hz 86,4 141,6 235,9 345,6 497,6 566,2 75 Hz 108,0 176,9 294,9 432,0 622,1 707,8 85 Hz 122,4 200,5 334,2 489,6 705,0 802,1 100 Hz 144,0 235,9 393,2 576,0 829,4 943,7

Memoriile SDRAM (Synchronous DRAM) de 64 de bii funcionnd la 133 MHz (numite i PC133) au o rat de transfer maxim teoretic de 800 MB/s, ns rata lor de transfer medie este mult mai redus, de 320-400 MB/s. Performane superioare sunt asigurate de memoriile DDR SDRAM (Double Data Rate SDRAM). Astfel, memoriile DDR-266 (PC2100), care funcioneaz cu un semnal de ceas de 133 MHz, au o rat de transfer maxim teoretic de 2128 MB/s, iar rata lor de transfer medie poate fi n jur de 1200 MB/s. Se observ c memoriile DDR-266 asigur performanele necesare pentru memoria video, inclusiv la rezoluii mari. n plus, sunt disponibile memorii DDR care funcioneaz la frecvene mai ridicate, de 150 MHz (DDR-300, PC2400) sau 166 MHz (DDR-333, PC2700), cu rate de transfer maxime teoretice de 2400 MB/s, respectiv 2656 MB/s. Pentru a satisface cerinele ratelor de transfer, adaptoarele video utilizeaz magistrale cu lime mare ntre setul de circuite video, memoria video i circuitul RAMDAC. Astfel, majoritatea adaptoarelor video actuale utilizeaz magistrale de 128 de bii, dar exist i adaptoare video cu performane ridicate care utilizeaz magistrale de 256 de bii. Pentru a utiliza n mod eficient aceste magistrale, lungimea cuvntului de memorie trebuie s fie suficient de mare. De obicei, adaptoarele video la care magistrala intern este de 64 de bii utilizeaz bancuri de memorie de 32 de bii. Dac un asemenea adaptor conine, de exemplu, o memorie video de 1 MB, aceasta este organizat ca 256 KB 32 bii. Deci, cu doar 1 MB de memorie, adaptorul video de 64 de bii poate accesa memoria numai pe 32 de bii, ceea ce njumtete rata de transfer potenial. Dac se extinde memoria video la 2 MB, ea va fi organizat ca 256 KB 64 bii, astfel nct aceasta va fi utilizat n mod eficient. Similar, adaptoarele video cu magistrale interne de 128 de bii necesit de obicei o memorie de cel puin 4 MB, n caz contrar performanele lor fiind njumtite.

6.4.4. Tehnologii pentru memoria video


Deoarece memoria video este o component important a adaptorului video i implicit a ntregului sistem, au fost elaborate n mod special noi tehnologii cu scopul mbuntirii performanelor acestei memorii. Ulterior, unele din aceste tehnologii au fost utilizate i pentru memoria principal. Unele tehnologii mbuntesc performanele prin creterea ratei de transfer, altele prin utilizarea unui port dual, iar altele prin ambele metode. n aceast seciune se prezint unele tehnologii utilizate pentru memoria video, cu meniunea c memoriile MDRAM i SGRAM nu mai sunt utilizate pentru noile adaptoare video, dar pot fi ntlnite la unele adaptoare existente.

10

Sisteme de I/E - Adaptoare video

6.4.4.1. MDRAM
Tehnologia memoriei MDRAM (Multibank DRAM) a fost elaborat de firma MoSys. Aceasta este o memorie DRAM sincron cu port unic, cu o arhitectur diferit de memoria SDRAM convenional. Memoria MDRAM nu este compatibil la nivel de funcii i de interfa cu memoriile standardizate de organizaia JEDEC (Joint Electron Device Engineering Council), cum sunt memoriile SDRAM sau DDR SDRAM. n timp ce memoriile video convenionale utilizeaz un singur bloc de memorie pentru bufferul de cadre, memoria MDRAM mparte acest bloc n bancuri multiple de cte 32 KB, care pot fi accesate independent. Fiecare banc de memorie conine 256 de linii de cte 32 de cuvinte, un cuvnt fiind de 32 de bii. O memorie MDRAM cu capacitatea de 1 MB, de exemplu, conine 32 de bancuri de memorie. Fiecare banc de memorie dispune de linii de date (linii de bii) cu lungime redus, astfel nct timpul de prencrcare este foarte redus. Bancurile de memorie conin cte o memorie cache cu capacitatea unei linii a matricii (32 de cuvinte), aceasta fiind o memorie static SRAM. Bancurile de memorie sunt conectate la o magistral intern. Datele se transfer pe ambele fronturi ale semnalului de ceas. Decodificatoarele de adres sunt plasate local n fiecare banc de memorie. Un set de dou bancuri de memorie partajeaz aceleai decodificatoare, adresa acestor bancuri diferind doar prin bitul cel mai puin semnificativ. Adresele bancurilor de memorie sunt pstrate n registre de identificare ale bancurilor, astfel nct ele pot fi modificate. Prin reprogramarea acestor registre, este posibil ca pn la 8 memorii MDRAM conectate la aceeai magistral s fie plasate n acelai spaiu de adrese, fr utilizarea unei logici externe de decodificare a adreselor. Memoria MDRAM are mai multe avantaje. Astfel, datele pot fi citite din linia activ a matricii unui banc de memorie cu o ntrziere redus, timpul de acces la linie fiind mult redus. De asemenea, diferitele accesuri la memorie pot fi ntreesute ntre mai multe bancuri de memorie, astfel c ele se pot suprapune. Aceasta permite i prencrcarea unui banc de memorie n timpul citirii unui alt banc, timpul de prencrcare fiind ascuns. n acest fel, performanele memoriei compuse din celule DRAM sunt apropiate de cele ale memoriei SRAM. Un alt avantaj al memorie MDRAM este posibilitatea unei organizri mai flexibile a memoriei, datorit bancurilor multiple cu dimensiune redus. Dac sunt echipate cu memorii convenionale, adaptoarele video pot fi realizate cu dimensiuni ale memoriei video de 1 MB, 2 MB, 4 MB etc., iar o parte a memoriei nu este utilizat. De exemplu, pentru rezoluia de 1024768 pixeli n modul cu 16,7 milioane culori este necesar o memorie cu dimensiunea de 2,25 MB, astfel c trebuie s se prevad o memorie de 4 MB. Cu memoria MDRAM aceast restricie este eliminat, iar adaptorul poate fi echipat cu o memorie avnd dimensiunea necesar. Dei costul memoriei MDRAM a fost mai redus dect cel al memoriilor cu port dual, memoria MDRAM nu a avut succesul ateptat, datorit incompatibilitii interfeei acestei memorii cu standardele acceptate de industrie.

6.4.4.2. SGRAM
Memoria SGRAM (Synchronous Graphics RAM) este o memorie sincron cu o interfa compatibil la nivel de pini cu memoria SDRAM, avnd ns funcii suplimentare prevzute special pentru creterea performanelor acceleratoarelor grafice. Memoria SGRAM este cu port unic, dar are performane care sunt apropiate de cele ale memoriilor cu port dual. Aceasta se obine prin posibilitatea activrii simultane a dou pagini de memorie, prin care se simuleaz o memorie cu port dual. Funciile speciale ale memorie SGRAM cuprind operaii de scriere mascate, care permit modificarea datelor selectate printr-o singur o operaie n locul unei secvene de operaii de citire, actualizare i scriere. O alt funcie este cea de scriere pe blocuri, care permite actualizarea mai eficient a datelor reprezentnd imaginile grafice. Au fost elaborate i memorii SGRAM bazate pe memoria MDRAM a firmei MoSys. Acestea dispuneau de o interfa compatibil cu specificaiile organizaiei JEDEC, beneficiind n acelai timp

Sisteme de I/E - Adaptoare video

11

de avantajul ntrzierilor mai reduse ale memoriei MDRAM i de funciile suplimentare ale memoriei SGRAM. Memoria SGRAM a fost utilizat de obicei ca memorie video n adaptoarele cu performane ridicate, dar care nu necesitau rezoluii foarte mari.

6.4.4.3. DDR SDRAM


Memoria DDR SDRAM (Double Data Rate SDRAM) este n prezent cea mai utilizat memorie pentru adaptoarele video. Numele acestei memorii provine de la tehnica transferrii datelor att pe frontul cresctor, ct i pe cel descresctor al semnalului de ceas. De exemplu, la o frecven a magistralei de 133 MHz memoria DDR SDRAM execut transferurile de date la o frecven de 266 MHz. Aceast tehnic crete semnificativ eficiena magistralei de memorie pentru transferurile de date. Transferul datelor pe ambele fronturi ale semnalului de ceas este utilizat i de alte tipuri de memorii, ca MDRAM sau Rambus DRAM. Variante brevetate ale memoriei DDR au nceput s apar n anul 1997, acestea fiind utilizate pentru diferite plci video cu performane ridicate. Pornind de la aceste variante, au fost elaborate specificaii deschise, care nu sunt protejate prin licene. Aceste specificaii au fost standardizate de organizaia JEDEC n anul 2000. Primele module de memorie DDR SDRAM bazate pe aceste specificaii, funcionnd la o frecven de 133 MHz, au fost disponibile n cantiti limitate la sfritul anului 2000, dar distribuia pe scar mai larg a nceput n anul 2001. Ulterior, au aprut module de memorie DDR SDRAM care funcioneaz la frecvene de 150 MHz, 166 MHz sau 200 MHz. Memoria DDR SDRAM are o interfa care transfer dou cuvinte de date la pinii de I/E n fiecare ciclu de ceas. Un acces de citire sau scriere const dintr-un singur transfer de date de 2n bii cu matricea intern DRAM pe timpul unui ciclu de ceas i dou transferuri de date de n bii cu pinii de I/E, fiecare pe timpul unei jumti a ciclului de ceas. Astfel, magistrala intern de date are o lime dubl fa de cea indicat de interfaa extern. De obicei, circuitele de memorie DDR SDRAM conin 4 bancuri de memorie. Un semnal de strob bidirecional de date (DQS) este transmis extern mpreun cu datele pentru a fi utilizat de ctre receptorul datelor. Semnalul DQS este transmis de memoria DDR SDRAM n timpul operaiilor de citire i de ctre controlerul de memorie n timpul operaiilor de scriere. Strobul de date permite ajustarea variaiilor de propagare ale semnalului de ceas, a capacitanei i a lungimii de interconectare n sistemele cu module multiple de memorie. Accesurile de citire i scriere se efectueaz n mod exploziv. Ele ncep de la o locaie selectat i continu pentru un numr programabil de locaii. Lungimea transferului exploziv poate fi programat la 2, 4 sau 8 locaii. Accesurile ncep cu memorarea unei comenzi de activare, urmat apoi de o comand de citire sau de scriere. Biii de adres memorai cu o comand de activare sunt utilizai pentru a selecta bancul de memorie i linia care va fi accesat. Biii de adres memorai cu o comand de citire sau scriere sunt utilizai pentru a selecta bancul de memorie i coloana de nceput pentru accesul n mod exploziv. Poate fi validat o funcie de prencrcare automat pentru prencrcarea liniei, iniiat la sfritul accesului n mod exploziv. Memoria DDR SDRAM se utilizeaz pentru dou tipuri de aplicaii: bazate pe module i bazate pe componente (punct la punct). Aplicaiile bazate pe module se refer n general la sisteme de memorie principal; modulele conin mai multe circuite de memorie, n funcie de organizarea memoriei (de obicei, 4 sau 8). De exemplu, n cazul organizrii 8, sunt necesare 8 circuite de memorie pentru un cuvnt de 64 de bii. Viteza sistemelor bazate pe module este limitat de ncrcarea magistralei i de lungimea liniilor. n cazul aplicaiilor punct la punct, cum sunt adaptoarele video, sunt posibile viteze mai ridicate. Pentru aceste aplicaii, se utilizeaz de obicei circuite de memorie cu organizarea 16 sau 32. Ca i memoria SDRAM convenional, memoria DDR SDRAM utilizeaz module DIMM (Dual In-line Memory Module), dar cele dou tipuri de module nu sunt compatibile ntre ele. De aceea, memoria DDR SDRAM poate fi utilizat doar pe plcile de baz cu socluri adecvate. Principala diferen este creterea numrului de pini de la 168 la 184. Circuitele de memorie DDR SDRAM funcioneaz la o tensiune de 2,5 V, spre deosebire de circuitele de memorie SDRAM, care funcioneaz la 3,3 V. Puterea consumat este redus astfel cu 25%.

12

Sisteme de I/E - Adaptoare video

De obicei, diferitele tipuri de memorii DDR SDRAM sunt denumite dup rata lor de transfer la vrf. De exemplu, memoria DDR SDRAM care utilizeaz un semnal de ceas de 100 MHz, cu o rat maxim de transfer de 1600 MB/s, este numit PC1600. Similar, versiunea la 133 MHz este numit PC2100. De fapt, aceste memorii ar fi trebuit denumite PC200 i PC266, care era i intenia iniial. Denumirile au fost schimbate deoarece pentru memoria Rambus s-au utilizat nume similare, de exemplu, PC800 pentru o memorie Rambus care funcioneaz la 800 MHz. n standardul JEDEC sunt utilizate alte denumiri pentru memoria DDR SDRAM, bazate pe frecvena de funcionare. De exemplu, DDR-200 indic o memorie DDR SDRAM cu transferuri de date la 200 MHz (avnd un semnal de ceas de 100 MHz), memorie care este echivalent cu PC1600. Tabelul 6.4 indic principalele tipuri de memorii DDR SDRAM, frecvena de ceas i rata de transfer maxim teoretic a acestora.

Tabelul 6.4. Tipuri de memorii DDR SDRAM.


Tip de memorie DDR-200 (PC1600) DDR-266 (PC2100) DDR-300 (PC2400) DDR-333 (PC2700) DDR-400 (PC3200) Frecvena de ceas 100 MHz 133 MHz 150 MHz 166 MHz 200 MHz Rata de transfer maxim 2 x 100 x 8 = 1600 MB/s 2 x 133 x 8 = 2128 MB/s 2 x 150 x 8 = 2400 MB/s 2 x 166 x 8 = 2656 MB/s 2 x 200 x 8 = 3200 MB/s

Organizaia JEDEC a finalizat n anul 2002 standardul pentru a doua generaie a memoriei DDR SDRAM, numit DDR II SDRAM. Eantioane de memorii DDR II SDRAM sunt disponibile din anul 2002, fiind de ateptat ca producia de mas s nceap n anul 2003. Frecvena iniial a transferurilor de date pentru memoriile DDR II va fi de 400 MHz pentru aplicaiile bazate pe module (DDR-400, PC3200) i 800 MHz pentru aplicaiile punct la punct (DDR-800, PC6400). Specificaiile DDR II descriu i moduri de transfer DDR mbuntite la 400 MHz i 533 MHz, cu rate de transfer maxime de 3,2 GB/s, respectiv 4,26 GB/s. Circuitele de memorie DDR II SDRAM vor funciona la o tensiune de 1,8 V. Organizaia JEDEC a iniiat dezvoltarea generaiei care va urma dup memoria DDR II SDRAM, numit n prezent DDR III SDRAM. Este de ateptat ca aceast generaie s apar n cursul anilor 2004 sau 2005.

6.4.4.4. Rambus DRAM


La nceputul anilor 90, Firma Rambus Inc. a dezvoltat o tehnologie de memorie numit Rambus DRAM (RDRAM), care utilizeaz transmiterea unor pachete de adrese i date pe o magistral special. Aceast tehnologie a fost implementat iniial pe sistemul de jocuri Nintendo Ultra-64, ajungndu-se la frecvene de ceas de 250 MHz i rate de transfer de 500 MB/s. Firma Intel a sprijinit firma Rambus pentru dezvoltarea unei variante a tehnologiei RDRAM pentru calculatoarele personale, aceast variant fiind numit Direct Rambus DRAM (DRDRAM). Frecvena de ceas a fost crescut la 400 MHz, rata de transfer ajungnd la 1,6 GB/s. Cu mbuntirile aduse arhitecturii magistralei i facilitile de gestiune a puterii de alimentare, Intel se atepta ca DRDRAM s devin principala tehnologie de memorie. Tehnologia Rambus este ns soluia cea mai controversat de memorie cu vitez ridicat. n timp ce magistralele actuale de memorie sunt de 64 bii, memoriile RDRAM i DRDRAM utilizeaz o magistral de 8, respectiv 16 bii. Aceast magistral, numit canal Rambus, este utilizat nu numai ca un set de conexiuni, ci i ca un canal inteligent de comunicaie. Dei limea magistralei este redus, rata de transfer este de pn la 500 MB/s pentru memoria RDRAM i de pn la 1,6 GB/s pentru memoria DRDRAM. Prin utilizarea mai multor canale Rambus, rata de transfer poate fi crescut. Pentru memoriile Rambus se utilizeaz un modul de memorie diferit, denumit Rambus Inline Memory Module (RIMM).

Sisteme de I/E - Adaptoare video

13

n continuare ne referim la memoria Direct Rambus DRAM, pentru simplitate aceast memorie fiind numit Rambus DRAM sau RDRAM. Tabelul 6.5 prezint diferite tipuri de memorii Rambus DRAM.

Tabelul 6.5. Tipuri de memorii Rambus DRAM i rata de transfer maxim a acestora.
Tip de memorie PC600 PC700 PC800 Frecvena de ceas 300 MHz 355,5 MHz 400 MHz Rata de transfer maxim 600 Mbii/s/pin, 1,2 GB/s/canal 711 Mbii/s/pin, 1,42 GB/s/canal 800 Mbii/s/pin, 1,6 GB/s/canal

Elementele principale ale unui sistem de memorie Rambus sunt prezentate n Figura 6.7. Aceste elemente sunt canalul Rambus, controlerul de memorie, interfaa Rambus i circuitele RDRAM.

Figura 6.7. Elementele principale ale unui sistem de memorie Rambus. Canalul Rambus este o magistral de 16 bii, care poate transfera date la frecvene de pn la 800 MHz. Fiecare canal Rambus permite conectarea a pn la 32 de circuite de memorie RDRAM. Spre deosebire de circuitele de memorie SDRAM, care sunt conectate n paralel la magistrala de 64 de bii, circuitele de memorie RDRAM sunt conectate serial pe magistrala Rambus. Dac exist mai mul i conectori pentru modulele RIMM, fiecare trebuie s fie echipat cu module de memorie, n caz contrar canalul fiind ntrerupt. n conectorii care nu sunt utilizai se pot insera module de continuitate (CRIMM Continuity RIMM) n locul modulelor de memorie. Controlerul de memorie este singurul dispozitiv care genereaz cereri de acces la memorie. Fiecare controler are propria interfa Rambus. Aceast interfa convertete nivelele de tensiune de amplitudine redus utilizate de canalul Rambus la nivelele CMOS utilizate de circuitele de memorie. Interfaa Rambus implementeaz protocolul Rambus utilizat pentru transferurile de date. Aceast interfa este implementat att n controlerul de memorie, ct i n circuitele RDRAM de pe canalul Rambus. Circuitele RDRAM sunt memorii DRAM CMOS care conin circuitul de interfa Rambus. Aceste circuite sunt disponibile n configuraii de 16 i 18, configuraiile 18 coninnd cte un bit n plus pentru fiecare octet. Acest bit este definit i utilizat n modul specificat de proiectantul sistemului. Protocolul electric utilizat pentru semnalele transmise pe canalul Rambus este numit RSL (Rambus Signaling Level). Aceast tehnologie, introdus de firma Rambus n anul 1992, permitea funcionarea la o frecven de 500 MHz, fiind transferat un singur bit de informaie pe fiecare front al semnalului de ceas. Ulterior, protocolul RSL a fost mbuntit pentru a funciona la 800 MHz pe un canal cu module (interconectate prin conectori) i la 1066 MHz pe un canal scurt, format din circuite lipite pe placa de baz, fr conectori. n anul 2000, firma Rambus a introdus un nou protocol electric, numit QRSL (Quad Rambus Signaling Level), care permite o rat a datelor de 1,6 GB/s pe pin, care este dublul ratei permise de tehnologia RSL. Prin protocolul QRSL se transmit doi bii de informaie pe fiecare front al semnalului de ceas, utiliznd patru nivele de tensiune. Aceast tehnologie permite un numr maxim de 4 circuite interconectate i poate fi utilizat pentru aplicaii grafice i de reea. n acelai an, a fost introdus o nou tehnologie numit Quad Serializer/Deserializer (SerDes). Aceasta este o interfa punct la punct proiectat pentru interconectarea a dou circuite prin conectori, permind o vitez de 3,125 Gbii/s.

14

Sisteme de I/E - Adaptoare video

Au existat numeroase controverse legate de tehnologia Rambus DRAM i decizia firmei Intel de a sprijini aceast tehnologie n locul DDR SDRAM. De la introducerea sa n 1999, tehnologia Rambus a fost copleit de diferite probleme tehnice, costuri de producie ridicate i performane discutabile. Chiar dac problemele tehnice au fost rezolvate ntre timp i costurile au fost micorate, acestea sunt nc mult mai ridicate dect cele ale memoriei DDR SDRAM. Circuitele de memorie Rambus sunt mai complexe dect cele DDR SDRAM, deoarece ele trebuie s conin o interfa Rambus, iar magistrala lor intern de date are o lime mai mare. Setul de circuite pentru memoria Rambus DRAM este de asemenea mai complex, deoarece trebuie s conin un controler de memorie adecvat. Datele transmise de procesor trebuie multiplexate de setul de circuite pentru a fi transmise pe canalul Rambus de 16 bii, iar datele recepionate pe canal trebuie demultiplexate nainte de a fi transmise la procesor. Placa de baz este i ea mai complex, deoarece frecvenele mai ridicate necesit lungimi reduse ale conexiunilor i o ecranare suplimentar pentru evitarea interferenelor electromagnetice. Tehnologia utilizat de memoria Rambus DRAM reprezint proprietatea firmei Rambus, astfel nct productorii trebuie s achite o tax acestei firme. Pe de alt parte, DDR SDRAM este un standard industrial deschis, fiind astfel mai atractiv pentru productori i utilizatori. Costurile mai ridicate reprezint principalul motiv pentru rspndirea mai redus a memoriei Rambus DRAM comparativ cu DDR SDRAM. Folosind tehnologia Rambus, este relativ simpl dublarea ratei de transfer disponibile prin adugarea unui nou canal Rambus, cu costuri suplimentare reduse. Prin utilizarea a dou canale, rata de transfer la vrf poate ajunge la 3,2 GB/s. n cazul memoriei DDR SDRAM, chiar dac este posibil utilizarea unei configuraii cu dou canale, problema principal este numrul de pini mai ridicat necesar pentru o magistral de 8 octei, spre deosebire de canalul Rambus de 2 octei. Numrul de pini ar crete semnificativ, necesitnd eventual chiar straturi suplimentare ale plcii de baz pentru un al doilea canal de memorie. Aceasta ar crete costul plcii de baz n mod semnificativ. Pe de alt parte ns, propunerea DDR II specific rate de transfer la vrf de cel puin 3,2 GB/s prin utilizarea unui singur canal de memorie. Circuitele Rambus DRAM conin un numr mai mare de bancuri de memorie comparativ cu circuitele DDR SDRAM. De exemplu, circuitele Rambus DRAM de 128 i 256 Mbii conin 32 de bancuri fa de 4 la circuitele DDR SDRAM. Aceasta nseamn c sunt deschise mai multe pagini n orice moment i rata de succes este mai ridicat. Numrul mare de pagini deschise poate reduce latena medie a modulelor de memorie Rambus, chiar dac latena iniial este mai ridicat din cauza utilizrii unui protocol bazat pe transmiterea de pachete. Nu se poate indica n mod clar care din tehnologiile Rambus DRAM sau DDR SDRAM reprezint o soluie mai avantajoas. n multe cazuri, performanele memoriei DDR SDRAM le depesc pe cele ale memoriei Rambus DRAM, dar n medii cu un numr mare de fire de execuie i o ncrcare ridicat a magistralei, ambele memorii reprezint competitori importani. Totui, pentru majoritatea aplicaiilor DDR SDRAM reprezint o soluie mai atractiv dect Rambus DRAM, cel puin n prezent i n viitorul apropiat.

6.4.4.5. VRAM
Comparativ cu memoriile prezentate anterior, care sunt cu port unic, memoria VRAM (Video RAM) este cu port dual, permind dou accesuri simultane la memorie. Un port este dedicat accesului de ctre UCP sau controlerul grafic pentru actualizarea imaginilor. Al doilea port este destinat controlerului CRT pentru afiarea i remprosptarea imaginii de pe ecran. Memoria VRAM asigur, n general, performane superioare fa de memoriile cu porturi unice, avnd ns un cost mai ridicat.

6.4.4.6. WRAM
Memoria WRAM (Window RAM) este o variant modificat a memoriei VRAM, care asigur att o cretere a performanelor, ct i o reducere a costului. Memoria WRAM este de asemenea cu port dual, avnd o rat de transfer cu aproximativ 25% mai mare fa de memoria VRAM. n plus, memoria WRAM include faciliti suplimentare pentru a permite transferuri mai eficiente la operaiile

Sisteme de I/E - Adaptoare video

15

grafice frecvente, cum sunt umplerea unor blocuri sau afiarea unor texte. Costul mai redus al memoriei WRAM se datoreaz eliminrii unor funcii ale memoriei VRAM, care sunt utilizate mai rar. Un adaptor prevzut cu o memorie WRAM i un circuit RAMDAC suficient de rapid asigur rezoluii ridicate, de cel puin 16001200 pixeli. Memoria Window RAM nu are legtur cu Microsoft Windows.

6.5. Acceleratoare grafice


La introducerea sistemelor de operare prevzute cu o interfa grafic, toate operaiile pentru desenarea imaginilor grafice pe ecran trebuiau efectuate de UCP, ceea ce reducea viteza calculatorului n mod semnificativ. De aceea, productorii seturilor de circuite video au adugat acestora circuite specializate destinate accelerrii funciilor grafice, care s elibereze UCP de sarcina execuiei acestor funcii. Adaptoarele care sunt dotate cu circuite de accelerare pentru aplicaiile grafice sunt cunoscute sub numele de acceleratoare grafice. Primele acceleratoare grafice au fost numite adaptoare AVGA (Accelerated VGA), acceleratoare Windows sau acceleratoare GUI (Graphical User Interface). Urmtoarele acceleratoare grafice au fost numite acceleratoare 2D, pentru a le deosebi de acceleratoarele 3D aprute ulterior. Circuitele de accelerare ale diferiilor productori nu trebuie s fie compatibile ntre ele, legtura cu sistemul de operare i cu utilizatorul realizndu-se prin intermediul unui driver furnizat de productor. Acest driver realizeaz legtura cu interfaa pentru programele de aplicaii i transfer comenzile grafice ctre circuitele de accelerare. Un asemenea driver poate mbunti n mod semnificativ performanele sistemului de afiare. Elementul principal al unui accelerator grafic este procesorul pentru operaii grafice 2D. Acest procesor funcioneaz sub controlul UCP, dar independent de acesta. Funciile grafice 2D obinuite realizate de acest procesor sunt transferurile pe bii i pe blocuri (funcii Bliter), trasarea de linii, umplerea unor suprafee i adugarea culorii. Funcia de transfer pe bii i pe blocuri se utilizeaz pentru crearea i mutarea unor blocuri rectangulare de date, de exemplu, a unor ferestre pe ecran. Viteza de execuie a acestei funcii este esenial pentru performanele grafice ale sistemului, circuitele de accelerare fiind deseori proiectate special pentru a executa n mod eficient funciile grafice puse la dispoziie de sistemul de operare. Prin funcia de trasare a liniilor se poate trasa un vector ntre dou puncte arbitrare de pe ecran, n toate modurile de afiare color. O alt funcie oferit de acceleratoarele grafice este cea de umplere a unor suprafee sau poligoane cu o culoare sau un model specificat. Adugarea culorii reprezint posibilitatea de a prelua o reprezentare monocrom prin puncte i de a plasa imaginea pe ecran n orice poziie, utiliznd culoarea selectat anterior i o anumit culoare de fond. Odat cu rspndirea aplicaiilor multimedia, acceleratoarele grafice au fost extinse cu funcii de accelerare audio i video. Aceste acceleratoare multimedia permit decodificarea prin hardware a irurilor de date audio, scalarea imaginilor video dup direciile x i y, sau conversia semnalului video digital n semnalele RGB necesare pentru afiarea pe ecranul calculatorului. Anumite acceleratoare permit i decomprimarea prin hardware a imaginilor video reprezentate n diferite formate.

6.6. Acceleratoare 3D
6.6.1. Necesitatea acceleratoarelor 3D
Deoarece ecranul monitorului este bidimensional, imaginile afiate de calculator trebuie s fie de asemenea bidimensionale. Pentru a lucra cu obiecte 3D, este necesar ca ele s fie convertite n imagini 2D. Aceasta necesit prelucrri speciale i o mare putere de calcul. Pentru a crea imagini 3D nu este necesar un accelerator grafic 3D, dar cantitatea mare de calcule necesare pentru translatarea imaginilor 3D n imagini 2D ntr-un mod realist reduce viteza calculatorului n mod semnificativ. Utilizarea unui accelerator 3D permite programelor afiarea imaginilor virtuale 3D cu un nivel de detaliere care nu este posibil cu un accelerator grafic 2D.

16

Sisteme de I/E - Adaptoare video

Motivul pentru care acceleratoarele 3D au devenit rspndite este c programele utilizeaz din ce n ce mai multe reprezentri 3D. Pentru a obine mai mult realism, imagini grafice mai detaliate i viteze mai mari n programe ca jocuri de aciune, simulatoare de zbor, programe grafice i aplicaii CAD, trebuie efectuate mai multe prelucrri 3D ntr-o perioad mai scurt de timp.

6.6.2. Imagini 3D
Imaginile 3D sunt mult mai complexe dect imaginile 2D din cauza cantitii mai mari de informaii care trebuie utilizate pentru a crea imagini 3D realiste. n plus, trebuie utilizate mai multe operaii matematice pentru a converti aceste imagini 3D n imagini care pot fi afiate pe ecran. Imaginile 3D sunt gestionate de calculator utiliznd modele abstracte. Un obiect este reprezentat mai nti ca un set de puncte definite prin coordonatele de-a lungul axelor x, y i z. Aceste puncte definesc poziia vrfurilor obiectului n spaiul tridimensional. Dac se conecteaz vrfurile obiectului prin linii, se obin suprafee care pot fi umplute cu o anumit culoare sau textur. De obicei, fiecare obiect 3D este compus dintr-un numr mare de mici triunghiuri (sau alte poligoane) care descriu suprafaa sa. Grafica 3D animat necesit execuia unei serii continue de calcule geometrice care definesc poziia obiectelor n spaiul 3D. n mod obinuit, calculele geometrice care manipuleaz vrfurile triunghiurilor sunt executate de UCP, deoarece operaiile n virgul mobil necesare pot fi executate n mod eficient de UCP. n acelai timp, acceleratorul grafic trebuie s converteasc aceste triunghiuri n suprafee solide, ceea ce implic calcule intense. n lumea real, obiectele interacioneaz unele cu altele. Ele se suprapun, creeaz umbre, reflect lumina i apar mai ntunecate atunci cnd sunt la distan. Exist ecuaii matematice foarte complexe care se utilizeaz pentru a determina dac un obiect este vizibil ntr-o scen dintr-un unghi dat, care ar trebui s fie culoarea acestuia etc. Pentru un joc 3D, n scopul obinerii unei animaii uniforme, aceste calcule trebuie refcute de 20-30 de ori pe secund. Acceleratoarele 3D sunt adaptate pentru a executa aceste calcule care solicit n mod intens resursele sistemului. n cazul imaginilor 3D, pe lng cele trei componente de culoare, pentru fiecare pixel trebuie memorat i o a patra valoare. Aceasta se numete valoare alfa i indic gradul de transparen (sau opacitate) al pixelului n imaginea final. O alt informaie care trebuie memorat este adncimea n spaiu sau coordonata z a fiecrui pixel. Acceleratorul 3D determin valoarea z a pixelilor obiectelor dintr-un anumit plan i le afieaz numai pe cele cu o valoare z mai mic. Informaia de adncime a pixelilor este memorat ntr-un buffer separat din memoria video, numit buffer z. Numrul de bii alocai fiecrui pixel din bufferul z determin numrul unitilor de adncime disponibile n cadrul unei scene. n mod normal, n bufferul z trebuie s se aloce cel puin 16 bii pentru fiecare pixel. De fiecare dat cnd imaginea de pe ecran este actualizat, trebuie s se recalculeze culoarea i adncimea fiecrui pixel de pe ecranul 2D. Aceasta se realizeaz prin aplicarea diferitelor calcule 3D asupra scenei, ntr-un proces numit redare (rendering). Prin acest proces se completeaz toate punctele de pe suprafaa obiectului care a fost memorat n prealabil doar ca un set de vrfuri. Astfel, pe ecranul monitorului se va desena un obiect solid cu efecte 3D. Prin eliberarea UCP de operaia de redare, acceleratorul 3D permite UCP s dedice o putere de calcul mai mare altor funcii, rezultnd o frecven de cadre crescut i o calitate mbuntit a imaginii.

6.6.3. Operaii 3D
Exist diferite tipuri de operaii care sunt executate n cadrul prelucrrilor 3D. Aceste operaii sunt executate n dou etape. Prima etap este cea geometric i cuprinde operaii cum sunt decuparea, transformarea i iluminarea. Operaiile din aceast etap sunt intensive din punct de vedere al calculelor i sunt executate de procesorul sistemului. A doua etap este cea de redare, cuprinznd operaii cum sunt umbrirea, maparea texturilor cu adugarea efectului de perspectiv, filtrarea texturilor, nceoarea, mixajul alfa i eliminarea efectului zimat. Operaiile din aceast etap necesit un spaiu de memorie ridicat i sunt executate de ctre acceleratorul grafic. Cele mai frecvente operaii 3D sunt descrise n continuare.

Sisteme de I/E - Adaptoare video

17

Decuparea. Aceast operaie determin partea unui obiect care este vizibil pe ecran i decupeaz prile pe care utilizatorul nu le poate vedea. Astfel se economisete timp, deoarece prile obiectelor care nu sunt afiate pe ecran sunt ignorate. Iluminarea. Obiectele din lumea real sunt modelate de sursele de lumin din cadrul scenei. Efectele de lumin creeaz nuane ale culorilor, reflexii de lumin, umbre i alte efecte care trebuie adugate obiectelor pe baza poziiei relative a acestora fa de poziia surselor de lumin. Umbrirea Gourad. Acesta este cel mai utilizat algoritm pentru reprezentarea obiectelor 3D pe un ecran 2D, permind realizarea unei umbriri realiste a suprafeelor 3D. Adugarea umbrelor permite ca forma obiectului s fie mai bine definit. Umbrirea Gourad se realizeaz prin citirea informaiilor de culoare ale vrfurilor triunghiurilor sau poligoanelor care descriu un obiect 3D i interpolarea intensitilor pentru cele trei componente de culoare ntre diferitele vrfuri. Maparea texturilor. n cazul graficii 3D, obiectele pot avea diferite detalii ale suprafeelor sub forma unor texturi, cum sunt diferite esene de lemn. Adugarea acestor detalii la poligoanele care reprezint suprafeele obiectelor se numete maparea texturilor. Aceast mapare const n ncrcarea dintr-o hart de bii a unuia sau a mai multor elemente de textur, numite texeli, combinarea acestora i scrierea pixelului rezultat n memoria video. Realismul obiectelor sau scenelor 3D crete prin aplicarea texturilor bidimensionale asupra poligoanelor 3D. Exist diferite tipuri de mapare a texturilor care sunt utilizate de diferitele acceleratoare grafice. Cea mai simpl metod este aplicarea unei singure texturi unui obiect. Un grad mai mare de realism se poate obine printr-o metod de multi-texturare, prin care se aplic o combinaie de texturi unui obiect. Aceast combinaie poate cuprinde texturi transparente sau texturi care reprezint anumite rugoziti ale unei suprafee. Texturile pot necesita un spaiu ridicat n memorie, motiv pentru care se utilizeaz compresia lor. Interfeele API pentru grafica 3D pun la dispoziie diferite procedee de compresie a texturilor. Texturile cu care sunt mapate obiectele trebuie corectate pentru a realiza efectul de perspectiv. Prin aceast corecie se determin modul n care se modific perspectiva fa de obiectele scenei pe msur ce unghiul din care acestea sunt vizualizate se schimb. Filtrarea texturilor. Acest procedeu este utilizat pentru reducerea unor efecte nedorite care pot apare n procesul de mapare a texturilor, n special la creterea gradului de detaliere a acestora. De exemplu, la maparea texturilor unele console de jocuri i procesoare grafice utilizeaz elementul de textur cel mai apropiat pentru adugarea unor noi pixeli n imaginea de pe ecran. Aceasta poate conduce la apariia efectului zimat n imaginea generat. Prin utilizarea diferitelor metode de filtrare acest efect este redus, culoarea unui nou pixel fiind determinat printr-o interpolare ntre culorile mai multor texeli din textura original. Una din metodele de filtrare utilizate este filtrarea biliniar. Prin aceast metod, pentru determinarea culorii pixelului corespunztor unui anumit texel se utilizeaz media ponderat a patru texeli cei mai apropiai de texelul respectiv. Se elimin astfel modificrile brute de culoare din cadrul unei texturi. O alt metod care se utilizeaz la scenele dinamice este filtrarea triliniar. n cazul acestor scene, pe msur ce un obiect texturat se ndeprteaz de punctul de vizualizare, dimensiunea texturii trebuie redus n acelai timp cu micorarea obiectului. Pentru a se evita unele efecte nedorite introduse de procesul de scalare a texturii, acceleratoarele 3D permit pstrarea n memoria video a mai multor variante ale aceleiai texturi, acestea avnd diferite nivele de detaliere. Utiliznd aceast facilitate, cunoscut sub numele de mip mapping, acceleratorul 3D poate determina cu uurin textura care trebuie aplicat asupra unei suprafee aflat la o anumit distan de punctul de vizualizare, fr a fi necesare prelucrri suplimentare. Filtrarea triliniar se realizeaz prin combinarea facilitii amintite cu filtrarea biliniar. n procesul de obinere a unei noi variante a texturii, se utilizeaz dou variante existente cu nivele diferite de detaliere, crora li se aplic separat filtrarea biliniar. Apoi, cele dou texturi sunt mixate ntre ele, obinndu-se o nou textur filtrat. Calitatea texturilor obinute n acest fel este mai ridicat. nceoarea. Acesta este un procedeu utilizat la scenele de exterior. Procedeul este utilizat n dou scopuri. n primul rnd, prin estomparea gradat a obiectelor scena va apare mai realist, fiind

18

Sisteme de I/E - Adaptoare video

creat iluzia unor obiecte aflate la distan. La distan, obiectele apar neclare datorit umezelii atmosferice sau impuritilor. n al doilea rnd, procedeul permite ca prelucrarea 3D s fie executat mai rapid, deoarece obiectele de la distan care sunt nceoate pot fi prezentate cu mai puine detalii. Mixajul alfa. Anumite obiecte din lumea real sunt transparente sau semitransparente. Procedeul de mixaj alfa este utilizat pentru a produce efectul de transparen al unor obiecte care compun o scen, de exemplu, al unor ferestre. Acelai procedeu poate fi utilizat i pentru a reprezenta fumul sau ceaa, cu un nivel de realism mai nalt dect prin alte procedee. Eliminarea efectului zimat. Liniile oblice sau cele curbe care sunt afiate pe ecran, cum sunt muchiile cu contururi neregulate ale obiectelor, trebuie s fie aproximate prin combinarea unor segmente verticale cu segmente orizontale. Rezultatul este apariia efectului zimat, care este mai pronunat la rezoluii mai reduse. Procedura de eliminare a acestui efect, cunoscut sub numele de anti-aliasing, const n colorarea pixelilor din imediata apropiere a contururilor folosind culoarea de fond mixat gradat cu cea a obiectului. Se realizeaz deci o tranziie mai gradat ntre cele dou culori, rezultatul fiind o oarecare reducere a claritii contururilor. Aspectul obiectelor va fi ns mai natural dect n cazul unor contururi neregulate. Figura 6.8 prezint modul n care se efectueaz maparea texturilor.

Figura 6.8. Operaiile executate pentru maparea texturilor. Exist urmtoarele etape de baz implicate n prelucrarea texturilor. 1. nainte de utilizarea lor, texturile sunt citite de pe unitatea de disc i sunt ncrcate n memoria sistemului. 2. Atunci cnd o scen trebuie s utilizeze o textur, aceasta este citit din memoria sistemului de ctre UCP. 3. Asupra texturii se aplic apoi transformri de iluminare i de perspectiv. Rezultatele acestor operaii sunt scrise apoi n memoria sistemului. 4. Controlerul grafic citete texturile transformate din memoria sistemului i le scrie n memoria video. Aceste date trebuie s treac prin magistrala PCI pentru a ajunge la controlerul grafic. 5. Controlerul grafic citete n continuare texturile i informaiile 2D de culoare din memoria video. Aceste date sunt utilizate pentru redarea unui cadru care se poate afia pe ecranul monitorului. Rezultatul este scris napoi n memoria video. Circuitul RAMDAC al adaptorului video citete cadrul i l convertete n semnale analogice care controleaz monitorul. Exist mai multe probleme legate de modul n care sunt gestionate texturile:

Sisteme de I/E - Adaptoare video

19

n primul rnd, texturile trebuie pstrate att n memoria sistemului, ct i n memoria video. Aceste cpii redundante determin o utilizare ineficient a resurselor de memorie. n al doilea rnd, pstrarea, chiar temporar, a texturilor n memoria video limiteaz dimensiunea acestora. Exist o cerere pentru texturi din ce n ce mai detaliate, ceea ce oblig productorii s echipeze adaptoarele lor cu o memorie video de dimensiuni mari. n sfrit, rata de transfer a magistralei PCI limiteaz viteza cu care texturile pot fi transferate ctre subsistemul grafic. Mai mult, n sistemele tipice mai multe dispozitive de I/E conectate la magistrala PCI trebuie s partajeze rata de transfer disponibil. Introducerea altor dispozitive de vitez ridicat creeaz o congestie pe magistrala PCI care poate limita performanele graficii 3D. Aplicaiile utilizeaz diferite strategii pentru a compensa limitrile calculatoarelor actuale. Se utilizeaz diferii algoritmi pentru a determina texturile care trebuie pstrate n memoria video i cele care trebuie pstrate n memoria sistemului. n mod tipic, aplicaiile dedic o parte a memoriei video ca spaiu pentru schimbarea texturilor, n timp ce memoria video rmas conine texturi utilizate n mod frecvent. Depinznd de numrul de texturi utilizate ntr-un cadru, algoritmul poate varia proporia memoriei alocate pentru schimbarea texturilor i a memoriei pentru texturile utilizate frecvent. Dac acceleratorul 3D poate executa maparea texturilor numai din memoria video, algoritmul ncearc s ncarce n prealabil n memoria video texturile necesare pentru fiecare cadru sau scen. Fr aceast ncrcare prealabil, utilizatorii vor observa o pauz n timp ce se ncarc textura necesar din memoria sistemului n memoria video sau de pe disc n memoria sistemului.

6.7. Interfaa AGP


6.7.1. Principiul interfeei AGP
AGP (Accelerated Graphics Port) este o interconexiune pentru acceleratoarele grafice din sistemele utilizate pentru aplicaii grafice 3D i pentru redarea secvenelor video. Utilizatorii calculatoarelor PC pot beneficia prin utilizarea interfeei AGP de aplicaii grafice i video disponibile n prealabil numai pe staiile de lucru performante. Noile aplicaii grafice 3D impun cerine riguroase pentru calculatoarele PC, care cuprind necesitatea unor calcule geometrice mai rapide i a unor texturi mai detaliate. Cu toate c procesoarele performante sunt adaptate pentru a executa calcule geometrice complexe ntr-un mod eficient, iar generaia actual de controlere grafice poate implementa o mare varietate de efecte grafice, dimensiunea crescut a texturilor a devenit o problem important. Exist aplicaii grafice care utilizeaz peste 20 MB pentru o singur textur. Memoria video poate fi extins pentru a satisface aceste cerine, dar o asemenea soluie este costisitoare. A doua problem este rata de transfer a magistralei PCI. Controlerele grafice trebuie s ncarce n prealabil texturile din memoria sistemului n memoria video. Deoarece dimensiunea texturilor a crescut, magistrala PCI a nceput s devin congestionat. Problema este chiar mai acut n cazul aplicaiilor care implic redarea secvenelor video. Soluia firmei Intel la aceste probleme a fost realizarea interfeei AGP ca o conexiune separat de magistrala sistem. Aceast interfa mbuntete performanele sistemului punnd la dispoziie o cale rapid ntre controlerul grafic i memoria sistemului. Aceast cale permite controlerului grafic s realizeze accesul la texturi direct n memoria sistemului n timpul redrii imaginilor grafice, n loc s le ncarce n prealabil n memoria video local (Figura 6.9). Setul de circuite AGP realizeaz legtura dintre procesor (cuprinznd memoria sa cache L2 integrat), memoria sistemului, adaptorul grafic i magistrala PCI. Sistemul de operare poate rezerva n mod dinamic segmente din memoria sistemului pentru a fi utilizate de controlerul grafic. Aceast memorie este numit memorie AGP. Ca urmare, controlerul grafic poate pstra un numr mai mic de texturi n memoria video local. Aceasta permite rezoluii mai mari ale ecranului i elimin restricia de dimensiune pe care memoria video local o impune asupra texturilor. Astfel, aplicaiile pot utiliza texturi de dimensiuni mult mai mari, mbuntind realismul i calitatea imaginilor.

20

Sisteme de I/E - Adaptoare video

Figura 6.9. Schema unui sistem cu o interfa AGP. n plus, noua cale elimin de pe magistrala PCI traficul intens necesar transferului datelor grafice i video. Descrcarea datelor grafice i a celor video de pe magistrala PCI permite conectarea altor dispozitive rapide pe magistral. AGP este un port i nu o magistral, deoarece la o magistral se pot conecta mai multe dispozitive, n timp ce AGP este o conexiune punct la punct ntre adaptorul video i procesorul sistemului. AGP este o interfa de 64 bii care poate funciona la frecvena magistralei sistem, spre deosebire de magistrala PCI care funcioneaz, de obicei, la jumtatea acestei frecvene. Aceasta nseamn c la o plac de baz obinuit, interfaa AGP funcioneaz la 66 MHz n locul frecvenei de 33 MHz a magistralei PCI. Astfel, rata de transfer se dubleaz. n plus, interfaa are avantajul c nu trebuie s partajeze rata de transfer cu alte dispozitive PCI. Specificaiile AGP se bazeaz pe extensia de 64 de bii a specificaiilor PCI 2.1, care descriu i un mod de lucru cu o frecven de 66 MHz, a crei implementare este ns destul de rar. Interfaa AGP este implementat cu un conector similar celui utilizat pentru magistrala PCI, cu 32 de linii pentru adrese i date multiplexate. Exist 8 linii suplimentare pentru adresarea secundar, descris n seciunea urmtoare. Plcile de baz AGP au un singur conector de extensie pentru adaptorul video AGP, avnd de obicei cu un conector PCI mai puin. Exist mai multe cerine pentru ca un sistem s poat utiliza avantajele interfeei AGP: O plac de baz cu un set de circuite AGP; Un sistem de operare cu drivere pentru interfaa AGP (Windows 98/Me/2000/XP); Drivere speciale ale adaptorului video pentru interfaa AGP, care pot utiliza modurile de transfer mbuntite ale acesteia.

6.7.2. Moduri de transfer a datelor


Pe lng dublarea frecvenei magistralei, specificaiile AGP definesc un mod de transfer 2X, care utilizeaz un protocol special pentru a permite transmiterea unui volum dublu de date la aceeai frecven de ceas. Creterea vitezei este obinut prin transferarea datelor att pe frontul cresctor, ct i pe cel descresctor al semnalului de ceas de 66 MHz. Rezultatul este c performanele se dubleaz din nou, rata de transfer la vrf fiind de 528 MB/s. Rata de transfer efectiv variaz la diferite sisteme i aplicaii, dar de obicei sistemele pot atinge n jur de 50-80% din valorile la vrf n cazul transferurilor prelungite.

Sisteme de I/E - Adaptoare video

21

Pentru creterea intervalului de timp n care poate fi meninut rata de transfer la vrf, interfaa AGP utilizeaz dou tehnici: transferuri n modul pipeline i tehnica de adresare secundar (sideband addressing). n modul pipeline, accesul la memorie i la magistral pentru o cerere n se suprapune cu generarea cererilor urmtoare (n+1, n+2 etc.). Prin utilizarea tehnicii pipeline, rata de transfer susinut poate ajunge la 80% din rata de transfer la vrf. Dei att interfaa AGP, ct i magistrala PCI permit transferuri n mod exploziv (elemente multiple de date transferate n mod continuu ca rspuns la o singur cerere), asemenea transferuri nu schimb natura de tip non-pipeline a magistralei PCI. Spre deosebire de interfaa AGP, n cazul magistralei PCI, cererea n+1 nu poate ncepe pn cnd nu se termin transferul de date al cererii n (Figura 6.10).

Figura 6.10. Accesul la memorie n cazul magistralei PCI i a interfeei AGP. Pentru adresarea secundar, interfaa AGP utilizeaz 8 linii suplimentare de adrese. Acestea permit controlerului grafic s transmit noi adrese i cereri simultan cu transferurile de date pe liniile principale de adrese/date ca urmare a cererilor anterioare. Se pot transmite astfel pn la 32 de comenzi succesive. Dup specificaiile iniiale ale interfeei AGP, Intel a elaborat specificaiile 2.0 ale acestei interfee. Acestea definesc un nou mod de transfer 4X, care permite patru transferuri de date n fiecare ciclu de ceas. Rata de transfer maxim teoretic ntre adaptorul grafic i memoria sistemului ajunge astfel la 1,05 GB/s. Aceast rat de transfer este superioar dect cea a memoriei SDRAM de 100 MHz, care este de 800 MB/s. De aceea, pentru a se putea beneficia de rata de transfer a interfeei AGP 4X, este necesar o memorie SDRAM de 133 MHz, DDR SDRAM sau Rambus DRAM. Versiunea 2.0 a interfeei AGP funcioneaz la tensiunea de 1,5 V, spre deosebire de versiunea iniial, care funciona la 3,3 V. Versiunea curent a specificaiilor AGP este 3.0. Aceast versiune introduce un mod de transfer 8X, cu o rat de transfer maxim de 2,1 GB/s, fiind posibil i utilizarea modului 4X. La interfaa AGP 3.0 s-a pstrat acelai conector, dar au fost adugate unele semnale suplimentare i un nou protocol electric al semnalelor. Tensiunea de alimentare este de 0,8 V. Compatibilitatea cu versiunea 2.0 se poate asigura cu o plac de baz universal, care permite utilizarea ambelor protocoale electrice, 2.0 i 3.0.

6.7.3. Maparea memoriei AGP


Memoria AGP const din zone alocate n mod dinamic ale memoriei sistemului, pe care controlerul grafic le poate accesa rapid, ca i cum aceste zone ar fi situate n memoria video. Viteza de acces se datoreaz setului de circuite AGP al sistemului, set necesar pentru utilizarea interfeei AGP. Aceste circuite translateaz adresele, permind controlerului grafic i programelor acestuia s observe un spaiu contiguu n memoria sistem, chiar dac acest spaiu este distribuit n blocuri de dimensiuni mici. Astfel, controlerul grafic poate accesa structuri de date cu dimensiuni mari, de exemplu o hart de bii a unei texturi, ca o singur entitate. Circuitul ncorporat este numit GART (Graphics Address Remapping Table), cu funcii similare circuitelor de paginare din UCP. Adresele virtuale liniare ale procesorului sunt translatate de circuitele sale de paginare n adrese fizice. Aceste adrese fizice sunt utilizate pentru accesul la memoria sistemului. Accesurile UCP la memoria video i memoria AGP utilizeaz aceleai adrese ca i cele utilizate de controlerul grafic. De aceea, sistemul de operare seteaz circuitele de paginare ale UCP astfel nct s nu translateze adresele virtuale n adrese fizice pentru aceste memorii.

22

Sisteme de I/E - Adaptoare video

Pentru accesul la memoria AGP, controlerul grafic i UCP utilizeaz o fereastr contigu de civa MB. Circuitul GART translateaz ns adresele din aceast fereastr n diferite adrese, eventual disjuncte, ale unor pagini de 4 KB din memoria sistem. Dispozitivele PCI care realizeaz accesul la fereastra memoriei AGP (de exemplu, pentru capturarea imaginilor video) utilizeaz de asemenea circuitul GART.

6.7.4. Avantajele interfeei AGP


Principalele avantaje ale interfeei AGP sunt rezumate n continuare. Rat de transfer mai ridicat. Rata de transfer la vrf este de 2-4 ori mai mare dect cea a magistralei PCI, datorit modului pipeline, adresrii secundare i a transferurilor de date care au loc att pe frontul cresctor, ct i pe cel descresctor al semnalului de ceas. Redarea direct a texturilor din memoria sistemului. Interfaa AGP permite accesul direct cu vitez ridicat la memoria sistemului de ctre controlerul grafic, n locul ncrcrii prealabile a texturilor n memoria video local. Grafic de calitate mai ridicat. Se pot utiliza texturi cu dimensiuni foarte mari i nivele de detaliere ridicate. Costuri mai reduse. Prin minimizarea necesarului de memorie video, interfaa AGP contribuie la reducerea costurilor noilor sisteme. Congestie mai redus pe magistrala PCI. Interfaa AGP funcioneaz concurent cu i independent de cele mai multe tranzacii de pe magistrala PCI.

6.8. Preluarea i redarea imaginilor video


Aplicaiile multimedia pot necesita mixarea sau afiarea imaginilor video pe ecranul calculatorului. O alt aplicaie este reprezentat de video-conferinele realizate n direct. Termenul de imagine video semnific o imagine de calitate TV static sau n micare, a crei surs este o anten, un cablu, disc CD-ROM, disc video, videocasetofon sau videocamer. n seciunile urmtoare se prezint modul n care calculatorul are acces la diferitele surse video i modul n care se prelucreaz, se memoreaz i se afieaz imaginile video, separat sau simultan cu alte imagini generate de adaptorul video.

6.8.1. Preluarea imaginilor video


Pentru preluarea imaginilor video de la o surs video, este necesar o plac special, numit de obicei plac de capturare video, i un program adecvat. Semnalele preluate de aceast plac sunt semnale analogice, de exemplu, un semnal TV video complex sau un semnal S-video de la o videocamer. Aceste semnale conin informaii de sincronizare, de culoare i de luminozitate, i ele trebuie convertite ntr-o reprezentare digital. (n cazul unui semnal S-video, numit i Y-C video, semnalele de luminozitate i culoare sunt transmise separat, deci nu sunt mixate ca n cazul unui semnal video complex.) Dac imaginea provine de la un disc CD-ROM, ea este deja reprezentat digital i de obicei este comprimat pentru a economisi spaiu. Conversia din reprezentarea analogic n cea digital este realizat cu ajutorul unui decodor video, care eantioneaz semnalul video analogic i l transform ntr-o reprezentare digital. n cazul sistemului de televiziune PAL (Phase Alternating Line), din cele 625 de linii ale unui cadru 50 de linii nu conin informaii despre imagine, astfel nct ele nu sunt digitizate. Plcile de capturare video digitizeaz de obicei 576 de linii, fiecare linie fiind divizat n 768 de pixeli, deoarece se utilizeaz un factor de form de 4:3. Se utilizeaz explorarea ntreesut, frecvena semicadrelor fiind de 50 Hz, rezultnd o rat de remprosptare de 25 cadre pe secund. n cazul sistemului NTSC (National Television Standards Committee), utilizat n SUA i Japonia, un cadru conine 525 de linii, frecvena semicadrelor fiind de 60 Hz, care este frecvena curentului alternativ n aceste ri. Rata de

Sisteme de I/E - Adaptoare video

23

remprosptare este deci de 30 cadre pe secund. Din cele 525 de linii sunt digitizate de obicei 480, fiecare linie fiind divizat n 640 de pixeli, ceea ce corespunde rezoluiei VGA. Industria video utilizeaz o reprezentare digital diferit de reprezentarea RGB. Una din reprezentrile utilizate este numit reprezentare YUV. n locul componentelor R, G i B, se reprezint informaii despre luminozitatea imaginii (luminana sau intensitatea culorii) prin componenta Y, i despre culoarea imaginii (crominana sau diferena de culoare) prin componentele U i V. Unul din motivele pentru care se utilizeaz reprezentarea YUV n locul reprezentrii RGB este legat de conceptul de eantionare a subculorii. Deoarece ochiul uman sesizeaz mai greu schimbarea culorilor la imaginile dinamice, dar este sensibil la detalii, componentele de intensitate i de culoare sunt separate i sunt prelucrate independent. Frecvenele de eantionare pentru componentele UV (de crominan) sunt alese astfel nct s fie mai mici dect frecvena pentru componenta Y (de luminan). Eantionarea subculorii se refer deci la utilizarea unor frecvene de eantionare pentru componentele de culoare care sunt mai mici dect frecvena de eantionare pentru componenta de intensitate. Calitatea imaginii digitizate depinde de frecvena de eantionare i este specificat de obicei printr-o serie de trei cifre, de exemplu 4:4:4, 4:2:2 sau 4:1:1. Aceste cifre indic frecvenele de eantionare pentru componentele Y, U, respectiv V. Astfel, seria 4:2:2 indic faptul c poriunile de culoare ale semnalelor sunt eantionate cu o frecven de dou ori mai mic dect frecvena poriunii de intensitate. Prin digitizarea unui semnal n reprezentarea YUV 4:2:2 sunt necesari 16 bii (2 octei) n locul a 24 de bii (3 octei) necesari n cazul reprezentrii RGB n modul cu 16,7 milioane culori. Pentru afiarea unei imagini pe ecran, datele digitale YUV trebuie convertite ntr-o reprezentare digital RGB utilizat de adaptorul video. Aceast conversie se numete conversia spaiului culorilor. Dup decodificare i conversia spaiului culorilor, datele pot fi transmise ctre memoria video pentru afiare. Pentru a se obine o conversie acceptabil a unui semnal video complex ntr-un semnal digital, raportul de eantionare minim trebuie s fie de 4:2:2. Pentru a calcula volumul datelor digitale YUV, considerm c un cadru conine 576 768 pixeli. Dac se utilizeaz reprezentarea YUV 4:2:2, sunt necesari doi octei pentru fiecare pixel, deci pentru un cadru sunt necesari 576 768 2 = 864 KB. Pentru fiecare secund de imagine (25 de cadre) este necesar un volum de informaii de 864 KB 25 = 21.600 KB = 21,1 MB. Pentru a reduce volumul datelor, exist dou posibiliti. Prima este de a se captura o imagine de dimensiune mai redus i de a se utiliza frecvene de eantionare mai mici, reducnd astfel calitatea i rezoluia imaginii. A doua posibilitate const n comprimarea datelor video. Plcile de capturare video pot conine un codor care realizeaz compresia n timp real a datelor capturate i un decodor pentru decompresia datelor n vederea redrii imaginilor video. Compresia i decompresia pot fi realizate i prin program.

Figura 6.11. Plac de capturare video.

24

Sisteme de I/E - Adaptoare video

Plcile de capturare video sunt echipate cu un numr de conectori de intrare i de ieire (Figura 6.11). Exist dou tipuri de semnale video mai des utilizate, mpreun cu conectorii corespunztori. Semnalul video complex este utilizat la plcile mai puin pretenioase, n timp ce semnalul S-video este utilizat de echipamentele de calitate mai ridicat. Majoritatea plcilor dispun de cel puin un conector de intrare pentru cele dou tipuri de semnale, pentru a se putea utiliza orice surs video. Pentru editrile complexe este util existena mai multor conectori de intrare. Plcile de capturare video pot conine i un tuner TV. Conectorii de ieire permit nregistrarea secvenelor editate pe band sau redarea acestora pe monitor sau pe un aparat TV. Plcile mai simple pot necesita un adaptor grafic separat sau un tuner TV pentru aceste faciliti.

6.8.2. Combinarea imaginilor video i a celor grafice


Dac imaginea video generat de o anumit surs trebuie s fie afiat direct pe ecranul calculatorului i nu trebuie capturat sau memorat, dimensiunea imaginii i rata datelor nu reprezint o problem, deoarece datele sunt utilizate pe msur ce sunt create. Este necesar ns combinarea imaginilor video cu cele grafice. Apar urmtoarele probleme: Monitorul calculatorului lucreaz cu frecvene de baleiere diferite i de obicei nu utilizeaz ntreeserea. Este necesar mrirea sau micorarea imaginii video la dimensiunile unei ferestre de pe ecran, pentru a combina imaginile grafice i cele video. Imaginea video este n format YUV, iar imaginea de pe ecran este n format RGB.

Aceste probleme sunt rezolvate cu ajutorul procesoarelor video. Procesorul video poate fi integrat n adaptorul video sau se poate afla pe o plac separat. Dac este necesar redarea imaginilor comprimate din fiiere AVI (Audio-Video Interleaved) i nu este nevoie de capturarea imaginilor transmise n direct, se pot utiliza acceleratoare video care au integrate funcii de procesor video. Procesorul video sau acceleratorul video execut urmtoarele funcii: 1. Conversia datelor YUV n reprezentarea RGB prin procesul de conversie a spaiului culorilor. 2. Scalarea imaginii pentru a o aduce la dimensiunea dorit. Unele sisteme elimin pixeli la micorarea imaginii sau dubleaz pixeli la mrirea acesteia. Aceast metod este mai puin recomandat, deoarece reduce calitatea i nu permite scalarea continu a imaginii. Procesoarele video mai performante utilizeaz metoda interpolrii pixelilor. La scalarea unei imagini, se creeaz noi pixeli care reprezint media celor mai apropiai pixeli. Aceast metod creeaz imagini mai clare i permite o scalare continu. 3. Plasarea imaginii convertite i scalate n memoria video a adaptorului i modificarea poziiei ferestrei. Poziia ferestrei pe ecran poate fi specificat prin coordonatele x i y ale pixelilor sau prin codul culorii din memoria video. Procesorul video poate detecta un pixel cu o anumit culoare i poate nlocui acel pixel cu pixelul imaginii video. De asemenea, unele procesoare video pot mixa dou imagini video de la surse diferite pentru a crea un efect de transparen (mixajul alfa). Pentru a combina imaginile video cu imaginile grafice ale calculatorului se pot utiliza urmtoarele metode: Mixarea analogic; Ataarea prin convertorul digital-analogic (DAC); Bufferul de cadre partajat; Metoda software. n Figura 6.12 se ilustreaz aceste metode.

Sisteme de I/E - Adaptoare video

25

Figura 6.12. Metode de combinare a imaginilor video i a celor grafice. n cazul metodei de mixare analogic, imaginea video nu se convertete n date digitale, ci se realizeaz mixarea semnalelor n domeniul analogic. Aceast metod necesit ns o sincronizare a celor dou semnale analogice i nu permite prelucrarea imaginilor video, de exemplu, scalarea lor. A doua metod const n adugarea datelor video la intrarea circuitului RAMDAC, n domeniul digital. n acest scop se poate utiliza interfaa i conectorul VAFC (VESA Advanced Feature Connector). Datele video sunt memorate ntr-o memorie special, numit buffer de cadre sau memoria conversiei de baleiaj (nu este aceeai cu memoria video), de unde sunt preluai pixelii de date provenii de la imaginea video pentru a fi combinai cu pixelii din memoria video. Deoarece datele video nu trec prin memoria video, rata de transfer a acestei memorii nu este un element critic, iar controlerul adaptorului video nu trebuie s realizeze afiarea simultan a mai multor tipuri de date (ca n cazul n care imaginile video n modul cu 16,7 milioane culori ar trebui afiate pe ecran n modul cu 256 de culori). Deoarece imaginile video digitale i imaginile grafice sunt combinate la intrarea circuitului DAC, metoda care utilizeaz interfaa VAFC se mai numete metoda atarii prin DAC. Aceast metod, ca i mixarea analogic, este o soluie costisitoare, deoarece necesit un subsistem video complet independent. Componenta cu costul cel mai ridicat este bufferul de cadre, care pstreaz imaginea digitizat nainte de a fi trimis spre portul de intrare al circuitului DAC. Deoarece performanele memoriilor video s-au mbuntit, imaginea video poate fi plasat direct n memoria video a adaptorului. Astfel se elimin necesitatea unui buffer de cadre separat i costul va fi mai redus. n plus, aceast metod permite ca UCP i controlerul video s aib acces la memoria video, pentru a realiza capturri i prelucrri ale imaginilor. Aceast soluie reprezint metoda bufferului de cadre partajat (SFB - Shared Frame Buffer). Aceast metod este utilizat mai ales atunci cnd procesorul video este integrat n controlerul adaptorului video sau este conectat la acesta. Costul acestei soluii este mult mai redus, dar problema care apare este c se utilizeaz o memorie unic pentru actualizarea imaginilor grafice, actualizarea imaginilor video i remprosptarea ecranului. Metoda se poate utiliza doar pentru adaptoarele echipate cu o memorie VRAM sau WRAM, care sunt cu port dual. Dac procesorul video se afl pe o plac separat, se poate utiliza i n acest caz metoda bufferului de cadre partajat, dar rata de transfer a datelor de la procesorul video la memoria video este critic. Majoritatea procesoarelor video utilizeaz o magistral specializat, cum este magistrala VMC (VESA Media Channel). Metoda software se poate utiliza numai la nivelul aplicaiilor. Imaginile digitale video i cele grafice sunt combinate de programul de aplicaie nainte ca acestea s fie trimise spre ecranul calculatorului. Aceast metod necesit un procesor rapid i un adaptor video rapid, dar nu necesit nici un hardware suplimentar. Figura 6.13 ilustreaz metoda bufferului de cadre partajat (SFB) i metoda atarii prin DAC utilizate pentru afiarea unei imagini video ntr-o fereastr de pe ecranul calculatorului.

26

Sisteme de I/E - Adaptoare video

Figura 6.13. Metoda bufferului de cadre partajat i metoda atarii prin DAC.