La CPU rappresenta uno dei pilastri fondamentali incaricati di leggere i dati nella memoria del computer, elaborare informazioni e gestire i flussi di dati da e verso i dispositivi di input e output. Una CPU con un singolo core, tuttavia, può eseguire una sola operazione alla volta; questo ha spinto all’utilizzo di CPU multiple, dell’hyper-threading e delle CPU multi-core.
CPU Multiple
La maggior parte dei PC attuali ospita una sola CPU. Quest’ultima può avere diversi core o impiegare la tecnologia dell’hyper-threading, ma rimane una singola CPU inserita in un unico socket.
Prima dell’avvento dell’hyper-threading e delle CPU multi-core, l’incremento delle prestazioni dei dispositivi avveniva tramite l’aggiunta di CPU aggiuntive. Questo approccio richiedeva schede madri con più socket per ospitare i processori, con connessioni in grado di collegare questi socket alla RAM e alle altre risorse del sistema. Ciò comportava un aumento del consumo energetico, maggiori latenze nella comunicazione tra le CPU e costi più elevati delle schede madri.
Tecnologia Hyper-Threading
L’hyper-threading è una tecnologia proprietaria di Intel che simula due CPU all’interno di una singola unità. Grazie all’hyper-threading, una CPU singola viene “vista” dal sistema operativo come se fossero due CPU logiche, consentendo una maggiore velocità nell’esecuzione dei programmi. Le due unità logiche condividono le risorse della CPU fisica: se una CPU è inattiva, l’altra utilizza le risorse per i propri calcoli. Questo metodo migliora le prestazioni del dispositivo, ma non raggiunge le potenzialità di un sistema multi-core.
Oggi, l’hyper-threading rappresenta solo un “extra”. I computer moderni sono equipaggiati con CPU multi-core e utilizzano l’hyper-threading per ulteriori miglioramenti delle prestazioni. Una CPU dual-core, grazie all’hyper-threading, sarà considerata dal sistema operativo come una CPU con quattro core, mentre un quad-core sembrerà avere otto core.
CPU Multi-Core
Inizialmente, le CPU disponevano di un solo core. Per incrementare le prestazioni, i produttori hanno deciso di aumentare il numero di core per ogni singola CPU. Una CPU dual-core ha due unità di elaborazione ed è vista dal sistema operativo come due CPU distinte. A differenza dell’hyper-threading, qui non ci sono “trucchi”: una dual-core possiede effettivamente due unità di elaborazione, così come un octa-core ne ha otto.
Questo approccio consente un notevole incremento delle prestazioni senza la necessità di spazio aggiuntivo o maggiori risorse hardware. Una CPU multi-core richiede un solo socket e non diversi, evitando così un aumento di consumo energetico e risorse. Inoltre, la latenza è inferiore poiché i singoli core possono comunicare tra di loro molto più velocemente.
La maggior parte dei computer attuali è dotata di CPU multi-core. Intel accompagna questa modalità costruttiva con la tecnologia dell’hyper-threading. Alcuni computer con esigenze computazionali particolari possono presentare più di una CPU. Le CPU multi-core sono utilizzate anche su dispositivi mobili come tablet e smartphone.