LamicroarchitetturaNetBurst è la architettura erede dellaP6 nella famiglia diCPUx86 diIntel. Il primocore ad essere basato su questa architettura fu ilPentium 4Willamette, uscito a fine2000. Fu il primo nella linea di CPU Pentium 4, e da allora tutti i processori Pentium 4 hanno usato unicamente l'architettura NetBurst.
A metà2001, Intel mise in commercio il coreFoster, anche questo basato su NetBurst, facendo passare anche le CPUXeon alla nuova architettura. Anche alcune CPUCeleron utilizzavano NetBurst. A volte ci si riferisce a NetBurst comeIntel P7 oIntel 80786, ma questi non sono nomi ufficiali.
L'architettura NetBurst è stata sviluppata quando la strada maestra per aumentare le prestazioni sembrava l'innalzamento della frequenza operativa. Si trattava infatti di un'architettura nata per spingere il processore fino a frequenze di 10 GHz e, a questo scopo, dotata dipipeline molto lunghe che, nella sua ultima incarnazione, sono arrivate fino a 31 stadi. Pipeline così lunghe subiscono penalizzazioni elevatissime in caso di salti non predetti correttamente o in caso di istruzioni che devono stallare per la mancanza di qualche risorsa. Per ridurre al minimo il problema NetBurst implementava praticamente tutte le tecniche disponibili per ridurre le condizioni di stallo delle pipeline e integrava più pipeline per sfruttare il parallelismo del codice.
L'architettura NetBurst in pratica si riferisce ad un insieme di caratteristiche, le più importanti delle quali sono la "Hyper Pipelined Technology", la "Rapid Execution Engine" e la "Execution Trace Cache".
Questo è il nome che Intel ha scelto per lapipeline a venti stadi prevista dalla prima generazione dell'architettura NetBurst. Questo è un aumento significativo, paragonato ai soli 10 stadi della pipeline delPentium III. Una pipeline così lunga ha comunque degli svantaggi, in particolare un ridotto IPC (istruzioni per ciclo), mitigato però dalla possibilità di aumentare la velocità di clock. Un altro svantaggio è dato dal gran numero di stadi che devono essere ripercorsi nel caso in cui l'algoritmo dibranch prediction faccia un errore (cache miss). Per limitare i danni (miss penalty) dovuti a tali inevitabili problemi, Intel ha introdotto le tecnologie "Rapid Execution Engine" e "Execution Trace Cache" e ha raffinato l'algoritmo di branching, migliorando notevolmente lahit rate.
Intel ha aggiunto due unità per le operazioni con gli interi nellaALU rispetto all'architettura P6. Le aggiunte sono un addizionatore per interi e una unità di calcolo per gli indirizzi. Ma la novità più importante introdotta da questa tecnologia è la velocità di clock della ALU, che opera al doppio della velocità di clock del core. Questo vuol dire che in una CPU a 3GHz la ALU opera a 6 GHz. Queste migliorie combattono il calo di IPC e migliorano di molto le prestazioni della CPU nei calcoli sugli interi. Lo svantaggio è che alcune istruzioni sono più lente, come ad esempio loshift, dovuto alla mancanza di unbarrel shifter, che era incorporato in ogni CPU dall'80386.
All'interno dellacache L2 della CPU Intel ha incorporato unaExecution Trace Cache. Questa cache memorizza lemicro operazioni dopo lo stadio didecode, cosicché quando deve passare a una nuova operazione, invece di dover eseguire di nuovo ilfetching e ildecoding dell'istruzione, la CPU può accedere direttamente alle micro-operazioni dallatrace cache, risparmiando una notevole quantità di tempo. Inoltre le micro-operazioni sono mantenute nella cache secondo l'ordine di esecuzione predetto algoritmicamente, il che significa che quando la CPU recupera le istruzioni dalla cache, esse sono già presenti nell'ordine corretto.
Il funzionamento del Pentium 4 può essere riassunto in pochi passaggi fondamentali:

