Che cos'è l'Hyperthreading?

0
161
Maha Heang 245789/Shutterstock.com

L'hyperthreading una volta era una caratteristica che si trovava solo sulle CPU professionali di fascia alta. Tuttavia, l'Hyperthreading si trova ora anche sulle CPU consumer tradizionali. Quindi cos'è esattamente l'Hyperthreading e dovresti cercarlo nella tua prossima CPU?

Cos'è un thread software?

A il thread del software è una sequenza di istruzioni che vengono elaborate da una CPU. È l'unità base delle istruzioni programmate gestite dallo scheduler. Lo scheduler è un componente del sistema operativo che alloca risorse hardware ai vari tipi di software in esecuzione su un computer.

Ogni applicazione in esecuzione sul tuo computer esiste come uno o più processi. I thread sono effettivamente segmenti di questi processi inviati alla CPU per l'esecuzione. Lo scheduler assegna rapidamente i thread da diversi programmi in esecuzione per garantire che ognuno ottenga le risorse necessarie per l'esecuzione in tempo reale.

In questo modo il tuo computer può “multitasking” e (ad esempio) eseguire un elaboratore di testi durante la riproduzione di musica e il download di un videogioco in background. Tecnicamente, un core della CPU non sta effettivamente svolgendo tutti questi lavori contemporaneamente.

Quindi, se il tuo sistema ha solo una CPU single-core, si destreggia rapidamente tra più serie di istruzioni, passando da una all'altra così rapidamente che al nostro lento cervello umano sembra che tutto avvenga in parallelo.

Elaborazione in vero parallelo nei computer di casa

Per la maggior parte della storia del personal computer, il tuo computer aveva solo un core della CPU. Bene, allora non parlavamo di “core” poiché ce n'era solo uno ed era l'intera CPU. Tuttavia, a metà degli anni 2000, i produttori di CPU hanno avuto la brillante idea di inserire due CPU complete in un unico pacchetto CPU. Queste CPU dual-core potrebbero effettivamente elaborare due thread di istruzioni contemporaneamente. Ciò significava che, ad esempio, il tuo videogioco poteva avere il 100% di un core e il tuo sistema operativo poteva avere l'altro core tutto per sé.

Pubblicità

Oggi il numero di core della CPU è in rapido aumento. Le CPU mainstream con 6, 8 e anche 10 core sono comuni. Le CPU di fascia alta offrono dozzine di core e CPU come AMD Threadripper 3990X sono piene di ben 64 core.

Anche lo sviluppo del software è cambiato per sfruttare al meglio tutta questa potenza della CPU parallela. Anche le ultime console per videogiochi sono dotate di otto core CPU, quindi i videogiochi che possono utilizzare un numero così elevato di core stanno rapidamente diventando comuni.

$6129.00

Mettere in overdrive i core della CPU con l'Hyperthreading

Una CPU tradizionale può solo gestire un singolo thread, ma se hai molti core CPU diversi nel tuo sistema, puoi gestire un numero di thread uguale al numero di core che hai. Sembra a posto, ma presenta un grosso problema.

Non tutti i thread richiedono la stessa potenza di elaborazione. Ad esempio, un thread che esegue il rendering di video utilizzerà il 100% della capacità disponibile di un core della CPU, ma il thread che esegue il tuo elaboratore di testi o la pagina web dei social media richiede solo una frazione della potenza offerta da un moderno core della CPU.

Pubblicità

Allo stesso modo, un videogioco può avere più thread che vengono eseguiti in parallelo, come uno che gestisce la fisica e un altro che gestisce l'intelligenza artificiale dei personaggi. Questi sono lavori importanti ma potrebbero non aver bisogno di un singolo core per funzionare bene.

Ciò porta a una situazione in cui tutti i core della CPU potrebbero essere occupati con i thread, ma non ti stanno dando tutta la potenza di elaborazione di cui sono capaci. È qui che entra in gioco l'hyperthreading.

Il nome generico corretto per l'hyperthreading è multithreading simultaneo. “Hyperthreading” è in realtà un nome commerciale proprietario utilizzato da Intel, ma proprio come con “Hoover”, è diventato un linguaggio comune per la tecnologia nel suo insieme.

Una CPU dotata dei circuiti interni giusti per abilitare l'hyperthreading può eseguire due thread separati contemporaneamente. Non è il passaggio da uno all'altro come con il tradizionale multi-tasking single-core. È in esecuzione ciascuno in parallelo.

Per il sistema operativo, sembra che ogni core della CPU fisica sia in realtà due core, il che consente allo scheduler di assegnare due thread a ciascuno. Tuttavia, la quantità totale di potenza di elaborazione per core rimane esattamente la stessa.

Perché dovresti volere l'hyperthreading

Come accennato in precedenza, l'hyperthreading serve principalmente ad assicurarsi di non lasciare la potenza di elaborazione sul tavolo. Lasciare che ogni core gestisca due thread rende più facile per il tuo sistema operativo ottenere il massimo dal tuo hardware ed evita una situazione in cui ogni core non funziona vicino o a piena capacità.

Pubblicità

In passato, solo i software professionali come editor video o lavori di elaborazione di dati scientifici avevano davvero bisogno dell'hyperthreading. Gli utenti mainstream avevano a malapena abbastanza app in esecuzione per aver bisogno di così tanti thread. Anche i videogiochi hanno impiegato molto tempo per adottare l'uso di più thread, ma ora i sistemi di gioco a 8 core sono mainstream e il numero di thread continuerà ad aumentare.

Pertanto, le nuove CPU mainstream ora dispongono di hyperthreading e è una caratteristica che la maggior parte degli utenti dovrebbe desiderare. Tuttavia, se ottieni un buon affare su una CPU più vecchia che non ha l'hyperthreading, non è ancora così essenziale che non puoi permetterti di lasciar perdere.

LEGGI SUCCESSIVO < ul id="nextuplist">

  • › Windows 11 e Chrome OS: qual è il migliore per le app Android?
  • › Microsoft, stai rendendo difficile consigliare Edge
  • › 5 trucchi psicologici nei giochi free-to-play (e come evitarli)
  • › Acquistare un Mac o un MacBook usato? Controlla queste cose prima di acquistare
  • › PSA: i truffatori usano la carenza di chip per ingannare le persone
  • › Smetti di chiudere le app sul tuo telefono Android