I nuovi processori Core i7 mobile presentati da Intel al suo developer forum ribadiscono più che mai che non sono i GHz a fare la differenza. Analizziamo più da vicino le tecnologie che danno una marcia in più a questa nuova generazione di processori: Turbo Boost e HyperThreading.
Come abbiamo avuto modo di vedere, l'IDF 2009 è stata l'occasione per Intel di presentare le sue nuove CPU destinate al settore dei notebook derivate dall'acclamata architettura Intel Nehalem.
Le novità per il settore del mobile computing sono numerose quanto ambiziosi sono gli obiettivi di questa nuova architettura: con Clarksfield, Intel intende assottigliare il gap prestazionale tra processori desktop e mobile senza sacrificare l'autonomia o gravare sui consumi.
Prestazioni e consumi sono due grandezze inversamente proporzionali, quindi l'obiettivo apparentemente sembrerebbe irraggiungibile, almeno in base alle nostre attuali conoscenze. Ma non è così: quello che manca nell'equazione di Intel non è un “pizzico di tecnologia aliena”, ma una serie di nuove soluzioni tecnologiche ottimizzate per rendere le CPU più efficienti e scalabili che mai.
In questo senso i due grandi protagonisti delle nuove architetture Nehalem-based sono senza dubbio l'Intel Hyper-Threading Technology e l'Intel Turbo Boost Technology.
Accantonata assieme al Pentium 4 “HT”, la tecnologia HyperThreading di Intel permette di eseguire in parallelo fino a due threads per core (quindi in totale 8 threads nelle CPU i7 quad-core). La scelta di reimplementare questa tecnologia apparentemente “datata” deriva dal fatto che oggi sono disponibili molti più applicativi che sfruttano threads multipli di quanti non ce ne fossero all'epoca del P4. Si tratta inoltre di una soluzione unificata che permette sostanziali vantaggi anche in ambito server, dove spesso si richiedono esecuzioni parallele di molte applicazioni differenti.
Utilizzando questa tecnologia, le CPU Clarksfield sono in grado di migliorare l'efficienza per ciclo di clock riducendo la latenza computazionale: se ad esempio un thread è in attesa del ritiro/esecuzione di un'istruzione, un secondo thread può sfruttare questo tempo per essere eseguito all'interno del core.
La tecnologia che però ha avuto maggior impatto mediatico e ha subìto un aggiornamento più radicale è stata senza dubbio Intel Turbo Boost. Questa tecnologia, strettamente collegata al sistema di interfaccia e gestione energetica Intel Enhanced SpeedStep, permette di eseguire un overclock dinamico dei core in relazione al carico sulla CPU.
Quando questa tecnologia è attiva, le impostazioni ottimali vengono selezionate autonomamente da un complesso algoritmo che prende in esame lo stato del sistema e le condizioni del processore. Cerchiamo di vedere, per sommi capi, come questo algoritmo prende le sue decisioni.
Ad un primo livello viene valutato il margine di guadagno sulla frequenza in base al numero di core attivi. Grazie alla soluzione Power Gate adottata da Intel è infatti possibile disattivare selettivamente ciascun core portandolo nello stato C6 Deep Power Down: in questo modo, quando non si eseguono applicazioni che sfruttano tutti i core (o quando non si eseguono più applicazioni contemporaneamente) è possibile ridurre il consumo del processore portando circa a zero il consumo dei core inattivi. L'algoritmo associa quindi alla configurazione di core attivi un valore limite di overclock possibile, valore che ha massimo assoluto in caso di utilizzo di un singolo core.
Il passo successivo è una verifica a ciclo chiuso di temperatura, potenza e corrente assorbita dal processore, al fine di assicurarsi che lo stato attuale non violi le specifiche di operatività impostate di fabbrica. Quando tutte le verifiche sono eseguite, nel momento in cui il sistema operativo richiede lo stato P0 (full-load) entra in funzione il Turbo Boost incrementando la frequenza e il voltaggio di tutti i core attivi.
Va fatto notare che il controllo ciclico sullo stato della CPU continua ininterrottamente e, in caso che la temperatura o la potenza assorbita superino i limiti imposti di fabbrica, il processore provvede immediatamente a ridurre la frequenza dei core attivi.
Per avere un'idea più concreta di quanto stiamo dicendo, forniamo qualche numero per il processore Clarksfield top di gamma, Intel Core i7-920XM. Questo processore ha una frequenza operativa di base di 2.0GHz, un TDP di 55W e una temperatura di giunzione massima di 100°C. Ciò significa che quando il processore non assorbe più del suo TDP dichiarato e la sua temperatura è inferiore ai 100°C, Turbo Boost può incrementare le prestazioni della CPU, se il sistema operativo lo richiede.
Ogni step di frequenza comporta un aumento/diminuzione di clock pari a 133.33MHz, e come abbiamo visto la quantità di step applicabili varia in base al numero di core attivi: con 4 core attivi è possibile un incremento massimo di 2 steps (si raggiungono i 2.26GHz), con 2 core attivi si arriva fino a 8 steps (si raggiungono i 3.06GHz), e infine con un solo core attivo si raggiunge un incremento di ben 9 steps (che porta cioè a una frequenza complessiva di 3.20GHz).
Se da un lato quindi la tecnologia HT di Intel interviene per migliorare le prestazioni delle CPU nelle attività multitasking e multithreading, Turbo Boost fornisce una scalabilità dinamica senza precedenti che permette di migliorare non solo l'efficacia dell'HT, ma anche le prestazioni di quelle applicazioni che allo stato attuale non si avvantaggiano delle tecnologie multicore e multithread.
L'efficacia di queste due tecnologie e i vantaggi rispetto alla precedente architettura possono già essere osservati dai primi test eseguiti sul campo da HOT Hardware e AnandTech: il Core i7-920XM eguaglia o supera un processore desktop quad core Yorkfield di frequenza superiore come il Q9400 (2.6GHz) in tutti i test, e lo stesso accade se confrontato con il top di gamma Penryn QX9300 (2.53GHz quad core).