HomeComputer, componenti e accessoriCome funziona un processore?

Come funziona un processore?

Scegliere un processore è fondamentale per il computer e si lega profondamente all’uso che farai dell’intera configurazione.

Di solito, si considerano specifiche come frequenza, cache, core e thread, e così via. Puoi approfondire questi argomenti nell’articolo dedicato a come si sceglie la CPU. 🙂

Si tratta della parte più importante di qualsiasi dispositivo informatico. Ma come funziona un processore?

In questa guida, vedremo nello specifico com’è composta una CPU e qual è il suo funzionamento.

Così potrai capire meglio perché un processore è il cuore di qualsiasi computer. Inoltre, vedremo anche come le caratteristiche della CPU si legano al modo in cui funziona.

Considera però ti parlerò di come funziona un processore in modo dettagliato ma semplificato, senza rendere il tutto più complesso di quanto già non sia. 😉

Il vero funzionamento di una CPU è decisamente più complesso, soprattutto se consideri la costante evoluzione tecnologica degli ultimi decenni.

Iniziamo subito!

Come funziona un processore?

Com’è composto un processore?

Come ti dicevo nell’introduzione, ogni dispositivo informatico funziona anche grazie a un processore. Router, smartwatch, lavatrici intelligenti, computer sono tutti esempi che impiegano una unità di elaborazione centrale.

Già limitandoci al contesto informatico, c’è differenza fra CPU, GPU, APU e controller, tutti processori che svolgono funzioni diverse. 🙂

Nel corso di questa guida, ti parlerò di come funziona un processore considerando appunto le CPU utilizzate nei computer.

Dal punto di vista concettuale, tutti i processori funzionano in modo simile, dal momento che sono unità di calcolo in grado di eseguire operazioni.

In particolare, una CPU è composta da diversi elementi. Oltre ai miliardi di transistor, i piccoli interruttori che stanno alla base del funzionamento, ci sono diverse altre parti.

Nei prossimi paragrafi, non parleremo neanche dell’Integrated Heat Spreader o dei pin metallici che permettono il montaggio sulla scheda madre.

Al contrario, ti mostrerò quali sono gli elementi interni al chip vero e proprio, ossia alla parte centrale di qualsiasi processore. 😉

Vediamoli in dettaglio!

Set di istruzioni

Semplificando, ma avremo modo di approfondire, il set di istruzioni è un elenco di azioni che vengono eseguite dal processore.

Tutti i software sono composti da milioni di istruzioni disposte in sequenza. Queste vengono scritte seguendo il set di istruzioni della CPU, in modo che possano essere eseguite senza problemi.

Per farti un esempio, tutti i processori AMD e Intel sono realizzati sulla base del set di istruzioni x86. Al contrario, gli ultimi processori Apple e tutti i processori degli smartphone sono basati su ARM. 😉

Clock e frequenza di clock

Il clock rappresenta un vero e proprio “orologio” che, all’interno del processore, gestisce i cicli di lavoro e quindi di esecuzione delle operazioni.

In realtà, però, non tutti hanno familiarità con il clock, il circuito di temporizzazione della CPU, quanto con la frequenza di clock.

Quest’ultima è la frequenza dei cicli che un processore può gestire nell’arco di un secondo. Per esempio, una CPU single core da 2 GHz può eseguire 2 miliardi di operazioni al secondo. 🙂

Unità aritmetica e logica e unità di controllo

All’interno di una CPU c’è un circuito chiamato ALU, Arithmetic Logic Unit. Questa è l’unità aritmetica e logica, ossia la parte del processore che esegue calcoli e confronti.

Inoltre, una CPU contiene anche la Control Unit, l’unità di controllo il cui compito è coordinare l’attività fra le altre parti del processore.

Memoria del processore

Hai letto bene: anche la CPU ha una sua memoria o, meglio, ne ha di diversi tipi. 🙂

