Oggi impareremo cosa sono i core della CPU e come funzionano insieme. Molti anni fa, le CPU avevano un solo core. Ora le CPU hanno più di un core in computer, smartphone e persino smartwatch.
Cos’è un core della CPU?
Il nucleo di una CPU è la parte più importante di essa. È il componente in cui le informazioni del sistema informatico vengono elaborate per essere registrate, lette, interpretate e scritte. Tutte le attività da svolgere e da inviare passano attraverso di essa ed è anche il luogo in cui gli altri componenti del sistema ricevono le istruzioni da eseguire.
Tuttavia, nel tempo il numero di core è aumentato notevolmente. In questo momento, i processori della più importante gamma domestica hanno addirittura 16 core, come nel caso del Ryzen 9 5950X; d’altra parte, nei server, possiamo trovare CPU con un massimo di 64 core.
Come funzionano i core della CPU?
In molti casi, più core non rappresentano esattamente una maggiore funzionalità o prestazioni più elevate rispetto a un single-core e la risposta sta nel modo in cui funzionano questi core.
Una CPU può elaborare solo una singola attività alla volta. Questo è il motivo per cui funzionano a velocità molto elevate con frequenze superiori a 1 GHz nei processori meno recenti e superiori a 4 GHz nei prodotti di fascia alta. Tuttavia, con il progredire anche dello sviluppo del software, le CPU iniziarono a diventare più lente rispetto alla quantità di informazioni che dovevano elaborare. Quindi è nata la necessità di creare cluster e unità centrali che registrino le informazioni individualmente per dividere le attività e dare sollievo alle attività più complesse e impegnative.
In molti sistemi, specialmente nelle CPU ARM, non tutti i core funzionano alla stessa velocità. Questa è anche una sfida di sviluppo per i programmatori e gli ingegneri che progettano queste macchine. In molti di questi casi, i processi sono suddivisi in base alla velocità con cui ogni core può lavorare in compiti più o meno impegnativi, dando luogo anche alla divisione in categorie di core.
Tuttavia, questo risponde solo alla programmazione del software, che avrà il compito di chiedere alla CPU di eseguire attività attraverso diversi core nel caso in cui sia progettata in questo modo. In caso contrario, il lavoro continuerà a concentrarsi su un unico core.
Immaginiamo che i compiti inviati da un sistema computazionale siano hamburger serviti su un tavolo dove le coppie possono sedersi per lavorare. Più bocche ci sono, più velocemente finirà il cibo. La velocità con cui ogni core mangia dipenderà anche dalla priorità con cui vengono serviti gli hamburger perché non ha senso inviare ordini di 10 hamburger a un core che può mangiare solo 5 hamburger alla volta perché sono a dieta. Spero che questa dimostrazione sia stata abbastanza chiara.