# Haswell (hardware)

Haswell è il nome in codice dell'architettura x86 di quarta generazione sviluppata da Intel per i propri microprocessori, e distribuita dal 3 giugno 2013, andando a succedere all'evoluzione a 22 nm Ivy Bridge dell'architettura di terza generazione Sandy Bridge.
Ivy Bridge venne presentata nel giugno 2012 ed è stata utilizzata da Intel per mettere a punto il nuovo processo produttivo, secondo un approccio che Intel impiega con successo a partire dal 2006.
Al pari di quanto avvenuto per l'architettura di nona generazione arrivata sul mercato a fine 2008, conosciuta come Nehalem, l'architettura Haswell è stata sviluppata presso il centro Intel situato a Hillsboro in Oregon, negli Stati Uniti, a differenza di quanto avvenuto per le architetture di ottava e decima generazione, rispettivamente Core e Sandy Bridge, sviluppate presso il centro Intel situato ad Haifa in Israele.

## Obiettivo primario: massima efficienza

A partire dall'architettura Sandy Bridge, Intel ha iniziato a evidenziare in maniera sempre più significativa come le proprie soluzioni punteranno sempre di più verso l'aumento dell'efficienza complessiva dell'intera piattaforma, più che al puro aumento di prestazioni e di potenza elaborativa. Si tratta di un nuovo approccio alla progettazione delle proprie architetture da parte dell'azienda, che sottolinea come i dispositivi moderni abbiano ormai una potenza più che sufficiente per soddisfare la maggior parte delle necessità dell'utente medio e che l'obiettivo sta diventando il contenimento dei consumi a parità di prestazioni, un aspetto che un tempo passava senz'altro in secondo piano se non addirittura ignorato.
Con Haswell, infatti, lo scopo primario dichiarato da Intel è stato la massimizzazione dell'efficienza, più che il puro aumento delle prestazioni. Il progetto è nato appositamente per coniugare al meglio le prestazioni raggiunte con le generazioni precedenti di CPU, con i vantaggi offerti dal processo produttivo a 22 nm, ovvero la presenza di transistor 3D, che sono stati introdotti con la precedente Ivy Bridge in abbinamento al nuovo processo produttivo; essi contengono non uno ma ben tre gate. Tradizionalmente i transistor avrebbero un progetto strettamente planare, con i gate che si posizionano in piano attraverso il substrato. Con il progetto tri-gate un singolo gate è immesso sopra due gate verticali consentendo un'area tre volte maggiore per lo spostamento degli elettroni.
Per questo motivo, in tutte le occasioni in cui Intel ha avuto modo di sfoggiare le qualità della nuova architettura, il confronto con il passato è sempre stato fatto in termini di consumo complessivo e potenza del comparto grafico, piuttosto che sulla potenza del processore come avveniva precedentemente.

## Caratteristiche tecniche

