Processore: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica
m Ho corretto delle minuzie di punteggiatura
 
(141 versioni intermedie di 82 utenti non mostrate)
Riga 1:
{{F|voci comuni|dicembre 2021}}
L''''unità di elaborazione centrale''' o '''processore'''<ref>"Processore" è un [[prestito linguistico|prestito]] dell'[[lingua inglese|inglese]], in particolare è un [[Adattamento (linguistica)|adattamento]] di "processor". Nella lingua inglese "processor" nasce dal verbo "to process" che significa "compiere un processo".</ref><ref>Tra i due sinonimi "unità di elaborazione" e "processore", il più diffuso nel [[linguaggio comune]] è, per la sua maggiore brevità, "processore". Anche in ambito accademico i due termini hanno pari dignità e spesso è preferito "processore" per la sua maggiore brevità.</ref> è una tipologia di dispositivo [[hardware]] del [[computer]] dedicata all'esecuzione di [[Istruzione (informatica)|istruzioni]]. Tali istruzioni vengono recuperate in sequenza dalla [[memoria centrale]] e descrivono o operazioni logico/matematiche da effettuarsi sui dati (dette appunto Istruzioni Logiche o Matematiche) o salti ad altri punti del programma (Istruzioni di controllo). In altri termini l'unità di elaborazione è il dispositivo che nel computer esegue materialmente l'[[elaborazione dati]] e consente di poter eseguire, in linea di principio, qualsiasi programma senza dover cambiare alcun componente elettronico. Le altre componenti del computer sono ausiliarie all'unità di elaborazione oppure costituiscono l'[[interfaccia]] di [[input]] o l'interfaccia di [[output]]. L'unità di elaborazione, la memoria e le interfacce di input/output sono infatti le tre componenti sempre presenti nel computer.
 
Un '''processore''' è un [[dispositivo (informatica)|dispositivo]] [[hardware]] in grado di elaborare dati sulla base di istruzioni di programma. La complessità può variare moltissimo, andando da semplici elaboratori di segnale fino all'unità centrale ([[CPU]]) di un [[computer]]. In alcuni casi, specialmente nei sistemi di elaborazione di processo, il termine può riferirsi all'intero computer. Spesso è utilizzato come sinonimo di ''[[microprocessore]]''.<ref>{{Treccani|processore|Processóre}}</ref>
Un computer può essere dotato anche di più processori che collaborano più o meno tra loro. Essi possono infatti cooperare per portare avanti in parallelo (e dunque più velocemente) le elaborazioni richieste in un certo programma oppure eseguire contemporaneamente singoli programmi indipendenti tra loro. In tal caso si parla di "computer [[multiprocessore]]" e l'elaborazione dati viene anche chiamata, con termine più specifico, "multielaborazione" o "[[multiprocessing]]".<ref>"Multiprocessing" è un [[prestito linguistico|prestito]] dell'[[lingua inglese|inglese]].</ref>
 
