Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
hardware di un computer che si contraddistingue per essere dedicato all'esecuzione di istruzioni, a partire
da un instruction set.
Indice
1 Descrizione
2.1.2 Coprocessore
2.3.1 Microprocessore
3 Note
4 Voci correlate
5 Altri progetti
6 Collegamenti esterni
Descrizione
In base alle funzioni che svolgono, attualmente si possono distinguere i seguenti tre principali tipi di
processori:
coprocessore;
L'unità di elaborazione centrale (più conosciuta con la sigla mutuata dalla lingua inglese "CPU") è 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à centrale apparve all'inizio degli anni 1960, vengono riuniti, all'interno dello stesso cabinet (meglio
conosciuto come 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
coprocessore matematico;
controller di periferica.
Coprocessore matematico
Magnifying glass icon mgx2.svg Lo stesso argomento in dettaglio: Graphics Processing Unit.
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à.
Magnifying glass icon mgx2.svg Lo stesso argomento in dettaglio: 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.
In base al formato dei dati su cui operano, si possono distinguere i seguenti tre tipi 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).