# Intel QuickPath Interconnect

Con il nome di Intel QuickPath Interconnect o QPI (precedentemente conosciuto come Common Systems Interconnect o CSI) Intel indica un nuovo tipo di bus seriale che, a partire dal 2008 è stato introdotto in alcuni processori nei settori desktop e server di marca Intel.
Si tratta di un nuovo tipo di BUS di comunicazione che ha fatto il suo debutto sul mercato grazie ai primi processori basati sulla nuova architettura Nehalem (successiva alla Intel Core Microarchitecture) e conosciuti come Core i7 Bloomfield, ma che successivamente verrà estesa anche al settore server della linea IA-64 per il quale Intel sta sviluppando il futuro Itanium 2 Tukwila.

## Itanium e Xeon intercambiabili?

Lo scopo di Intel, grazie anche all'adozione del nuovo BUS QPI, è quello di standardizzare l'interfaccia dei processori IA-32 e IA-64 attraverso la "Common Platform Architecture" (CPA), una tecnologia che renderà Itanium e Xeon "intercambiabili". Intel promette che nel futuro sarà possibile sostituire un processore Xeon con un Itanium 2 sulla stessa piattaforma hardware senza la necessità di altri interventi.
Ad accompagnare Tukwila come primo chip Intel con controller di memoria integrato sul fronte Itanium 2, doveva essere Whitefield sul fronte Xeon, il cui sviluppo però è stato interrotto il 25 ottobre 2005 per motivi non meglio precisati da parte di Intel. A prendere il suo posto è stato Tigerton che include una connessione diretta dal chipset ad ogni singolo processore ma non il nuovo BUS seriale che è arrivato solo con l'architettura Nehalem, il cui primo esponente nel panorama Xeon MP sarà molto probabilmente Beckton. Tra i moltissimi obiettivi di Intel vi è anche quello di parificare i costi dell'hardware Itanium e Xeon, in questo modo gli utenti avranno la libertà di decidere quale architettura scegliere.

## Caratteristiche tecniche

QPI rappresenta per molti versi l'alternativa Intel a HyperTransport, standard di comunicazione utilizzato da AMD nelle proprie architetture Athlon 64, Opteron e Phenom. In realtà l'idea alla base di un BUS seriale non è stata creata nemmeno da AMD, ma anzi è molto più vecchia, essendo stata sviluppata per la prima volta per il processore Alpha 21364 (EV7) dal team di sviluppo DEC. Dato che buona parte del team di sviluppo dei processori Alpha è stato poi assorbito da Intel per lo sviluppo dei processori Itanium 2, non stupisce vedere molti punti di contatto tra le due tecnologie.
Le soluzioni precedenti basate sul tradizionale BUS di sistema ormai cominciavano a mostrare i loro limiti prestazionali soprattutto in ambito server e più precisamente in ambito multiprocessore, dove ormai erano presenti veri e propri colli di bottiglia nella comunicazione tra le varie CPU e i chipset. Lo scopo primario del BUS QPI è quello di permettere al processore di comunicare direttamente con i vari altri componenti collegati alla motherboard, beneficiando quindi di una banda passante maggiore e di latenze sempre più ridotte. La caratteristica peculiare di QPI è quella di essere una tecnologia di connessione "point-to-point" che elimina gli svantaggi portati da un solo BUS condiviso tra tutti i processori, il controller memoria e il controller I/O. Nella sua prima incarnazione, all'interno del core Bloomfield, QPI utilizza collegamenti da 6,4 Gigatransfers al secondo, per un'ampiezza di banda totale complessiva che può arrivare fino a 25 GB/s per ciascun collegamento (la metà, 12,8 GB/s, in ciascuna direzione); in altre parole, ogni processore presente nel sistema comunica con il chipset mediante un collegamento da 25 GB/s di banda passante. Va precisato che il BUS QPI è di tipo bidirezionale con un canale da 20 bit in ciascuna direzione; di questi 20 bit, solo 16 sono riservati al trasferimento effettivo dei dati da elaborare, mentre gli altri 4 vengono utilizzati come bit di parità, ovvero come codici di correzione dell'errore, in maniera analoga a come avviene nelle memorie RAM con ECC.

## Prestazioni di QPI a confronto con il tradizionale BUS Quad Pumped

Fino all'architettura precedente a Nehalem, la Intel Core Microarchitecture, Intel ha utilizzato il tradizionale BUS parallelo, che dall'introduzione dell'architettura NetBurst del Pentium 4 è diventato di tipo Quad Pumped, in grado cioè di trasferire 4 istruzioni per ciclo di clock.
Nella sua ultima incarnazione esso è arrivato ad essere pari a 1600 MHz (all'interno di alcune particolari versioni del processore Core 2 Extreme Yorkfield), pari in realtà ad un BUS Quad Pumped da 400 MHz. Siccome però il trasferimento degli indirizzi richiede 2 cicli di clock, si ha una velocità di 200 MT/s per una banda complessiva (il BUS Quad Pumped è a 64 bit) pari a 12,8 Gb/s, da suddividere tra i cicli di lettura e scrittura.
Appare evidente quindi come già la prima incarnazione del nuovo BUS QPI ha consentito di raddoppiare immediatamente la banda disponibile tra il processore e il chipset; più precisamente, questo è vero in condizioni ideali, in cui il numero di letture e scritture sul BUS è identico (o molto simile), mentre nel caso peggiore, in cui siano presenti solamente trasferimenti di dati in un'unica direzione, la prestazioni di QPI sono al limite identiche a quelle permesse dall'ultima evoluzione del BUS Quad Pumped. Dato però che a differenza del BUS tradizionale che viene condiviso tra tutti i componenti del sistema, processore, chipset e memoria, ogni collegamento QPI è dedicato allo scambio dati tra ciascuna coppia di componenti, è chiaro come le prestazioni di QPI saranno sempre maggiori in tutti gli scenari reali.
L'intera architettura Nehalem e lo stesso BUS QPI sono stati progettati per essere altamente scalabili e a dimostrazione di questo fatto si può citare il fatto che esistono diversi progetti diversificati in base al numero di collegamenti QPI e alla loro frequenza di funzionamento. I processori Bloomfield già presentati integrano un solo collegamento, mentre Gainestown che sarà alla base dei prossimi Xeon DP per sistemi biprocessore ne avrà 2; la versione destinata al settore dei server multiprocessore, Beckton invece, ne avrà 4 e non è esclusa una versione da ben 8 collegamenti QPI distinti, rendendo di fatto possibile la costruzione di sistemi server fino a 8 vie basati su questi processori, che siano in grado di scambiare informazioni tra di loro direttamente oppure di essere collegati sempre in modo diretto ad un elevato numero di periferiche. Nel settore server, sembra che la tecnologia QPI verrà implementata mediante 2 collegamenti a piena ampiezza e 2 a mezza ampiezza, per un totale di 32 GB di banda a disposizione.