== Descrizione ==
==Tipologie di processori==
Provvede all'[[esecuzione (informatica)|esecuzione]] materiale dell'[[elaborazione dati]] di un [[programma (informatica)|programma]] tipicamente sotto la supervisione del [[sistema operativo]] attraverso il [[ciclo di fetch-execute]]. Le altre componenti del computer sono ausiliarie all'unità di elaborazione oppure costituiscono l'[[interfaccia (informatica)|interfaccia]] di [[input]] o l'interfaccia di output ([[periferica|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.
===Processori distinti per funzionalità===
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]].
 
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.<ref>{{cita web|url=https://www.treccani.it/vocabolario/multiprocessing/|titolo=multiprocessing}}</ref> Il processore, in quanto sistema [[elettronica digitale|elettronico digitale]], tipicamente lavora a una certa [[frequenza di clock]] che rappresenta uno dei suoi parametri prestazionali in termini di capacità di processamento.
====Unità di elaborazione centrale====
 
== Tipologia del processore ==
=== Processori distinti per funzionalità ===
In base alle funzioni che svolgono, si possono distinguere i seguenti tre principali tipi di processori:
* [[unità di elaborazione centrale]]
* [[coprocessore]]
* [[processore di segnale digitale]]
 
==== Unità di elaborazione centrale ====
{{vedi anche|CPU}}
L'''unità di elaborazione centrale'' (più conosciuta con l'[[acronimo]] mutuato dalla [[lingua inglese]] "CPU") è il processore [[digitale (informatica)|digitale]] [[general purpose]] che implementa tutte le funzionalità del computer digitale basato sull'[[architettura di von Neumann]] o sull'[[architettura Harvard]].
Un unità di elaborazione centrale general purpose prevede un set di istruzioni tale da consentire l'esecuzione di qualsiasi tipo di programma (set di istruzioni universale).
 
L'unità di elaborazione centrale (in acronimo CPU, dall'[[inglese (lingua)|inglese]] ''Central Processing Unit''), nelle [[architettura degli elaboratori|architetture degli elaboratori]] è il sottosistema che implementa la maggioranza delle funzionalità fondamentali dell'[[elaboratore]] e che in generale coordina l'esecuzione delle operazioni tra gli eventuali sottosistemi periferici.
L'unità di elaborazione centrale nasce quando, per la prima volta nella storia, vengono riuniti, all'interno dello stesso [[case (hardware)|cabinet]], due processori che precedentemente erano sempre stati contenuti in cabinet diversi: l'[[unità aritmetica e logica|ALU]] e l'[[unità di controllo (informatica)|unità di controllo]].<ref>Siccome, dagli anni Sessanta del XX secolo, l'[[unità aritmetica e logica|ALU]] e l'[[unità di controllo (informatica)|unità di controllo]] normalmente non sono più contenute in [[case (hardware)|cabinet]] diversi, la tendenza attuale è di considerarle non due processori distinti ma due componenti del medesimo processore (l'unità di elaborazione centrale). In particolare normalmente non si usa l'espressione "computer multiprocessore" per computer che non hanno altri processori oltre all'unità di elaborazione centrale.</ref> 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.
 
L'[[unità centrale]] apparve all'inizio degli anni 1960, vengono riuniti, all'interno dello stesso [[case (hardware)|cabinet]] (meglio conosciuto come c''ase)'', due processori che precedentemente erano sempre stati contenuti in ''cabinet'' diversi: l'[[unità aritmetica e logica|ALU]] e l'[[unità di controllo (informatica)|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 ====
{{vedi anche|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]].
 
Un coprocessore è un dispositivo progettato per funzionare in collaborazione con altri processori. Spesso implementa un insieme di funzionalità ridotte e orientate a specifici casi d'uso. A livello di sistema lo scopo principale dei coprocessori è quello di alleggerire il carico di lavoro del processore principale, a volte svolgendolo in maniera più efficiente.
=====Coprocessore matematico=====
 
Tra i tipi più comuni di coprocessori rientrano:
* [[coprocessore matematico]];
* [[unità di elaborazione grafica]];
* [[controller di periferica]].
 
===== Coprocessore matematico =====
{{vedi anche|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 l'acronimo mutuato dalla lingua inglese "FPU"), coprocessore 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 integrate nel medesimo microchip.
 
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 i tipo 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=====
{{vedi anche|Graphics Processing Unit}}
L'''unità di elaborazione grafica'' (più conosciuta con l'acronimo mutuato dalla lingua inglese "GPU") è un coprocessore ottimizzato e specializzato per svolgere i calcoli necessari al [[rendering]] di immagini grafiche tramite apposite istruzioni. Da alcuni anni è in atto la tendenza a integrare l'unità di elaborazione grafica e l'unità di elaborazione centrale nel medesimo [[microprocessore]].
 
=====Controller Unità di perifericaelaborazione grafica =====
{{vedi anche|GPU}}
 
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 a implementare l'unità di elaborazione grafica e l'unità di elaborazione centrale nel medesimo [[circuito integrato]].
 
===== Controller di periferica =====
{{vedi anche|Controller (informatica)}}
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 è infatti libera di utilizzare tutta la sua capacità di calcolo in compiti in cui è richiesta tale capacità.
 
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====
{{vedi anche|Processore di segnale digitale}}
Il ''processore di segnale digitale'' (più conosciuto con l'[[acronimo]] mutuato dalla [[lingua inglese]] "DSP") è un processore specializzato nell'[[elaborazione numerica dei segnali]] e, a differenza dei processori General Purpose, prevede istruzioni apposite (come Fast Fourier Transform o Convoluzione di 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]].
 
==== Processore di segnale digitale ====
===Processori distinti per architettura hardware===
{{Svedi sezioneanche|informaticaDSP}}
In base all'[[architettura hardware]], si possono distinguere le seguenti tipologie di processori:
*[[processore scalare]];
*[[processore superscalare]];
*[[processore vettoriale]].
 
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]].
===Altre tipologie===
Una tipologia di processore oggi estremamente diffusa è il [[microprocessore]]. Un microprocessore è un processore interamente contenuto in un [[circuito integrato]].<ref>Un [[circuito integrato]] può contenere anche più processori.</ref> Il primo microprocessore commercializzato della storia è stato l'[[unità di elaborazione centrale]] [[Intel 4004]], commercializzata a partire dal [[1971]].
 
=== Processori distinti per formato dei dati ===
Al fine di aumentare le prestazioni, nel [[2005]] è nata la tendenza a realizzare [[circuiti integrati]] contenenti più<ref>Di norma le [[Potenza (matematica)|potenze]] del 2: 2, 4, 8, eccetera.</ref> unità di elaborazione centrale tutte identiche. Un circuito integrato contenente più unità di elaborazione centrale tutte identiche è detto "processore [[multicore]]". Attualmente il processore multicore rappresenta l'implementazione più diffusa dell'unità di elaborazione centrale.
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 ====
==Note==
Il processore scalare è un processore dotato di [[Istruzione (informatica)|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 ====
{{vedi anche|Processore vettoriale}}
 
Il processore vettoriale è un processore dotato di [[Istruzione (informatica)|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 ====
{{vedi anche|Multi core}}
 
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 (CPU)|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).
 
==== Microprocessore ====
{{vedi anche|Microprocessore}}
 
Un tipo di processore oggi estremamente diffuso è il [[microprocessore]]. Un microprocessore è un processore interamente contenuto in un [[circuito integrato]].<ref>Un [[circuito integrato]] può contenere anche più processori.</ref> Il primo microprocessore commercializzato della storia è stato l'[[unità di elaborazione centrale]] [[Intel 4004]], commercializzata a partire dal 1971.
 
==== Processore multicore ====
{{vedi anche|Processore multicore}}
 
Al fine di aumentare le prestazioni, nel 2005 è nata la tendenza a realizzare [[circuiti integrati]] contenenti più<ref>Di norma le [[Potenza (matematica)|potenze]] del 2: 2, 4, 8, eccetera.</ref> 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.
 
== Note ==
<references/>
 
== Voci correlate ==
* [[CPU]]
* [[Coprocessore]]
* [[Microprocessore]]
* [[Multiprocessore]]
* [[Unità aritmetica e logica]]
* [[Unità di calcolo in virgola mobile]]
* [[GPU|Unità di elaborazione grafica]]
* [[Unità di gestione della memoria]]
 
== Altri progetti ==
{{interprogetto|etichetta=processore|wikt=processore}}
 
== Collegamenti esterni ==
* {{Collegamenti esterni}}
 
{{Componenti basilari dei computer}}
{{Controllo di autorità}}
{{Portale|elettronica|informatica}}
 
{{Portale|informatica}}
[[Categoria:Terminologia informatica]]