Come già accennato nell'introduzione, per realizzare le CPU basate su Haswell, viene impiegato il processo produttivo a 22 nm che è stato introdotto nel 2012 grazie all'evoluzione della precedente architettura Sandy Bridge (che era invece a 32 nm), conosciuta mediante il nome in codice di Ivy Bridge.
I processori basati su tale architettura sono disponibili con un diverso numero di core. Inizialmente sembrava dovessero arrivare fino a 8 nel settore desktop e fino a 16 nel settore server, ma poi i fatti hanno dimostrato una realtà maggiormente conservativa, limitandosi ai 6 core nel settore desktop di fascia più alta. L'iniziale annuncio di 8 core nel settore desktop ha suggerito che le CPU di fascia bassa sarebbero passati dai precedenti 2 core ad averne 4, ma poi tale ipotesi è stata smentita.
In ogni caso, i core dei processori basati su Haswell, continuano ad avere una pipeline a 14 stadi (una caratteristica che Intel introdusse con i primi Pentium M Banias nel settore mobile, e poi anche in tutti gli altri settori di mercato a partire dall'architettura "Core" nel 2006); il socket della fascia media è il nuovo LGA 1150 per i sistemi desktop e rPGA947 e BGA1364 per quelli mobile, mentre è stato integrato il pieno supporto allo standard PCI Express 3.0, del quale sono presenti fino a tre controller in alcuni modelli.
Il primo prototipo funzionante di una CPU Haswell venne mostrato da Intel durante l'Intel Developer Forum (IDF) del settembre 2011, mentre ulteriori dimostrazioni e dettagli sull'architettura vennero presentati l'anno seguente, durante l'IDF del settembre 2012.
Ad aprile 2012 venne annunciato che, sebbene le versioni desktop e mobile di Haswell avrebbero offerto supporto alle memorie RAM DDR3, nelle versioni di fascia più alta del settore server che verranno presentate alla fine del 2014, conosciute come Haswell-EX, verrà integrato il supporto alle nuove DDR4 che si abbineranno a CPU da 16 core.
Un anno più tardi, ad aprile 2013, Intel comunicò che anche le versioni per la fascia più alta del settore desktop, conosciute come Haswell-E e basate sul socket LGA 2011 offriranno il supporto alla memoria DDR4, iniziando l'introduzione di tale tecnologia anche nel settore che offre il maggior numero di vendite. L'arrivo sul mercato di tali soluzioni è previsto per la fine del 2014 e costituirà la porta di ingresso delle DDR4 nel settore desktop. Tali memorie, in seguito, verranno adottate anche per le fasce di mercato più basse, a partire però dall'architettura che andrà a succedere ad Haswell, a fine 2015.
Inoltre, sul fronte delle nuove funzionalità, si può segnalare anche l'introduzione del supporto direttamente in hardware per la memoria transazionale grazie alle nuove istruzioni Transactional Synchronization Extensions (TSX).

### Nuovo progetto per la cache

Per quanto riguarda la cache, essa è basata su un progetto completamente innovativo; inizialmente si era parlato della possibilità di avere una L1 da 128 kB e una L2 da 1 MB per ciascun core, ma informazioni successive hanno invece confermato che è presente una tradizionale L1 da 64 kB (32 kB per i dati e 32 kB per le istruzioni) con associatività a 4 vie, una L2 da 256 kB per ciascun core, sempre con associatività a 4 vie, e una L3 (fino a 16 MB in alcuni modelli) condivisa tra tutti i core con associatività a 8 vie (ma non è esclusa, nelle versioni server, anche la possibilità di inserire fino a 32 MB di cache L3).

### Maggiore controllo delle frequenze operative

Altre caratteristiche incluse nella nuova architettura fanno riferimento a un rivoluzionario approccio al contenimento dei consumi della CPU, fino alla metà rispetto a quelli ottenibili dai processori basati su Sandy Bridge, soprattutto in caso di sistema inattivo (stato "idle"). Inoltre, continuando sulla strada intrapresa con le precedenti soluzioni Ivy Bridge, anche la nuova architettura Haswell prevede alcune specifiche revisioni per poter semplificare il processo di overclock.
Va sottolineato come nelle architetture precedenti, Nehalem e Sandy Bridge, il clock dei componenti dell'intero sistema era correlato al "Base Clock" della CPU, caratteristica che limitava fortemente le capacità di overclock nei processori con moltiplicatore bloccato, in quanto un aumento del Base Clock comportava anche un aumento di frequenza dei BUS PCI Express e delle periferiche di I/O. Con Ivy Bridge è diventato poi possibile aumentare la frequenza della CPU e della memoria RAM in maniera indipendente dai restanti bus di sistema.
Con Haswell si ha un ulteriore miglioramento sul fronte della flessibilità della configurazione, potendo gestire da BIOS in maniera indipendente, le frequenza del core, della memoria RAM, del comparto GPU e di tutti gli altri bus delle varie periferiche. Alcune di queste caratteristiche erano presenti anche per alcuni modelli basati sulla precedente architettura, ma solo su alcuni, in particolare quelli basati sul socket LGA 2011, conosciuti come Sandy Bridge-E (per esempio i modelli Core i7 3960X, Core i7 3930K e Core i7 3820).
Nello specifico, con Haswell è possibile variare il cosiddetto Coarse Ratio Multiplier che viene appunto utilizzato per controllare il rapporto tra il Base Clock del processore e la frequenza operativa del controller della memoria RAM, in maniera indipendente da quello utilizzato per le aree della CPU che gestiscono l'I/O e il BUS PCI Express.
Nelle precedenti CPU identificate dal nome in codice di Sandy Bridge-E, il base clock era impostato a 100 MHz ma poteva essere innalzato a 125 MHz o 166 MHz utilizzando due "divisori" appositi. Tale caratteristica consente di avere un maggiore controllo sulle frequenze operative rispetto a quanto possibile con le altre CPU, basate sulla stessa architettura di base (Sandy Bridge), ma realizzate per il socket LGA 1155. In particolare, si trattava di quelle identificate dalla serie "K", che avevano il moltiplicatore sbloccato; si tratta di una caratteristica utile per innalzare il clock della CPU, ma che offre un controllo meno granulare delle frequenze operative.
A tale flessibilità, estesa quindi a tutta la gamma di CPU, si aggiunge con Haswell una maggiore stabilità dell'energia erogata per il funzionamento del processore (facilitando a sua volta l'overclock), dato che il circuito preposto a tale regolazione (il cosiddetto "Voltage Regulator Module") è stato integrato direttamente nella CPU.

