Nehalem è un nome in codice utilizzato più volte da Intel, a partire dal 2001, per indicare diversi progetti dedicati allo sviluppo di nuovi microprocessori.

Nel corso degli anni si susseguirono innumerevoli indiscrezioni riguardanti prodotti identificabili con il nome in codice Nehalem, spesso non completamente esaurienti e di conseguenza anche discordanti tra loro; tutto questo era dovuto anche al fatto che ogni volta che emergevano notizie riguardo ad un "fantomatico" processore Nehalem, queste si riferivano comunque sempre ad un prodotto ancora distante nel tempo e sul quale le informazioni erano ancora molto scarse.

A complicare ulteriormente il quadro delle ipotesi si aggiunse anche il fatto che il progetto Nehalem nel tempo subì varie revisioni, fino alla sua cancellazione e poi al riutilizzo del nome per indicare un progetto completamente rivisto, e molto più importante.

I primi progetti Le prime notizie riguardanti lo sviluppo di Nehalem trapelarono nel corso del 2001, e si riferivano ad un'architettura a 32 bit che sarebbe dovuta arrivare nel corso del 2004 per sostituire gradualmente quella NetBurst alla base del Pentium 4, andando probabilmente a succedere al core Northwood (ovvero la seconda generazione di Pentium 4).

Successivamente, Intel decise di proseguire lo sviluppo dell'architettura NetBurst anche dopo il core Northwood introducendo nel 2004 la terza generazione, conosciuta come Prescott e iniziando lo sviluppo del successore, Tejas. A questo punto, nuove precisazioni posticipavano l'arrivo di Nehalem al 2005 e lo indicavano come un processore erede di Tejas, che sarebbe dovuta quindi essere l'ultima CPU NetBurst, ma che non è mai arrivato sul mercato in quanto Intel nel corso del 2004 decise di cessarne lo sviluppo a causa di diversi problemi di stabilità operativa, primo fra tutti l'elevata dissipazione termica richiesta dall'alto clock di esercizio previsto da tale progetto.

Dato che Tejas avrebbe dovuto superare i 6 GHz, era previsto che Nehalem oltrepassasse decisamente tale frequenza utilizzando il processo produttivo a 65 nm già introdotto con le ultime evoluzioni di Tejas arrivando addirittura a 10,20 GHz con un bus ad almeno 1200 MHz (ma alcune voci ne indicavano uno innovativo da addirittura 3 GHz). Molto probabilmente questa nuova incarnazione del progetto Nehalem poggiava le sue basi sul progetto Tejas e non stupisce quindi che dopo la cancellazione di quest'ultimo, Intel abbia ridotto ulteriormente le notizie riguardanti il processore Nehalem; inoltre, data la prevista collocazione temporale, molte voci volevano addirittura sospeso tale progetto.

Verso la fine del 2004 sembrava invece che Nehalem fosse tornato nella roadmap Intel, probabilmente in una versione decisamente modificata rispetto a quella originariamente prevista: si parlava infatti del 2006 come data di arrivo di questo nuovo processore che adesso sarebbe stato di tipo dual core e con estensioni EM64T (mai citate in precedenza per questa CPU) per eseguire calcoli a 64 bit.

Questa fu l'ultima notizia riguardante il processore Nehalem, dopodiché non se ne seppe più nulla per quasi 2 anni, tant'è vero che è altamente probabile, sebbene mai dichiarato espressamente, che il progetto fosse stato completamente sospeso.

Nehalem diventa un'architettura completa Il 29 aprile 2006 il nome di Nehalem è ricomparso, quasi certamente riutilizzato per indicare un progetto completamente diverso da quello originariamente previsto. In un documento di presentazione Intel si parlava prima dell'imminente arrivo dei processori basati sull'architettura "Core", ovvero i Core 2 Duo Conroe, che vennero in effetti poi presentati a luglio 2006, mentre il 2007 sarebbe stato ricordato per i primi processori a 45 nm, i quali servono a Intel per testare il nuovo processo produttivo abbinato a un'architettura ormai matura, in modo da poter poi utilizzare il nuovo processo per la nuova architettura, solo dopo che questo sarà stato ampiamente collaudato.

Coerentemente con l'intenzione dichiarata nel corso del 2006 da Intel, di presentare una nuova architettura ogni 2 anni, nel 2008 verrà presentata la nuova architettura x86 di nona generazione, nome in codice, Nehalem, basata sull'architettura Core dei Core 2 Duo, ma con differenze così elevate da essere considerata un'architettura completamente nuova. Alla base vi sarà proprio l'utilizzo del processo produttivo a 45 nm che Intel considera pienamente sfruttato per le sue caratteristiche proprio in questo progetto. Ora Nehalem indica quindi non più uno specifico processore, ovvero uno dei tanti stadi evolutivi di un'architettura già consolidata ma, al contrario, un'architettura completamente rinnovata, che andrà ad occupare tutti i settori di mercato da quello mobile a quello server multiprocessore, grazie a una serie di CPU basate su tale architettura.

Tra la fine del 2009 e l'inizio del 2010, sotto il nome di Westmere (inizialmente conosciuta come Nehalem-C), arriverà la seconda generazione dell'architettura Nehalem, i cui processori verranno prodotti a 32 nm.

L'architettura Nehalem si ispira alla Core e la migliora

Dopo il grande successo ottenuto con l'architettura Core, Intel ha deciso di basare il progetto di Nehalem proprio sull'architettura precedente andando ad ottimizzare quanto più possibile tutta una serie di aspetti peculiari di tale progetto, tentando quindi di "spremere" il più possibile da soluzioni ormai collaudate, aggiungendo inoltre nuove tecnologie che affiancando quelle introdotte già nell'architettura Core consentono di aumentare ulteriormente il livello di prestazioni ed efficienza dei propri processori.

