Nozioni di base sulla CPU: spiegazione di più CPU, core e multithreading

cpu-on-motherboard

L’unità di elaborazione centrale (o processore centrale, in inglese central processing unit, sigla CPU) del computer esegue il lavoro computazionale, fondamentalmente eseguendo programmi. 

Tutta la storia delle CPU è stata caratterizzata da un unico, grande, difficile obiettivo: aumentare la velocità di calcolo per eseguire più operazioni al secondo.

Rispetto a quelle attuali, le CPU commerciali per personal computer degli anni ’90 erano costruttivamente assai più semplici di quelle attuali. Avevano un solo “core“, un solo cuore logico che eseguiva i calcoli uno alla volta, consecutivamente, ad una determinata frequenza di clock (sostanzialmente la velocità di funzionamento del processore).

I miglioramenti dei processi produttivi dei processori hanno permesso di integrare sempre più transistor in una CPU e se nel 2006 Intel usava il processo produttivo a 65 nm (nanometri) per le CPU Pentium 4, oggi Apple usa il processo produttivo a 7 nm per il suo processore A12. Un processo produttivo più avanzato permette anche di ottenere CPU dai consumi energetici minori e con più potenza e tutti i produttori sono alla rincorsa della frequenza più elevata.

Sono ben lontani i tempi in cui, per capire al volo quanto era potente una CPU, bastava leggere un solo dato tecnico: la frequenza di funzionamento espressa in GHz (e, ancor prima, in MHz). Oggi i parametri da valutare per scegliere un processore sono molti di più perché l’architettura interna delle CPU è diventata assai più complessa. Siamo nell’epoca del multi-core, che segue quella del multi-thread, che a sua volta segue quella delle CPU multiple.

Una CPU che offre più core e/o multi-threading può offrire prestazioni significativamente migliori rispetto a una CPU single-core con la stessa velocità che non presenta multi-threading. E i PC con più CPU possono avere un vantaggio ancora maggiore.

Tutte queste funzionalità sono progettate per consentire ai PC di eseguire più velocemente più processi contemporaneamente, aumentando le prestazioni durante il multitasking o sotto le esigenze di potenti programmi come codificatori video e giochi moderni. Quindi, diamo un’occhiata a ciascuna di queste funzionalità e al loro significato.

Intel Hyper-Threading

Hyper-Threading è il nome commerciale dato da Intel alla sua prima implementazione multithreading nella tecnologia Simultaneous Multi-Threading (SMT), utilizzata per migliorare le prestazioni dei propri microprocessori o CPU.

AMD ebbe una sua versione il cui nome commerciale è Clustered Multi Threading (CMT) ma negli ultimi anni è passata a una nuova architettura chiamata Zen. Zen è una microarchitettura Simultaneous Multithreading (SMT), piuttosto che una soluzione modulare Clustered Multi-Thread (CMT). Sempe 2 thread per core come per le CPU Intel con Hyper-Threading. Un nuovo sistema di cache a bassa latenza e alta bandwidth e un core così ben progettato da poter scalare in più fasce di mercato, dai prodotti domestici ad alta efficienza energetica fino alle soluzioni per il mondo delle imprese.

Nel multi-threading in generale, il core della CPU si pone al software come 2 core separati e recupera 2 programmi in parallelo, proprio come farebbero 2 core separati. Ora questi 2 programmi vengono inseriti nel core per sfruttare al meglio le risorse non utilizzate nel chip.

All’inizio degli anni 2000, questo era un modo economico per ottenere il massimo da grandi progetti di CPU che raramente venivano sfruttati da un software semplice (o altamente ramificato). Alcuni progetti come gli UltraSPARC sono arrivati ​​al multithreading a 4 vie. Sono 4 thread per ogni core, che ha funzionato molto bene per i carichi di lavoro dei server.

L’hyper-threading è stato il primo tentativo di Intel di portare il calcolo parallelo nei PC consumer. Ha debuttato sulle CPU desktop con il Pentium 4 HT nel 2002. I Pentium 4 presentavano 1 solo core nella CPU, quindi potevano eseguire solo un’attività alla volta, anche se fosse in grado di passare da un’attività all’altra abbastanza rapidamente tanto da sembrare sembrava multitasking. L’hyper-threading ha tentato di rimediare.

Un singolo core fisico della CPU con hyper-threading appare come due CPU logiche ad un sistema operativo. La CPU è ancora una singola CPU, quindi è un po’ un trucco. Mentre il sistema operativo vede 2 CPU, l’hardware effettivo della CPU ha un solo set di risorse di esecuzione. La CPU finge di avere più core di quanti ne abbia e usa la propria logica per accelerare l’esecuzione del programma. In altre parole, il sistema operativo è indotto a vedere 2 CPU per ciascun core effettivo della CPU.

L’hyper-threading consente ai 2 core logici della CPU di condividere le risorse di esecuzione fisica. Questo può accelerare un po’ le cose: se una CPU virtuale è in stallo e in attesa, l’altra CPU virtuale può prendere in prestito le sue risorse di esecuzione. L’hyper-threading può aiutare ad accelerare il tuo sistema ma non è affatto buono come avere core aggiuntivi effettivi.

cpuc 1