Per quanto siano veloci e capienti, gli SSD sono infatti infinitamente più lenti della RAM e, allo stesso tempo, la RAM è troppo lenta per il processore.

Come fare allora?

Il processore ha all’interno diverse memorie, ciascuna con diverse velocità e diverse capacità. Si tratta di aree di archiviazione chiamate registri e cache.

Entrambe hanno il compito di conservare i dati in attesa che li richieda la CPU. Sono velocissime ma spesso hanno capacità molto piccole: pochi KB per i registri e fino a pochi MB per la cache L3.

Set di istruzioni di una CPU

Sappiamo tutti che un computer parla il linguaggio binario, basato su concetti di vero e falso, acceso e spento, 1 e 0.

Lo stato di 1 o 0 costituisce la quantità minima di informazione, ossia quello che in informatica viene definito “bit”, binary digit.

Ed è proprio il calcolo binario che sta alla base del linguaggio macchina, cioè il codice basilare sul quale si fonda il funzionamento di un processore.

Otto bit di informazione formano un byte, che è proprio la quantità di informazione per scrivere per esempio un carattere.

Come puoi immaginare, programmare un software utilizzando soltanto 0 e 1 non è semplice. Inoltre, risulta anche controproducente, dal momento che non si può aspirare a grandissimi livelli di complessità.

Per questa ragione, negli anni sono stati sviluppati i cosiddetti linguaggi assemblativi, o Assembly. Più corto del linguaggio binario, permette di scrivere i software in modo meno complesso.

Puoi immaginare il linguaggio Assembly come una sequenza di istruzioni per il funzionamento del processore, ossia un Instruction Set Architecture.

Ora, non esiste un solo set di istruzioni. Oggi ne conoscerai sicuramente due:

  • da una parte, x86 sta alla base delle CPU Intel e AMD, soprattutto per quanto riguarda la sua estensione a 64 bit, o x86-64;
  • dall’altra parte, ARM è il set di istruzioni dei processori M1 e M2 di Apple e dei SoC che trovi negli smartphone (e non solo).

Benché sia possibile, non sempre oggi gli sviluppatori dialogano con i processori utilizzando il linguaggio Assembly.

In molti casi, scelgono dei cosiddetti “linguaggi ad alto livello”, ossia linguaggi di programmazione più intuitivi. Questi vengono poi convertiti in Assembly e da qui in linguaggio macchina.

Architettura di un processore

Volendo sintetizzare, quindi, il set di istruzioni di un processore è l’insieme delle operazioni che gli permettono di funzionare.

Questa può essere considerata l’architettura che sta alla base di CPU anche molto diverse fra loro. Intel e AMD hanno in comune il set x86, la cui versione a 64 bit è stata proprio introdotta da AMD.

Tuttavia, oggi ci si riferisce ad architettura di un processore per indicare un insieme di diversi parametri:

  • set di istruzioni;
  • processo produttivo;
  • generazione.

Alcuni esempi sono per esempio il Ryzen 5 5600G e il Core i5-11600K, rispettivamente con architettura Zen 3 e Rocket Lake.

Come puoi intuire ISA e architettura della CPU non vanno confuse fra di loro. Entrambe si riferiscono ad alcuni aspetti di un processore, ma non sono sovrapponibili se non parzialmente. 😉

Transistor: la base delle operazioni di una CPU

Se il set di istruzioni definisce il modo in cui un processore comprende il linguaggio Assembly, per eseguire i calcoli in codice binario si utilizzano i transistor.

Si tratta di semiconduttori che – mediante il passaggio di energia elettrica – possono assumere uno stato di acceso o spento.

In pratica, un transistor è un interruttore binario: a seconda del suo stato, avrai uno 0 o un 1. Inoltre, più transistor combinati insieme costituiscono una porta logica: utilizzando due ingressi binari, esegue un’operazione e restituisce un output. 😉

Oggi, i moderni processori hanno miliardi di transistor al loro interno. E se pensi alle dimensioni di un Ryzen 5 4500, puoi immaginare quanto debbano essere piccoli.

