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
I N F
O R M
A T I
C A P E R
S I A
I
S T E M
I N F
O R
M
A T I
V I Z I
E
N D A L I
L’informatica si basa sul concetto di algoritmo. Letteralmente significa “informazione automatica”.
L’informatica è appunto lo studio degli algoritmi. Se si riesce a stilare un procedimento che sia
chiaro, effettivamente computabile, che porti ad una soluzione del problema in un numero finito di
operazioni, allora è possibile automatizzare questo procedimento mediante l’uso di un calcolatore.
Il calcolatore è costituito principalmente da due gruppi di componenti: l’hardware ed il software. Il
primo è la parte fisica, reale del computer, il secondo è un insieme di programmi che facilitano
l’uso di quest’ultimo. L
’
L
’
H A
R
D W
A
R
E
H A
R
D W
A
R
E
T r
a n
s
i t
o r e c i r
c u
i t
i
Lo studio della parte fisica di un calcolatore comincia proprio dalla sua componente più piccola, il
transitor. Le informazioni vengono memorizzate all’interno del calcolatore come sequenze di bit 0
e 1. Un transitor, che assomiglia molto ad un interruttore elettrico, è un dispositivo di
memorizzazione binaria. Può trovarsi nello stato SPENTO o ACCESO. È facile quindi intuire il
motivo del loro utilizzo come componente base per la gestione delle informazioni. Milioni di
chip
transitor interconnessi tra loro formano un circuito integrato, o . Un transitor è formato da
linea di controllo emettitore
una linea di ingresso, un interruttore (o ) ed una linea di uscita (o ). La
logica che si adotta per il funzionamento del calcolatore è la logica booleana. I transitor possono
porte logiche
venire interconnessi tra loro in modo da creare delle , ossia delle componenti che
corrispondono “logicamente” alle operazioni base della logica booleana: AND, OR, e NOT. Una
porta logica NOT è costituita da un singolo transitor, ove però prima del controllo vi è una prima
linea di uscita dalla quale passa corrente se il controllo è chiuso (SPENTO), non passa corrente
se il controllo è aperto (ACCESO). Una porta logica AND è costituita da due transitor in serie,
mentre una porta logica OR da due transitor in parallelo. Altre porte logiche di rilevante
importanza sono le porte NAND e NOR; sono formate rispettivamente allo stesso modo delle porte
AND e OR, con la differenza che lungo la linea di ingresso si trova una porta NOT. circuiti
Le porte logiche possono essere interconnesse tra loro per realizzare i cosiddetti
combinatori circuiti
, più semplicemente chiamati . Le porte logiche possono essere combinate con
innumerevoli algoritmi di progettazione purché si rispettino i vincoli sul numero di ingressi e uscite
di ciascuna porta. Ad esempio, le porte AND e OR devono avere due ingressi ed un’uscita, la
multiplexer
porta NOT deve avere un ingresso ed un’uscita. Un esempio è il , un circuito di
controllo. Un multiplexer è costituito da 2^n linee di ingresso, N linee di selezione, 1 linea di
uscita ed un circuito interno costituito da porte logiche. Il suo compito è selezionare tra le 2^n
linee di ingresso, ciascuna numerata, quella desiderata. Inserendo un valore per ciascuna delle n
linee di selezione sarà possibile scegliere un numero che va appunto da 0 a 2^n, ossia scegliere
una tra le linee di ingresso e riprodurla sulla linea di uscita.
L e c o m
p o
n
e n
t
i d i u
n s
i s
t
e m a i n
f o r m a
t
i c o
Abbiamo visto che i transitor sono raggruppati in porte logiche, e le porte logiche in circuiti:
continuiamo il processo analizzando le componenti di livello più alto di un calcolatore. La struttura
e l’organizzazione di un computer si basa sul modello teorico di Von Neumann. L’Architettura di
Von Neumann si basa su tre caratteristiche:
Quattro componenti principali (Memoria, Dispositivi di I\O, ALU, e Unità di controllo).
Concetto di programma memorizzato in cui le istruzioni da eseguire sono rappresentate
come valori binari e registrate in memoria.
Esecuzione sequenziale delle istruzioni.
Analizziamo ora singolarmente le quattro componenti principali, ed il loro funzionamento.
R S – C S 1
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
M e m o
r
i a
La memoria è un’unità fondamentale del computer che recupera e registra informazioni e dati.
Random Access Memory
Quando si parla di memoria di un computer ci si riferisce alla RAM ( ).
Questa è costituita da celle, le unità di accesso minime, ognuna univocamente determinata da un
indirizzo. Ogni cella ha la stessa capienza massima. Convenzionalmente la RAM di un computer è
byte di memoria
costituita da celle di 8 bit (un ). Ogni cella possiede quindi un indirizzo ed un
Read-Only Memory
contenuto. Esiste anche la cosiddetta memoria ROM ( ), che contiene
informazioni di sistema precaricate durante la produzione, in maniera tale che non possano essere
modificate dall’utente. Quando si utilizza un calcolatore, ogni istruzione viene sempre caricata in
Fetch
memoria e poi eseguita. Le operazioni fondamentali svolte sulla memoria sono Lettura ( o
Read (Store Write
) e Scrittura o ). L’operazione di Read preleva una copia del contenuto di una
cella con l’indirizzo indicato e lo restituisce come risultato (lettura non distruttiva). L’operazione di
Write, che permette di cambiare il contenuto di una cella, copia un valore nella cella con
l’indirizzo indicato, sovrascrivendo il contenuto precedente (lettura distruttiva). Per eseguire queste
Memory Address Register
due operazioni, la RAM fa uso di due registri fondamentali: il MAR ( ) ed il
Memory Data Register
MDR ( ). Il MAR contiene l’indirizzo della cella da leggere o su cui scrivere,
mentre il MDR contiene il dato letto o scritto. Ecco una descrizione più dettagliata delle due
operazioni:
Read (-indirizzo-)
o Carica –indirizzo- nel registro MAR;
1. Trova la cella di memoria corrispondente;
2. Copiane il contenuto nel registro MDR;
3.
Write (-indirizzo- , -valore-)
o Carica –indirizzo- nel registro MAR;
1. Carica –valore- nel registro MDR;
2. Trova la cella corrispondente e sovrascrivine il contenuto;
3.
È possibile velocizzare il tempo di accesso ai dati costruendo circuiti più veloci. Tuttavia questo
comporta un notevole aumento del costo. Si è giunti ad un compromesso adeguato tramite
memoria cache
l’invenzione della , non presente nel modello teorico ideato da Von Neumann. La
memoria cache è una piccola parte di memoria realizzata con circuiti più veloci (e quindi più
costosi), nella quale vengono caricate le informazioni secondo un principio detto “principio di
località”. Secondo questo principio un computer se ha utilizzato un dato è molto probabile che lo
riutilizzi molto presto, così come i suoi “vicini”. Dunque ogniqualvolta viene eseguita una istruzione
in un computer dotato di memoria cache, essa, insieme ai suoi “vicini”, viene caricata nella parte
di memoria realizzata con circuiti ad alta velocità (che è la prima ad essere controllata ogni volta
che si effettua una operazione). Una volta che questa è piena, vengono via via sovrascritti i dati
più vecchi.
D i s
p o
s
i t i v i d i I \
O Input\Output
Per comunicare col mondo esterno il calcolatore fa uso di dispositivi di I\O ( ), come
il mouse, la tastiera, lo schermo, dispositivi di memorizzazione di massa e altri. Un computer che
non disponga di dispositivi di memorizzazione di massa non consente di salvare le informazioni
dopo lo spegnimento del computer poiché la RAM è una memoria “volatile”. Ogni calcolatore
hard-disk
dispone oggi di almeno un disco rigido ( ) per memorizzare le informazioni. Esistono altri
dispositivi di memorizzazione di massa come CD-ROM, DVD, Floppy-Disk e molti altri, classificati
Direct Access Storage Device (Sequential
secondo il metodo di accesso ai dati: DASD ( ) e SASD
Access Storage Device ). A differenza della RAM, nei dispositivi di memorizzazione di massa, il
tempo di accesso ai dati non è uguale per ogni cella, ma dipende dalla struttura fisica del
dispositivo. L’accesso a questi dati spesso può generare delle notevoli differenze di velocità. Quasi
sempre infatti l’accesso alla RAM è molto più veloce e questo crea delle discrepanze temporali
che rendono sistematicamente inattivo il calcolatore. Per questo i dispositivi I\O sono forniti di un
controllore I\O che gestisce questi problemi di tempo. Il controllore I\O è dotato di una piccola
buffer di I\O
quantità di memoria ( ) e di sufficienti capacità di controllo e logica di I\O.
R S – C S
2 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
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
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.
-
Sistemi Informativi aziendali
-
Sistemi informativi aziendali
-
Organizzazione sistemi informativi aziendali
-
Sistemi informativi aziendali