Che cosa è il processore



Che cosa è il processore

In questo articolo ti parlerò del processore, e approfondiremo tutti gli argomenti correlati ai processori e microprocessori presenti sui nostri computer.
In informatica ed elettronica l’unità di elaborazione o processore è un tipo di dispositivo hardware del computer che si contraddistingue per essere dedicato all’esecuzione di istruzioni, a partire da un instruction set. 

In altri termini l’unità di elaborazione è il dispositivo che nel computer esegue materialmente l’elaborazione dati di un programma tipicamente sotto la supervisione del sistema operativo attraverso il cosiddetto ciclo di fetch-execute. 

Le altre componenti del computer sono ausiliarie all’unità di elaborazione oppure costituiscono l’interfaccia di input o l’interfaccia di output (periferiche).

L’unità di elaborazione, l’interfaccia di input e l’interfaccia di output sono infatti le tre componenti logiche sempre presenti nel computer. 



Il processore è un elemento base dell’architettura degli elaboratori.
Un computer può essere dotato anche di più processori che collaborano tra loro.
In tal caso si parla di “computer multiprocessore” e l’elaborazione dati viene anche chiamata, con termine più specifico, “multielaborazione” o “multiprocessing”.
Il processore, in quanto sistema elettronico digitale, tipicamente lavora ad una certa frequenza di clock che rappresenta uno dei suoi parametri prestazionali in termini di capacità di processamento.

TUTORIAL CORRELATI:

– CHE COSA E’ IL MULTI-PROCESSORE
– CHE COSA E’ IL PROCESSORE GRAFICO
– CHE COSA E’ UN CO-PROCESSORE

TIPI DI PROCESSORI

In base alle funzioni che svolgono, attualmente si possono distinguere le seguenti tre principali tipologie di processori:



  • unità di elaborazione centrale;
  • coprocessore;
  • processore di segnale digitale.

 

Unità di elaborazione centrale (CPU)

L’unità di elaborazione centrale (più conosciuta con la sigla mutuata dalla lingua inglese “CPU” che sta per Central Processing Unit) 

è il processore digitale general purpose che sovraintende tutte le funzionalità del computer digitale basato sull’architettura di von Neumann o sull’architettura Harvard.

L’unità di elaborazione centrale nasce quando, per la prima volta nella storia, vengono riuniti, all’interno dello stesso cabinet (anche detto case), 



due processori che precedentemente erano sempre stati contenuti in cabinet diversi: 

l’ALU e l’unità di controllo.

In particolare la prima unità di elaborazione centrale commercializzata della storia è l’IBM 709 Central Processing Unit, 

un’unità di elaborazione centrale disponibile con l’IBM 709 Data Processing System 



(un computer dell’IBM commercializzato a partire dal 1958) e occupante un cabinet grande quanto un armadio. 

Attualmente invece la tipica implementazione dell’unità di elaborazione centrale è il microprocessore. 

L’unità di elaborazione centrale è quindi contenuta nello spazio di pochi centimetri quadrati.

Un computer multiprocessore può avere anche più unità di elaborazione centrale che collaborano tra loro.



 

Coprocessore

Il coprocessore è un processore ausiliario ad un altro processore. 

La funzione del coprocessore è quella di alleggerire il carico di lavoro del processore di cui è ausiliario. 

Di norma, il carico di lavoro relativo a particolari elaborazioni. 



Spesso il coprocessore è quindi un processore ottimizzato e specializzato nell’esecuzione di particolari elaborazioni in modo da risultare più efficiente nei compiti che gli sono stati affidati. 

Comuni sono i coprocessori dell’unità di elaborazione centrale. 

Tipologie particolari di coprocessori sono le seguenti:

  • coprocessore matematico;
  • unità di elaborazione grafica;
  • controller di periferica.

Coprocessore matematico

Il coprocessore matematico è un coprocessore ottimizzato e specializzato in particolari calcoli matematici. 



I primi coprocessori matematici della storia erano componenti separate dall’unità di elaborazione centrale. 

Oggi, normalmente, il coprocessore matematico e l’unità di elaborazione centrale sono integrati nel medesimo microprocessore. 

Attualmente la tipologia di coprocessore matematico più diffusa è l’unità di calcolo in virgola mobile (più conosciuta con la sigla mutuata dalla lingua inglese “FPU”), coprocessore matematico specializzato nei calcoli in virgola mobile. 

