QuickPath Interconnect

La presentazione dei nuovi processori Intel Core i7 è alle porte. In attesa dei benchmark, iniziamo con il dare un'occhiata all'architettura su cui saranno basati: Nehalem.

Avatar di Andrea Ferrario

a cura di Andrea Ferrario

Editor in Chief

QuickPath Interconnect

Anche se l'architettura Core è stata straordinariamente efficiente, alcuni dettagli della progettazione hanno iniziato a mostrare la loro età, primo fra tutti il Front Side Bus (FSB). Questo bus, che connette i processori al Northbridge, è stato la nota dolente di un'architettura moderna. Il difetto era maggiormente visibile in configurazione multiprocessore, dove l'architettura faticava nella gestione dei crescenti carichi di lavoro. I processori dovevano condividere il bus, non solo per accedere alla memoria, ma anche per assicurare la coerenza dei dati contenuti nelle rispettive memorie cache.

In questo tipo di situazione, il flusso di transazioni poteva velocemente saturare il bus. Per lungo tempo Intel ha semplicemente lavorato attorno al problema usando un bus più veloce o memorie cache più ampie, ma Nehalem è l'opportunità di risolvere il problema alla radice, rivedendo completamente il modo in cui i processori comunicano con la memoria e i componenti esterni.

La soluzione scelta da Intel - chiamata QuickPath Interconnect (QPI) - non è nuova; un controller di memoria integrato è un bus seriale punto-punto veramente veloce. La tecnologia è stata introdotta cinque anni fa nei processori AMD, ma in realtà è ancora più vecchia. Questi concetti, mostrati dai prodotti AMD e ora anche da quelli Intel, sono il risultato di dieci anni di lavoro degli ingegneri DEC durante la progettazione dell'Alpha 21364 (EV7). Poiché molti ingegneri DEC sono finiti in quel di Santa Clara, non ci sorprende vedere come alcuni concetti ritornino in questa nuova architettura.

Da un punto di vista tecnico, il collegamento QPI è bidirezionale e ha due collegamenti a 20 bit - uno in ogni direzione - di cui 16 sono riservati per i dati; gli altri quattro sono usati per i codici di error detection o funzioni di protocollo. Il bus QPI gestisce un massimo di 6.4 GT/s (miliardi di trasferimenti al secondo) o un bandwidth di 12.8 GB/s, sia in lettura che in scrittura. A titolo comparativo, l'FSB dei più recenti processori Intel opera alla frequenza massima di 400 MHz e il trasferimento degli indirizzi ha bisogno di due cicli di clock (200 MT/s) in modalità QDR, con un bandwidth di 1.6 GT/s. Con un'ampiezza di 64-bit, l'FSB ha un bandwidth totale di 12.8 GB/s, ma è usabile solo per la scrittura o la lettura.

Un collegamento QPI ha perciò un bandwidth teorico fino a due volte maggiore, fermo restando letture e scritture ben bilanciate. In un caso teorico di sole letture o scritture, il bandwidth dovrebbe essere identico a quello dell'FSB. Tuttavia, dovete ricordare che l'FSB è stato usato sia per l'accesso di memoria, che per tutti i trasferimenti di dati alle periferiche o tra i processori. Con Nehalem, un collegamento QPI sarà esclusivamente dedicato al trasferimento dei dati alle periferiche, con trasferimenti di memoria amministrati dal controller integrato e dalle comunicazioni inter-CPU in configurazioni multi-socket tramite un altro collegamento QPI. Persino nel peggiore dei casi, il collegamento QPI dovrebbe mostrare rilevanti aumenti delle prestazioni rispetto all'FSB.

Come abbiamo visto, Nehalem è stato progettato per essere un'architettura flessibile e scalabile e così il numero di collegamenti QPI disponibili varierà in base al processore - e quindi al segmento di mercato; da un collegamento per il chipset nelle configurazioni single-socket a quattro in configurazioni four-socket. Questo permette di creare sistemi con quattro processori completamente connessi, in altre parole ogni processore può accedere a qualsiasi posizione in memoria con un massimo di un singolo collegamento QPI, poiché ogni CPU è connessa direttamente con le altre tre.