Speciale Intel Skylake: analisi tecnica della nuova architettura

Intel ha presentato sul mercato i processori Skylake senza descrivere in modo approfondito i dettagli tecnici dell’architettura, rivelandoli solo all’evento ad essa dedicato all’IDF 2015. Vediamo cosa è emerso fino a questo momento.

speciale Intel Skylake: analisi tecnica della nuova architettura
Articolo a cura di

Mostrata per la prima volta al complesso fieristico di Colonia che ospitava la GamesCon 2015, l'ultima architettura di Intel, Skylake, porta con sé maggiori performance, migliore efficienza energetica e grafica integrata rinnovata. In corrispondenza dei miglioramenti effettuati, l'azienda di Santa Clara ha progettato una nuova piattaforma unita ad un nuovo chipset, lo Z170. I primi processori Skylake ad arrivare sul mercato sono i due Core i5-6600K/i7-6700K con moltiplicatore sbloccato, per funzionalità di overclocking avanzate. Proprio in merito all'overclocking, segnaliamo che Intel ha cambiato leggermente le cose, fortunatamente in positivo, ma ne parleremo nel paragrafo dedicato. La nuova generazione di CPU garantisce anche il supporto alle memorie RAM DDR4, prima dedicate esclusivamente alla fascia enthusiast. Altre caratteristiche chiave di Skylake sono la superiore disponibilità di linee PCI-Express e la piena compatibilità con lo standard NVMe (che si sostituirà all'AHCI) per gli SSD.
Come si può vedere, le novità sono molte, nonostante questo il colosso americano ha tenuto nascosti molti, importanti, dettagli riguardo le modalità con cui Skylake lavora, questo fino all'Intel Developer Forum di San Francisco, tenutosi qualche giorno fa. In questo speciale, faremo il punto sui dettagli tecnici rivelati da Intel e cercheremo di fornire una panoramica generale sul funzionamento della nuova architettura, tentando di rendere più semplici possibili gli inevitabili tecnicismi. Questo sarà il primo dei due articoli a riguardo: in quello corrente parleremo della CPU e del come Intel ha ottenuto consumi più bassi, nel secondo - che arriverà in seguito - vi forniremo maggiori dettagli sulle GPU integrate nei processori Skylake.

L'architettura dei processori di sesta generazione

Gli ingegneri Intel hanno tenuto bene a mente quattro parametri fondamentali mentre erano impegnati nello sviluppo della nuova architettura: scalabilità, performance, efficienza e grafica. Secondo Intel, ogni core Skylake è fisicamente più grande e largo rispetto al passato. Questo, tecnicamente, si traduce in maggiori istruzioni processate per ciclo di clock con minor dispendio energetico.
Prendendo come riferimento il 6700K, i suoi 4 core condividono una Last Level Cache (cioè una cache di livello 3) a cui possono accedere a mezzo di un bus denominato SOC Ring. Il nome deriva del fatto che la sua forma richiama quella di un anello, e questo, a detta dell'azienda, aumenta il throughput - ovvero il numero di dati letti/scritti. Non è comunque una novità, perché questa tipologia di connessione è integrata da un po' sulle architetture Intel.
Il die include anche i diversi moduli grafici, anch'essi ancorati al Ring. Essi sono costituiti dai meno prestanti GT1, GT2 e GT3 - che dovrebbero essere gli stessi presenti nelle CPU Haswell - e dai nuovi GT3e e GT4e, che garantiscono il supporto DirectX 12 e OpenGL 4.4. GT3e e GT4e condividono una eDRAM, una cache L4 ad essi dedicata, di capacità pari a 128 MB e costruita con una tecnologia più costosa rispetto a quella delle normali RAM (visto che è integrata direttamente nel processore) per velocizzare ulteriormente le operazioni grafiche più utilizzate.
Sempre sul die e costeggiato dal SOC Ring, troviamo il System Agent. Da Sandy Bridge in poi, Intel ha pensato di strappare via dai core le operazioni non prettamente legate al calcolo puro, e le ha poi piazzate nel suddetto System Agent. Esso include unità quali il controller che gestisce le memorie RAM DDR4 (chiamato IMC) ed il display engine, l'equivalente dei ROPs in una scheda video, e si occupa anche della connessione ad un monitor. Il System Agent rappresenta anche il punto da cui si dipartono le linee PCI-E, utilizzate per mettere in comunicazione dispositivi PCI eventualmente installati sulla scheda madre e la CPU (nel 6700K in analisi il numero di canali è 16). All'interno del System Agent è anche presente un ISP (Image Signal Processor) che ha il compito di effettuare elaborazioni sulle immagini (quali riduzione del rumore, interpolazione e molteplici correzioni) provenienti da una fonte esterna, prima di mandarle al monitor. E' la prima volta che lo vediamo su una CPU Intel. Un classico DMI invece collega il processore al northbridge del chipset.