Tutte le moderne unità di elaborazione centrale sono affiancate da un’unità di calcolo in virgola mobile, ed entrambe sono implementate nel medesimo circuito integrato.



 

Unità di elaborazione grafica

L’unità di elaborazione grafica (più conosciuta con la sigla mutuata dalla lingua inglese “GPU“) è un coprocessore ottimizzato e specializzato nel rendering di immagini grafiche. 

Da alcuni anni è in atto la tendenza ad implementare l’unità di elaborazione grafica e l’unità di elaborazione centrale nel medesimo circuito integrato.

 



Controller di periferica

Il controller di periferica o processore di input/output è un coprocessore adibito alla gestione di una o più periferiche. 

Il controller di periferica è presente sin dalla prima generazione di computer elettronici in quanto normalmente la periferica è molto più lenta dell’unità di elaborazione centrale. 

La presenza del controller di periferica evita quindi che l’unità di elaborazione centrale subisca pesanti rallentamenti: sollevata dalla gestione delle periferiche, 

l’unità di elaborazione centrale è libera di utilizzare tutta la sua capacità di calcolo in compiti in cui è richiesta tale capacità.



 

Processore di segnale digitale

Il processore di segnale digitale (più conosciuto con la sigla mutuata dalla lingua inglese “DSP”) è un processore specializzato nell’elaborazione numerica dei segnali. Il processore di segnale digitale può essere utilizzato come processore principale in particolari computer special purpose dedicati esclusivamente all’elaborazione numerica dei segnali (come ad esempio i computer integrati nei riproduttori di CD audio), oppure può essere utilizzato come coprocessore in computer sia general purpose (come ad esempio il personal computer) che special purpose (come ad esempio le moderne console per videogiochi). Nel secondo caso, tipico è l’utilizzo come coprocessore della CPU.

 



Processori distinti per formato dei dati

In base al formato dei dati su cui operano, si possono distinguere le seguenti tre tipologie di processori:

  • processore scalare;
  • processore vettoriale;
  • processore superscalare.

Processore scalare

Il processore scalare è un processore dotato di istruzioni che prevedono come operandi solo dati scalari (numeri interi, numeri reali, variabili booleane, ecc.). Nel processore scalare dunque ogni istruzione opera su un solo dato alla volta.

 

Processore vettoriale

Il processore vettoriale è un processore dotato di istruzioni che prevedono come operandi dati vettoriali (cioè dati complessi costituiti da più dati elementari dello stesso tipo). Il processore vettoriale risulta dunque molto più veloce di un processore scalare quando si tratta di applicare la stessa elaborazione a più dati dello stesso tipo in quanto tale elaborazione viene effettuata in parallelo eseguendo una sola istruzione. Un processore scalare deve invece eseguire necessariamente più istruzioni per effettuare lo stesso tipo di elaborazione.



 

Processore superscalare

Il processore superscalare è una via intermedia tra il processore scalare e il processore vettoriale in quanto prevede più unità di esecuzione scalari indipendenti in modo da eseguire in parallelo o la stessa istruzione su dati differenti o istruzioni indipendenti su dati diversi. 

L’architettura di questo tipo di processore è spesso piuttosto complessa in quanto prevede varie pipeline di esecuzione e per ottimizzare le prestazioni è necessario risolvere i conflitti derivanti dalla loro indipendenza (non si possono ad esempio eseguire in parallelo due istruzioni se il risultato della seconda è condizionato dal risultato della prima).

Altre tipologie



Altre tipologie di processori sono le seguenti:

 

Microprocessore

Una tipologia di processore oggi estremamente diffusa è il microprocessore. 

Un microprocessore è un processore interamente contenuto in un circuito integrato. 



Il primo microprocessore commercializzato della storia è stato l’unità di elaborazione centrale Intel 4004, commercializzata a partire dal 1971.

 

Processore multicore

Al fine di aumentare le prestazioni, nel 2005 è nata la tendenza a realizzare circuiti integrati contenenti più unità di elaborazione centrale tutte identiche. 

Un circuito integrato contenente più unità di elaborazione centrale tutte identiche è detto “processore multicore”. In seguito è nata anche la tendenza a realizzare circuiti integrati contenenti più unità di elaborazione grafica tutte identiche. 



Anche questi circuiti integrati sono processori multicore ma, più specificatamente e frequentemente, sono chiamati “GPU multicore”.

Attualmente il processore multicore rappresenta l’implementazione più diffusa dell’unità di elaborazione centrale.