Quasi tutte le CPU oggi sono multi-core, ovvero contengono diverse unità di elaborazione in grado di gestire diverse attività contemporaneamente.
Tuttavia, i vantaggi di un maggior numero di core non sono sempre evidenti. Che differenza c'è tra applicazioni single-threaded e multi-threaded? Che cos'è l'Hyper-Threading e in cosa differisce dal normale multi-threading?
Per spiegare i vantaggi dei core extra e della tecnologia Intel® Hyper-Threading, spieghiamo questi termini e vediamo cosa comportano quando si eseguono giochi e applicazioni quotidiane.
Che cos'è il multi-threading?
Il multi-threading è una forma di parallelizzazione o divisione del lavoro per consentire l'elaborazione simultanea. Invece di assegnare un carico di lavoro elevato a un singolo core, i programmi threadizzati dividono il lavoro in più thread software. Questi thread vengono quindi elaborati in parallelo da diversi core della CPU per risparmiare tempo.
A seconda di come sono strutturati, i giochi possono essere leggermente o pesantemente threadizzati. Alcuni engine di gioco meno recenti sono noti per la loro dipendenza dal single-thread, il che significa che utilizzano fondamentalmente un singolo core della CPU e beneficiano notevolmente di velocità di clock più elevate.
Oggi, gli engine di gioco come Unreal Engine 4 utilizzano più core durante la creazione di scene complesse2. Gli engine possono inoltre sfruttare il multi-threading per gestire parti differenti delle "draw call", istruzioni inviate dalla CPU alla GPU su oggetti di gioco, texture e shader da renderizzare.
Che cos'è l'Hyper-Threading?
La tecnologia Intel® Hyper-Threading è un'innovazione hardware che consente l'esecuzione di più thread su ciascun core. Più thread attivi significano più lavoro svolto in parallelo.
Come funziona l'Hyper-Threading? Quando la tecnologia Intel® Hyper-Threading è attiva, la CPU genera due contesti di esecuzione per ogni core fisico. Questo significa che un singolo core fisico funziona come due "core logici", in grado di gestire diversi thread software. Il processore Intel® Core™ i9-10900K a dieci core, ad esempio, ha 20 thread quando l'Hyper-Threading è abilitato.
Due core logici possono svolgere le attività in modo più efficiente rispetto a un core tradizionale single-threaded. Sfruttando anche i tempi di inattività in cui il core deve attendere il completamento di altre attività, la tecnologia Intel® Hyper-Threading permette di migliorare il throughput della CPU (fino al 30% nelle applicazioni server3).
Come si attiva l'Hyper-Threading? È abilitato per impostazione predefinita, ma può essere attivato e disattivato dall'ambiente BIOS impostando "Tecnologia Hyper-Threading" su "Abilita" o "Disabilita". Si noti che la tecnologia Intel® Hyper-Threading è disponibile solo su alcune CPU speciali: l'elenco completo è disponibile qui.
Quali vantaggi offre l'Hyper-Threading?
Con l'Hyper-Threading un PC può elaborare più informazioni in meno tempo ed eseguire più attività in background senza interruzioni. Nelle giuste circostanze, la tecnologia consente ai core della CPU di svolgere effettivamente due operazioni contemporaneamente. Gli utenti dipendenti dal multitasking, gli streamer e i professionisti che usano programmi fortemente threadizzati possono migliorare la loro esperienza d'uso passando a una CPU per PC portatile da gaming o PC desktop da gaming con tecnologia Intel® Hyper-Threading, come l'ultimo processore Intel® Core™ i9.