View Single Post
Old 31-01-2007, 14:21   #16
filippo1974
Member
 
Iscritto dal: May 2003
Città: Padova
Messaggi: 82
Le GPU sono costituite di una quantità più o meno elevata di processori "elementari" molto semplici, ottimizzati per svolgere con grande velocita solamente talune operazioni (nella fattispecie calcoli su numeri in virgola mobile, principalmente). Quindi il principio di funzionamento di una GPU sfrutta il fatto che la creazione di un'immagine 3D sia per sua stessa costituzione un processo smembrabile finché si vuole in processi elementari che si riducono a calcoli su numeri in virgola fissa/mobile.

Un generico software per scopi generali, e tipicamente eseguito da una CPU, ha tutt'altre caratteristiche. In genere svolge compiti di tipo sequenziale (ovvero non spezzettabili in processi elementari che possono girare in parallelo), e non effettua elaborazioni continue di una serie di dati ("streaming"), bensì può trovarsi a dover fare scelte, accedere a dati in modo casuale. In più, le operazioni che un software generico può far fare a una CPU sono le più disparate, e non solo calcoli aritmetici: ci sono anche operazioni logiche, copie di aree di memoria verso altre aree, accessi a periferiche.

Una GPU non ha (ancora) la flessibilità necessaria per competere con una CPU in tutti i campi; certo è che laddove un'attività si può smembrare in sotto-attività che traggono vantaggio dalla enorme velocità computazionale in virgola mobile tipica delle GPU, allora lì non c'è storia. Ma quante di queste applicazioni esistono? Rendering 3D, simulazioni fluidodinamiche, forse progettazione agli elementi finiti, e sentivo anche di simulazione di trend economici.

Ecco perché CPU e GPU sono tra loro complementari e, più che potersi sostituire l'una con l'altra, si completano a vicenda.

Ciao
Filippo
filippo1974 è offline   Rispondi citando il messaggio o parte di esso
 
1