Come si è detto l'obiettivo dell'architettura NetBurst era ottenere frequenza di funzionamento molto elevate e tutto è stato progettato seguendo questo obiettivo. Il processore inizialmente carica i dati, li converte in microoperazioni e li pone in un buffer chiamato instruction window oltre a segnalare le microoperazioni decodificate in un buffer chiamamto trace buffer che viene utilizzato internamente del processore per la predizione dei salti, la gestione delle eccezioni e per riordinare correttamente i dati dopo che le operazioni sono state eseguite. Le microoperazioni sono operazioni concettualmente di tipo RISC ma sono lunghe ben 118 bit per poter gestire correttamente i molteplici modi di indirizzamento delle operazionix86. Il processore continua a caricare dati fino a quando l'instruction window non è piena. L'unità dipredizione dei salti che è basata su una tabella da 512 elementi che tiene traccia degli ultimi salti e del loro risultato analizza le microoperazioni e decide su eventuali salti. In caso di salto il processore controlla la tabella e se trova che l'istruzione di salto è già stata eseguita in passato si comporta concordemente al contenuto della tabella. In caso di mancanza di dati il processore si basa su una tabella statica. Una singola predizione sbagliata può ridurre le prestazioni del processore del 20%-30% per via delle pipeline molto lunghe. Il processore effettua la ridenominazione dei registri sia per ottenere il massimo parallelismo consentito dall'esecuzione fuori ordine delle istruzioni sia per contrastare i limite dell'architettura x86 che prevede la presenza di soli 8 registri di uso generico. Il processore dispone di 128 registri nascosti che assegna dinamicamente alle varie istruzioni con la ridenominazione dei registri per ridurre i conflitti. Le operazioni vengono divise in due code, Una coda raccoglie le operazioni in memoria (load e store) e l'altra per tutti gli altri tipi di operazioni. Ogni coda funziona in modalità FIFO (first-in first-out), ma non esiste alcun tipo di relazione tra l'ordine reciproco delle due codeAppena un'unità funzionale compatibile con un'istruzione libera da conflitti diventa disponibile lo scheduler della coda trasferisce l'istruzione nell'unità funzionale. Gli scheduler sono in grado di allocare fino a sei operazioni elementari per ciclo di clock. Difatti leALU per le operazioni semplici lavorano a frequenza di clock doppia quindi per ogni ciclo di clock sono in grado di processare quattro istruzioni, le altre due unità funzionali possono eseguire un'operazione a testa e quindi in teoria si possono eseguire fino a sei operazioni per ciclo anche se in realtà questo si verifica molto di rado. Il processore per contrastare i tempi di accesso alla memoria che con frequenza di funzionamento prossime a 4 Gigahertz sono estremamente importanti implementa un meccanismo di precaricamento dei dati. Questo è gestito sia da quattro istruzioniSSE per il codice appositamente compilato e tramite un meccanismo di previsione dinamica implementato nel processore che cerca di prevedere in anticipo quale codice andrà caricato. Dopo che le operazioni sono state eseguite l'unità finale provvede ad aggiornare i registri secondo l'ordine del programma originario, va notato che anche le eventuali eccezioni generate dalle istruzioni vengono gestite da questa unità, difatti leeccezioni vanno sollevate solamente quando ordine logico del programma lo prevede e non appena si verificano altrimenti si avrebbe un comportamento non predicibile dei programmi.
Le prestazioni delPentium 4 rapportate alla frequenza di funzionamento non sono particolarmente elevate. Il Pentium 4 come si è detto all'inizio è nato per funzionare a frequenze di funzionamento molto elevate. Difatti a parità di frequenza di clock offre prestazioni leggermente inferiori al precedentePentium III. L'obiettivo delle altissime frequenze poi è stato solo parzialmente raggiunto dato che limiti tecnologici non previsti inizialmente hanno impedito al progetto di arrivare alle frequenze inizialmente previste di 10 GHz. Difatti i successivi processori Intel come i Pentium M sono stati basati su architetture più performanti a parità di frequenza per ottenere prestazioni maggiori e consumi inferiori.
L'architettura NetBurst ha lasciato il posto, a metà2006, alla nuovaIntel Core Microarchitecture, che affonda le sue radici progettuali nell'evoluzione del progettoPentium MBanias, ilCore DuoYonah.
I primi esponenti della nuova architettura sono stati i coreMerom,Conroe eWoodcrest, rispettivamente per i settori: mobile, desktop e server. Nel2006 però Intel ha dichiarato l'intenzione di introdurre una nuova architettura ogni 2 anni e infatti nel novembre2008 è stata introdottaNehalem, alla base dei processoriCore i7, e per l'inizio del2011 è previsto l'arrivo di processori basati suSandy Bridge. NetBurst quindi dovrebbe essere anche l'ultima architettura x86 così longeva.