Significato di "Core" CPU e velocità di un processore multi-core
Aggiornato il:
Calcolare quant'è veloce un processore quando è quad core o più e cosa significa avere più core sulla CPU
Quando ci rechiamo in un centro commerciale con tanti computer e notebook in vendita diventa difficile capire quali differenze ci sono tra un modello ed un altro. Leggendo un altro altro articolo di questo blog riguardante tutte le cose da sapere quando si compra un computer nuovo, si accennava alle differenze tra processori e su come viene misurata la loro velocità. Il processore è il cervello quindi più è veloce più i calcoli saranno rapidi; il problema è il modo con cui i produttori indicano la velocità dei processori multi-core, che per molti utenti alle prime armi potrebbe risultare piuttosto confusa.
In questa guida vi mostreremo infatti cosa significa avere un PC con processore quad-core o octa-core, e qual è la sua velocità effettiva e come capire se abbiamo tra le mani un computer molto veloce o un computer vecchio e obsoleto, così da evitare le fregature e acquistare solo computer molto veloci.
LEGGI ANCHE -> Quale scegliere tra Intel Core i3, i5, i7 e i9
Sui processori ci sono due parametri di valutazione: numero totale di calcoli al secondo e numero dei cicli del processore in un secondo (velocità di clock espressa in Ghz). Ogni core del processore effettua un certo numero di calcoli al secondo, quindi il numero totale di calcoli è la somma. Nello stesso tempo, se tutti i core sono in esecuzione alla stessa velocità, la velocità di clock totale del processore rimane la stessa, indipendentemente dal numero di core attivi.
Arriviamo alla conclusione che un processore quad-core a 2 GHz non sarà mai veloce come un processore con core singolo da 5 GHz: questo è tecnicamente corretto, ma in realtà ciò che cambia è il tipo di attività svolta svolta in quel computer in un dato momento.
Per capire dov'è la differenza di velocità tra i processori a core singolo e i moderni processori multi-core utilizzeremo degli esempi semplici, così che tutti possano capire la tecnologia che c'è dietro.
Se abbiamo un singolo processo da avviare esso sfrutterà sempre e solo un core: avviando questo processo su un processore a core singolo ma più potente (per esempio una CPU a core singolo da 4GHz), esso girerà molto più velocemente rispetto ad un processore multi-core da soli 2GHz, visto che su quest'ultimo verrà comunque utilizzato uno solo dei core presenti (anche se fosse un quad-core o un octa-core, andrebbe comunque solo su un singolo core, in questo caso da 2GHz).
Cosa accade se però apriamo più processi insieme? Essi entrano comunque linearmente nel processore e devono essere eseguiti uno alla volta, essendoci un solo core presente: di fatto rischiamo di lasciare "in attesa" i processi avviati successivamente. Questo capita spesso quando si avviano processi molto esosi in termini di risorse (elaborazione video, elaborazione di immagini o conversione dei file multimediali): quando un processo pesante occupa tutta la CPU (100%), il processore mette in attesa gli altri processi e il PC di fatto girerà lentissimo, con svariati secondi d'attesa dal clic del mouse alla reazione sullo schermo.
Su un processore multi-core ogni core può gestire un processo separato: questo significa che il processo più pesante girerà forse più lentamente (ma ai giorni d'oggi tutti i processori superano i 4GHz, quindi il problema di velocità non sussiste più) ma occuperà solo il 100% del suo core assegnato, lasciando gli altri core disponibili all'elaborazione di nuovi processi.
Ora il processo pesante sta occupando solo una percentuale della capacità di calcolo totale del processore (100% diviso il numero di core presenti); nel caso dei processori quad-core il carico occupato è del 25%, mentre nel caso di processori octa-core occupa il 12,5% della capacità di calcolo totale. Questo spiega perchè i processori multi-core saranno sempre più reattivi rispetto ai vecchi processori a core singolo: possono gestire più processi insieme (anche pesanti), indipendentemente dalla velocità di ogni singolo core.
Un buon processore multi-core da usare sui computer desktop casalinghi o in piccoli uffici è l'AMD Ryzen 5, dotato di 6 core e 12 Thread, con una frequenza di clock di 4,6 GHz.
Prima dell'arrivo dei processori multi-core Intel ha introdotto la tecnologia Hyper-Threading (con i vecchi Pentium 4 HT) per rendere più reattivi i processori a singolo core: di fatto questa tecnologia si occupa di "spezzettare" i processi in arrivo generando sub-processi o thread: nel processore con Hyper-Threading è possibile elaborare insieme tanti sub-processi ad ogni ciclo di clock, così da ottenere l'elaborazione di un maggior numero di frammenti dei processi originali.
Questa innovazione porta ad un incremento della reattività del singolo core (non superiore al 20%) ma non fa miracoli: meglio avere un numero di core elevato (tipo 8 core veri) rispetto ad una CPU con meno core ma con Hyper-Threading attivo (tipo 4 core e 8 thread). Hyper-Threading è presente anche sui processori multi-core moderni di Intel e AMD (dove ha un altro nome), ma è presente solo sui processori di fasci alta, spesso riservati al calcolo parallelo (come vedremo qui in basso).
Un buon processore casalingo con Hyper-Threading è l'Intel Core i7 dotato di 8 core e 16 thread in Hyper-Threading, alla frequenza di 5,1 GHz.
Alcuni programmi moderni sono in grado di sfruttare anche più core insieme, così da incrementare notevolmente la velocità di esecuzione. Questi programmi, quando avviati, possono creare più processi legati al processo madre (quello che gestisce la finestra del programma) e occupare così più core, sfruttando il calcolo in parallelo per eseguire operazioni pesanti come elaborazione grafica, conversione di video, applicazione degli effetti di rendering, elaborazione progetti grafici etc.
Per il calcolo in parallelo è necessario disporre di CPU multi-core estremamente veloci e con un elevato numero di core, altrimenti il sistema operativo rallenterà vistosamente se altri processi pesanti vengono avviati durante l'esecuzione. In questi scenari può essere utile disporre della tecnologia Hyper-Threading, che regala un 20% in più di reattività aumentando il numero di processi che è possibile gestire in parallelo (grazie alla frammentazione dei processi).
Un buon processore per il calcolo in parallelo è l'Intel Core i9 dotato di 10 core e 20 thread (in Hyper-Threading) alla frequenza di 5,3 GHz.
I processori moderni multi-core sono decisamente più reattivi e performanti dei vecchi processori a core singolo, che di fatto si sono estinti in ambito informatico per via della loro "lentezza" quando era necessario aprire più programmi contemporaneamente. Al giorno d'oggi i processori dual-core e quad-core sono già ampiamente obsoleti, visto che troviamo processori con 6 core, 8 core o anche 10/12 core, che spesso vengono raddoppiati grazie alla presenza di tecnologie innovative come l'Hyper-Threading.
In un altro articolo abbiamo visto come misurare la potenza del computer e le prestazioni hardware con i programmi di benchmark.
In questa guida vi mostreremo infatti cosa significa avere un PC con processore quad-core o octa-core, e qual è la sua velocità effettiva e come capire se abbiamo tra le mani un computer molto veloce o un computer vecchio e obsoleto, così da evitare le fregature e acquistare solo computer molto veloci.
LEGGI ANCHE -> Quale scegliere tra Intel Core i3, i5, i7 e i9
Come calcolare la velocità di un processore
Sui processori ci sono due parametri di valutazione: numero totale di calcoli al secondo e numero dei cicli del processore in un secondo (velocità di clock espressa in Ghz). Ogni core del processore effettua un certo numero di calcoli al secondo, quindi il numero totale di calcoli è la somma. Nello stesso tempo, se tutti i core sono in esecuzione alla stessa velocità, la velocità di clock totale del processore rimane la stessa, indipendentemente dal numero di core attivi.
Arriviamo alla conclusione che un processore quad-core a 2 GHz non sarà mai veloce come un processore con core singolo da 5 GHz: questo è tecnicamente corretto, ma in realtà ciò che cambia è il tipo di attività svolta svolta in quel computer in un dato momento.
Attività singola veloce o tante attività insieme?
Per capire dov'è la differenza di velocità tra i processori a core singolo e i moderni processori multi-core utilizzeremo degli esempi semplici, così che tutti possano capire la tecnologia che c'è dietro.
Se abbiamo un singolo processo da avviare esso sfrutterà sempre e solo un core: avviando questo processo su un processore a core singolo ma più potente (per esempio una CPU a core singolo da 4GHz), esso girerà molto più velocemente rispetto ad un processore multi-core da soli 2GHz, visto che su quest'ultimo verrà comunque utilizzato uno solo dei core presenti (anche se fosse un quad-core o un octa-core, andrebbe comunque solo su un singolo core, in questo caso da 2GHz).
Cosa accade se però apriamo più processi insieme? Essi entrano comunque linearmente nel processore e devono essere eseguiti uno alla volta, essendoci un solo core presente: di fatto rischiamo di lasciare "in attesa" i processi avviati successivamente. Questo capita spesso quando si avviano processi molto esosi in termini di risorse (elaborazione video, elaborazione di immagini o conversione dei file multimediali): quando un processo pesante occupa tutta la CPU (100%), il processore mette in attesa gli altri processi e il PC di fatto girerà lentissimo, con svariati secondi d'attesa dal clic del mouse alla reazione sullo schermo.
Su un processore multi-core ogni core può gestire un processo separato: questo significa che il processo più pesante girerà forse più lentamente (ma ai giorni d'oggi tutti i processori superano i 4GHz, quindi il problema di velocità non sussiste più) ma occuperà solo il 100% del suo core assegnato, lasciando gli altri core disponibili all'elaborazione di nuovi processi.
Ora il processo pesante sta occupando solo una percentuale della capacità di calcolo totale del processore (100% diviso il numero di core presenti); nel caso dei processori quad-core il carico occupato è del 25%, mentre nel caso di processori octa-core occupa il 12,5% della capacità di calcolo totale. Questo spiega perchè i processori multi-core saranno sempre più reattivi rispetto ai vecchi processori a core singolo: possono gestire più processi insieme (anche pesanti), indipendentemente dalla velocità di ogni singolo core.
Un buon processore multi-core da usare sui computer desktop casalinghi o in piccoli uffici è l'AMD Ryzen 5, dotato di 6 core e 12 Thread, con una frequenza di clock di 4,6 GHz.
Hyper-Threading: aumenta la velocità del processore?
Prima dell'arrivo dei processori multi-core Intel ha introdotto la tecnologia Hyper-Threading (con i vecchi Pentium 4 HT) per rendere più reattivi i processori a singolo core: di fatto questa tecnologia si occupa di "spezzettare" i processi in arrivo generando sub-processi o thread: nel processore con Hyper-Threading è possibile elaborare insieme tanti sub-processi ad ogni ciclo di clock, così da ottenere l'elaborazione di un maggior numero di frammenti dei processi originali.
Questa innovazione porta ad un incremento della reattività del singolo core (non superiore al 20%) ma non fa miracoli: meglio avere un numero di core elevato (tipo 8 core veri) rispetto ad una CPU con meno core ma con Hyper-Threading attivo (tipo 4 core e 8 thread). Hyper-Threading è presente anche sui processori multi-core moderni di Intel e AMD (dove ha un altro nome), ma è presente solo sui processori di fasci alta, spesso riservati al calcolo parallelo (come vedremo qui in basso).
Un buon processore casalingo con Hyper-Threading è l'Intel Core i7 dotato di 8 core e 16 thread in Hyper-Threading, alla frequenza di 5,1 GHz.
Calcolo in parallelo: quando un singolo processo occupa più core
Alcuni programmi moderni sono in grado di sfruttare anche più core insieme, così da incrementare notevolmente la velocità di esecuzione. Questi programmi, quando avviati, possono creare più processi legati al processo madre (quello che gestisce la finestra del programma) e occupare così più core, sfruttando il calcolo in parallelo per eseguire operazioni pesanti come elaborazione grafica, conversione di video, applicazione degli effetti di rendering, elaborazione progetti grafici etc.
Per il calcolo in parallelo è necessario disporre di CPU multi-core estremamente veloci e con un elevato numero di core, altrimenti il sistema operativo rallenterà vistosamente se altri processi pesanti vengono avviati durante l'esecuzione. In questi scenari può essere utile disporre della tecnologia Hyper-Threading, che regala un 20% in più di reattività aumentando il numero di processi che è possibile gestire in parallelo (grazie alla frammentazione dei processi).
Un buon processore per il calcolo in parallelo è l'Intel Core i9 dotato di 10 core e 20 thread (in Hyper-Threading) alla frequenza di 5,3 GHz.
I processori moderni multi-core sono decisamente più reattivi e performanti dei vecchi processori a core singolo, che di fatto si sono estinti in ambito informatico per via della loro "lentezza" quando era necessario aprire più programmi contemporaneamente. Al giorno d'oggi i processori dual-core e quad-core sono già ampiamente obsoleti, visto che troviamo processori con 6 core, 8 core o anche 10/12 core, che spesso vengono raddoppiati grazie alla presenza di tecnologie innovative come l'Hyper-Threading.
In un altro articolo abbiamo visto come misurare la potenza del computer e le prestazioni hardware con i programmi di benchmark.
Posta un commento