Quando senti parlare di processo produttivo a 10 nm, o processo produttivo a 7 nm, ci si riferisce proprio alla grandezza dei singolo transistor.

Per intenderci, un nanometro corrisponde a un milionesimo di millimetro. 😉

Prezzi estratti dall'API per la pubblicità dei prodotti Amazon su:

Come funziona un processore: cicli di clock

Un processore è una unità di calcolo, una central processing unit. Il suo scopo è eseguire continuamente operazioni. Per questa ragione, quando si parla del funzionamento di una CPU lo si fa in termini di cicli.

In generale, ogni ciclo di clock è composto da quattro fasi:

  • Fetch (prelievo), la prima fase del processo ciclico, in cui il processore carica l’istruzione di un programma dalla memoria;
  • Decode (decodifica), in cui la CPU decodifica e interpreta le istruzioni del programma;
  • Execute (esecuzione), ossia la fase all’interno della quale il processore esegue le operazioni decodificate;
  • Store (memorizzazione), la fase finale, in cui la CPU salva i risultati sulla memoria, per poi ricominciare il ciclo.

Per eseguire le operazioni, un processore impiega tutti i componenti che abbiamo visto nella parte iniziale di questa guida.

Se il set di istruzioni serve per decodificare le istruzioni del programma, sulla memoria vengono conservati o prelevati i dati.

Allo stesso tempo, la Control Unit interpreta ed esegue le istruzioni codificate, mentre la Arithmetic Logic Unit esegue le operazioni logiche, quelle aritmetiche e i confronti.

Frequenza di clock del processore

Se un processore eseguisse un ciclo – fetch, decode, execute, store – al secondo, allora avrebbe una frequenza di clock di 1 Hz.

Gli Hertz sono infatti una misura della frequenza di un evento nell’unità di tempo, ossia il secondo. 🙂

Ciò vuol dire che i processori moderni, che hanno frequenze di clock superiori ai 3 GHz, possono eseguire oltre tre miliardi di cicli al secondo.

Qui torna utile anche il discorso fatto prima sull’architettura di un processore. Non è possibile confrontare direttamente due CPU con architetture diverse che presentano la stessa frequenza di clock.

In ugual modo, bisogna considerare che oggi i processori non hanno un solo core, ma spesso presentano:

  • più core fisici;
  • diversi core logici, o thread;
  • nel caso delle CPU Intel 12th e 13th gen, anche diversi efficiency core.

Se Intel Hyper-Threading – e il multi-threading in generale – consente di “distribuire” le diverse operazioni, i core ad alta efficienza sono pensati per svolgere i compiti più semplici consumando meno energia.

Oggi, le CPU sono infatti molti più avanzate rispetto al passato e vengono incontro alle maggiori esigenze degli utenti.

Per esempio, i processori dual core sono stati introdotti nel 2005. Tuttavia, è soltanto negli ultimi anni che software e videogame hanno iniziato a sfruttare appieno sia i core fisici sia i core logici a disposizione. 😉

Registri e cache: la memoria del processore

Quando valuti quale CPU acquistare, uno dei valori più sbandierati dai produttori è quello che riguarda la cache.

Come avviene a proposito del funzionamento di un SSD, anche nei processori la cache rappresenta una piccola porzione di memoria.

E come per gli SSD, anche qui la cache permette di velocizzare i cicli di esecuzione delle operazioni.

Le CPU tuttavia dispongono di diverse tipologie di memoria, che vale la pena approfondire brevemente.

Innanzitutto, abbiamo i registri. Si tratta di porzioni di memoria situate sul processore che permettono un accesso immediato alle informazioni memorizzate.

Hanno capacità ridottissima – 64 bit nei processori a 64 bit – e permettono di mantenere in memoria i risultati delle operazioni svolte durante i cicli.

Cache del processore: quanto è importante?