In cosa migliorano i core Skylake?

Adesso che abbiamo completato la panoramica generale dell'architettura, dobbiamo passare ad analizzare i core del processore più da vicino. Tutti sappiamo che essi lavorano per cicli di clock, e dall'inizio alla fine del tempo di clock compiono tutti una serie di operazioni che sono sintetizzabili in alcuni stadi. Il livello front-end (quello più in alto nella figura, che si occupa di collezionare le istruzioni e dati) è stato decisamente affinato in Skylake, e adesso prevede una fase di branch prediction (in cui la BPU prova ad indovinare le prossime istruzioni) perfezionata e con una minore percentuale di fallimenti rispetto ad Haswell, merito di un set di istruzioni più fornito, buffer più profondi e periodo di prefetch (che predice e pre-carica la prossima istruzione) più corto. Una volta scelta l'istruzione più probabile, essa viene salvata nella i-Cache o nella µop Cache: se è un'operazione già eseguita - e quindi decodificata in precedenza - va a finire nella seconda, altrimenti viene salvata nella prima e viene subito dopo interpretata da un'unità di decoding. Il concetto di µop Cache non è una novità, ma è presente sin da Sandy Bridge e serve per eludere il Decoder, quando possibile. Ad ogni modo, la fase di decodifica rimane identica alle precedenti generazioni.
Ciò che invece sono state aggiornate sono le EUs (Execution Units), cioè le unità aritmetiche vere e proprie, che prima di operare ricevono possibilmente i dati dal Memory Control e le istruzioni dall'Allocator (o entrambi da quest'ultimo nei casi più sfortunati). Le ALU incluse sono di più, hanno minori latenze e possono spegnersi quando non stanno effettuando calcoli. Inoltre sono più veloci del 17% quando si tratta di dover decrittare dati codificati tramite AES-GCM (AES-Galois/Counter Mode) e addirittura del 33% se invece il metodo è AES-CBC (AES-Cipher Block Chaining). Anche il Memory Control ha subito una rivisitazione, e i cache miss (in L2) sono leggermente meno frequenti grazie ad un miglioramento di affidabilità sul prefetcher della memoria. I due livelli di cache sono, in generale, gestiti meglio, così come il page-miss. L'ultima novità è rappresentata dalle prestazioni dell'Hyperthreading, superiori ad Haswell in quanto i thread possibili in coda salgono a 64 dai 56 della precedente generazione.
La Coda thread più lunga e un maggior numero di Execution Units fanno sì che in Skylake il parallelismo sia più marcato e sfruttato, e lo scheduler riesce così a processare 97 entità per volta; l'out-of-order Window è inoltre ancora più capiente (esso contiene le istruzioni da effettuare quando la CPU non ha compiti più importanti, e si usa per non sprecare cicli di clock) garantendo una migliore ottimizzazione.

Overclocking con Skylake: BCLK full range

Skylake conferma che Intel si sta concretamente impegnando per migliorare l'attitudine all'overclocking dei suoi microprocessori. L'azienda ha un po' mollato la presa in questi ultimi anni, perché le innovazioni su questo fronte, prima con Ivy Bridge e poi con Haswell, non sono di certo state entusiasmanti. Certo, su Haswell caratteristiche rilevanti come l'overclocking realtime sono state introdotte, ma non sono abbastanza per soddisfare la sete degli appassionati. Fortunatamente Skylake ha tutte le intenzioni di cambiare le carte in tavola. Partiamo dal base clock del processore, che è diventato full range: si potrà incrementare/decrementare il BCLK a step di 1MHz, a dispetto di Haswell in cui ciò era limitato a 100/125/166 MHz. La maggiore precisione favorisce senza ombra di dubbio overclock più precisi e stabili. La nuova architettura trae anche vantaggio dalle potenzialità delle DDR4 e regala l'opportunità di spingerle ancora di più, con incrementi più fini sulla frequenza di 100/133 MHz. Dei profil XMP aggiornati sono inoltre stati forniti ai produttori di schede madri Z170, il che è sempre gradito.
Intel, durante il disegno dei nuovi processori, si è concentrata anche sulla metodologia TMAM (Top-down Microarchitecture Analysis Method), un approccio sistematico tramite il quale gli sviluppatori sono in grado di identificare con chiarezza chi o cosa sta facendo da collo di bottiglia in un determinato lasso di tempo, e di conseguenza dovremmo attenderci software più efficienti su hardware diversi.

P-states e Intel Speed Shift

