CPU (Processore) : Come funziona il cuore di un PC

Lo utilizziamo quasi tutti giorni, ma nella maggior parte dei casi ci dimentichiamo che è il CPU a gestire tutti i dati, le regole e gli indizi che diamo al nostro computer. Bisogna dargli l’attenzione che merita, visto il suo ruolo privilegiato tra i componenti di un PC.
Il CPU, acronimo di Central Processing Unit, è banalmente l’unità centrale di elaborazione delle informazioni. Si trova collocato sulla scheda madre, detta anche mobo, nel suo apposito socket (punto terminale di una connessione a doppio senso).

Diciamo banalmente, in quanto in realtà la sua posizione interna sulla scheda madre ne determina anche le funzioni, nonostante le dimensioni così minute.
Per comprendere le sue fasi ed il suo funzionamento è bene prima dire da cosa è composto e quali sono le funzioni di ogni elemento al suo interno:

  1. Unità di controllo: legge le istruzioni presenti nella memoria centrale (RAM) e memorizza il risultato delle operazioni;
  2. Unità aritmetica e logica: esegue le operazioni aritmetiche e logiche come una sorta di calcolatrice;
  3. Shifter: elabora i dati e li modifica in relazione alle operazioni da compiere;
  4. Diversi registri: sono parti di memoria all’interno della CPU, importanti perchéaccedervi è molto più veloce che accedere alla RAM;

Le Fasi del CPU

Un programma è una sequenza ordinata e finita di istruzioni, dunque ciò che al processore viene fornita è la posizione in memoria della prima istruzione da eseguire. Più semplicemente una lista di istruzioni che viene data al processore, e dalla quale esso sviluppa a sua volta una lista di istruzioni per poter seguire le istruzioni che l’utente gli ha fornito. Questa successione di regole è una divisione che per il CPU è divisa in fasi, ovvero:

  1. Lettura istruzione (fase di FETCH – prelievo). La CPU tramite il BUS INDIRIZZI attiva la locazione di memoria il cui indirizzo è contenuto nel registro PROGRAM COUNTER. Il contenuto della locazione di memoria centrale cioé l’istruzione in linguaggio macchina, viene trasferito tramite il BUS DATI nella CPU, nel REGISTRO ISTRUZIONE CORRENTE;
  2. Decodifica istruzione (fase di DECODE). In base al codice operativo viene decodificata l’istruzione corrente;
  3. Esecuzione istruzione (fase di EXECUTE). La CPU esegue l’istruzione corrente. Tramite il BUS DATI vengono trasferiti in memoria eventuali risultati dell’operazione.
  4. Il ritorno, ovvero la fase nella quale finita
    l’esecuzione di un’istruzione si ritorna in cima alla lista per eseguire la prossima.

Queste fasi si ripetono per ogni istruzione fino alla fine del programma. Ogni trasferimento avviene tramite il bus di sistema, che gestisce il collegamento logico tra gli elementi del calcolatore, mentre il collegamento fisico tra di essi è sempre presente.

Le varie fasi di elaborazione dei dati si svolgono in maniera sincrona alla scansione temporale del clock di sistema, durante la quale, la CPU coordina l’esecuzione delle funzioni svolte dalla CPU stessa. Tutto questo avviene in maniera sequenziale, determinata dalla CPU, mentre architetture più recenti permettono, tramite il parallelismo, di eseguire contemporaneamente più operazioni. L’esecuzione dell’ultima istruzione determina lo STOP del ciclo.

La Velocità del CPU

Ciò che consente la velocità di lettura, di comprensione e di risposta, dunque le fasi analizzate di sopra, è la presenza di una memoria di linguaggio che si trova all’interno del CPU. Parliamo dunque dei registri. Questi sono delle memorie di dimensioni molto piccole, ma ad accesso veloce. Sono utilizzati per consentire l’esecuzione dell’istruzione corrente o per aumentare la velocità di esecuzione di un programma. I nomi dei registri utilizzati di seguito sono generici e si riferiscono alla loro funzione; ogni processore è dotato di registri che svolgono la funzione indicata, ma il nome di ciascun registro è specifico di ogni processore.

Il lavoro della CPU è però scandito anche da un orologio di sistema detto clock che controlla la velocità delle operazioni. Il clock invia un flusso costante di impulsi digitali detti cicli, misurati in Hertz (Hz) cioè cicli al secondo. Maggiore è la velocità del clock, più veloce sarà l’elaborazione dei dati e l’esecuzione delle istruzioni dei programmi. Attualmente, il clock di una CPU di un PC è sull’ordine dei GHz (miliardi di cicli al secondo).

Per una più semplice comprensione di seguito nella Figura 2, si possono identificare i vari registri che il CPU possiede. L’unità di controllo e l’Unita Aritmetica Logica, come spiegato in precedenza, sono invece gli strumenti di cui il CPU fa uso per la lettura e per il calcolo delle istruzioni fornitegli.

Non tutti i registri presenti sono di vitale importanza per il corretto funzionamento del CPU.

