Come funziona un processore

Il compito primario di una CPU è di eseguire una serie di istruzioni chiamate solitamente programma. Per riuscire a fare ciò, ogni processore (e questo è rimasto immutato dagli anni ’40 ad oggi) fa ricorso a due delle sue componenti fondamentali: la ALU (arithmetic logic unit, unità logica aritmetica) e la CU (control unit, unità di controllo). La prima è incaricata di svolgere le operazioni logico-matematiche che permettono di trasformare i dati in arrivo dalle periferiche di input, mentre la seconda ha il compito di controllare e coordinare le azioni necessarie per l’esecuzione delle operazioni.

Una CPU AMD a 64 bit

Il ciclo di lavoro di un processore è solitamente suddiviso in quattro fasi: acquisizione dell’informazione (fetch), decodifica (decode), esecuzione (execute) e riscrittura (writeback).

La prima fase consiste nell’andare a recuperare le informazioni necessarie allo svolgimento dell’operazione logica. Le informazioni sono salvate nella memoria e sono individuabili grazie a un indirizzo logico specificato in un apposito registro, il Program Counter.

Una volta che le informazioni sono state reperite, c’è la necessità di renderle “digeribili” al processore. I dati, infatti, devono essere spezzettati in unità significative per la CPU, in modo che possa portare a termine le istruzioni richieste dal programma.

La terza fase è quella prettamente operativa. Dopo che i dati sono stati scomposti e resi “digeribili” alle unità logico-aritmetiche del processore, questi vengono trasformati in base alle operazioni che ogni programma invia al processore stesso.

Nella quarta e ultima fase, quella della riscrittura, i dati così modificati vengono riscritti in una porzione casuale di memoria e messi a disposizione del programma che ne aveva “fatto richiesta”.

Il ciclo di lavoro appena descritto determina anche la velocità del processore e ne costituisce, sostanzialmente, l’unità di misura delle performance. Maggiore sarà il numero di cicli che il processore è in grado di completare nell’unità di tempo, maggiore sarà la frequenza di lavoro (misurata in hertz). Oggi le frequenze dei processori si aggirano attorno ai 2-3 Gigahertz (Ghz) ma, per avere un’idea della potenza di calcolo complessiva, va tenuto in conto che ogni singola unità di lavoro contiene al suo interno 2 o più processori (multicore).