Hyper-Threading

Da Wikipedia, l'enciclopedia libera.

Hyper-Threading è il nome commerciale dato da Intel alla sua prima implementazione della tecnologia Simultaneous Multi-Threading utilizzata per migliorare le prestazioni dei propri processori.

Essa venne utilizzata attivamente dalla società negli anni a cavallo tra il 2003 e il 2006, per poi ritrovare nuova linfa vitale nel progetto Intel Atom destinato ai sistemi UMPC e a quelli ultra economici.

Obiettivi di Hyper-Threading[modifica | modifica sorgente]

La tecnologia Hyper-Threading è stata una delle più pubblicizzate da parte di Intel nel corso degli anni in quanto l'idea alla base era quella di migliorare le prestazioni dei processori sfruttando alcune tecniche di calcolo parallelo grazie alla duplicazione di alcune unità interne dei chip.

La tecnologia Hyper-Threading è stata presentata da Intel in un momento in cui i processori dual core non potevano ancora venire prodotti a prezzi ragionevoli in ragione sia dell'avanzamento tecnologico, sia del processo produttivo che nel 2003 era ancora quello a 130 nm, che non permetteva "fisicamente" la presenza di 2 core all'interno di un unico package.

Essa venne introdotta inizialmente nel settore server con gli Xeon e gli Itanium 2, ovvero in un settore che già allora prevedeva applicazioni pensate secondo criteri di "parallelizzazione" del codice. Nel 2003 però, Intel aveva anche raggiunto i 3 GHz per i processori Pentium 4 destinati al settore desktop, e ormai l'aumento di frequenza cominciava a diventare sempre più difficoltoso da operare; al fine di migliorare ulteriormente le prestazioni dei propri processori desktop senza per questo dover aumentare la frequenza e il consumo massimo, decise di promuovere l'adozione della tecnologia Hyper-Threading anche in questo settore e il primo processore desktop ad esserne dotato fu il Pentium 4 Northwood a 3,06 GHz con bus a 533 MHz. Successivamente, venne implementata in tutti i successivi modelli di Pentium 4, compresi quelli basati sui core successivi a Northwood, vale a dire Prescott e Cedar Mill, e nelle prime CPU dual core Pentium Extreme Edition; anzi, in questo caso, la presenza della tecnologia Hyper-Threading era la sola caratteristica che differenziava tali processori dagli altri processori dual core, Pentium D, che ne erano sprovvisti.

Secondo le dichiarazioni iniziali di Intel, tale tecnologia avrebbe dovuto garantire un miglioramento delle prestazioni del 24% a prescindere dalla velocità di clock, ma i fatti dimostrarono in seguito che seppure esistesse effettivamente un certo miglioramento nelle prestazioni, tale aumento era di gran lunga più contenuto rispetto a quanto auspicato e, soprattutto, limitato ad una ristretta cerchia di applicazioni, soprattutto legate al mondo grafico, in grado di sfruttarne le potenzialità. Sul campo delle pure prestazioni, i software di grafica evoluta come Photoshop o 3D Studio Max traevano vantaggi nell'ordine del 10%.

Principi di funzionamento[modifica | modifica sorgente]

Schema di funzionamento dell'Hyper-Threading. Le istruzioni dei diversi thread (indicati con colore diversi) vengono mischiate ed eseguite in parallelo all'interno del processore al fine d'utilizzare al meglio le unità d'elaborazione

Come detto, l'idea alla base della tecnologia Hyper-Threading era quella di duplicare alcune unità di elaborazione all'interno dei microprocessori al fine di poter eseguire simultaneamente alcune operazioni, grazie a tecniche di multithreading.

Si trattava, in un certo senso, di un tentativo di creare un processore di transizione tra i tradizionali single core e i successivi dual core, non inserendo 2 interi core all'interno di un unico package, ma duplicando solo alcune aree "sensibili" del singolo core.

Grazie all'Hyper-Threading un singolo core era comunque in grado di gestire più thread in contemporanea, quando le istruzioni di un thread rimanevano bloccate nella pipeline il processore procedeva ad elaborare un secondo thread al fine di mantenere le unità di elaborazione sempre attive. I singoli thread possono infatti venire bloccati nella loro esecuzione da molteplici fattori, quali ad esempio problemi di recupero dei dati da elaborare (per esempio un cache miss) o per problemi di dipendenza dai dati che si trovano in elaborazione presso altre istruzioni in esecuzione.