#### Consumi complessivi ancora più bassi

Le migliorie dell'architettura, abbinate al maggiore controllo delle frequenze operative hanno consentito la realizzazione di alcune versioni con consumo massimo di soli 15 W, adatti all'uso nei sistemi Ultrabook e tablet di fascia alta. Tale livello di consumo comprende non solo la componente CPU vera e propria, ma anche la componente relativa al chipset (o Platform Controller Hub, PCH) dato che per questi particolari modelli è prevista l'integrazione di tutti i componenti in un unico chip. In particolare si tratta di soluzioni Dual Core abbinate a diversi modelli del comparto grafico.
Dovrebbe comunque arrivare anche una versione dal consumo ancora più contenuto, pari a solo 10 W. Si tratta di un valore estremamente contenuto se raffrontato con i 17 W delle soluzioni basate sull'architettura precedente (Ivy Bridge) e i processori Atom a 45 nm basati sull'architettura Moorestown che consumano 8,5 W ma hanno prestazioni decisamente inferiori.
Per i restanti settori di mercato sono disponibili modelli da 37 W (dual core), 47 W (quad core) e 57 W (versioni "extreme" adatte come desktop replacement dotate di una cache L4 montata su un diverso die della CPU) per le versioni mobile e di 35, 45, 65 e 95 W per quelle desktop. In questo caso però, la CPU non integra il platform controller hub (PCH), come fanno le versioni appena citate per i sistemi Ultrabook; esso è invece un chip dedicato sulla scheda madre, al pari delle architetture precedenti, come ad esempio Ivy Bridge.
Questi risultati sono il frutto anche di un nuovo "Power State", ovvero di una nuova modalità a basso consumo in cui è in grado di posizionarsi la CPU, e che viene chiamata con il nome di "S0ix". Intel dichiara che questa modalità può essere chiamata "Active Idle" e diventa, di fatto, la modalità predefinita e principale in cui si trova a operare la CPU; solo nei rari momenti in cui viene richiesta la massima potenza elaborativa, il processore passa ad uno stato superiore in un tempo estremamente ridotto. Il passaggio dinamico tra i vari stati è una caratteristica ormai comune nelle CPU Intel anche nelle precedenti generazioni, ma con Haswell tale concetto è stato portato ai massimi livelli, dato che gli sviluppatori hanno lavorato attivamente per consentire un passaggio tra i vari stati il più rapido possibile. Secondo l'azienda, questo consente di avere consumi in idle (quindi quando la CPU è a riposo), fino a 20 volte inferiori rispetto a quanto possibile con Sandy Bridge, in quanto quest'ultima rimaneva in stati a più alto consumo per tempi più lunghi, a causa della ridotta velocità di passaggio tra di essi.
In occasione dell'Intel Developer Forum del settembre 2012, Intel ha mostrato per la prima volta un confronto tra l'efficienza della nuova architettura e quella della vecchia, mostrando il benchmark Unigine Heaven. Se il processore basato su Ivy Bridge consumava 17 W, un modello basato su Haswell consumava solo 7,8 W e per di più offrendo una fluidità decisamente maggiore.

### Nuove istruzioni (AVX2)

Sono presenti 2 ulteriori unità di calcolo inedite; la prima consiste nella possibilità di integrare nei processori anche un co-processore vettoriale che si occupa dell'elaborazione di questo particolare tipo di calcoli, mentre fa il suo debutto anche un nuovo set di istruzioni (come del resto Intel ha sempre fatto anche nelle architetture precedenti), inizialmente chiamato FMA (Fused Multiply-Add), ma che a regime ha preso il nome di AVX2, che consente di effettuare simultaneamente un'operazione di moltiplicazione e una di addizione attraverso una sola istruzione. In particolare sono presenti le nuove istruzioni BMI (Bit Manipulation), e le estensioni TSX (Transactional Synchronization Extension).
Il nuovo set di istruzioni AVX2 consente di raddoppiare la velocità dei calcoli in virgola mobile in singola e doppia precisione rispetto a quanto possibile con le precedenti AVX introdotte con Sandy Bridge; per ogni ciclo di clock è ora possibile eseguire 32 operazioni in singola precisione e 16 in doppia.

