# UltraSPARC T2

L'UltraSPARC T2 è un microprocessore multithreading multi core sviluppato dalla Sun Microsystems utilizzante il set di istruzioni SPARC V9. L'UltraSPARC T2 è il successore dell'UltraSPARC T1 e viene spesso indicato con il nome in codice di Niagara II. L'11 novembre 2007 Sun ha annunciato la disponibilità delle prime soluzioni basate sul microprocessore.

## Nuove caratteristiche

Il T2 deriva dalla serie di processori UltraSPARC. Il processore è prodotto con una tecnologia a 65 nm e contiene fino a otto core, ogni core è in grado di gestire fino a otto thread concorrenti. Quindi il processore è in grado di eseguire fino a 64 thread concorrenti. Tra le nuove caratteristiche si segnalano:
* Frequenza incrementata a 1.4 GHz (il predecessore ha una frequenza di 1.2 GHz)
* Una porta PCI Express (8x 1.0)
* Due porte 10 Gigabit ethernet con classificazione e filtraggio dei pacchetti
* Cache di secondo livello da 4 Megabyte (8 banchi a 16 vie associative)
* Due ALU per core a differenza della singola ALU del predecessore
* Ogni core ha una propria unità in virgola mobile (a differenza della singola unità condivisa del T1)
* Otto unità di cifratura (a differenza della singola unità del T1) in grado di gestire DES, 3DES, AES, RC4, SHA1, SHA256, MD5, RSA-2048, ECC, CRC32.
* Un controller della memoria dual-channel FB-DIMM
L'UltraSPARC T2 alla sua presentazione nel 2007 era il più potente processore con architettura pubblica e disponibile in licenza GNU GPL.

## Pipeline

La nuova pipeline dei numeri interi ha otto stadi a differenza della precedente pipeline a 6 stadi, questo permette di innalzare la frequenza di funzionamento, ma peggiora le prestazioni nel caso l'unità di predizione dei salti non stimi correttamente il salto.
| Processore | Stadi | Stadi | Stadi | Stadi | Stadi | Stadi | Stadi | Stadi |
| Pipeline T1 | Caricamento | | Selezione thread | Decodifica | Esecuzione | Accesso alla memoria | | Writeback |
| Pipeline T2 | Caricamento | Cache | Selezione thread | Decodifica | Esecuzione | Accesso alla memoria | Bypass | Writeback |

## Prestazioni

Rispetto al predecessore T1 il T2 mostra questo miglioramento di prestazioni:
* Esecuzioni di operazioni su numero interi (maggiore di 2 volte)
* Rapporto Watt/esecuzione di operazioni su interi (maggiore di 2 volte)
* Miglioramenti di prestazioni sul singolo tread dell'esecuzione di interi (maggiore di 1.4 volte)
* Incremento di operazioni in virgola mobile (maggiore di 10 volte)
* Incremento di prestazioni sul singolo tread delle operazioni in virgola mobile (maggiore di 5 volte)
* Record mondiale nell'esecuzione dei test SPECint_rate2006 (78.3) e SPECfp_rate2006 (62.3)

## Consumi energetici

Il processore di picco può arrivare a dissipare fino a 123 Watt sebbene durante le normali operazioni il processori dissipi circa 95 Watt. Il precedente UltraSparc T1 consumava 72 Watt e quindi il processore T2 ha un più elevato consumo del predecessore ma tenendo conto che è in grado di eseguire 64 thread contemporaneamente ogni thread richiede circa 1.5 Watt di potenza a differenza dei 2.2 Watt richiesti dal T1.

## Open source

Il processore T2 come il predecessore T1 è stato pubblicato come progetto open source tramite il progetto OpenSPARC in formato register transfer level il 12 dicembre 2007. Il progetto include un manuale per programmatori, i programmi di test, verifica e training per sviluppatori.