Per fortuna, l’hyper-threading è ora un “bonus”. Mentre i processori consumer originali con hyper-threading avevano un solo core mascherato da più core, le moderne CPU Intel ora hanno sia core multipli che tecnologia hyper-threading. La tua CPU dual-core con hyper-threading appare come quattro core per il tuo sistema operativo mentre la tua CPU quad-core con hyper-threading appare come otto core. L’hyper-threading non sostituisce i core aggiuntivi, ma una CPU dual-core con hyper-threading dovrebbe funzionare meglio di una CPU dual-core senza hyper-threading.

Core multipli

Inizialmente, le CPU avevano un singolo core. Ciò significava che la CPU fisica aveva un’unica unità centrale di elaborazione. Per aumentare le prestazioni, i produttori hanno aggiunto ulteriori “core” o unità di elaborazione centrali. Una CPU dual-core ha 2 unità di elaborazione centrale, quindi appare al sistema operativo come 2 CPU. Una CPU con 2 core, ad esempio, potrebbe eseguire contemporaneamente due diversi processi. Questo accelera il tuo sistema, perché il tuo computer può fare più cose contemporaneamente.

A differenza del multi-threading, qui non ci sono trucchi: una CPU dual-core ha letteralmente 2 unità di elaborazione centrale sul chip della CPU. Una CPU quad-core ha 4 unità di elaborazione centrali, una CPU octa-core ha 8 unità di elaborazione centrale e così via.

Questo aiuta a migliorare drasticamente le prestazioni mantenendo piccola la CPU fisica in modo che si adatti a un singolo socket. È necessario solo un singolo socket CPU con una singola unità CPU inserita al suo interno, non 4 diversi socket CPU con 4 CPU diverse, ognuna delle quali necessita di alimentazione, raffreddamento e altro hardware. C’è meno latenza perché i core possono comunicare più rapidamente, poiché sono tutti sullo stesso chip.

Il System Monitor sui sistemi GNU/Linux o il Task Manager di Windows lo mostra abbastanza bene. Qui, ad esempio, puoi vedere che questo sistema ha 1 CPU effettiva e 4 core. Il multi-threading fa apparire ogni core come 2 CPU al sistema operativo, quindi mostra 8 processori logici.

cpuc 2

CPU multiple

La maggior parte dei computer ha 1 sola CPU. Quella singola CPU può avere più core o tecnologia multi-threading, ma è ancora solo 1 CPU fisica inserita in un singolo socket della CPU sulla scheda madre.

Prima che arrivassero CPU multi-threading e multi-core, le persone hanno tentato di aggiungere ulteriore potenza di elaborazione ai computer aggiungendo CPU sulla stessa scheda madre. Ciò richiede una scheda madre con più socket CPU. La scheda madre ha anche bisogno di hardware aggiuntivo per collegare i socket della CPU alla RAM e ad altre risorse. C’è un sacco di spese generali in questo tipo di installazione. C’è ulteriore latenza se le CPU devono comunicare tra loro, i sistemi con più CPU consumano più energia e la scheda madre necessita di più socket e hardware.

Scheda madre con 2 CPU

Scheda madre con 2 CPU

 

Oggi i sistemi con più CPU non sono molto comuni tra i PC degli utenti domestici. Anche un desktop per giocare ad alta potenza con più schede grafiche avrà generalmente 1 sola CPU. Troverai sistemi con più CPU su scheda madre tra i supercomputer, server e simili sistemi di alto livello che richiedono tutta la potenza possibile per elaborare una gran mole di dati.

Più CPU o core ha un computer, più cose può fare contemporaneamente, contribuendo a migliorare le prestazioni nella maggior parte delle attività. Oggi praticamente tutte le CPU per PC desktop in commercio, sia quelle di AMD che quelle di Intel, sono sia multi-thread che multi-core ovvero l’opzione più efficiente di cui abbiamo discusso. Anche molti processori SoC (System on a Chip) per smartphone e dispositivi mobili sono multi-threading e sono tutti multi-core. I diversi core integrati hanno però spesso caratteristiche, frequenze e prestazioni diverse in modo da “accendere” solo i core che effettivamente servono e risparmiare così energia.

Se vuoi sostenerci, puoi farlo acquistando qualsiasi cosa dai diversi link di affiliazione che abbiamo nel nostro sito o partendo da qui oppure alcune di queste distribuzioni GNU/Linux che sono disponibili sul nostro negozio online, quelle mancanti possono essere comunque richieste, e su cui trovi anche PC, NAS e il ns ServerOne. Se ti senti generoso, puoi anche donarmi solo 1€ o più se vuoi con PayPal e aiutarmi a continuare a pubblicare più contenuti come questo. Grazie!

Hai dubbi o problemi? Ti aiutiamo noi!

Se vuoi rimanere sempre aggiornato, iscriviti al nostro canale Telegram.
Se vuoi ricevere supporto per qualsiasi dubbio o problema, iscriviti alla nostra community Facebook o gruppo Telegram.
Cosa ne pensi? Fateci sapere i vostri pensieri nei commenti qui sotto.
Ti piace quello che leggi? Per favore condividilo con gli altri.
Amazon Music
Scopri le ultime offerte per dischi ssd su Acquista su Amazon
Scopri le ultime offerte per memorie RAM DDR su Acquista su Amazon
Scopri le ultime offerte per Chromebook su Acquista su Amazon
Scopri le ultime offerte per Raspberry su Acquista su Amazon

Potrebbero interessarti anche...

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.