### Comparto grafico integrato

Haswell consente, almeno sulla carta, di combinare in maniera ancora più modulare i core x86 e i comparti grafici, con proposte più tradizionali (4 o più core x86 + 1 GPU) oppure più innovativi (2 soli core x86 ma ben 3 GPU). Tale comparto offre supporto alle librerie DirectX 11.1, OpenGL 4 e OpenCL 1.2.
Viene affiancato dal supporto nativo alla tecnologia di comunicazione Thunderbolt, e fino a 3 schermi collegati contemporaneamente, condividendo l'eventuale cache L4 con i core della CPU.
Sono disponibili diverse versioni di tale GPU, inizialmente presentate con i seguenti nomi in codice:
* GT1 - versione meno potente abbinata alle sole versioni Dual Core (inizialmente prevista ma poi accantonata vista la potenza molto ridotta)
* GT2 - versione destinata al solo settore Desktop
* GT3 - versione destinata al settore mobile di fascia più alta
Nel maggio 2013 Intel ha dichiarato che tali denominazioni sono state utilizzate internamente durante la fase di sviluppo, e che le GPU sarebbero invece state messe in vendita con i seguenti nomi commerciali:
* Intel HD graphics (ex GT1)
* Intel HD graphics 4600/4400/4200 (ex GT2)
* Intel HD graphics 5000 (ex GT3 per le CPU con consumo da 15 W)
* Intel Iris graphics 5100 (ex GT3 per le CPU con consumo da 28 W)
* Intel Iris Pro graphics 5200 (ex GT3e)
Il nome commerciale "HD Graphics" venne introdotto da Intel nel 2010 grazie ai core Clarkdale e Arrandale, e successivamente utilizzato per indicare tutte le varianti di comparti grafici integrati nelle successive generazioni di architetture dei propri microprocessori. Le ultime in ordine di tempo sono rappresentate dai comparti "HD 2500" e "HD 4000" integrati nella precedente architettura Ivy Bridge. Con Haswell, in particolare per le versioni di fascia più alta, Intel ha presentato il nuovo nome commerciale Intel Iris che è andato quindi ad affiancarsi al precedente "HD Graphics".
La differenza principale tra il comparto GT3 e il GT3e è costituito dall'utilizzo della memoria eDRAM in un quantitativo pari a 128 MB montata direttamente sul package della CPU. Meno marcate invece sono le differenze tra i restanti modelli del comparto grafico: tra 5100 e 5000 le differenze sono esclusivamente dovute alla differente frequenza di funzionamento,
Mediamente l'aumento di prestazioni del comparto grafico è pari al doppio rispetto a quanto offerto dalla precedente generazione Ivy Bridge, diventando quindi paragonabile a quanto possibile sfruttando schede video discrete nella fascia di prezzo tra i 50 e i 70 dollari, questo grazie al raddoppio delle Execution Units rispetto al più potente dei comparti grafici integrati nella precedente architettura Ivy Bridge. Il modello GT1 era previso avere 10 Execution Units (EU), mentre GT2 ha 20 EU, e GT3 40 EU.
Un tale aumento di prestazioni si è reso ormai necessario per poter offrire prestazioni utili non solo per il semplice lavoro d'ufficio ma anche per eseguire saltuariamente alcuni videogiochi di fascia media; inoltre, l'attenzione di Intel verso i sistemi Ultrabook ha richiesto un deciso impegno in questa direzione, dato che a causa delle dimensioni molto contenute, generalmente tali soluzioni non sono in grado di ospitare una scheda video discreta di maggiore potenza.
Oltre alla già citata dimostrazione relativa all'alta efficienza delle nuove soluzioni, avvenuta a settembre 2012, Intel mostrò contemporaneamente un'altra demo in cui presentava un processore basato su Haswell in grado di eseguire The Elder Scrolls V: Skyrim a risoluzione full HD (1920 × 1080 pixel) e impostazioni massime di qualità, con la sola GPU integrata.

## Chipset supportati

