Web Analytics
Privacy Policy Cookie Policy Terms and Conditions Graphics Processing Unit - Wikipedia

Graphics Processing Unit

Da Wikipedia, l'enciclopedia libera.

Gpu di una scheda nVidia GeForce MX440SE
Ingrandisci
Gpu di una scheda nVidia GeForce MX440SE

La Graphics Processing Unit (GPU) (chiamata anche VPU, acronimo di Visual Processing Unit) è il microprocessore di una scheda video per computer o consolle.

Le GPU moderne, sebbene spesso più lente delle CPU, sono molto più veloci di esse nell'eseguire i compiti per cui sono specializzate.

La GPU attualmente entra pesantemente in funzione solo nell'accelerazione 3D, difatti nell'accelerazione 2D i dati vengono elaborati dalla CPU e allocati dalla GPU in una parte della memoria chiamata frame buffer; da lì, il RAMDAC (Digital to Analogic Converter) legge i valori di colore da assegnare ai singoli pixel e genera il segnale per lo schermo.
Diversamente, quando viene elaborata un'immagine 3D, la CPU del computer si occupa solo del calcolo delle coordinate geometriche dei vertici dei poligoni che compongono gli oggetti della scena, e lascia alla GPU il compito di riempire le "facce" formate da questi vertici, chiamate in gergo Texture, e del calcolo delle ombre e degli effetti grafici da applicare ai poligoni, sgravandosi da pesanti operazioni di calcolo. Dopo di ciò normalmente i dati risultanti verranno posizionati nel frame buffer, per poi passare per il RAMDAC ed arrivare allo schermo.

[modifica] Storia

GPU prodotta da STMicroelectronics
Ingrandisci
GPU prodotta da STMicroelectronics

Le moderne GPU discendono dai chip grafici monolitici di fine anni '70 e degli anni '80.

Questi chip non avevano la funzione BitBLT, o ce l'avevano solo sotto forma di sprite, e solitamente non avevano funzioni per il disegno di forme.

Alcune GPU potevano eseguire più operazioni in una display list, e potevano usare il DMA per ridurre il carico sulla CPU; uno dei primi esempi è stato il co-processor ANTIC usato sul computer Atari 800 e Atari 5200. Alla fine degli anni '80 e all'inizio degli anni '90, le GPU di fascia alta veniva spesso implementate con microprocessori non specializzati ad alta velocità; alcune schede grafiche (molto costose) per PC e workstation usavano chip DSP (digital signal processor) (come la serie TMS340 della TI) per implementare funzioni veloci di disegno, e molte stampanti laser venivano fornite con un elaboratore di immagini raster PostScript (un caso speciale di una GPU) funzionante su una CPU RISC come l'AMD 29000.

Man mano che la tecnologia di costruzione di chip migliorava, è diventato possibile spostare sia le funzioni di disegno che la funzione BitBLT sulla stessa scheda (e, in seguito, nello stesso chip) insieme ad un normale controllore di frame buffer come il VGA; questi "acceleratori 2D" semplificati non erano così flessibili come le GPU basate su microprocessore, ma erano molto più facili da costruire e da vendere. L'Amiga è stato il primo computer per il mercato di massa a includere un blitter nel suo hardware video, e il sistema grafico IBM 8514 è stato uno delle prime schede video per PC a implementare in hardware le primitive 2D.

All'inizio degli anni 1990, la diffusione di Microsoft Windows ha generato un grande interesse verso la grafica raster 2D ad alta velocità e alta risoluzione (che in passato era stato il dominio delle workstation Unix e dei Macintosh Apple). Per il mercato dei PC, la dominanza di Windows ha significato che i produttori di dispositivi grafici per PC adesso potevano focalizzare gli sforzi di sviluppo su una sola interfaccia di programmazione, la GDI.

