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.
E se ancora non ti è venuto il mal di testa, ti sveliamo un'altra cosa: il multi-thread non è affatto stato superato, ma è ancora parte delle tecnologie applicate alle CPU in commercio, che sono tutte multi-core. Come districarsi in questo labirinto di sigle? Con questa guida rapida, che ti spiega come sono cambiate le CPU negli ultimi 20 anni e quali sono le tecnologie che, oggi, rendono una CPU più veloce di un'altra.
La storia delle CPU: "the need for speed"
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 degli anni '90 erano molto (ma molto, anzi moltissimo) 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: 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 permetteva anche di ottenere CPU dai consumi energetici inferiori e che scaldavano meno e, di conseguenza, tutti i produttori si lanciarono nella corsa alla frequenza più alta.
Ma già nel 2002 Intel aveva capito che alzare la frequenza di clock non bastava per offrire prestazioni migliori e, così, lanciò sul mercato il Pentium 4 HT. Dove "HT" sta per "Hyper-Threading", cioè la prima tecnologia multi-thread apparsa sul mercato delle CPU per PC desktop domestici e da ufficio. Parallelamente, però, esisteva anche un mercato di computer ad alte prestazioni: le workstation (usate soprattutto per la grafica 3D) e i server. In questo mercato dominavano le CPU multiple: due o quattro CPU Intel o AMD montate sulla stessa scheda madre per alzare le prestazioni. E bisogna tornare ancora al 2005, invece, per vedere Intel presentare la sua prima CPU dual core: il Pentium D, che integrava nello stesso chip due processori che lavoravano in parallelo.
Multi-thread, multi-core e multi CPU: cosa significano i termini
Una CPU multi-thread è un processore che può eseguire due thread contemporaneamente. Un thread (letteralmente "filo da cucito"), per semplificare moltissimo, è una parte dalle istruzioni che una CPU deve elaborare per eseguire un compito (o, meglio, un "processo"). Una CPU multi-thread quindi può suddividere un processo in più thread ed elaborarli parallelamente per offrire più velocemente il risultato atteso. Questa tecnologia ottimizza il funzionamento della CPU, perché la tiene sempre impegnata a processare thread anche se l'intero processo precedente non è stato ancora concluso. Anche se la CPU è una sola, il sistema operativo vede due "unità logiche" perché essa può effettivamente elaborare due thread contemporaneamente.
Una CPU multi-core, invece, è un "processore multiplo" racchiuso in un solo chip. Fisicamente il multi-core non si vede: sulla scheda madre troveremo una sola CPU, alloggiata in un solo socket. Ma dentro quella CPU, in realtà, ci sono due, tre, quattro, otto o persino 16 core fisici che lavorano in parallelo per elaborare più informazioni in ogni ciclo di clock. Parleremo, quindi, di CPU dual-core, tri-core, quad-core, octa-core o hexa-core. Ognuno di questi core può essere anche multi-thread, qundi le CPU appena menzionate saranno in grado di eseguire contemporaneamente 4, 8, 16 o 32 thread.
Quando abbiamo più CPU alloggiate su più socket sulla stessa scheda madre, invece, parliamo di computer multiprocessore, o multi CPU. In questo caso ognuna delle CPU può anche essere multi-core e ogni singlo core può a sua volta essere multi-thread aumentandone esponenzialmente le capacità di calcolo. Un computer con due CPU single core su due socket diversi, però, è meno efficiente di un altro con una sola CPU dual core. Questo perché la comunicazione tra le due CPU fisicamente separate sarà sempre più lenta rispetto a quella tra due core ospitati sullo stesso chip di silicio (o, come dicono i tecnici, sullo stesso "die").
E quindi? Cosa compro?
Il problema, in realtà, non si pone nemmeno. 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. Anche molti processori SoC (System on a Chip) per smartphone e dispositivi mobili sono capaci di multi-threading e sono tutti multi-core. In questo secondo caso, però, i diversi core integrati hanno a volte caratteristiche, frequenze e prestazioni diverse in modo da "accendere" di volta in volta solo i core che effettivamente servono e risparmiare così energia. Sono ormai una nicchia molto piccola, invece, i computer "domestici" che montano più CPU sulla stessa scheda madre: persino i PC da gaming più estremi montano una sola CPU (ma multi-thread e multi-core) anche se poi montano due schede grafiche affiancate. Conferma che, nell'uso reale, installare due CPU su una stessa scheda madre non è così efficiente come installare una sola CPU con più core possibili al suo interno.