Al contrario, la cache è molto più ampia e costituisce, al netto dei registri, la memoria in assoluto più veloce del computer. 🙂

Per capire meglio a cosa serve, puoi immaginarla come un punto di raccolta per i valori che la CPU deve processare.

Dal momento che è molto più veloce della RAM o di un SSD, risulta indispensabile anche se ha capacità di gran lunga inferiori.

Considera che l’accesso a un valore presente nella cache può richiedere 2 o 3 cicli da parte del processore. Se quel medesimo valore fosse memorizzato all’interno di un SSD di ultima generazione, l’accesso potrebbe arrivare a richiedere migliaia di cicli.

La sproporzione è evidente. 🙂

Esistono cache di diversi livelli.

  • Cache L1

Relativa al singolo core, è la cache più veloce e con minore latenza. Per questa ragione, è la prima porzione di memoria in cui il processore cerca i dati.

Ha una capacità di poche decine o centinaia di KB, a seconda della CPU. Per esempio, il Core i3-10100F ha 64 KB di cache L1, mentre il Ryzen 9 5900X ne ha 512 KB.

  • Cache L2

Anch’essa relativa al singolo core, la cache L2 è più capiente rispetto alla cache L1 ma anche relativamente più lenta. Si tratta della seconda memoria in cui un processore ricerca i valori su cui effettuare le operazioni.

  • Cache L3

Al contrario delle prime due, la cache L3 è condivisa fra i diversi core fisici. Come puoi immaginare, è più ampia ma leggermente più lenta, anche se rimane comunque più veloce di qualsiasi memoria RAM o SSD.

Per esempio il Ryzen 5 4500 ha una cache L3 di 8 MB, mentre il Core i9-11900K ne ha una di 16 MB. 😉

Prezzi estratti dall'API per la pubblicità dei prodotti Amazon su:

Conclusioni

Come hai visto, una CPU è una componente estremamente complessa. Affonda le sue radici nel concetto di linguaggio binario e, allo stesso tempo, è la base per avviare un videogame in 4K. 🙂

Pur nelle necessarie semplificazioni, nella guida che hai appena letto ci sono le basi su come funziona un processore.

Senza set di istruzioni, unità aritmetica e logica e unità di controllo, registri e cache non avremmo i processori che oggi utilizziamo per tutto.

A questo proposito, se stai valutando di aggiornare il tuo o assemblare un computer, qui trovi la guida ai migliori processori per PC

Ti segnalo anche l’articolo sulle diverse configurazioni da gaming per fascia di prezzo. 😉

Per qualsiasi dubbio o consiglio, invece, scrivi pure un commento qui sotto!

Matteo Zigliani
Matteo Ziglianihttps://robadainformatici.it
CEO & Founder di www.robadainformatici.it, vivo l'informatica come una passione. Di giorno aiuto le persone a sfruttare la tecnologia a proprio favore, nel tempo libero condivido queste fantastiche conoscenze in questo spazio, con il resto della rete.

Articoli correlati

LASCIA UN COMMENTO

Inserisci il tuo commento
Inserisci il tuo nome qui
Captcha verification failed!
CAPTCHA user score failed. Please contact us!

CIAO IO SONO MATTEO!

Creativo, appassionato e divoratore di qualsiasi novità; così descrivo al meglio la mia persona.
Da più di 15 anni mi occupo di informatica, collaboro con persone ed aziende per trovare ogni giorno soluzioni che migliorino la convivenza tra uomo e computer. Sin da piccolo ho sempre nutrito una forte passione per questo mondo, e non vedo l'ora di raccontare tutte le mie esperienze a te! ;-)

Unisciti a più di 5.000 iscritti!

Da anni Roba da Informatici è un portale dedicato al mondo tech e siamo orgogliosi di aver aiutato più di 10 milioni di persone con i nostri articoli, recensioni e tutorial.

Entra anche tu a farne parte!
Riceverai contenuti premium, News dal mondo tech e tanto altro ancora.



Più letti