In generale
La prima cosa da puntualizzare su Larrabee è che non è nulla di simile alle altre GPU, anzi, potremmo dire che non è una GPU, almeno non in senso stretto. Come mostra il diagramma sottostante, Larrabee è un gruppo di processori x86, abbinato a un'unità floating point (FPU) che opera su vettori a 512-bit (16 single precision floating-poit numbers/interger o otto double precision floating-point number). Ogni core dispone di 256 Kb di memoria cache e la comunicazione tra i processori, nonché la coerenza della cache è gestita tramite un ring bus. Gli unici componenti che suggeriscono che non si tratta solo di una CPU altamente parallelizzata, come il Cell, sono le unità di texture e l'interfaccia display.
I core nel dettaglio: qualcosa di nuovo e qualcosa di vecchio
Intel ha tenuto conto di alcuni dettagli importanti, come già aveva fatto IBM per produrre il Cell. Le applicazioni che richiedono maggior potenza grafica, solitamente, richiedono la gestione di un flusso di istruzioni lineare, con poche ramificazioni e dipendenze tra le istruzioni, quindi i processori moderni non sono molto adatti a questo tipo di lavoro, perché gran parte del die è dedicata alla logica di controllo (branch prediction e dynamic istruction scheduling).
Con lo stesso numero di transistor, anziché adottare il classico design, che prevede l'integrazione di due o quattro "grossi" processori in un unico die, ha più senso, per questo tipo d'uso, usare molti piccoli e più semplici processori. Intel ha fornito la seguente tabella comparativa:
Come mostra la tabella, sulla stessa area di die, e un consumo energetico comparabile, i core in-order (non identici a quelli che usa Larrabee) offrono un vettore istruzioni venti volte maggiore rispetto a quello di un Core 2 Duo funzionante alla stessa frequenza di clock. Fatta questa scelta, era necessario riprogettare i processori.
Questa scelta può sembrare comunque sorprendente, se consideriamo che l'isntruction set x86 è molto complesso (basato sull'architettura CISC) e che deve supportare tutte le istruzioni che sono state aggiunte nel corso degli anni, nonché l'impatto sul numero di transistor necessari rispetto alle architetture RISC. D'altra parte su questo punto non si può scegliere, se si vuole mantenere l'architettura x86.