Il Microprocessore

cpu_waferIl microprocessore è costituito da un monocristallo di silicio estremamente puro, sezionato finemente, quindi trattato ad altissime temperature in forni che contengono vari tipi di impurità allo stato gassoso. Queste impurità devono legarsi alla struttura reticolare del cristallo, influenzando la sua capacità di condurre elettricità. Il silicio diventa così un semiconduttore ed è in grado quindi di resistere al passaggio di corrente elettrica in misura maggiore rispetto ai normali conduttori come il rame, ma non tanto quanto gli isolanti.

Il microprocessore (o unità centrale di elaborazione, CPU) è una elaborata combinazione transistor, che si definisce circuito integrato. I circuiti integrati vengono adoperati nei più svariati settori, dall'amplificazione dell'audio al controllo delle funzioni di un microonde; i microprocessori si differenziano da altri circuiti integrati del genere per il fatto che le variazioni elettriche, conseguenti ai segnali d'ingresso, si verificano all'interno del processore stesso in base a particolari elaborazioni.

L'unità centrale di elaborazione assolve due funzioni fondamentali:

  1. Governa tutte le operazioni del sistema, generando tutti i segnali occorrenti per il funzionamento degli altri circuiti ad esso collegati.
  2. Esegue tutti i calcoli aritmetici e logici.

Il processore può essere quindi suddiviso in due parti: l'unità di controllo (Control Unit) e l'unità logico-aritmetica (ALU). E' presente inoltre una memoria locale, ovvero un insieme di dispositivi, detti registri, che vengono utilizzati per il controllo dell'esecuzione di un programma.

L'elaborazione avviene con il reperimento da parte della Control Unit dell'istruzione da eseguire dalla memoria centrale all'indirizzo contenuto dal registro Program Counter. L'istruzione viene trasferita nel registro Instruction Register e il Program Counter viene incrementato in modo da puntare all'istruzione successiva. La CPU, dopo aver interpretato l'istruzione, emette segnali che producono la sua esecuzione. Se sono necessari calcoli, interviene l'ALU.

Il procedimento appena descritto attraverso il quale la CPU esegue un'istruzione prende il nome di ciclo macchina, che può essere idealmente suddiviso in tre parti:

Nella fase di fetch la Control Unit reperisce l'istruzione dalla memoria e viene incrementato il valore del Program Counter in modo da puntare all'istruzione successiva.

Nella fase di decode l'istruzione viene interpretata: l'interpretazione può avvenire attraverso circuiti logici già predisposti al momento di costruzione del processore (logica cablata), oppure attraverso microistruzioni contenute in una apposita parte della ROM (logica microprogrammata). Nel primo caso, le funzioni eseguibili sono prefissate fisicamente e il sistema comporta una certa rigidità; nel secondo caso, l'interpretazione avviene cercando nella ROM la sequenza di passi elementari di cui l'istruzione da interpretare è a sua volta composta.

Nella fase di execute la Control Unit invia segnali che rappresentano opportuni comandi per l'esecuzione.

Il ciclo macchina è scandito da un temporizzatore o clock: un oscillatore al quarzo che emette segnali a intervalli di tempo regolari, all'interno di ciascuno del quale si svolge un passo elementare di funzionamento.

La frequenza di oscillazione del clock determina la velocità della macchina. Tale velocità è misurata in megahertz, ovvero milioni di oscillazioni al secondo. Dato che ogni singola istruzione elementare richiede generalmente più di un ciclo di clock, la velocità dell'unità centrale può essere misurata anche in MIPS (Millions Instruction Per Second, milioni di istruzioni al secondo).

Vediamo questi due valori riferiti ad alcuni processori Intel:



 

8080

8086

8088

80286

80386dx

MHz

2

5

5

8

16

MIPS

0,64

0,33

0,33

1,2

6

Data di rilascio

4/74

6/78

6/78

2/82

10/85

 

 

80386sx

80486dx

80486sx

80486dx2

MHz

16

25

20

50

MIPS

2,5

20

16,5

40

Data di rilascio

6/88

4/89

4/91

3/92

 

Esistono due tecnologie per la costruzione di microprocessori: la CISC (Complex Instruction Set Computer) e la RISC (Reduced Instruction Set Computer).

cisc-vs-risc

Le due architetture a confronto

I processori CISC sono quelli di uso più comune: la loro potenzialità viene incrementata attraverso l'aumento delle operazioni che riescono ad effettuare, andando a cercare addirittura dei macrocomandi comuni a molti linguaggi di programmazione. Aumentando così il numero dei comandi disponibili si ottiene maggiore potenzialità e conseguente semplicità di programmazione.

Il concetto costruttivo di un microprocessore RISC è invece la forte riduzione del numero di istruzioni in modo da poter conciliare la velocità del microprocessore con l'esecuzione di queste. Il fine principale della struttura RISC è quello di produrre processori ad alta velocità e dal costo ridotto, data la minore complessità del progetto. Lo svantaggio della tecnologia RISC è il fatto che per i RISC sono stati sviluppati sistemi operativi a minore diffusione rispetto a quelli sviluppati per i CISC, come Windows. Inoltre è conseguenza dell'architettura RISC la maggiore complessità dei programmi: se i processori riconoscono una quantità molto bassa di istruzioni, il programmatore deve sopperire con il software per far svolgere ad essi operazioni complesse. In questo caso diventa praticamente obbligatorio studiare, di ogni porzione di codice, il metodo per renderla più veloce, e l'ottimizzazione del codice diviene di primaria importanza nello sviluppo dei sistemi di tipo Risc.

I processori CISC più conosciuti sono la famiglia di CPU della Intel: 80286, 80386, 80486, Pentium. Altri costruttori, come AMD e Cyrix, producono microprocessori compatibili.

I processori RISC si utilizzano da vari anni nelle cosiddette "stazioni di lavoro" (workstation), ossia elaboratori con prestazioni e prezzi superiori a quelli dei PC. Ogni casa produttrice di workstation ha sviluppato un proprio processore RISC. IBM per esempio utilizza il processore RISC 6000, la MIPS ha realizzato R3000 e R4000, SUN ha sviluppato lo SPARC, mentre la DIGITAL impiega l'ALPHA.

Free Joomla templates by Ltheme