Cos’è l’Hyper Threading? Storia e funzionamento di questa tecnologia

Cos’è l’Hyper Threading? Storia e funzionamento di questa tecnologia

Qualche spiegazione circa l'Hyper Threading di Intel

“ Hyper Threading ”. Un termine ormai entrato nel nostro vocabolario informatico da molto tempo. Venne infatti introdotto per la prima volta con l’architettura Netburst ed in particolare con il design del core Northwood Visto su Pentium 4.

Dopo un breve abbandono della tecnologia visto con l’architettura dei “core duo” l’ Hyper Threading è tornato nei nostri pc con la prima serie dei “core i” e continua ad accompagnarci ancora ai giorni nostri (chiaramente con le dovute modifiche e i dovuti miglioramenti).

Nonostante, però, questa feature sia presente da oltre un decennio nei nostri pc, pochi effettivamente sanno cosa sia e come funzioni.Cos'è l'Hyper Threading Cos'è l'Hyper Threading? funzionamento Hyper Threading funzionamento HyperThreading come funziona l'Hyper Threading

Un po’ di Storia

La tecnologia in questione nacque per cercare di ovviare a due problemi abbastanza spinosi:

  1. L’impossibilità di aggiungere ulteriori core sul package con litografie estremamente primitive (130nm) e di salire di core clock senza aumentare in maniera terribile consumo e TDP
  2. Il basso numero di IPC dell’architettura Netburst che non riusciva a tenere il passo dei prodotti rivali di casa AMD

Questo, allo stato attuale, potrebbe sembrare una strategia di risoluzione piuttosto ottimale visti gli incrementi prestazionali che ci regala. All’epoca, però, non tutto andò come previsto e le performance si rivelarono piuttosto deludenti.

Funzionamento dell’ Hyper Threading

Dopo aver analizzato la storia di questa tecnologia, possiamo passare, quindi, all’analisi del suo funzionamento.

Ci sono delle piccole premesse da fare prima di introdurre il discorso: Innanzitutto dobbiamo capire il funzionamento di un core.

Ogni CPU ha una serie di procedimenti (chiamata pipeline) che deve eseguire per portare a termine una istruzione.

In questa immagine possiamo, ad esempio, notare una tipica pipeline di un sistema a 64bit.Cos'è l'Hyper Threading Cos'è l'Hyper Threading? funzionamento Hyper Threading funzionamento HyperThreading come funziona l'Hyper Threading

Tale schema mostra le fasi che servono a “rendere fruibilile informazioni che arrivano alla nostra CPU e che alla fine ci porteranno ad un risultato utile al fine di un processo.

La fase che ci interessa in maniera prevalente è sicuramente quella di fetch, fase in cui le istruzioni vengono raccolte dalla cache del processore (L1, L2, L3) o dalla memoria RAM sotto forma di pacchetti a dimensione fissa e poi vengono elaborate prima di giungere all’unità operativa.

Quando questo processo si verifica, la CPU è effettivamente non utilizzata, quindi si perde del “tempo” che poi si traduce in un numero di istruzioni elaborate per ciclo di clock nettamente minore.

È proprio qui che entra in gioco la tecnologia Hyper Threading di Intel.

Il core “virtuale”, infatti, altro non è che una sorta di pipeline parallela che sfrutta i momenti di pausa del core per poter effettuare operazioni precaricate mentre la CPU stava eseguendo i calcoli relativi alla main pipeline.

Cos'è l'Hyper Threading Cos'è l'Hyper Threading? funzionamento Hyper Threading funzionamento HyperThreading come funziona l'Hyper Threading

I processori Hypertreaded, quindi, non hanno assolutamente un numero di core doppio, riescono soltanto a sfruttare dei fisiologici tempi morti della CPU per effettuare calcoli paralleli.

La parola chiave del funzionamento di questa tecnologia, infatti, è proprio la parallelizzazione. Solo gli applicativi con carichi di lavoro altamente parallelizzabili riescono a sfruttare al meglio questa sorta di “sdoppiamento” del carico di lavoro.

Questo quindi in cosa si traduce? Quali sono le applicazioni che potrebbero beneficiare da questa tecnologia?

HYPER TREADING UTILE PER:

  • VIDEO EDITING

Nel video editing la tecnologia di Intel risulta essere particolarmente utile. Essa permette, Infatti, di distribuire in maniera parallela il carico sui core. Mentre la CPU sta renderizzando un frame, infatti, la seconda pipeline può tranquillamente andare ad agire sul frame successivo andando a precaricarlo.

  • MULTITASKING

Nel multitasking i processi attivi simultaneamente potrebbero interferirsi a vicenda nella esecuzione della pipeline. L’Hyper Threading può invece assegnare la pipeline secondaria ad un altro core e quindi sfruttare solo i tempi morti per reggere un carico di lavoro non particolarmente gravoso

  • RENDERING

È un discorso molto simile al video editing. Anche qui funziona praticamente allo stesso modo.

HYPER THREADING INUTILE PER:

  • GAMING

Eh già, signori e signore, nel gaming questa tecnologia è praticamente inutile. I giochi, spesso, sono progettati per utilizzare un numero di core particolarmente esiguo e quindi non traggono alcun beneficio da questa tecnologia (a meno che non ci sia un quantitativo spropositato di applicazioni in background ma questo rientra nella sopracitata categoria del multitasking).

  • PROGRAMMI NON PARALLELIZZABILI

Come precedentemente spiegato, i programmi non parallelizzabili per la natura stessa della tecnologia, non riescono a sfruttare la stessa.

Cos'è l'Hyper Threading Cos'è l'Hyper Threading? funzionamento Hyper Threading funzionamento HyperThreading come funziona l'Hyper Threading

Beh, che dire, potrebbe essere finita qui? E invece no. Lo sappiamo tutti, nel mondo reale tutto ha un costo e l’Hyper Threading non fa eccezione.

Uno dei suoi svantaggi maggiori è, ad esempio, un aumento sensibile delle latenze interne della CPU. Nulla di insormontabile, però!

Volevo cogliere l’occasione per ringraziare i ragazzi di The Lead Network per avermi dato questa opportunità e per avermi concesso la possibilità di entrare in un bel gruppo! Spero che apprezzerete i miei articoli di “trattazione”.

In questo video potrete trovare una mia trattazione più discorsiva dell’argomento. Restate sintonizzati, ci sono grosse novità in arrivo!

 

COMMENTS

DISQUS: 0
2,083Followers
22Subscribers