Haswell è la quarta evoluzione dell'architettura dei processori Core i3/i5/i7, e per Intel rappresenta la fase "tock" del suo modello di sviluppo. Questa volta ogni miglioramento ed evoluzione è stato apportato pensando prima di tutto all''efficienza energetica, non lasciando quindi spazio a cambiamenti che possano incidere negativamente su questo aspetto. Haswell è un'architettura sviluppata per essere trasversale e modulare, in grado di adattarsi a una serie di dispositivi differenti, dai tablet ai server.
Quello che sarà Haswell in tre semplici passi: orizzontale, più efficiente, più veloce
Questa notizia non vuole essere un approfondimento troppo tecnico della microarchitettura, anche se è difficile, allo stato attuale, tralasciare completamente i tecnicismi, dato che non abbiamo una nuova CPU a disposizione per parlarvi di prestazioni e benefici tangibili. Facciamo quindi un riassunto sommario dei principali cambiamenti e dei miglioramenti che Haswell porterà nei dispositivi del prossimo anno. Rispetto all'architettura Sandy Bridge, la quarta generazione offrirà:
- Scalabilità: per gestire differenti tipologie di carichi di lavoro ed essere implementata in dispositivi diversi
- Maggiori prestazioni per core, per migliorare le prestazioni con tutti i tipi di attività
- Implementazione e miglioramento degli strumenti per gli sviluppatori: AVX 2 con FMA e vettori integer a 256 bit, Intel Bit Manipulation Instructions, Intel TSX per parallelizzare i thread tramite lock elision
- Miglioramento dell'efficienza energetica tramite modifiche alla microarchitettura: stati di idle più profondi, consumi ridotti in stato attivo, controllo più granulare sulle coppie voltaggio/frequenza, miglioramento della condivisione delle alimentazioni
Il core di Haswell è dotato di un nuovo modulo di branch prediction, che in abbinamento a un front-end migliorato, che gestisce meglio i cache misses (ora in parallelo), permette di diminuire la latenza e offrire una maggior accuratezza nell'amministrazione dei dati. Buffer più profondi permettono di gestire più istruzioni in parallelo e offrono maggiori risorse in ambienti single thread, migliorando quindi le prestazioni con le applicazioni poco ottimizzate.
Il core di Haswell
Più unità d'esecuzione riducono anche la latenza e allo stesso tempo migliorano l'efficienza, poiché possono essere spente quando inutilizzate. È stato aumentato anche il bandwidth disponibile, migliorando il prefetching e raddoppiando il bandwidth della cache L2. La pipeline è rimasta invece invariata lasciando inalterate le latenze della cache L1 e L2, così come quella della banch misprediction.
Abbiamo accennato alla maggior profondità dei buffer, in questa immagine riepilogativa vi mostriamo la differenza tra le varie generazioni, in cui vediamo un miglioramento in tutti i campi. Ovviamente non sarebbe sufficiente aumentare solo la quantità di informazioni registrabili nei buffer senza un passo avanti dell'architettura in grado di gestirle, pena un'impossibilità di migliorare le prestazioni generali.
Buffer più profondi su tutta la linea
Haswell porta anche il nuovo set di istruzioni AVX2, con cui riesce a raddoppiare e quadruplicare (sulla carta) le prestazioni multimediali potenziali rispetto a Sandy Bridge o Nehalem (rispettivamente). I programmatori potranno usare queste istruzioni in pressoché tutti gli ambiti, dall'HPC, all'audio e video e anche per i videogiochi.