Il mio prossimo Personal Computer

Per molti anni l’obiettivo principale della ricerca è stato quello di trovare soluzioni in grado di consentire la costruzione dei cosiddetti super calcolatori, ovvero macchine in grado di supportare gli scienziati nella risoluzione di problemi matematici estremamente sofisticati. I progressi fatti negli ultimi anni nell’ambito dei processi fabbricazione dei circuiti integrati, se da una parte consento di realizzare sullo stesso chip uno straordinario numero di dispositivi, dall’altra hanno costretto i progettisti a rivedere radicalmente la struttura delle CPU. Questo è il motivo per cui, a differenza di quanto accadeva qualche anno fa, la frequenza di funzionamento non rappresenta più una metrica appropriata per misurare le prestazioni dei processori.

Già nel 1996 il professor Kunle Olukotun, della Stanford University, ha dimostrato che realizzando 4 semplici processori sullo stesso chip di silicio era possibile ottenere prestazioni superiori rispetto a quelle di un singolo processore tradizionale, avente le stesse dimensioni, e basato sulle soluzioni tecniche a quel tempo più avanzate. I lavori del Prof. Olukotun in realtà hanno rappresentato l’inizio dell’era multi-core. Il Cell, il processore utilizzato per la Play Station 3, è uno dei primi prodotti multi-core che ha avuto rilevanza commerciale e, come è noto, oggi molti dei PC desktop e laptop disponibili sul mercato montano processori con più di un core.

Perché i maggiori produttori di processori possano continuare lo sviluppo di questo tipo di soluzioni, commercializzando nei prossimi anni CPU con centinaia di core, è necessario risolvere alcuni problemi di natura tecnica dei quali la comunità scientifica si sta occupando. Il più importante di questi riguarda la disponibilità di una tecnologia software in grado di “parallelizzare” le applicazioni e renderle adatte ad essere eseguite da CPU multi-core, sfruttandone appieno le potenzialità. Attualmente i ricercatori stanno lavorando allo sviluppo di compilatori in grado di suddividere le applicazioni in processi eseguibili in maniera indipendente sui diversi core della CPU. E’ ragionevole aspettarsi che tra qualche anno il nostro PC monterà un processore con almeno 100 core e sarà in grado di eseguire, con prestazioni straordinarie, sia videogame realistici che applicazioni scientifiche. Sarà inoltre disponibile un compilatore in grado di nascondere la complessità dell’hardware e che consentirà lo stesso approccio di programmazione utilizzato oggi per le tradizionali macchine x86.

Articolo pubblicato su: tooware.blogspot.com

Approfondimenti...

Non sai che CPU scegliere? Intel ti viene incontro
 Sembra che l'Intel stia per lanciare 14 nuovi processori per notebook ultrasottili, desktop e server. La notizia,non ancora ufficiale, proviene dal sito...

Processori di nuova generazione per Ipad 2 e Iphone 5
 Secondo alcune indiscrezioni, non confermate dalla casa di Cupertino, la prossima generazione di iPhone e iPad potrebbe utilizzare processori multi-cor, capaci...

La prima macchina fotografica con proiettore
 Si chiama coolpix S1100pj. E' la nuova macchina fotografica della Nikon che può anche proiettare su una qualsiasi parete anche di casa. Quindi si torna...

Migliorare la leggibilità dei caratteri in windows utilizzando render stile mac
 Ed ecco a voi un articolo che puo sembrare banale ma in realtà puo rivelarsi molto utile per la gioia dei vostri occhi, non sempre capita di mettere fiancoa...

L’I-Pad manderà la carta stampata in soffitta ma non é un PC, ecco perché.
 Dopo il tanto clamore per l'inizio della vendita della tablette I-Pad by Apple negli States, molti iniziano a descriverne i vantaggi e svantaggi. Chi ha avuto...

Commenti...


TheKaneB

# 23/10/2009 09:55

Non mi pare strana come evoluzione. Già oggi abbiamo processori grafici con 128, 256 o perfino 512 core (altamente specializzati in calcoli vettoriali in virgola mobile) che elaborano in parallelo (in modo automatico, senza interventi diretti del programmatore) un certo batch di pixel.

Il calcolo general purpose però è diverso, non sempre i dati sono abbastanza indipendenti tra loro (come nel caso dei pixel, che in larga parte sono indipendenti l’uno dall’altro, almeno finchè non si applicano degli shaders particolari, come blur o antialiasing o altri…) da permettere un’ottimizzazione automatica del parallelismo.

In piccola scala, i processori moderni cercano già di separare le istruzioni tra loro indipendenti (esecuzione Out Of Order) ma rientrano sempre dentro lo stesso core, parallelizzati su più pipeline.

Un giorno forse esisteranno compilatori del genere, ma la loro efficienza, per limiti puramente teorici, sarà relativa al grado di indipendenza dei dati trattati.

Ciao,
Antonio



Vorresti inserire un commento?

Registrati per un account gratuito oppure entra (se sei già utente).





Mandaci un Trackback a questo URL se vuoi:
http://www.italianbloggers.it/11574/il-mio-prossimo-personal-computer/trackback/