Per distinguerli si può osservare di seguito:

a) Registri di Uso Speciale

  1. Program Counter: i bit del registro PC indicano l’indirizzo di una parola in RAM il cui contenuto rappresenta la prossima istruzione da eseguire;
  2. Registro di Stato (SR): i bit del registro SR indicano che una particolare
    condizione si è verificata a seguito dell’esecuzione di un’istruzione, ad esempio,
    se un’istruzione di somma genera un overflow allora la ALU scrive un certo valore nel registro SR.

b) Registri di Uso Standard

I registri di uso generale, che in questo contesto chiameremo genericamente R0, R1, R2, memorizzano temporaneamente gli operandi e i dati utilizzati per l’esecuzione di una istruzione. Il valore complessivo di tutti i registri della CPU costituisce lo stato in cui essa si trova in un certo istante. Come vedremo in seguito, non tutti i registri sono direttamente accessibili dal programmatore.

Come Scegliere un CPU

La risposta più banale a questa domanda è: in base alle proprie necessità. In realtà non è proprio così. Vi sono una serie di fattori da tenere a mente prima di avventarsi nell’acquisto.

Per identificare le migliori CPU è necessario tenere come riferimento la frequenza di clock, un valore espresso in Hertz che indica la velocità con la quale la CPU esegue il ciclo di 4 fasi precedentemente descritto. Più alta è la frequenza di clock, maggiore sarà la velocità del processore.

Questo segnale elettrico è generato internamente al computer ed è costituito da rapidissimi impulsi che si ripetono innumerevoli volte per secondo. A seconda del dispositivo, questo valore varia da 3 o 4 GHz per core per un PC fisso o un portatile a un valore tra 1 e 2 GHz per gli smartphone e alcuni tablet.

Questa informazione è presente e facilmente identificabile nella scheda tecnica della scheda madre del dispositivo. Tuttavia oggi i produttori hanno smesso di produrre CPU con frequenze elevate e hanno invece iniziato a puntare la propria attenzione sul numero di istruzioni per ciclo di clock.

Dunque oggi raramente si superano i 4GHz, perché a tali frequenze la CPU tende a scaldare troppo il dispositivo e i normali sistemi di raffreddamento non sono più sufficienti per tenere testa alla velocità della frequenza.

Non è stato quindi più possibile continuare ad aumentare la velocità di clock a causa di una serie di problematiche legate all’aumento dei consumi energetici e al surriscaldamento del processore. Per trovare il miglior processore bisogna perciò tenere conto anche della frequenza (che dipende dal numero di core presenti, dall’assorbimento di corrente stimato, dal consumo energetico stimato e dalla temperatura di lavoro).

Oltre a numero di core e frequenza, nella scelta di una CPU bisogna considerare anche il quantitativo di memoria cache, il processo di produzione, la scheda grafica integrata, la predisposizione all’overclock e il tipo di socket, tutti elementi che determinano, inevitabilmente, il prezzo.

Di seguito un elenco dei prezzi sul mercato in base alla categoria:

  • Da 50€ a 100€: le CPU con 2 o 4 core vanno bene se l’esigenza è quella di guardare video senza interruzioni, navigare sul web velocemente e fare operazioni di produttività base con software installati sul dispositivo.
  • Dai 150€ a 250€: per prestazioni alte nei videogiochi;
  • Da 250€ a 350€: per lavori di editing video con più core o velocità;
  • Dai 400€ in su: per operazioni di rendering avanzate, creazione di video 4K o per lavorare con enormi database e complessi calcoli matematici. In questo caso è fondamentale contare su un dispositivo con una quantità enorme di core fisici per il multitasking estremo.

I Limiti dei Nuovi Processori

Come spiegato anche in precedenza a causa di vari problemi legati alla dissipazione termica, i processori non possono più affidarsi solo a un incremento di clock per aumentare le proprie prestazioni, questo dunque crea un disagio non tanto per i produttori quanto per gli utenti, che trovano processori in grado di essere molto veloci ma con poca memoria a disposizione. Per fortuna un nuovo passo è infine stato fatto, e sia Intel che AMD si sono concentrati sulla produzione di processori che integrano sullo stesso chip più core. Con questo sviluppo, è infatti possibile effettuare un nuovo salto prestazionale. Ma veniamo al motivo principale per qui vi sono stati dei limiti nell’incremento di questa tecnologia negli anni:

Dissipazione Termica

Generalmente parlando, dal punto di vista fisico, a transistor di dimensioni minori corrisponde un aumento dell’efficienza degli stessi, proprio perché possono cioè cambiare il loro proprio stato logico più velocemente, ma non è sempre vero dal punto di vista pratico. Ne è dimostrazione la difficoltà delle CPU più recenti nell’aumentare la frequenza di funzionamento e nel dissipare il calore prodotto. Proprio quest’ultimo elemento è il risultato della presenza di correnti di dispersione (leakage) all’interno del chip legate all’inefficienza dei circuiti.

COMMENTI

Share