Le massicce modifiche portate a Skylake hanno spinto Intel ad adottare nuove soluzioni anche dal punto di vista dei consumi. La società di Santa Clara ha pensato bene di aggiungere nel System Agent un nuovo elemento, chiamato PCU (Package Control Unit). Questa è un'unità logica di monitoraggio, che tramite un firmware di controllo sviluppato ad hoc ha libero accesso alle statistiche della CPU, collezionando tutta una serie di dati relativi alla potenza dissipata. E' persino in grado di comunicare con strati a livello molto più alto, quali BIOS, sistema operativo o il driver grafico.
Intel ha creato diversi stati in cui i core possono entrare, in base alla frequenza ed all'energia assorbita. In ogni stato il processore adotta una frequenza con una tensione di funzionamento stabiliti a priori. Gli stati sono numerosi, e partono da uno stato chiamato Pn, che è l'emblema del massimo risparmio energetico (quindi minima VCore possibile), al di sotto del quale (cioè nei T-states) si entra solo in condizioni estreme - che sono legate a temperature troppo elevate e pericolose.
Dopodiché, il sistema operativo - aiutato dalla PCU e tramite un algoritmo - decide in base alla frequenza richiesta e ai dati rilevati sui consumi in quale stato trascinare un core in un dato istante, potendo giungere fino al P2 o al P1 (in cui il core è a massima frequenza base).
I livelli più alti della gerarchia sono costituiti dagli stati P0, nei quali interviene la tecnologia Turbo Boost di Intel. La vera novità è che passati a questi ultimi, è l'hardware che prende il controllo (poiché grazie alla PCU ha più coscienza delle circostanze in cui esso si trova) e non più l'OS. Gestire il passaggio da uno stato P0 all'altro mediante l'hardware significa, in parole povere, diminuire drasticamente i tempi necessari per fare questa operazione. L'apice dello stack è rappresentato dallo stato P0 - core 1, in cui il singolo core è a massima frequenza e sta utilizzando l'Intel Turbo Boost a piena potenza. Se quest'ultima tecnologia non fosse disponibile, allora gli stati P0 dovrebbero essere assenti.
E' da notare, poi, l'esistenza di uno stato particolare denominato Pe. Questo è considerato lo stato col più alto rapporto prestazioni/efficienza, e una volta entratoci difficilmente l'OS deciderà di uscirne per traslare eventualmente a stati inferiori. Questo perché Intel ha osservato che scendere al di sotto di un certo livello è dannoso, soprattutto per l'efficienza generale. Anziché scendere ad un P-state più basso, questo stato è quindi forzato quando lo scenario richiede discrete risorse.
Quella che abbiamo appena illustrato è la Speed Shift Technology, che tramite la metodologia dei P-states e la condivisione attuata da OS ed hardware, consente risparmi extra sui consumi. Segnaliamo però che Speed Shift è attualmente compatibile solo con Windows 10, in quanto il sistema operativo è in parte responsabile del processo decisionale. L'unico dubbio su questo meccanismo è sul criterio adottato per carichi di lavoro non lineari, che l'OS potrebbe non saper identificare. Si genererebbero così situazioni fluttuanti, in cui lo stato ottimale non è definito.
Il Duty Cicle Control è un'altra tecnica implementata in Skylake, che diventa disponibile nel momento in cui un core si trova nello stato Pn - il più basso. In pratica, il core viene forzato ad una frequenza bassissima, che lo farebbe normalmente scendere in uno stato critico (T-state). Però, anziché "collassare" in questo stato critico, il core rimane nello stato Pn e di fatto si spegne, facendo risparmiare moltissima energia, quando necessario.
Intel ha infine portato a 100 MHz la minima frequenza applicabile al singolo core, ed è anche per questo motivo che famiglie come Skylake-U - di cui trovate maggiori dettagli qui - hanno TDP minimi così bassi.

Intel Skylake Skylake è stata etichettata come un’architettura rivoluzionaria. Per certi versi lo è, perché il lavoro fatto da Intel è lodevole. La rivisitazione generale ed alcuni ritocchi ragionati al singolo ciclo di clock porteranno performance migliori e più parallelismo, mentre l’adozione del TMAM potrebbe essere un toccasana per la scalabilità - ciò dipenderà dagli sviluppatori. L’impegno che l’azienda ha profuso sul risparmio energetico è tanto, e siamo sicuri che i P-State con la tecnologia Speed Shift porteranno consumi molto ridotti, soprattutto in ambito mobile. Il BCLK full range è, infine, la ciliegina sulla torta, che testimonia che Intel non si è dimenticata degli overclocker. Sembrerebbe quindi che l’introduzione dei 14 nm sia stata sfruttata a dovere, con tante migliorie e aggiunte che soprattutto gli utenti più smaliziati apprezzeranno. Rimanete sintonizzati per la seconda parte dell’articolo, dedicata all’architettura delle nuove GPU integrate in Skylake.