Il
processori, o meglio le CPU (acronimo di Central Processing Unit), con il componente più complesso all'interno di un PC. Sono costruite infatti con molti milioni di transistor e uno dei primi elementi da valutare è il processo produttivo con cui sono realizzati. Il tipo di processo produttivo usato infatti è in continua evoluzione tende a ridurre sempre più le distanze fra i componenti interni del processore, con vantaggi in termini di dissipazione di calore, frequenze di funzionamento e costi.
Attualmente i più recenti processori cono costruiti con un processo a 45 nanometri (nm) e il prossimo passo sarà il passaggio a 32 nanometri.
All'interno di una CPU ci sono numerosi componenti e l'architettura del processore è uno degli elementi in continua evoluzione. In sostanza nel mondo consumer la quasi totalità dei processori per PC è in grado di eseguire le
istruzioni chiamate x86, quelle cioè compatibili con le prime CPU Intel e usate dalla assoluta maggioranza dei programmi. Dai tempi dei primi PC sono comunque cambiate moltissime cose in termini di architettura e prestazioni delle CPU. Con il tempo i vari produttori hanno inoltre realizzato versioni specifiche per campi di applicazione diverse. Anche se le più recenti CPU usano la stessa architettura interna, infatti, ci sono versioni per i protatili, caratterizzate da bassissimi consumi, versioni per PC desktop e versioni per workstation e server, ciascuna con delle ottimizzazioni per il particolare impiego.
[tit:Alcuni dei componenti principali]
L'analisi dettagliata dell'architettura delle CPU non è lo scopo di questo articolo, ma può essere sicuramente utile avere delle informazioni su alcuni dei componenti principali all'interno di un processore.
Uno di questi componenti è la
memoria cache, suddivisa in più livelli. Lo scopo della memoria cache è quello di avere i dati e le istruzioni da eseguire il più vicino possibile alle unità che le devono elaborare. Per questo motivo le cache sono suddivise in più livelli, di dimensioni diverse, e spesso specializzate nell'ospitare istruzioni piuttosto che dati. Particolari algoritmi caricano dalla memoria RAM del PC i dati e le istruzioni che pià probabilmente dovranno essere eseguite dopo quelle che sono attualmente in esecuzione. Questo significa poter rispondere meglio alla necessità di avere nel più breve tempo possibili i dati e le istruzioni che le unità di elaborazione devono eseguire.
I problemi connessi alla cache sono diversi. Per esempio aumentando la quantità di memoria usata come cache, le prestazioni non aumentano in modo lineare, questo significa che raddoppiando la cache non raddoppiano le prestazioni.
Un altro problema è che l
e celle di memoria occupano spazio sul die di silicio della CPU, e
i costi dei processori sono strettamente legati alle dimensioni del chip. Un altro elemento che condiziona le prestazioni è la velocità del bus di sistema. Questo componente permette infatti il trasferimento di dati tra i componenti della scheda madre, come per esempio dal processore alla memoria.
Un altro componente interessante è il
controller per la memoria, che è integrato da molto tempo nelle CPU di AMD, e solo con la più recente generazione di processori chiamati Core i7 da Intel. Questo componente infatti era esterno nelle architettura Intel precedenti, ma ora è stato integrato con il vantaggio di migliorare le prestazioni nella gestione della memoria del PC.
[tit:I processori con più core]
Dato che il modello di crescita delle prestazioni basato sull'aumento
della frequenza di clock ha mostrato tutti i sui limiti (aumentando il clock a parità di altre condizioni aumenta infatti anche il consumo di energia e la dissipazione di calore) da tempo i produttori hanno introdotto CPU con più core, ovvero con più nuclei di elaborazione: in pratica più processori in un unico contenitore.
Attualmente sono disponibili CPU per prodotti consumer con due, tre e quattro core.
In questo modo è diventato possibile ridurre le frequenze operative pur conservando la capacità di eseguire un numero adeguato di istruzioni per ogni ciclo di clock, visto che le istruzioni possono essere eseguite in parallelo. Questo infatti è il vero vantaggio dei processori multicore: poter eseguire più operazioni simultaneamente.
Ovviamente, per loro natura, ci sono applicazioni che traggono maggiori benefici da questa esecuzione in parallelo delle istruzioni, e altre, invece, meno. Soprattutto quelle più datate corrono il rischio di non avvantaggiarsi dalla disponibilità di più core, anche se questa questo non è sempre vero.
Facciamo un esempio: ormai i PC eseguono molteplici attività simultaneamente, come per esempio la scansione antivirus, programmi di instant messaging e altri. In uno scenario come questo le risorse della CPU devono essere condivise fra sempre più contendenti e poter disporre di più risorse, leggi più core, aiuta a non rallentare troppo le performance, anche se i singoli programmi non riescono da soli a sfruttare la presenza di più core.
[tit:Zoccoli, socket e affini]
A parte una parentesi, durata non molto a lungo, di implementazione dei processori in speciali cartucce, le CPU sono ospitate su appositi zoccoli. Il problema è questi zoccoli, o socket, cambiano relativamente spesso e ovviamente
non si può sperare di inserire una CPU in uno zoccolo di tipo diverso. In realtà il problema si presenta soltanto quando occorre cambiare il processore, operazione che sta diventando sempre meno frequente in ambito consumer.
Spesso infatti l'evoluzione delle tecnologie è tale che se si presenta la necessità di cambiare la CPU, probabilmente può essere più conveniente sostituire l'intero PC considerando la progressiva riduzione dei prezzi e la parallela crescita di prestazioni. A questo va aggiunto che spesso le tecnologie più recenti introducono qualche limitazione che impedisce di utilizzare i componenti più obsoleti. Avere qualche margine per successivi upgrade può essere però utile e quindi occorre fare molta attenzione durante i periodi di transizione tra un tipo di socket e un altro.