In occasione dell'IDF (Intel Developer Forum) 2012 di San Francisco, Intel ha svelato molti dettagli circa l'architettura delle CPU di prossima generazione, nome in codice Haswell che saranno disponibili dal prossimo anno. Le nuove informazioni ottenute permettono di diradare un po' la nebbia che si era creata seguendo le indiscrezioni degli ultimi mesi che non avevano mancato di rimarcare alcuni aspetti critici.
La presentazione della piattaforma parte, per forza di cose, dagli aspetti legati al computing in mobilità, un ambito che la stessa Intel ha contribuito a sviluppare fortemente partendo dalle prime piattaforme Centrino. Oggi si è probabilmente in attesa di una nuova rivoluzione in questo senso che permetta di avere con sé dispositivi leggeri, potenti, con una autonomia elevata e capaci di offrire all'utente la possibilità di fare tutto quello che farebbe con un computer tradizionale, dalla produttività al divertimento.
Sarà Haswell una piattaforma così efficiente e flessibile da permettere tutto ciò? Oggi scendiamo nel dettaglio delle sue caratteristiche per scoprire come e dove Intel è intervenuta per ottenere una CPU che dovrà essere in grado di supportare dispositivi di computing di ogni genere e grado.
Come accade ormai da diversi anni, lo sviluppo delle CPU Intel segue un ciclo fatto di cambiamenti solo al processo produttivo oppure solo all'architettura. La fase indicata con "tick" è quella che prevede l'utilizzo di un processo produttivo più avanzato rispetto al predecessore mentre la fase indicata come "tock" segna l'introduzione di aggiornamenti architetturali. Haswell è il prodotto di una fase "tock" e rappresenta la seconda generazione di CPU prodotte a 22nm con transistor tri-gate dopo Ivy Bridge e la quarta generazione di CPU Core.
La piattaforma, dal punto di vista dell'architettura, è stata dunque completamente ri-progettata. Ciononostante in Haswell sono ancora presenti le feature che abbiamo incontrato nelle CPU Sandy Bridge ed Ivy Bridge quali Turbo Boost, Hyper Threading e Ring Interconnect. Queste, unite a tutte le novità, permetteranno di caratterizzare la nuova famiglia di CPU rendendola idonea all'uso in tutti i dispositivi di computing oggi sul mercato dai tablet ai notebook, dagli Ultrabook ai convertibili, ai desktop ed ai server.
Per poter raggiungere nella pratica un simile obiettivo, Intel ha dovuto lavorare sulla modularità della CPU permettendo di configurarla - in fase di produzione - in maniera semplice come soluzione a 2 o 4 core, con iGPU più o meno potente (GT1, GT2 e GT3), con dimensioni delle cache e interconnessioni variabili e con la possibilità di regolare gli assorbimenti. Dunque le versioni ultra-mobile di Haswell avranno pochi core e frequenze di funzionamento ridotte, il tutto abbinato a importanti feature di risparmio energetico. Al contrario, i modelli per server e desktop potranno accedere a TDP più elevati (probabilmente gli stessi di quelli di Ivy Bridge) con limiti entro i quali sarà possibile avere più core e frequenze elevate. Si tratta tutto sommato della stessa politica delle CPU di precedente generazione ma stavolta le combinazioni possibili sono molte di più.
Secondo le dichiarazioni di Intel, con lo stesso assorbimento di potenza, Haswell riesce a fornire prestazioni grafiche doppie rispetto a quelle di Ivy Bridge. Oppure si possono ottenere le stesse prestazioni con la metà della potenza consumata e questo, tanto per scendere sui numeri, permette di realizzare modelli con TDP di appena 8W che forniscono prestazioni adeguate per tablet di fascia alta.
Per migliorare tanto la risposta del sistema quanto l'autonomia, Intel ha lavorato sui power state, introducendo un nuovo set di stati di idle (S0ix) che, messi fra quelli principali S0 (attivo) ed S3/S4 (sleep) permettono di gestire meglio il dispositivo. La transizione risulta essere più dolce con differenze nel passaggio da uno stato all'altro quantificabili in qualche centinaia di milliwatt invece che in decine di Watt e così anche per i tempi, molto più brevi rispetto ad ora, tali da permettere un passaggio continuo ad opera dell'hardware ed in maniera trasparente per l'utente.
In parole povere, la piattaforma Haswell sarà per la maggior parte del tempo nella condizione di active idle con un tempo di resume istantaneo e con possibilità di riduzione dei consumi, rispetto all'attuale generazione di processori, di un fattore 20.
Migliorie sono state apportate anche alla tecnologia Turbo Boost grazie ad un controllo più fine circa tensioni e frequenze e ad un completo disaccoppiamento. In aggiunta il link fra la CPU ed il PCH (chipset) è stato ottimizzato per far si che la potenza assorbita sia sempre la minima possibile in base alle prestazioni richieste. In più slide, Intel ripete che molto tempo è stato speso per cercare di tener spenti i blocchi della CPU non utilizzati e per fa si che processo di produzione e design si adattazzero l'un l'altro per ottenere un chip il più ottimizzato possibile.
Intel ha lavorato a stretto contatto con gli OEM per tenere sotto controllo anche i consumi degli altri componenti del sistema e per rendere efficienti i regolatori di tensione, ponendo l'accento perciò non solo sulla CPU ma su tutta la piattaforma.
La microarchitettura di Haswell è stata ottimizzata per migliorare ulteriormente il parallelismo e ottenere maggiori prestazioni. Quel che ci possiamo aspettare, comuqnue, è un boost compreso fra il 10 ed il 20% per le vecchie applicazioni rispetto ad Ivy Bridge (applicazioni ottimizzate e scritte per avvantaggiarsi delle nuove istruzioni mostreranno sicuramente un divario supeiore). D'altro canto i cambiamenti esposti da Intel sull'architettura dei soli core CPU riguardano un consolidamento del front-end, un miglioramento del branch prediction e buffer più capienti.
Le dimensioni dei buffer interni sono state incrementate al fine di allargare la finestra OoO, il meccanismo di branch prediction è stato migliorato e sono state aggiunte ulteriori due exection port alla reservation station per garantire fino ad 8 ops per ogni ciclo (le precedenti architetture Nehalem e Sandy Bridge dispongono di 6 porte) e fino a 4 operazioni sugli interi per ciclo di clock (perfettamente in linea con quanto le unità di decodifica delle istruzioni riescono a fare. Le porte 6 e 7 includono una ALU Integer capace di eseguire due branch per ciclo di clock ed una unità di Store Address che può effettuare due operazioni di load ed una di store per ciclo.
Haswell supporta il nuovo set di istruzioni AVX2le quali sono eseguite con un throughput doppio rispetto alle istruzioni AVX di Sandy Bridge e addirittura quattro volte superiore rispetto alle SSE di Nehalem (questo è possibile grazie alla presenza di due porte per le operazioni floating-point che permettono di eseguire una istruzione di FMA, composta da due istruzioni, una di moltiplicazione e l'altra di somma, con un solo ciclo). All'interno del set sono presenti diverse nuove istruzioni scalari e vettoriali delle quali possono beneficiare in special modo le applicazioni audio/video, quelle HPC ed i giochi. Inoltre, nuove istruzioni Integer permettono di migliorare le prestazioni con operazioni di crittografia, indicizzazione e conversione Endian.
Il sistema delle cache è stato rivisto e migliorato anch'esso andando sia ad agire sulla capacità (ad esempio la cache L2 TLB ha dimensioni superiori) sia sulle prestazioni. Questa ottimizzazione si rende necessaria per evitare colli di bottiglia nel fornire i dati alle più veloci unità di esecuzione.
Le cache L1 ed L2 restano della stessa capacità di quelle di Sandy Bridge ma in Haswell è possibile fare un caricamento di un'istruzione a 256-bit (AVX o AVX2) con una singola lettura dalla cache L1 (data), usando due porte. Il raddoppio della banda della cache L1 corrisponde ad un raddoppio anche di quella della cache L2.
In nessun documento Intel ha reso note informazioni sulle dimensioni della cache L3 che dipenderanno, come accade con Ivy Bridge e Sandy Bridge, dal numero di core del modello considerato. Il canale di interconnessione ad anello (Ring Bus) non è stato modificato rispetto al passato tranne che per avere una maggiore banda passante.
Con Haswell Intel introduce anche un meccanismo, indicato come TSX o Transactional Synchronization Extensions, che permette di estrarre un maggior parallelismo dai thread in esecuzione rendendo agli sviluppatori la vita più facile. Quando si ha a che fare con ambienti multi-core che agiscono sulla stessa struttura dati è facile avere un thread che deve fare una update e blocca la struttura per tutti gli altri.
Chiaramente questa è una situazione di svantaggio visto che ci sono molte risorse in attesa che non possono essere usate; quel che accade spesso, però, è che l'operazione di update deve essere effettuata su uan regione ristretta dei dati per cui è possibile permettere agli altri thread di eseguire le proprie operazioni. I conflitti sono gestiti dall'hardware e nel caso in cui dovessero verificarsi viene effettuato un rollback ed inviata una segnalazione al software (il supporto TSX è disponibile sia per applicazioni Windows che Linux).
La GPU integrata all'interno di Haswell non subisce alcun radicale cambiamente rispetto a quella che abbiamo incontrato in Ivy Bridge. D'altro canto il ciclo tick-tock riguarda anche questo modulo ma in maniera opposta: quando si aggiorna l'architettura della CPU si lascia invariata l'architettura della iGPU.
Con Haswell, dunque, Intel ha utilizzato la forza bruta unita a qualche piccola ottimizzazione per cercare di carpire prestazioni superiori per le applicazioni 3D e la decodifica video. Inoltre, a differenza di Ivy Bridge, Haswell prevede tre versioni di GPU integrata, indicate come GT1, GT2 e GT3. Per differenziarle l'azienda di Santa Clara ha optato per agire non solo sulla frequenza di funzionamento e sul numero delle unità di esecuzione (EU) ma anche sulle altre unità del chip.
Uno degli aspetti più interessanti del chip Haswell nel suo complesso è che, se dal punto di vista del silicio esso si presenta come un monolite, per quel che riguarda i moduli invece Intel è riuscita a tenerli completamente indipendenti. In Haswell il disaccoppiamento fra CPU, iGPU e ring bus è totale, con il risultato che ognuno di essi può funzionare a tensione e frequenza differenti da quelli degli altri e una variazione di una di queste grandezze in un modulo (ad esempio nella CPU) non influenza le stesse grandezze di un altro modulo (ad esempio la iGPU).
La potenza complessiva del chip dovrebbe essere tale da fornire prestazioni doppie rispetto a quelle ottenute con la iGPU HD 4000 di Ivy Bridge (considerando la variante GT3). Questo è ottenuto utilizzando più unità di elaborazione e unità fixed function con prestazioni superiori così come una banda interna, fra unità di elaborazione e cache, raddoppiata e pari a circa 500GB/s; dal lato efficienza Intel ha aggiunto un command streamer sul front end che permette di scaricare parte del lavoro effettuato dalla CPU sulla GPU.
Per poter raggiungere un simile livello di prestazioni Intel si è spinta anche sul fronte dell'integrazione della memoria video: il produttore offrirà modelli con un massimo di 128 MB di cache on-package in grado di fornire una banda dati molto elevata.
Visto il discreto successo ottenuto dal suo modulo Quick Sync per l'accelerazione delle operazioni di codifica e decodifica video, almeno fra gironalisti ed utenti enthusiast, Intel non poteva non prendere in considerazione anche una sua ottimizzazione. Sempre parlando della versione GT3, Intel afferma che la qualità della codifica è stata migliorata (grazie alla possibilità di agire su più parametri e scegliere tre profili - Fast, Normal, Quality - invece dei due disponibili con Ivy Bridge o Sandy Bridge).
Inoltre, Intel ha introdotto un codec hardware basato su SVC (Scalable Video Coding) che permette di codificare il contenuto e poi effettuarne il playback a risoluzione diverse, compresa quella 4Kx2K dei display di nuova generazione.
La nuova unità di elaborazione video, indicata come VQE (Video Quality Engine) include ora tutta una serie di stadi che si prendono cura di molte fuzioni legate alla decodifica e miglioramento dei flussi video.
Per garantire una maggiore separazione e concorrenza delle operazioni video, Intel ha creato tre motori, ognuno specializzato nel proprio ambito: codifica (codec), creazione dell'immagine (imaging) e ridimensionamento/composizione (scale/composition).
Haswell include anche alcune funzioni di ottimizzazione del flusso video, in risposta a quelle che AMD ha già reso disponibili nelle sue GPU integrate e discrete (AMD Steady Video, ad esempio). La stabilizzazione delle immagini in presenza di video tremolanti, il supporto nativo per video 4K, il filtro per il miglioramento delle tonalità della pelle, la funzione di estensione del Gamut che permette di mantenere la corretta saturazione del colore e quella di miglioramento della qualità nel caso in cui il video sorgente abbia un framerate diverso da quello che si vuole visualizzare (si applica una tecnica di FRC o Frame Rate Conversion) sono tutte novità che Intel ha introdotto nella pipeline di transcodifica video via hardware.