Intel Terascale
Il progetto Terascale fu uno studio avanzato sulle tecnologie di calcolo parallelo sviluppato da Intel, a partire dal 2005, che non ha mai raggiunto il mercato nella sua incarnazione originale, ma è servito al produttore ad ottimizzare la scalabilità delle proprie CPU all'aumentare del numero di core.
A partire dal 2005, con il primo Pentium D Smithfield, Intel abbracciò completamente la nuova filosofia di sviluppo dei microprocessori che vide un aumento sempre maggiore del numero di core integrati in un'unica CPU. Terascale è stato solo uno dei progetti multi core in sviluppo presso i laboratori di Intel, definibile uno dei più innovativi dell'epoca.
Caratteristiche tecniche
[modifica | modifica wikitesto]A settembre 2006 fu presentato un prototipo di processore a 32 bit integrante 80 unità di calcolo in virgola mobile su di un singolo pezzo di silicio (circa 100 milioni di transistor) della dimensione di 275 mm². La struttura di ogni singolo core era relativamente ridotta e infatti Intel ha specificò che non si trattava di core basati su un'architettura x86, ma su quella VLIW (very long instruction word), di conseguenza non erano ancora in grado di eseguire il codice dei normali programmi utilizzati oggigiorno. L'elevata potenza elaborativa che il processore dimostrò quindi, dipende in buona parte dal numero stesso di core, più che dalla loro potenza intrinseca. È evidente quindi come per poter sfruttare adeguatamente un simile potenziale sia indispensabile un software espressamente progettato allo scopo.
Il processore a 80 core viene definito come "una rete di computer su un chip". Ognuno degli 80 mattoncini che lo compongono integra 2 engine in virgola mobile "floating-point multiply-accumulator" (FPMAC) indipendenti, e un'unità router a 5 porte che controlla la comunicazione dei dati con gli altri core, 3 KB di memoria per istruzioni a singolo ciclo e 2 KB per memorizzare dati. Questo approccio permette ad ogni core di elaborare dati in modo indipendente, e di trasmettere i dati ai core limitrofi così che questi possano a loro volta utilizzarli. Sono presenti infatti 4 interfacce per connettere i core in basso, in alto, a sinistra e a destra; una quinta connessione "3D", attualmente non utilizzata, è stata progettata per permettere al chip di comunicare con la memoria disponibile.
Prima generazione di processore Terascale
[modifica | modifica wikitesto]Al momento della prima presentazione alla stampa, il processore derivante dal progetto Terascale aveva un clock a 3,16 GHz con un voltaggio di 0,95 V fornendo una banda passante di 1,62 Tb/s e prestazioni in virgola mobile di 1,01 TFlops, pari a circa 16 GFlops per Watt. La potenza totale dissipata è inferiore ai 100 W, compresa tra i 62 W e i 98 W, per la prima generazione, contro i 105-130 W necessari ad un recente quad core (come Kentsfield e Clovertown) per operare a pieno ritmo.
Già in quell'occasione Intel dichiarò che variando la tensione e la frequenza si potevano raggiungere prestazioni in virgola mobile ancora più elevate: mantenendo gli originali 20 MB cache e overcloccando la CPU a 4 GHz, le prestazioni aumentavano fino a 1,28 TFlops; a 5,1 GHz il chip raggiungeva gli 1,63 TFlops (2,61 Tb/s) e a 5,7 GHz venivano toccati gli 1,81 TFlops (2,91 Tb/s). Tuttavia con una frequenza maggiore i consumi salivano rapidamente: Intel rilevò 175 W a 5,1 GHz e 265 W a 5,7 GHz. In realtà "accontentandosi" di una potenza elaborativa di 310 GFlops, il consumo cala fino all'interessante valore di 11 W.
Successive revisioni al progetto, presentate a giugno 2007, hanno permesso di rivedere notevolmente i valori di dissipazione termica; gli ultimi sviluppi hanno portato il processore a funzionare a 6,26 GHz raggiungendo una potenza di calcolo di 2 TFlops e un consumo non superiore a 160 W. Mantenendolo alla frequenza standard di 3,16 GHz, il processore è stato in grado di non eccedere un consumo di 24 W. Tale risparmio energetico è stato ottenuto grazie alla struttura scalare del processore, che è in grado di sfruttare solo alcuni dei core in base alle esigenze del sistema, lasciando inattivi quelli inutilizzati; si tratta di un approccio che Intel già utilizza, sebbene su scala differente, nei processori mobile Core Duo Yonah e Core 2 Duo Merom. Intel ha affermato che l'unita, quando non si trova sotto carico, lascia in attività solo 4 delle sue 80 unità floating point, andando a dissipare solamente 3,32 W.
Confronto prestazionale
[modifica | modifica wikitesto]Il primo chip Terascale prodotto, come detto, a scopo di studio, è in grado di raggiungere un TFlops di prestazioni, ovvero 1 trilione di operazioni in virgola mobile al secondo; si tratta di una differenza notevole rispetto all'innovazione storica di Intel introdotta nel 1995 con il primo supercomputer TFlops, un sistema basato su circa 10000 processori Pentium Pro in più di 85 grandi armadi che occupavano una superficie di circa 185 m².
Per fare un confronto con processori meno attempati, Intel ha dichiarato che un Pentium 4 a 3 GHz, raggiunge gli 0.006 TFlops, ovvero circa 6 GFlops, lo Xeon DP 51xx, basato sul core Woodcrest, è attestato a 24 GFlops, mentre un sistema Itanium 2 con 4 processori dual core Montecito arriva a 45 GFlops.
Evoluzione dell'architettura Intel
[modifica | modifica wikitesto]Secondo la filosofia dei tempi di Intel: i core non erano tutto. Si accorse quindi che in quel ambiente si sarebbe beneficiato maggiormente di un processore a 16 core , rispetto a uno a 32: non serviva quindi aumentare i core a dismisura, ma vi erano altri miglioramenti architetturali da portare avanti, come l'ottimizzazione della cache, il thread scheduling e l'integrazione di nuove istruzioni.
Intel scelse di integrare molti core semplificati rispetto a quelli attualmente utilizzati nelle CPU odierne, ma ottimizzati per adeguarsi dinamicamente alle esigenze del sistema.
Il progetto era diviso in due parti, differenti ma parallele: da una parte Intel mira a integrare unità x86 al posto dei core utilizzati all'epoca, mentre dall'altra s'impegnerà a integrare la memoria SRAM e DRAM all'interno di questo prototipo.
Intel ha in sviluppo anche il processore Larrabee, previsto inizialmente per il 2009, formato da 24 core e pensato per elaborazioni GPGPU. Non è del tutto chiaro se Larrabee sia direttamente figlio del progetto TeraScale, ma si prevedeva che i processori TeraScale potessero arrivare sul mercato in circa 5-8 anni. Nel 2010, Intel ha inoltre dichiarato che, secondo gli studi condotti con il progetto TeraScale, è possibile creare CPU con 1000 core.