Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
vuoi
o PayPal
tutte le volte che vuoi
II
SS
TT
EE
M II N FF
O RR
M
AA
TT
II
VV
II ZZ
II
EE
NN
DD
AA
LL
II PP
EE
RR NN
GG
EE
GG
NN
EE
RR
II
AA EE
SS
TT
II
OO
NN
AA
LL
EE
S I A I G
M N O M
I
S
T E M I N F
O R M
A T I
V
I Z I
E N D
A L
I P
E R N
G
E G
N
E R I
A E S
T I
O N
A L
E
I NN
FF
OO
RR
M
AA
TT
II
CC
AA
I M
N
F
O R M
A T I
C A
A r
i t
h m e t
i c -
L o
g i c U n
i t
A L U ( )
L’unità aritmetico-logica è una componente hardware del calcolatore che ha il compito di svolgere
le operazioni logico-matematiche. L’ALU è formato da tre parti principali: i registri, le
interconnessioni, e la circuiteria. I registri dell’ALU sono poco dissimili dalle celle della RAM. La
differenza è che sono adibiti ad uno scopo specifico, ossia contenere gli operandi, e che, essendo
generalmente pochi (16, 32 o 64 registri), vengono realizzati con i costosi circuiti ad alta velocità.
La circuiteria è la parte dell’ALU dove, attraverso percorsi di porte logiche, vengono effettuate le
operazioni matematiche. La filosofia di progettazione prevede che una volta ottenuti gli operandi,
l’ALU faccia svolgere ad ogni pezzo di circuiteria il suo compito, ed alla fine selezioni il risultato
dell’operazione desiderata.
L ’ u n
i t
à d i c o n
t r
o
l l o processore
Insieme all’ALU, l’unità di controllo costituisce quella parte di un computer chiamata .
programma memorizzato
Nell’introduzione si è accennato al concetto di . Quando si esegue un
programma (che non è altro che una sequenza di istruzioni di bit 0 e 1), questo viene caricato in
memoria per essere eseguito passo per passo. Spetta all’unità di controllo prelevare la prossima
istruzione, decodificarla, ed eseguirla, chiamando in gioco le componenti necessarie per
set di istruzioni
l’esecuzione (ALU, dispositivi I\O, etc.). Ogni unità di controllo possiede un che è
in grado di eseguire. Si tratta di serie di codici in linguaggio macchina che l’unità di controllo è in
grado di decodificare. Non esiste una convenzione universale per quanto riguarda i set di
istruzione. Al giorno d’oggi la progettazione dei processori segue una unione tra due opposte
Reduced Instructions Set Computers
filosofie di progettazione: i RISC ( ), che utilizzano set di
istruzioni ridotti, permettendo di utilizzare altro spazio per l’ottimizzazione della velocità dei circuiti,
Complex Instructions Set Computers
ed i CISC ( ), che utilizzano set di istruzioni più complessi.
Program Counter
Per svolgere la propria funzione l’unità di controllo si serve di due registri, il PC ( )
Instruction Register
e l’IR ( ), e di un circuito decodificatore, per capire quali istruzioni del set deve
eseguire. Il contatore di programma contiene sempre l’indirizzo di memoria della prossima
istruzione da eseguire. È dotato di un proprio circuito di incremento che gli permette di “puntare”
via alla istruzione successiva, svolgendo sequenzialmente il programma memorizzato. L’IR è il
registro che contiene volta per volta una copia dell’istruzione caricata dalla memoria.
R
R
A
P P R
E
S E
N T A
Z I
O N E B I
N A
R
I
A D I S U O N I E I
M
M
A
G I
N I
A
P P R
E
S E
N T A
Z I
O N E B I
N A
R
I
A D I S U O N I E I
M
M
A
G I
N I
Nel seguito illustriamo brevemente in che modo suoni e immagini vengono rappresentati all’interno
di un computer utilizzando il sistema binario.
Le onde sonore sono una grandezza di tipo analogico, ben diversa dalla rappresentazione digitale
che utilizza il computer. I suoni sono costituiti da onde sinusoidali che possiedono un periodo T,
ovvero il tempo necessario per completare un ciclo, un’ampiezza, che è l’intervallo compreso tra il
valore massimo ed il valore minimo che può assumere, una frequenza F, misurata in heartz, che
corrisponde al numero di cicli che l’onda compie in un secondo, etc. Per rappresentare
campionamento
digitalmente un’onda analogica si utilizza la tecnica del . Essa consiste nel
registrare ad intervalli di tempi regolari i valori assunti dall’onda, una volta fissato un sistema di
riferimento. La precisione con cui un computer riproduce un suono dipende da due fattori: la
risoluzione , ossia quanti bit vengono utilizzati per rappresentare ciascun valore registrato, e la
frequenza di campionamento
, ossia quante volte al secondo viene registrato un valore. Per
esempio uno dei formati di codifica audio più usati è l’MP-3, che esegue il campionamento dei
segnali audio ad una frequenza di 44.100 campioni al secondo usando 16 bit per campione.
Anche le immagini sono dati di tipo analogico e possono essere digitalizzate nei computer
scansione
attraverso un processo di campionamento, chiamato . L’immagine viene suddivisa in tanti
pixel
punti ad intervalli regolari, detti . La precisione della rappresentazione digitale dipende da
quanti pixel vengono utilizzati, e dai bit dedicati a ciascun pixel. Chiaramente più sono i bit per
ciascun pixel, più sono le sfumature di colore. Il formato più comune per la rappresentazione delle
immagini è lo schema di codifica RGB. Questa tecnica descrive uno specifico colore catturando il
singolo contributo di un pixel per ciascuno dei tre colori fondamentali: rosso, verde e blu.
R S – C S 3
II
CC
CC
AA
RR
DD
OO CC
II
M
EE
CC
AA LL
AA
UU
DD
II
OO CC
II
M
EE
CC
AA
R S – C S
M M
I
C C A R D
O C I
M
E C A L
A U D I
O C I M
E C A
S I A I G
II
SS
TT
EE
M II N FF
O RR
M
AA
TT
II
VV
II ZZ
II
EE
NN
DD
AA
LL
II PP
EE
RR NN
GG
EE
GG
NN
EE
RR
II
AA EE
SS
TT
II
OO
NN
AA
LL
EE
S I A I G
M N O M
I
S
T E M I N F
O R M
A T I
V
I Z I
E N D
A L
I P
E R N
G
E G
N
E R I
A E S
T I
O N
A L
E
I NN
FF
OO
RR
M
AA
TT
II
CC
AA
I M
N
F
O R M
A T I
C A
L
L
A C
O M
P R
E
S S I
O N E D E
I D A
T I
A C
O M
P R
E
S S I
O N E D E
I D A
T I
Un campo importante della ricerca informatica è quello della compressione dei dati. Gli algoritmi
di compressione dei dati tentano di rappresentare le informazioni in modi che preservino la
precisione utilizzando nel contempo uno spazio significativamente inferiore. Ad esempio una
semplice tecnica di compressione che può essere utilizzata su quasi tutte le forme di dati è la
run-lenght
codifica . Questo metodo sostituisce una sequenza di valori uguali V , V , .., V con una
1 2 n
coppia di valori (V, ) che indica che il valore V si ripete volte. Questo è un esempio di schema
n n
di compressione senza perdita. Gli schemi di compressione con perdita invece comprimono
notevolmente i dati, senza però garantire la totale conservazione dei dati originali.
I
I
L S O F
T W
A
R
E
L S O F
T W
A
R
E
I l s o
f t
w a
r
e d i s i s
t
e m a
Le istruzioni in linguaggio macchina, come già più volte detto, sono sequenze lunghissime di bit 0
e 1. Risulta quindi davvero ostico manipolare le istruzioni, correggere un eventuale errore, o anche
solo eseguire delle semplici istruzioni. La necessità di accedere alle informazioni in maniera
semplificata ha portato alla nascita di una interfaccia virtuale. Essa ha il compito di nascondere i
dettagli interni dell’hardware, presenta informazioni su ciò che accade in una maniera che non
richieda la conoscenza approfondita del sistema, consente all’utente in modo facile a tutte le
risorse disponibili del computer, evita danni intenzionali o accidentali all’hardware, programmi e
dati. Tale interfaccia si chiama software di sistema. Il software di sistema è una raccolta di
programmi che creano una sorta di “macchina virtuale” tra l’utente e la macchina. Il software ha il
a b c
compito di rendere operazioni come una somma di due numeri e , per la quale si dovrebbe
b c
caricare i registri ALU dalle celle di memoria e , attivare l’ALU, attivare l’output del circuito di
a
addizione ed inviare il risultato alla cella di memoria , semplici e di facile utilizzo. Il
programmatore non dovrebbe sapere nulla di ALU, registri e celle di memoria, ma dovrebbe
semplicemente scrivere questa istruzione con una notazione più vicina al suo linguaggio, come ad
a=b+c
esempio “a=b+c”. Per concludere, il compito del software di sistema è “capire” la scrittura
e tradurla in tutte quelle operazioni descritte in precedenza.
T i p
i d i s
o
f t
w a r
e d i s
i s t
e m
a
Il software di sistema non è un pezzo unico, ma è una raccolta vasta di tanti programmi, ognuno
sistema operativo
con un suo compito specifico. Il software più importante è senza dubbio il , che
ha il compito di comunicare con l’utente e, quando è necessario, attivare altri software o
programmi di utilità per esaudire le sue richieste. I più importanti tra questi sono:
Interfaccia utente : Tutti i moderni sistemi operativi forniscono una potente interfaccia
utente grafica, che fornisce all’utente una visione intuitiva delle funzionalità disponibili.
Traduttori : Questi programmi consentono di programmare usando un linguag