Nel 1991, S3 Graphics ha introdotto il primo acceleratore 2D su singolo chip, l'S3 86C911 (il cui nome è stato ispirato dall'autovettura Porsche 911 come indicazione dell'aumento di velocità che prometteva). L'86C911 ha generato molto imitatori; nel 1995, tutti i principali produttori di chip grafici per PC avevano aggiunto il supporto per l'accelerazione 2D ai loro chip. Entro questo tempo, gli acceleratori per Windows non programmabili avevano sorpassato i costosi coprocessori grafici ad uso generico in termini di prestazioni di Windows, e i coprocessori scomparvero dal mercato dei PC.

Con l'avvento dell'API DirectX versione 8 e di simili funzionalità in OpenGL, le GPU hanno aggiunto l'ombreggiatura (shading) programmabile alle loro funzioni. Ogni pixel poteva adesso essere elaborato da un breve programma che poteva ricevere in input delle texture, e ogni vertice geometrico poteva analogamente essere elaborato da un breve programma prima di essere proiettato sullo schermo. Nel 2003, con l'introduzione della NVIDIA GeForce FX (detta anche NV30), gli ombreggiatori (shader) di pixel e di vertici potevano realizzare dei cicli, delle lunghe operazioni a virgola mobile, e in generale stavano diventando rapidamente flessibili quanto una CPU dedicata all'elaborazione di immagini raster.

L'ultima versione oggi disponibile di DirectX è la 9.c. Presto però le directX verranno sostituite con l'ingresso di Windows Vista che userà liberire differenti. Inoltre, con l'avvento degli HD DVD la GPU dovrà essere progettata per gestire il segnale e le chiavi Aacs che servono per verificare l'autenticità del film.

Oggi le GPU parallele hanno cominciato a contendere alla CPU funzioni computazionali, e un sottosettore della ricerca, chiamato GPGPU (acronimo di General Purpose Computing on GPU), ha trovato impiego in vari campi come l'esplorazione petrolifera, l'elaborazione di immagini scientifiche, e perfino la determinazione del prezzo delle opzioni sulle azioni di borsa.

THIS WEB:

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - be - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - closed_zh_tw - co - cr - cs - csb - cu - cv - cy - da - de - diq - dv - dz - ee - el - eml - en - eo - es - et - eu - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gd - gl - glk - gn - got - gu - gv - ha - haw - he - hi - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mg - mh - mi - mk - ml - mn - mo - mr - ms - mt - mus - my - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - rm - rmy - rn - ro - roa_rup - roa_tara - ru - ru_sib - rw - sa - sc - scn - sco - sd - se - searchcom - sg - sh - si - simple - sk - sl - sm - sn - so - sq - sr - ss - st - su - sv - sw - ta - te - test - tet - tg - th - ti - tk - tl - tlh - tn - to - tokipona - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu

Static Wikipedia 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2007:

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - be - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - closed_zh_tw - co - cr - cs - csb - cu - cv - cy - da - de - diq - dv - dz - ee - el - eml - en - eo - es - et - eu - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gd - gl - glk - gn - got - gu - gv - ha - haw - he - hi - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mg - mh - mi - mk - ml - mn - mo - mr - ms - mt - mus - my - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - rm - rmy - rn - ro - roa_rup - roa_tara - ru - ru_sib - rw - sa - sc - scn - sco - sd - se - searchcom - sg - sh - si - simple - sk - sl - sm - sn - so - sq - sr - ss - st - su - sv - sw - ta - te - test - tet - tg - th - ti - tk - tl - tlh - tn - to - tokipona - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu

Static Wikipedia 2006:

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - be - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - closed_zh_tw - co - cr - cs - csb - cu - cv - cy - da - de - diq - dv - dz - ee - el - eml - en - eo - es - et - eu - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gd - gl - glk - gn - got - gu - gv - ha - haw - he - hi - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mg - mh - mi - mk - ml - mn - mo - mr - ms - mt - mus - my - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - rm - rmy - rn - ro - roa_rup - roa_tara - ru - ru_sib - rw - sa - sc - scn - sco - sd - se - searchcom - sg - sh - si - simple - sk - sl - sm - sn - so - sq - sr - ss - st - su - sv - sw - ta - te - test - tet - tg - th - ti - tk - tl - tlh - tn - to - tokipona - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu