Memorie video
Memoria video este o componentă a plăcii video, și indirect, a întregului PC, al cărui scop este stocarea informației necesare pentru utilizarea de către această placă a unui dispozitiv periferic de afișare.
Istoric
modificareCapacitatea de memorie a celor mai moderne plăci video variază de la 128 MB la 16 GB. Din moment ce memoria video trebuie să fie accesată de către GPU (Graphics Processing Unit) și circuitele de afișaj, se folosește adesea memorie specială multi-port sau de mare viteză, cum ar fi VRAM, WRAM, SGRAM etc. În jurul anului 2003, memoria video era de obicei bazată pe tehnologia DDR. În timpul și după acest an, producătorii s-au îndreptat spre DDR2, GDDR3, GDDR4, și chiar GDDR5 utilizată în special de către ATI Radeon HD 4870. Rata efectivă a ceasului memorie în plăcile grafice moderne este, în general, cuprinsă între 400 MHz și 3.8 GHz.
Tip | Rata de ceas(Mhz) | Lărgime de bandă(GB/S) |
---|---|---|
DDR | 166 - 950 | 1.2 - 30.4 |
DDR2 | 533 - 1000 | 8.5 - 16 |
GDDR3 | 700 - 2400 | 5.6 - 156.6 |
GDDR4 | 2000 -3600 | 128 - 200 |
GDDR5 | 3400 - 5600 | 130 - 230 |
Memoria video poate fi utilizată pentru stocarea altor date, precum și a imaginii de pe ecran, cum ar fi Z-bufferul, care gestionează coordonatele de adâncime în grafica 3D, texturi, buffer-e vertex, programe compilate de shader.
Memorie grafică dedicată versus shared
modificareMemoria grafică este în general clasificată în două tipuri majore: dedicată și partajată. Memorie grafică dedicată, după cum sugerează și numele, este memoria care este disponibilă pentru utilizarea exclusivă de către subsistemul grafic. Aplicațiile non-grafice și alte subsisteme din sistemul de operare nu pot accesa acest tip de memorie. Un exemplu de memorie grafică dedicată este de memoria care este prezentă fizic pe adaptoarele grafice "discrete". Acest lucru a fost denumit în mod obișnuit ca "la bord" sau "de memorie video locală"-care este, aproape de unitatea de procesare grafică (GPU). Memoria dedicată, cu toate acestea, nu se limitează la memorie on-board. O porțiune de memorie de sistem poate fi, de asemenea, dedicată subsistemelor grafice. Această porțiune de memorie de sistem nu este niciodată disponibilă pentru alte subsisteme sau aplicații și sunt deținute exclusiv de către subsistemele grafice. Memoria partajată de sistem este o porțiune din memoria sistemului, care pot fi utilizată de către subsistemele grafice atunci când este necesar. Pentru adaptoarele grafice discrete, acest tip de memorie este adesea menționată ca "memoria video non-locală"-care este, departe de cea a GPU-ului. Memorie partajată este disponibilă pentru alte subsisteme sau aplicații non-grafice atunci când nu este utilizată de către subsistemele grafice. Astfel, acesta nu este garantat să fie disponibilă pentru grafică, deoarece ar putea fi deja în uz.
Adaptoare grafice discrete versus integrate
modificareDiferențele dintre un adaptor grafic "discret" si unul "integrat" pot fi evidențiate în contextul de memorie grafică dedicată versus partajată. Adaptoarele grafice discrete sunt de obicei conectate la sistem prin port grafic accelerat (AGP), PCI, sau PCI Express bus. Cele mai multe adaptoare discrete au o anumită cantitate de memorie grafică dedicată cu un bus foarte larg și rapid de memorie locală de a acces, oferind performante mult mai bune decât memoria sistemului. Adaptoarele grafice discrete pot accesa, de asemenea, și utilizeaza memorie de sistem prin intermediul AGP sau PCI-Express bus de memorie video non-local discutat mai devreme. Deoarece memoria de sistem este accesat în magistrala sistemului, accesul este mult mai lent decât accesul la memoria locală. Adaptoarele grafice discrete împart, în general, o porțiune din memoria sistemului cu CPU. De obicei, aceste adaptoare nu cer pentru utilizarea dedicată de memorie de sistem pentru grafica, lăsând astfel mai multe resurse disponibile pentru restul sistemului.
Video RAM
modificareVideo RAM, sau VRAM, este varianta dual-portată RAM-ului dinamic(DRAM, care a fost odată frecvent utilizată pentru a stoca framebuffer-ele în unele adaptoare grafice.
Acesta a fost inventat de către F. Dill, D. Ling, și R. Matick la IBM Research, în 1980, cu un brevet emis în 1985(US Patent 4,541,075). Prima utilizare comercială a VRAM a fost într-o placă grafică de înaltă rezoluție introdusă în 1986 de IBM pentru sistemul PC-RT, care a stabilit un nou standard pentru afișajele grafice. Înainte de dezvoltarea VRAM, memoria dual-portată a fost destul de scumpă, limitând grafica bitmap pentru stații de lucru high-end, și afișajele PC la moduri de charcter-only(care a necesitat mult mai puțină memorie) sau la erori atunci când afișajul a fost actualizat. VRAM a schimbat toate acestea, permițând introducerea de grafică color cu costuri foarte reduse, de înaltă rezoluție și de mare viteză. Microsoft Windows și toate aplicațiile moderne, ar fi fost imposibile la sfârșitul anilor 1980 și începutul anilor 1990, fără VRAM, astfel, a oferit și un ingredient cheie pentru proliferarea de PC-urilor din întreaga lume la acea vreme.
VRAM are două seturi de pini de ieșire de date, și, astfel, două porturi care pot fi folosite simultan. Primul port, portul DRAM, este accesat de către computerul gazdă într-un mod foarte asemănător cu DRAM tradițional. Al doilea port, portul video, de obicei este read-only și este dedicat pentru a oferi un canal de date de lărgime mare de bandă pentru chipset-ul grafic.
Matricele de acces DRAM tipice accesează în mod normal, un rând complet de biți(de exemplu, o linie de cuvânt) de până la 1.024 de biți la un moment dat, dar utilizează numai una sau câteva dintre acestea pentru date reale, restul fiind eliminat. Deoarece celulele DRAM sunt citite distrutiv, fiecare bit accesat trebuie să fie re-scris.Asta deși, 1024 amplificatoare de simț sunt de obicei folosite. VRAM funcționează prin faptul că aruncă biții de exces care trebuie să fie accesați, ci utilizează acești biți într-un mod simplu. În cazul în care fiecare linie de scanare orizontală a unui display este mapat la un cuvânt complet, apoi la lectura unui cuvânt și latch+uirea tuturor celor 1024 biți într-un buffer de rând separat, aceste fragmente pot fi ulterior transmise serial la circuitele de afișaj. Acest lucru va lăsa accesul la matricea DRAM liber pentru a putea fi accesată spre a se citi sau scrie în mai multe cicluri, până ce buffer-ul de rând este aproape epuizat. Un ciclu complet de citire DRAM este necesar doar pentru a umple buffer-ul de rând, lăsând cele mai multe cicluri de DRAM disponibile pentru intrari normale.
O astfel de operațiune este descrisă în lucrarea "All points addressable raster display memory" de către R. Matick, D. Ling, S. Gupta și F. Dill, Jurnalul IBM de R & D, Vol. 28, No. 4, pe iulie 1984, pp. 379-393. Pentru a utiliza portul video, controller-ul folosește primul port DRAM pentru a selecta rândul de matrice de memorie care trebuie să fie afișat. Apoi VRAM copiază un rând întreg în un tampon de rând intern, care este o schimbare de registru. Controllerul poate continua apoi să folosească portul DRAM pentru obiecte desenate pe ecran. Între timp, controller transmite unui ceas numit ceas de Shift(SCLK) al port-ului video VRAM. Fiecare puls SCLK cauzează VRAM să livreze următorul pachet de date, în ordine de adresă strictă, din registrul de deplasare la portul video. Pentru simplitate, adaptorul grafic este, de obicei proiectat astfel încât conținutul unui rând, și, prin urmare, conținutul Shift-registru, să-i corespundă o linie orizontală completă pe ecran.
Prin anii 1990, toate monitoarele de calculator foloseau VRAM, cu numărul de megabiți folosit ca și un punct de vânzare. La sfârșitul anilor 1990, tehnologiile sincrone DRAM au devenit treptat accesibile, dense, și suficient de rapide pentru a înlătura VRAM, chiar dacă a fost doar un mono-portate și unii biți de memorie au fost irosiți. Cu toate acestea, multe dintre conceptele VRAM de buffering on-chip intern și organizare internă au fost utilizate și îmbunătățite în adaptoarele grafice moderne.