I processori desktop basati sull'architettura Haswell sono abbinati al chipset Linx Point, che offre supporto nativo sia allo standard SATA 3 che USB 3.0.

## Considerazioni sull'abbinamento "Processo produttivo/Architettura" di Intel

A partire dall'introduzione dell'architettura Core, successiva alla NetBurst e avvenuta a metà 2006, Intel ha dichiarato l'intenzione di presentare una nuova architettura ogni due anni, in modo da poter tenere il passo con la famosa Legge di Moore. Per aumentare le prestazioni di una CPU mantenendone sotto controllo anche il consumo energetico è necessario non solo ottimizzarne l'architettura, ma anche realizzare i nuovi dispositivi con processi produttivi sempre più raffinati.
Per limitare gli imprevisti delle innovazioni tecnologiche necessarie al rinnovamento generazionale dei propri processori, a partire dagli inizi del 2006 Intel ha iniziato a seguire una strategia denominata "Tick-Tock": prima viene introdotta una nuova tecnologia produttiva sulla base di un'architettura già collaudata (la fase Tick) e in seguito, quando tale tecnologia è in grado di fornire rese elevate, la si adotta per produrre una nuova architettura (la fase Tock).
I primi esponenti di questa nuova filosofia di progetto, furono i processori Pentium D Presler (che avevano praticamente la stessa architettura dei precedenti Smithfield) con cui venne introdotto il processo produttivo a 65 nm (fase Tick). Dopo aver collaudato la nuova tecnologia costruttiva con queste CPU, Intel passò alla nuova architettura Core dei Core 2 Duo, prodotta sempre a 65 nm (fase Tock).
In maniera analoga, tra la fine del 2007 e l'inizio del 2008, Intel presentò i processori Penryn e Wolfdale che erano in sostanza dei die-shrink del Core 2 Duo, a 45 nm (fase Tick). A fine 2008, quando anche questo processo produttivo era ormai a punto, arrivò l'architettura Nehalem (fase Tock). La sua evoluzione Westmere è stata realizzata a 32 nm a partire dai primi mesi del 2010 (fase Tick), in modo da collaudare anche questa tecnologia in vista dell'architettura successiva Sandy Bridge, uscita poi nel 2011 (fase Tock). L'intenzione dichiarata di Intel, molto ambiziosa, era quella di migliorare il rapporto performance/watt del 300% entro la fine del decennio.
Seguendo il medesimo principio, Sandy Bridge è stata poi seguita dal die-shrink a 22 nm Ivy Bridge nel 2012 (fase Tick), che ha quindi mantenuto la stessa architettura ma ha introdotto un nuovo processo produttivo. Nel 2013 arriverà anche la nuova architettura Haswell (fase Tock), il cui die-shrink a 14 nm prenderà il nome di Broadwell (fase Tick); quest'ultimo verrà poi seguito negli anni seguenti dall'architettura Skylake (fase Tock) e dalla sua ri-scalatura Ice Lake (fase Tick).
Nelle intenzioni di Intel, questo metodo di sviluppo minimizza i rischi propri dell'adozione di una nuova tecnologia produttiva con un'architettura a sua volta completamente nuova, consentendo ai progettisti di concentrarsi, ad anni alterni, sulla risoluzione di una sola classe di problemi.

## Altre architetture parallele in sviluppo

L'architettura x86 non è l'unica in sviluppo presso i laboratori del produttore statunitense. Oltre alla ormai famosa IA-64 degli Itanium 2, che prosegue ormai da oltre un decennio, e dovrebbe arrivare almeno fino al 2013, a fine 2006 Intel presentò anche il progetto Terascale: si trattava di uno studio, che non doveva avere nessuna implicazione commerciale diretta, ma che è servito al produttore ad ottimizzare la scalabilità delle proprie CPU all'aumentare del numero di core. Al momento della presentazione Terascale era un processore a 80 core, elementari, che superava 1 TFlops di potenza elaborativa. Parallelamente era atteso sul mercato per il 2009 un processore a 24 core per elaborazioni GPGPU, chiamato Larrabee, progetto rimandato a tempo indefinito a causa delle difficoltà tecniche di realizzazione e sostituito da Knights Ferry annunciato per la prima volta nel novembre 2010.

## Il successore

Il successore di Haswell ha preso il nome di Broadwell (precedentemente conosciuta come Rockwell), mentre la nuova architettura di sesta generazione è stata chiamata Skylake ed è arrivata sul mercato nel 2015.