Vector Unit e Mask Register
- Pagina 1 : Larrabee, analisi tecnica: un mostro, almeno su carta
- Pagina 2 : Un atteso ritorno
- Pagina 3 : In generale
- Pagina 4 : x86: la scelta giusta?
- Pagina 5 : Nel dettaglio: unità scalare e SMT
- Pagina 6 : L’unità vettore e il nuovo set di istruzioni
- Pagina 7 : Vector Unit e Mask Register
- Pagina 8 : Le unità texture
- Pagina 9 : Larrabee Versus Cell
- Pagina 10 : Larrabee Versus GPU
- Pagina 11 : Larrabee contro se stesso?
Vector Unit e Mask Register
L’ultimo punto interessante di questa unità è l’esistenza di un mask register, che è simile al filter register del set di istruzioni VMX. Questo registro, che contiene 16 valori booleani, indica se un risultato sarà o meno scritto nel registro di destinazione. La maschera abilita l’uso di una tecnica chiamata "predication". Nel caso del condizionale if-then-else, anziché provare a predire il risultato per continuare l’esecuzione del programma senza perdita di prestazioni, entrambe le branch sono eseguite in parallelo e solo quella appropriata verrà presa quando il registro viene usato. È una scelta che migliora l’efficienza del calcolo, riducendo il rischio di predizioni erronee.
Questa unità è chiaramente l’aspetto più interessante di Larrabee, però qualche dubbio è legittimo, sulla scelta del nuovo set di istruzioni SIMD. I team di Intel, infatti, stanno lavorando su un nuovo set di istruzioni SIMD chiamato advanced vector instructions (AVX). Questo supporta le istruzioni con tre operandi e incrementa la dimensione dei vettori così che si possano processare 256 bit anziché i 128 bit delle SSE (e 512 bit per Larrabee).
È perfettamente immaginabile che Larrabee, grazie alla sua specificità, abbia bisogno di istruzioni esotiche che non trovano posto in una CPU tradizionale, e la dimensione dei vettori AVX è troppo limitata. Al contrario, vettori a 512 bit creerebbero restrizioni per una CPU standard.
Intel su questi aspetti non è chiarissima: da una parte, puntualizza che Larrabee supporta il set di istruzioni x86, rendendolo compatibile con un’enorme quantità di software. Dall’altra parte, per estrarre il massimo da Larrabee, è necessario un nuovo set di istruzioni – uno che non verrà usato da altre CPU Intel.
Comunicazioni veloci: il ring bus
Per gestire i controllo di coerenza della cache, la comunicazione tra i vari processori, e accedere a specifiche unità come quelle texture, Intel ha scelto il classico ring bus. Questo tipo di approccio è diventato sempre più familiare negli ultimi tempi, poiché è adottato dal processore Cell e anche da alcune GPU AMD (X1800, X1900, etc). Semplifica molto le interconnessioni del sistema quando la quantità dei dati nel bus aumenta.
Intel ha munito Larrabee con due bus a 512 bit, uno per direzione, per limitare la latenza nelle comunicazioni; non è sufficiente, però, per evitare che la latenza raggiunga livelli problematici quando il carico sui processori supera un certo livello, quindi in Larrabee, che integra 16 core, sono presenti ring bus più corti (probabilmente servono solo otto core).
Possiamo puntualizzare che il diagramma di Intel di Larrabee non è del tutto esatto. Per evitare inutili complicazioni, Intel ha posizionato i controller di memoria ai lati del chip, e tutte le unità texture sulla sinistra. In pratica, le unità texture e i controller di memoria saranno distribuiti attorno alla periferia dell’anello, anziché essere tutti nella stessa posizione. Ovviamente, questo limita i problemi di congestione che salterebbero all’occhio se il design fosse come quello mostrato nell’immagine.
- Pagina 1 : Larrabee, analisi tecnica: un mostro, almeno su carta
- Pagina 2 : Un atteso ritorno
- Pagina 3 : In generale
- Pagina 4 : x86: la scelta giusta?
- Pagina 5 : Nel dettaglio: unità scalare e SMT
- Pagina 6 : L’unità vettore e il nuovo set di istruzioni
- Pagina 7 : Vector Unit e Mask Register
- Pagina 8 : Le unità texture
- Pagina 9 : Larrabee Versus Cell
- Pagina 10 : Larrabee Versus GPU
- Pagina 11 : Larrabee contro se stesso?
Indice
- 1 . Larrabee, analisi tecnica: un mostro, almeno su carta
- 2 . Un atteso ritorno
- 3 . In generale
- 4 . x86: la scelta giusta?
- 5 . Nel dettaglio: unità scalare e SMT
- 6 . L’unità vettore e il nuovo set di istruzioni
- 7 . Vector Unit e Mask Register
- 8 . Le unità texture
- 9 . Larrabee Versus Cell
- 10 . Larrabee Versus GPU
- 11 . Larrabee contro se stesso?