# Intel Terascale

Il progetto Terascale è uno studio avanzato sulle tecnologie di calcolo parallelo sviluppato da Intel, a partire dal 2005, che molto probabilmente non raggiungerà mai il mercato nella sua incarnazione attuale, ma dovrebbe servire 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 ha abbracciato completamente la nuova filosofia di sviluppo dei microprocessori che vede un aumento sempre maggiore del numero di core integrati in un'unica CPU. Terascale è solo uno dei progetti multi core in sviluppo presso i laboratori di Intel, e certamente si tratta di uno di quelli più innovativi.

## Caratteristiche tecniche

Per dare un assaggio delle chicche tecnologiche a cui sta lavorando Intel, a settembre 2006 è stato 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². Il numero di transistor, in realtà, non appare affatto molto elevato, per essere diviso tra 80 core; basti pensare al numero di transistor da cui sono composti alcuni degli attuali processori commercializzati da Intel: 291 milioni per un dual core Core 2 Duo Conroe ed esattamente il doppio, 582 milioni, per il quad core Core 2 Quad Kentsfield. Appare quindi chiaro come la struttura di ogni singolo core sia relativamente ridotta e infatti Intel ha specificato che non si tratta di core basati architettura x86, ma su quella VLIW (very long instruction word), e non sono quindi in grado di eseguire il codice dei normali programmi utilizzati oggigiorno. L'elevata potenza elaborativa che il processore ha dimostrato 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

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

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.

## Sviluppi futuri

Secondo Intel i core non sono tutto. Nell'ambiente attuale si beneficerebbe enormemente di un processore a 16 core, ma non di uno a 32: non serve quindi aumentare i core a dismisura, ma vi sono altri miglioramenti architetturali da portare avanti, come l'ottimizzazione della cache, il thread scheduling e l'integrazione di nuove istruzioni.
Se è ormai praticamente certo che il futuro dei microprocessori sarà verso un numero sempre crescente di core, rimane ancora da determinare le caratteristiche che dovranno avere tali core. Con questo progetto Intel sembra aver scelto di integrare molti core semplificati rispetto a quelli attualmente utilizzati nelle CPU odierne, ma ottimizzati per adeguarsi dinamicamente alle esigenze del sistema.
Il progetto è attualmente diviso in due parti, differenti ma parallele: da una parte Intel mira a integrare unità x86 al posto dei core attuali, mentre dall'altra s'impegnerà a integrare la memoria SRAM e DRAM all'interno di questo prototipo. Resta comunque da evidenziare che le prestazioni in virgola mobile sono maggiormente importanti per le applicazioni scientifiche anziché per le applicazioni desktop.
Intel ha al momento in sviluppo anche il processore Larrabee, previsto per il 2009, formato da 24 core pensato per le elaborazioni GPGPU. Non è ancora chiaro se Larrabee sia figlio del progetto Terascale, ma in ogni caso si prevede la commercializzazione di processori Terscale tra circa 5-8 anni. Nel 2010 intel ha ammesso che secondo i suoi studi effettuati con il progetto "TeraScale" è possibile creare cpu con 1000 core.