Principali differenze tra "Hyper-Threading" e "processore dual core"[modifica | modifica sorgente]

La replicazione solo di alcune unità di elaborazione non poteva ovviamente competere, come prestazioni, con un processore dual core vero e proprio, dove cioè l'intero core veniva duplicato. A fronte però di un aumento di prestazioni più contenuto, Intel dichiarò che l'integrazione della tecnologia Hyper-Threading comportava un aumento dell'area della CPU di un misero 5% a fronte di un aumento di prestazioni che avrebbe potuto sfiorare anche il 30% (come detto, si trattava in realtà di un valore quasi irraggiungibile). In ogni caso, un aumento tanto modesto della superficie del processore consentiva di contenere i costi di produzione e quindi il rapporto costi/benefici era a favore dei modelli integranti tale tecnologia rispetto a quelli precedenti.

Il punto veramente debole della tecnologia Hyper-Threading, quando confrontata con un processore dual core vero e proprio, risiedeva nella capacità di tale tecnologia di gestire in parallelo solo thread e non processi; in altre parole, in un sistema dotato di processore con Hyper-Threading traggono vantaggio solo le applicazioni dotate di più thread, mentre in un sistema dotato di un processore dual core, possono essere eseguiti in parallelo sia i thread di un singolo programma (come avviene con la tecnologia Hyper-Threading), sia i thread appartenenti a processi diversi, che possono quindi essere eseguiti simultaneamente solo in quest'ultimo tipo di sistemi.

Hyper-Threading dal punto di vista del sistema operativo[modifica | modifica sorgente]

Dal punto di vista del sistema operativo, un processore single core ma dotato di tecnologia Hyper-Threading era indistinguibile da un normale processore dual core. Intel aveva infatti sviluppato tale nuova soluzione in modo che il sistema operativo "vedesse" comunque la presenza di 2 core di elaborazione. Tali core non erano in effetti 2 core "fisici" come nei processori dual core, ma erano 2 core "logici", vale a dire che un'applicazione non doveva essere pensata espressamente per la tecnologia Hyper-Threading; se essa era in grado di sfruttare 2 core di elaborazione, era anche in grado di sfruttare le potenzialità della nuova tecnologia. Il BIOS della scheda madre, che doveva a sua volta supportare la nuova tecnologia, faceva "credere" al sistema operativo e alle applicazioni di trovarsi di fronte ad un vero e proprio sistema biprocessore.

L'abbandono della tecnologia nei principali settori di mercato[modifica | modifica sorgente]

Con l'avvento, a partire dalla metà del 2006, dei nuovi processori dual core basati sull'architettura "Core", i Core 2 Duo Conroe, come successori del Pentium D Presler, Intel decise di abbandonare l'implementazione di tale tecnologia in quanto essa era poco efficace quando abbinata a processori dual core con pipeline corte come i Core 2 Duo.

Agli inizi del 2008 comunque è arrivato sul mercato anche il nuovo processore Atom nelle due versioni Silverthorne e Diamondville destinate rispettivamente agli UMPC e ai sistemi di fascia molto economica. Tale architettura è pensata espressamente per il contenimento massimo dei consumi, con inevitabili ripercussioni anche sulle prestazioni che ovviamente non possono essere paragonate a quelle delle CPU pensate per gli altri settori di mercato ma sufficienti per i dispositivi per i quali è stata concepita. Al fine di non penalizzare troppo le applicazioni in grado di sfruttare il multi-threading, Intel ha deciso di integrare anche in questi prodotti la tecnologia Hyper-Threading che ha quindi ritrovato un proprio ruolo all'interno del mercato.

Intel comunque, già al momento del lancio dell'architettura "Core", non parlò mai di abbandono definitivo e quindi è apparso subito plausibile un ritorno, sebbene in versione rivisitata, di tale tecnologia anche in prodotti destinati alle fasce principali del mercato. A questo proposito, alla fine del 2008 arriveranno i primi processori appartenenti alla nuova architettura Nehalem, successiva alla "Core", che porteranno con sé una tecnologia analoga chiamata Simultaneous Multi-Threading. Al momento dell'annuncio da parte di Intel di re-inserire una tecnologia (sebbene si tratti di una sua evoluzione) che non ha mai goduto di particolare successo presso i clienti, sono emersi alcuni interrogativi sulle motivazioni di tale scelta. La risposta può essere trovata nello sviluppo del software.

Voci correlate[modifica | modifica sorgente]

informatica Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica