Intel Nehalem: uno sguardo alla nuova architettura

Intel Nehalem: uno sguardo alla nuova architettura

In attesa del debutto delle prime cpu Intel Core i7 analizziamo l'architettura della prossima generazione di processori Intel nota con il nome in codice di Nehalem. Memory controller integrato, bus QPI, ritorno di Hyper-Threading e varie innovazioni caratterizzano queste nuove architetture.

di pubblicato il nel canale Processori
Intel
 

Hyper-Treading ritorna nelle cpu Intel

Abbiamo segnalato in introduzione come una delle principali novità architetturali delle cpu Intel Nehalem sia il ritorno di Hyper-Threading, nome marketing utilizzato dal produttore americano per indicare la propria tecnologia di simulteneous multi-threading o SMT. Questa tecnica era stata implementata inizialmente da Intel con alcune versioni di processore Pentium 4, abbandonata con le cpu Pentium D salvo quelle della famiglia Extreme Edition e non implementata all'interno delle architetture di processore Core 2 Duo e Core 2 Quad.

I benefici di questa tecnologia sono evidenti: è possibile avere a disposizione del sistema operativo un numero doppio di core logici rispetto a quelli fisicamente integrati nel processore; nel caso delle prime versioni di processore Core i7 attese al debutto avremo quindi 8 processori logici a partire dai 4 core fisicamente integrati nel processore.

Un numero maggiore di core logici permette di ottenere benefici prestazionali con quelle applicazioni che operano in modo parallelo su più core contemporaneamente. Sin dal debutto delle architetture di processore dual core le software house sono state spinte, in primis da Intel, verso lo sviluppo di software che potesse beneficiare della presenza di più processori in parallelo, andando in questo di pari passo con l'evoluzione delle architetture hardware e allontanandosi da un approccio per il quale per ottenere superiori prestazioni era necessario incrementare la frequenza di clock della cpu.

Avere a disposizione core fisici completi, e non solo soluzioni logiche come con l'implementazione Hyper-Threading, sarebbe preferibile: detto in altro modo in termini prestazionali un processore quad core con tecnologia Hyper-Threading non raggiungerà mai le stesse prestazioni velocistiche di una cpu a 8 core nativi nel momento in cui si utilizzano applicazioni che sfruttano in parallelo tutti i core. D'altro canto, l'implementazione della tecnologia Hyper-Threading è per Intel relativamente semplice: non implica significative modifiche architetturali e richiede l'utilizzo di un quantitativo di transistor complessivamente ridotto. Hyper-Threading, quindi, rappresenta il connubio ideale tra incremento delle prestazioni velocistiche e costi di produzione.

ht.jpg (25593 bytes)

Gli incrementi prestazionali ottenibili abilitando la tecnologia Hyper-Threading sono ovviamente variabili a seconda del tipo di applicazione utilizzata; Intel ha fornito alcune stime di applicazioni che per loro natura beneficiano della presenza di un numero superiore di Core a disposizione del sistema.

Considerando il ridotto costo in termini di die area ci si può domandare per quale motivo la tecnologia Hyper-Threading sia stata reintrodotta con le cpu Nehalem, non venendo implementata in quelle Core 2. La risposta è da trovare in altre novità architetturali implementate in Nehalem che permettono alla tecnologia Hyper-Threading di operare al meglio: parliamo sia del memory controller integrato che in generale di come Nehalem sia un'architettura per sua natura ampia, molto più di quanto non lo fossero le cpu Pentium 4.

Il memory controller integrato, soprattutto nell'implementazione triple channel delle prime versioni di processore Core i7, permette di avere a disposizione quel quantitativo di bandwidth della memoria del quale la tecnologia Hyper-Threading ha bisogno per operare al meglio. L'architettura del processore Nehalem è per sua natura molto più ampia rispetto a quanto non lo fosse quella delle cpu Intel Pentium 4, seguendo in questo quanto già visto con le soluzioni Core 2: la conseguenza è una migliore scalabilità complessiva delle prestazioni al crescere dei thread che vengono processati parallelamente.

ht_2.jpg (34221 bytes)

Quali sono i componenti che Intel ha dovuto raddoppiare all'interno dell'architettura delle cpu Nehalem per poter implementare la tecnologia Hyper-Threading? Abbiamo parlato di relativamente pochi transistor: la logica duplicata è infatti quella dei register state, dei renamed return stack buffer (RSB) e delle large page TLB per le istruzioni. Altre componenti sono o condivise tra i core nel momento in cui HT viene abilitato, oppure divise in due a seconda della tipologia.

 
^