I core per elaborazione grafica evolvono verso la visualizzazione 3D
Dalla rivista:
Elettronica Oggi
La Computer Graphics festeggia già mezzo secolo da quando nacque come “disciplina che studia le tecniche e gli algoritmi per la visualizzazione delle informazioni numeriche” e da allora si è sviluppata al punto da essere oggi la scienza base per interi settori di mercato come l’elaborazione fotografica, il videomontaggio in cinematografia, la progettazione meccanica, la visualizzazione dei dati scientifici e medicali e l’interpretazione ottica dei segnali catturati dai sensori. Alcune di queste applicazioni hanno vissuto un percorso evolutivo talmente importante che fu giocoforza arrivare al progetto e allo sviluppo dei processori per l’elaborazione grafica, come dispositivi con caratteristiche ben definite e tali da imporsi come categoria di mercato a sè stante.
I protagonisti del calcolo grafico stanno oggi lavorando sulla grafica 3D, ossia quella forma di visualizzazione che consente di creare dei modelli grafici capaci di rappresentare le immagini bidimensionali in oggetti visibili sulle tre dimensioni. Per far ciò si utilizzano i cosiddetti motori di “render”, che sono complessi sottoprogrammi composti da decine di algoritmi eseguiti simultaneamente in parallelo e capaci di simulare sia il comportamento della luce sia le proprietà ottiche e fisiche dei materiali e degli oggetti. L’approccio utilizzato in questi motori grafici consiste nel descrivere gli oggetti come risultati di operazioni booleane fra più geometrie solide predefinite, oppure come l’interpolazione algebrica fra più poligoni ideali. Maggiore è il numero degli oggetti base o dei poligoni e più complessa e precisa è la rappresentazione dell’oggetto e viceversa, usandone in minor numero, l’effetto 3D può risultare visivamente meno evidente ma si alleggerisce il lavoro per l’unità di calcolo.
In altre parole, si estraggono dall’immagine le forme geometriche primitive che la caratterizzano e poi si processano in modo da trasformarle, tenendo conto di tutte le possibili varianti legate agli effetti introdotti dall’illuminazione e dalle ombre visibili in funzione delle diverse posizioni dell’osservatore, fino a comporre e riprodurre tutti gli aspetti e le sfaccettature che caratterizzano le immagini realmente osservate. Si effettua così il “rendering” ossia la riproduzione dell’immagine a partire dal modello matematico, ricomponendo insieme un numero di immagini primitive adeguato per riprodurre con buona fedeltà ciò che si osserva direttamente con gli occhi. Le equazioni matematiche alla base dell’elaborazione poligonale richiedono una notevole potenza di calcolo parallelo, necessaria per confrontare le interpolazioni fra le primitive e decidere di volta in volta quale risultante corrisponda maggiormente alle condizioni al contorno in termini di illuminazione e posizione dell’osservatore.
La complessità dei calcoli cresce con il numero delle immagini primitive e con il numero delle variabili considerate per gli effetti e per la visualizzazione 3D si parla di almeno un ordine di grandezza in più rispetto alla complessità introdotta dall’alta definizione. Non è un caso se entrambe queste tecnologie siano ancora poco considerate per i videogiochi giacché possono effettivamente rallentare la velocità di gioco proprio nei giochi con i contenuti grafici più impegnativi. D’altro canto, questo è comunque un buon motivo per incoraggiare lo sviluppo dei processori grafici più potenti e vent’anni fa fu proprio l’incessante domanda di prestazioni grafiche e di processori pensati per tale compito il più importante stimolo che ha trainato l’evoluzione delle tecnologie di calcolo parallelo da entrambi i punti di vista software e hardware.
Oggi le GPU, Graphics Processing Unit, si differenziano dalle CPU (Central Processing Unit, acronimo coniato da IBM nel 1958) proprio per l’architettura sul silicio. Le moderne CPU hanno generalmente due, quattro o otto core molto potenti e sono in grado di eseguire soprattutto in modalità sequenziale una gran varietà di funzioni che possono anche essere correlate con una struttura ben precisa di interrupt. Le GPU sono, invece, realizzate integrando centinaia di unità aritmetiche ALU, Arithmetic Logic Unit, strutturate in modo da svolgere a ogni colpo di clock centinaia di elaborazioni poligonali in parallelo. Per questo motivo sono circondate da complesse interfacce di controllo specializzate per fornire in ogni ciclo migliaia di sequenze di dati sui poligoni primitivi e raccogliere i risultati dei calcoli per l’interpretazione grafica necessaria prima della successiva visualizzazione.
Attualmente per i chip grafici si parla di TeraFlops (1012 operazioni in virgola mobile al secondo) e tanta potenza di calcolo deve forzatamente essere circoscritta in processori GPU capaci di sollevare la CPU centrale dei computer da tali mansioni e così pensano i principali costruttori che hanno scelto come configurazione ottima per i moderni PC una struttura con CPU centrale a svolgere le funzioni di sistema e al suo fianco una GPU dedicata alla creazione del segnale da inviare al terminale di visualizzazione. Oggi, tuttavia, si fabbricano anche processori single-chip con CPU e GPU sopra lo stesso silicio e anche architetture ibride multicore nelle quali uno o due core fanno da CPU e gli altri lavorano come GPU. Architetture ibride di questo tipo si trovano anche nella forma di moduli di proprietà intellettuale implementabili a bordo dei grandi Fpga e in tal caso, tuttavia, le prestazioni matematiche sono inferiori e non consentono di soddisfare applicazioni grafiche impegnative, ma si ottengono i due importanti vantaggi del prezzo più accessibile e della relativa semplicità di interfacciamento che gli Fpga notoriamente offrono.
Tre protagonisti
Fig. 1 – Architettura del processore grafico HD 7970 oggi disponibile anche nella versione GHz Edition capace di 1,01 TeraFlops
Advanced Micro Devices ha ulteriormente ampliato la famiglia dei suoi processori Radeon introducendo la nuova serie HD 7900M caratterizzata dalla geometria di riga da 28 nm che li rende particolarmente parsimoniosi e ne consente l’uso anche nei computer portatili. L’architettura “Graphics Core Next” è stata potenziata con le tecnologie AMD Enduro (ottimizza la distribuzione delle risorse fra i singoli core), Powergate (toglie alimentazione alle parti non attive) e ZeroCode (gestisce alcune funzioni internamente alla GPU senza bisogno della CPU) che ne migliorano l’efficacia di elaborazione grafica soprattutto sui contenuti video ricchi di immagini in movimento come tipicamente accade nei videogames. La nuova GPU HD 7970 GHz Edition ha a bordo 32 core grafici (ciascuno dei quali con 64 Stream Processor che sono le unità algebriche vettoriali ideate da AMD) tutti con clock di 1 GHz per una velocità di elaborazione complessiva di 1,01 TeraFlops in doppia precisione e 4,3 TeraFlops in singola precisione.
Fig. 2 – Uno dei core nei nuovi processori Intel Ivy Bridge è una GPU e disporrà delle più innovative tecnologie di elaborazione grafica HD e 3D
Intel ha sviluppato i suoi nuovi processori Ivy Bridge con processo die-shrink in geometria di riga da 22 nm perfezionando le già notevoli prestazioni della tecnologia Sandy Bridge a 32 nm e intende investire molto per adeguare i propri stabilimenti alla produzione d
i questi nuovi chip sopra ai quali troveremo finalmente i già famosi transistor tri-gate soprannominati 3D per la forma verticale della loro base. I nuovi processori Ivy Bridge avranno 2 o 4 core e frequenza di clock da 3,1 a 3,5 GHz e in tutti i modelli della famiglia uno dei core è sempre una GPU composta da 6 fino a 16 Compute Unit (unità algebriche Intel) e destinata a svolgere le mansioni di elaborazione grafica. Le novità introdotte in termini di prestazioni grafiche sono svariate e raccolte nella Visual Technology che consiste in una suite di algoritmi sviluppati per migliorare la qualità e la definizione delle immagini riprodotte fra cui sono comprese le tecnologie Clear Video HD e 3D Graphics che consentiranno l’elaborazione dei formati ad alta definizione e dei contenuti grafici 3D.
L’architettura dei processori grafici Nvidia Kepler ha un’innovativa concezione dello streaming multiprocessore che consente ai core di elaborazione grafica di comunicare fra di loro senza bisogno della CPU e ciò consente di migliorare l’efficienza del calcolo algebrico. In pratica, i singoli core possono sfruttare l’alta velocità delle interconnessioni Hyper-Q per avviare decine di elaborazioni poligonali in parallelo e passarsi internamente i dati sui poligoni in modo da eseguire completamente ciascuno degli algoritmi per poi richiamare la CPU solo al momento di fornire i risultati finali. La possibilità di ottimizzazione dinamica dei core di calcolo consente di ridurre i tempi di inattività e permette di eseguire più rapidamente un maggior numero di algoritmi in parallelo. Con questo approccio i nuovi GK110 consentono di implementare software di calcolo parallelo capaci di superare 1 TeraFlops eseguendo con un solo loop multiplo fino a 192 algoritmi poligonali.
Fig. 3 – L’ottimizzazione dinamica delle risorse sui singoli core grafici consente ai processori Nvidia Kepler di eseguire algoritmi in parallelo fino a 1 TeraFlops
Lucio Pellizzari
Contenuti correlati
-
I processori Intel Core di quattordicesima generazione per desktop
Intel ha presentato i suoi processori Core di quattordicesima generazione per desktop. Questa generazione comprende sei nuovi processori con un massimo di 24 core e 32 thread e frequenze fino a 6GHz. Al vertice della nuova famiglia...
-
Intel introduce i processori Comet Lake per portatili
Intel ha ampliato la sua gamma di processori Core di decima generazione per portatili con otto componenti della famiglia con il nome in codice Comet Lake. Queste CPU sono state progettate per aumentare la produttività offrendo prestazioni...
-
Mouser distribuisce le linee di processori di Intel
Mouser Electronics firma un accordo di distribuzione con Intel. Mouser fornisce ingegneri, con accesso diretto all’intero portafoglio di Intel Mobile, desktop, e prodotti server. Nel portafoglio di Mouser rientrano l’ultima 22 nm Core i7, i5, i3, Pentium,...
-
Fujitsu Semiconductor ha la licenza del quad-core Mali per lo sviluppo nell’industria
Fujitsu Semiconductor ha la licenza sui big-little concept e Mali-T624 core da ARM Holdings per lo sviluppo nel settore industriale. Fujitsu sostiene che il suo primo sistema su chip basato su queste tecnologie sotto licenza includerà dual-core...
-
Lauterbach: TRACE32 supporta la famiglia di core multiprocessore MIPS interAptiv
Lauterbach ha annunciato che i suoi debugger TRACE32 ora supportano i core dei processori multi-threaded MIPS interAptiv di Imagination Technologies. I core interAptiv possono essere utilizzati come processori di fascia intermedia per costo e per settore, in...
-
La convergenza verso un core di controllo comune
Da quando sono stati inventati ed è iniziata la produzione nei primi anni ‘70, gli MCU sono stati progettati e realizzati da un grande numero di aziende specializzate in semiconduttori, che hanno sviluppato proprie linee, principalmente basate...
-
Kalray, startup europea nella sfida multicore
La startup europea Kalray è intenzionata a presentare sul mercato un rivoluzionario processore general purpose e multicore. La società, fondata nel 2008 da Joel Monnier, vicepresidente del reparto R&D di STMicroelectronics, sostiene che sia possibile, combinando hardware...
-
I trend per il 2011 visti da Intel
Il 2010 è stato un anno sicuramente interessante per Intel, un anno che ha visto una serie di record dal punto di vista economico a partire dal secondo trimestre. C'è stata infatti una...
-
Lattice Semiconductor: core IP Mac HiGig, Fpga a basso costo
Lattice Semiconductor ha comunicato la disponibilità del core IP Mac HiGig per la propria famiglia di Fpga LatticeEcp3 a basso costo. In questo senso, più dispositivi singoli interconnessi tramite il protocollo HiGig possono funzionare come una rete...
-
Intel Core: quando la velocità si fonde con l’intelligenza
Integrazione e prestazioni “smart” senza precedenti sono i tratti distintivi della nuova famiglia di processori Intel Core i7, i5 e i3 realizzati in tecnologia da 32 nm destinati non solo al settore computer, ma...