Se l'obiettivo perseguito con lo sviluppo della precedente architettura Core era stato la massima efficienza energetica e di conseguenza, era stato necessario basare il suo progetto su un processore del settore mobile, con Nehalem Intel si è prefissata di superare tutti i limiti della precedente architettura negli altri settori di mercato in particolare in quello server, dove la concorrenza di AMD è più evidente con le proprie soluzioni Opteron. Tutto questo senza comunque dimenticare l'efficienza generale del processore, e infatti l'obiettivo principale della nuova architettura è appunto l'ottimizzazione dell'impiego della potenza a disposizione e una più efficiente gestione dei cicli di clock, per poter ottenere prestazioni maggiori a parità di risorse energetiche. Le novità apportate sono maggiormente focalizzate sull'ottimizzazione dei singoli core e sull'architettura complessiva per migliorare la sinergia operazionale tra i diversi core del processore a tutto vantaggio delle applicazioni, siano esse single threaded o multi threaded.

Va ricordato che l'architettura Core venne sviluppata abbastanza velocemente partendo da quella, altamente efficiente, del Pentium M allo scopo di poter offrire in tempi brevi una nuova linea di processori che andasse a sostituire i precedenti basati sull'architettura NetBurst del Pentium 4 e Pentium D, e poter quindi riconquistare lo scettro delle prestazioni perso in favore di AMD. Gli ingegneri, partendo dal progetto di una CPU prettamente mobile, dovettero realizzare un'intera nuova gamma di processori che potesse spaziare tra tutti i settori di mercato compresi quello desktop e server; dati i ristretti tempi di sviluppo fu necessario "accontentarsi" di offrire praticamente la stessa CPU per tutti i settori di mercato, differenziando i modelli soprattutto per il quantitativo di cache L2 e le frequenze di funzionamento (clock e BUS). In pratica l'architettura Core non era modulare, o lo era solo in minima parte. In ogni caso si trattava della prima architettura Intel ad essere ottimizzata per la creazione di processori dual core e, grazie all'espediente del Die Doppio è stato possibile ottenere facilmente versioni a 4 core.

Intel ha dichiarato che per raggiungere il proprio scopo della massima efficienza energetica possibile, è stato necessario vagliare attentamente ogni singola proposta di miglioramento architetturale arrivando perfino a scartare quelle che non erano in grado di offrire un miglioramento prestazionale nell'ordine dell'1% a fronte di un consumo energetico minore del 3%. Contemporaneamente, lo sviluppo si è concentrato sull'ottimizzazione dell'esecuzione parallela, grazie anche ad un nuovo gestore delle istruzioni dedicato alle istruzioni indipendenti, quelle cioè slegate dal risultato di altre istruzioni e che proprio per questa caratteristica possono essere eseguite parallelamente ad altre istruzioni, incrementando così la velocità di esecuzione complessiva.

Un esempio di ottimizzazione sul piano energetico è dato dal fatto che, a detta di Intel, i nuovi processori saranno in grado di passare tra i vari stati energetici più velocemente rispetto a quelli basati sull'architettura precedente: il "PLL lock time", per esempio sarebbe stato accelerato del 56%.

Macro-Fusion anche a 64 bit Nell'architettura Core esisteva un limite intrinseco nell'implementazione di una nuova funzionalità, conosciuta come Macro-Fusion, che non funzionava in presenza di codice a 64 bit, e in ambito server (dove questo tipo di codice è ormai all'ordine del giorno) questo era un'evidente limitazione, superata in Nehalem.

Oltre a questo, anche in generale il numero, e la varietà, delle istruzioni x86 che possono essere "fuse" insieme è stato aumentato notevolmente in modo da poter eseguire tale operazione anche ripetutamente nel corso di una singola elaborazione.

Migliorato il Loop Stream Detector Un'altra funzionalità introdotta con l'architettura precedente e migliorata nel progetto Nehalem riguarda il cosiddetto Loop Stream Detector. Intel ha dichiarato che questo nome indica di fatto uno specifico buffer interno alla CPU che ha lo scopo di immagazzinare una serie di istruzioni che il processore dovrà elaborare di lì a poco; qualora venisse rilevato un "loop", ovvero un "ciclo" all'interno di tale buffer, è evidente che sarebbe superfluo, anzi dannoso per le prestazioni, se il processore andasse a recuperare i dati da elaborare nella cache ad ogni iterazione prevista da tale loop e di conseguenza il "Loop Stream Detector" consente di avere in un buffer di dimensioni molto ridotte tutte le istruzioni da elaborare all'interno del loop, comportando quindi un aumento di efficienza della computazione.

Con Nehalem Intel ha migliorato tale funzionalità portando da 18 a 28 le istruzioni che tale buffer è in grado di immagazzinare e inoltre esse non sono più di tipo x86 ma direttamente µops (micro-operations); un altro importante miglioramento si è avuto soprattutto spostando fisicamente all'interno della catena della pipeline la sua posizione; se nell'architettura Core esso era posizionato subito dopo la fase di "fetch" delle istruzioni (ovvero dopo la fase di lettura delle istruzioni da elaborare), in Nehalem si trova dopo la fase di "decode", in questo modo la disabilitazione della parte "a monte" della pipeline in presenza di un loop, interessa più stadi di quest'ultima consentendo un maggiore risparmio energetico durante l'elaborazione di questi cicli.