Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
1
1
2 2
2
2
$ $
%er
analisi e pro#rammazione
analisi e pro#rammazione
si intende linsieme delle
attivit& preliminari atte a risolvere problemi utilizzando
un elaboratore! dalla formulazione del problema fino
alla predisposizione dellelaboratore
1
1
) )
(nalisi e pro#rammazione
(nalisi e pro#rammazione
2
2
(l#oritmo:
(l#oritmo:
elenco finito di istruzioni! che specificano le
operazioni ese#uendo le *uali si risolve una classe di
problemi
+n al#oritmo non pu, essere ese#uito direttamente +n al#oritmo non pu, essere ese#uito direttamente
dallelaboratore dallelaboratore
%ro#ramma:
%ro#ramma:
ricetta che traduce lal#oritmo ed
direttamente comprensibile! pertanto ese#uibile! da
parte di un elaboratore
Lin#ua##io di pro#rammazione:
Lin#ua##io di pro#rammazione:
lin#ua##io ri#oroso che
permette la formalizzazione di un al#oritmo in un
pro#ramma
- -
.isultati .isultati
%roblema %roblema
(/(LI'I (/(LI'I
0L(12.(3I2/0 0L(12.(3I2/0 4ati 4ati
%.25.(66(3I2/0 %.25.(66(3I2/0
(l#oritmo (l#oritmo
%ro#ramma %ro#ramma
Le fasi del procedimento di
Le fasi del procedimento di
analisi e pro#rammazione
analisi e pro#rammazione
7 7
5li al#oritmi
5li al#oritmi
8 8
(nno accademico 2919:2911 (nno accademico 2919:2911
8 8
(l#oritmo (l#oritmo deriva dal nome del matematico uzbeco 6ohammed 6ohammed
ibn ibn 6usa (l 6usa (l ;hu<arizmi ;hu<arizmi! vissuto nel I= secolo d>C> dalla cui
opera nata lal#ebra moderna"! e si#nifica procedimento di procedimento di
calcolo calcolo
4efinizione di al#oritmo
4efinizione di al#oritmo
Una procedura per risolvere matematicamente un
problema in un numero finito di passi, che spesso
+na procedura per risolvere matematicamente un problema
+na procedura per risolvere matematicamente un problema
In un numero finito di passi! che spesso comprende ripetizioni
In un numero finito di passi! che spesso comprende ripetizioni
4i una operazione>
4i una operazione>
In #enerale un metodo passo:passo per ese#uire un dato
In #enerale un metodo passo:passo per ese#uire un dato
compito
compito
? ?
(nno accademico 2919:2911 (nno accademico 2919:2911
Cominciamo con l@analisi della struttura di un
Cominciamo con l@analisi della struttura di un
calcolatore>>>
calcolatore>>>
(nno accademico 2919:2911 (nno accademico 2919:2911
A A
1
1
La presenza invasiva dellinformatica nella vita di tutti i #iorni
un fenomeno relativamente recenteE non recente invece la
necessit& di avere a disposizione strumenti e metodi per contare
rapidamente! elaborare dati! calcolare
Le prime testimonianze di strumenti per contare risal#ono a $9>999
anni fa
I primi esempi di al#oritmi procedure di calcolo automatico
sono stati scoperti in 6esopotamia su tavolette babilonesi risalenti al
1?991799 a>C>
6acchina moltiplicatrice 172)" 6acchina moltiplicatrice 172)"
Cilhelm 'chicDard 1-A2:17$-" Cilhelm 'chicDard 1-A2:17$-"
(nno accademico 2919:2911 (nno accademico 2919:2911
19 19
2
2
5ottfried Leibnitz 17)7:1817" 5ottfried Leibnitz 17)7:1817" 1laise %ascal 172$:1772" 1laise %ascal 172$:1772"
6acchina computazionale 5> Leibnitz" 6acchina computazionale 5> Leibnitz"
6acchina addizionatrice 6acchina addizionatrice la %ascalina 1> %ascal" la %ascalina 1> %ascal"
(nno accademico 2919:2911 (nno accademico 2919:2911
11 11
$
$
Charles 1abba#e 18A1:1?81" Charles 1abba#e 18A1:1?81"
6acchina alle differenze: modello 6acchina alle differenze: modello
ricostruito presso il 6useo della 'cienza ricostruito presso il 6useo della 'cienza
di Londra se#uendo il pro#etto del 1?)A di Londra se#uendo il pro#etto del 1?)A
(nno accademico 2919:2911 (nno accademico 2919:2911
12 12
)
)
Herman Hollerith 1?79:1A2A" Herman Hollerith 1?79:1A2A"
Census Iabulator 1?A9" Census Iabulator 1?A9"
(nno accademico 2919:2911 (nno accademico 2919:2911
1$ 1$
'uccessivamente la macchina a schede
perforate venne utilizzata con successo
per i censimenti in (ustria! /orve#ia e
.ussia! tanto che Hollerith decise di
fondare una societ&: la Computin# Computin#
Iabulatin# .ecordin# CompanF Iabulatin# .ecordin# CompanF che! nel
1A2$! divenne lInternational 1usiness International 1usiness
6achine 6achine! o I16 I16
/el 1A$2! il tedesco ;onrad 3use realizza
una macchina elettromeccanica in #rado
di ese#uire calcoli con controllo
pro#rammato! ed introduce il sistema di
numerazione binario la cui al#ebra era
stata definita da Leibnitz e da 1oole"
Cenni storici
Cenni storici
-
-
;onrad 3use 1A19:1AA-" ;onrad 3use 1A19:1AA-"
Il calcolatore 31 1A$A" Il calcolatore 31 1A$A"
(nno accademico 2919:2911 (nno accademico 2919:2911
1) 1)
4urante la seconda #uerra mondiale! fioriscono i pro#etti di
elaboratori da utilizzarsi per scopi bellici
La macchina 0ni#ma La macchina 0ni#ma
Cenni storici
Cenni storici
7
7
(lan Iurin# 1A12:1A-)" (lan Iurin# 1A12:1A-)"
8
8
(nno accademico 2919:2911 (nno accademico 2919:2911
17 17
La costruzione dei primi calcolatori risale allinizio de#li anni B)9!
#razie alla tecnolo#ia elettronicaE i primi esemplari venivano
pro#rammati mediante connessioni elettriche e commutatori
0/I(C 0/I(C! 6arD I 6arD I"
Il nome di Kon /eumann le#ato invece ai primi calcolatori a
pro#ramma memorizzato realizzati alla fine de#li anni B)9 04'(C 04'(C!
Chirl<ind Chirl<ind! I(' I('! +/IK(C +/IK(C"
%er la prima volta! vi#e il principio di unitariet& di rappresentazione di unitariet& di rappresentazione di
dati e istruzioni dati e istruzioni! che ven#ono codificati! allinterno dellelaboratore! in
maniera indistin#uibile
La diffusione dei calcolatori a livello mondiale avvenuta nei
decenni B79 e B89
Cenni storici
Cenni storici
?
?
Lohn Kon /eumann 1A9$:1A-8" Lohn Kon /eumann 1A9$:1A-8"
(nno accademico 2919:2911 (nno accademico 2919:2911
18 18
04'(C 1A)A" 04'(C 1A)A" 0/I(C 1A)7" 0/I(C 1A)7" 6arD I 1A)?" 6arD I 1A)?"
+/IK(C 1A-2" +/IK(C 1A-2" Chirl<ind 1A)A" Chirl<ind 1A)A" I(' 1A-2" I(' 1A-2"
Cenni storici
Cenni storici
A
A
(nno accademico 2919:2911 (nno accademico 2919:2911
1? 1?
>>>
Cenni storici
Cenni storici
19
19
1A 1A
(nno accademico 2919:2911 (nno accademico 2919:2911
1A 1A
%enso che ci sia mercato nel mondo per non piM di cin*ue computer> Ihomas Catson!
%residente di I16! 1A)$"
Ho #irato in lun#o e in lar#o *uesto paese e ho parlato con le mi#liori menti e posso
assicurarvi che *uesta moda dellelaborazione automatica un capriccio che non vedr& la
fine dellanno> 0ditor di libri scientifici di %rentice Hall! 1A)8"
+na unit& di calcolo sull0/I(C dotata di 1?>999 tubi elettronici a vuoto e pesa $9
tonnellate! ma possibile che in futuro i computer abbiano soltanto 1999 tubi e pesino
soltanto una tonnellata e mezzo> %opular 6echanics! 1A)A"
(bbiamo un computer *ui a Cambrid#e! ce n uno a 6anchester e uno al laboratorio
nazionale di fisica> Imma#ino che sarebbe #iusto averne uno anche in 'cozia! ma non di
piM> 4ou#las Hartree! fisico in#lese! 1A-1"
6a>>> a che serveN +n in#e#nere della (dvanced Computin# 'Fstems! 4ivisione dellI16!
commentando il microchip! 1A7-">
/el 1A87! il /e< OorD Iimes /e< OorD Iimes pubblic, un libro dal titolo La scienza nel ventesimo secolo La scienza nel ventesimo secolo!
nel *uale il calcolatore veniva menzionato una sola volta e indirettamente! in relazione al
calcolo delle orbite dei pianeti
/on c ra#ione perchP *ualcuno possa volere un computer a casa sua> ;en 2lson!
fondatore di 4i#ital! 1A88"
7)9 ;bFtes should be enou#h for anFbodF> 1ill 5ates! 1A?1"
Grasi celebri ed altroJ
Grasi celebri ed altroJ
29 29
(nno accademico 2919:2911 (nno accademico 2919:2911
29 29
Lin#ua##i di pro#rammazione
%ro#rammi applicativi
Il calcolatore basato su circuiti
elettronici di#itali! ovvero modellabili con
lal#ebra di 1ooleE i circuiti elettronici
implementano le funzioni lo#iche (/4!
2.! /2I! permettono di memorizzare il
valore di variabili booleane! di effettuare
calcoli! etc>
'ilicon 5raphics 'ilicon 5raphics
La struttura del calcolatore
La struttura del calcolatore
2$ 2$
(nno accademico 2919:2911 (nno accademico 2919:2911
2$ 2$
%eriferiche %eriferiche
BUS di sistema BUS di sistema
C%+ C%+
tastiera tastiera
mouse mouse
memoria di memoria di
massa massa
monitor monitor
6emoria 6emoria
centrale centrale
%eriferiche %eriferiche
La macchina di Kon /eumann
La macchina di Kon /eumann
1
1
2) 2)
(nno accademico 2919:2911 (nno accademico 2919:2911
L'architettura di Von Neumann
CPU
Memoria
centrale
Memoria
secondaria
I/O
BUS
La macchina di Kon /eumann
La macchina di Kon /eumann
2- 2-
(nno accademico 2919:2911 (nno accademico 2919:2911
2- 2-
1
1
2? 2?
(nno accademico 2919:2911 (nno accademico 2919:2911
2? 2?
La fre*uenza di clocD determina la velocit& di
elaborazione del computer: piM alta la fre*uenza di
clocD! ma##iore la velocit& di elaborazione
La velocit& e la potenza di un computer dipendono
per, anche dalla lar#hezza del bus! ovvero dal numero
di bit ampiezza del sin#olo dato" che il processore
in #rado di ricevere e di elaborare simultaneamente
2
2
2A 2A
(nno accademico 2919:2911 (nno accademico 2919:2911
2A 2A
.e#istri .e#istri
$
$
$9 $9
(nno accademico 2919:2911 (nno accademico 2919:2911
$9 $9
)
)
$1 $1
(nno accademico 2919:2911 (nno accademico 2919:2911
$1 $1
-
-
$2 $2
(nno accademico 2919:2911 (nno accademico 2919:2911
$2 $2
scorrimento shift"
operazioni lo#iche
operazioni di confronto
7
7
$$ $$
(nno accademico 2919:2911 (nno accademico 2919:2911
$$ $$
Le operazioni lo#iche es> (/4" ven#ono ese#uite bit a bit fra i due
operandi
0siste una unit& specializzata per le operazioni in vir#ola mobile G%+ G%+"
L(L+ (L+ (rithmetic (rithmetic Lo#ic +nit Lo#ic +nit" un circuito
in #rado di ese#uire operazioni aritmetiche
e lo#iche su 2 operandi! rappresentati su n
bit es> $2Q7) bit"E oltre al risultato
delloperazione pu, produrre informazioni
ulteriori su linee specifiche il risultato
zero! si verificato un overflo<! etc>"
L+nit& (ritmetico
L+nit& (ritmetico
Lo#ica
Lo#ica
ALU Result
Zero
Overflow
a
b
ALU operation
CarryOut
$) $)
(nno accademico 2919:2911 (nno accademico 2919:2911
$) $)
Listruzione un codice binario che deve essere decodificato decodificato dalla C+E
specifica il tipo di operazione! #li eventuali operandi! etc>
1
1
$8 $8
(nno accademico 2919:2911 (nno accademico 2919:2911
A"U RAM
BUS
c
A"U A"U
SCHEMA DELLA CPU
2222
CI
1
CI
2
CI
D
R#
Rn
RC
2222
IR
PC
$? $?
(nno accademico 2919:2911 (nno accademico 2919:2911
Ciclo ADE della CPU
Ciclo ADE della CPU
(10-
(10-
9 9
sec)
sec)
$
Reperimento
Reperimento
dellistruzione
dellistruzione
access
access
":
":
%
lettura della cella di .(6 il cui indirizzo e
contenuto nel contatore di pro#ramma
%
caricamento del registro istruzione con
listruzione
%
Incremento del contatore pro#ramma
$
Decodifica Decodifica "ell3istru4ione "ell3istru4ione (decode): (decode):
%
Troa !"i o#erandi a secon"a "el co"ice operativo
%
Modifica contatore pro#ra$$a se istru4ione "i salto
$
E$ecu%ione
E$ecu%ione
"ell3istru4ione
"ell3istru4ione
(e&ecute):
(e&ecute):
%
Attia i circuiti necessari
$A $A
(nno accademico 2919:2911 (nno accademico 2919:2911
A"U RAM
BUS
c
A"U A"U
ACCESS
2222
CI
1
CI
2
CI
D
R#
Rn
RC
2222
IR
PC
In IR viene $essa l3istru4ione
"a ese#uire (contenuta nella
RA5 all3in"iri44o specificato
all3inteno "el re#istro PC)
In PC viene $esso l3in"iri44o
"ella RA5 "ove 6 contenuta
la
prossi$a istru4ione "a
ese#uire2
)9 )9
(nno accademico 2919:2911 (nno accademico 2919:2911
A"U RAM
BUS
c
A"U A"U
DEC'DE
2222
CI
1
CI
2
CI
D
R#
Rn
RC
2222
IR
PC
La ALU riconosce
l3istru4ione co$e una
"elle istru4ioni
$acc7ina I(8 2228 I%
possibili
)1 )1
(nno accademico 2919:2911 (nno accademico 2919:2911
A"U RAM
BUS
c
A"U A"U
E(ECUTE
2222
CI
1
CI
2
CI
D
R#
Rn
RC
2222
IR
PC
La ALU attiva la
corrispon"ente
co$ponente (a"
ese$pio
CI) c7e ese#ue
l3istru4ione ric7iesta)
)2 )2
(nno accademico 2919:2911 (nno accademico 2919:2911
Esempio di esecuzione di istruzioni
Esempio di esecuzione di istruzioni
1> 1>
Carica
Carica
nel re#istro .$ il contenuto della cella di
nel re#istro .$ il contenuto della cella di
memoria 19
memoria 19
2> 2>
Carica
Carica
nel re#istro .) il contenuto della cella di
nel re#istro .) il contenuto della cella di
memoria 11
memoria 11
! !
"omma di interi
"omma di interi
sul contenuto dei re#istri .$ e .)!
sul contenuto dei re#istri .$ e .)!
risultato nel re#istro .9
risultato nel re#istro .9
)> )>
Irasferisci
Irasferisci
il contenuto del re#istro .9 nella cella 12
il contenuto del re#istro .9 nella cella 12
-> ->
'I2%
'I2%
)$ )$
(nno accademico 2919:2911 (nno accademico 2919:2911
L'architettura di Von Neumann
CPU RAM
Memoria
secondaria
I/O
BUS
)) ))
(nno accademico 2919:2911 (nno accademico 2919:2911
)) ))
1
1
)- )-
(nno accademico 2919:2911 (nno accademico 2919:2911
)- )-
2
2
(nno accademico 2919:2911 (nno accademico 2919:2911
5erarchia di memorie
5erarchia di memorie
IbFte
5bFte
)8 )8
(nno accademico 2919:2911 (nno accademico 2919:2911
1
1
)? )?
(nno accademico 2919:2911 (nno accademico 2919:2911
)? )?
2
2
)A )A
(nno accademico 2919:2911 (nno accademico 2919:2911
)A )A
$
$
-9 -9
(nno accademico 2919:2911 (nno accademico 2919:2911
Unit# di misura della RA$
Unit# di misura della RA$
(e della memoria in generale)
(e della memoria in generale)
1 %ilo&'te ;1" V (
10
)'te V 1>92)
bFteE circa 1>999 bFte
1 $ega&'te 61" V (
(0
)'te V 1>92)
;1E circa 1>999>999 bFte
1 *iga&'te 51" V (
0
)'te V 1>92)
61E circa 1>999>999>999 bFte
1 +era&'te I1" V (
,0
)'te V 1>92)
51E circa 1>999>999>999>999 bFte
-1 -1
(nno accademico 2919:2911 (nno accademico 2919:2911
)ndiri%%i di memoria
In"iri44o ,yte
In"2 parola In"2 "eci$ale In"iri44o binario
' ' '''''' ''
' ( '''''' '(
' ) '''''' ('
' * '''''' ((
( 0 '''''( ''
( / '''''( '(
( - '''''( ('
( . '''''( ((
) 9 ''''(' ''
) : ''''(' '(
) (' ''''(' ('
) (( ''''(' ((
v
-2 -2
(nno accademico 2919:2911 (nno accademico 2919:2911
-2 -2
'oluzioni 'oluzioni
strap
strap ed il
.26 1I2'
.26 1I2'
Le
routine di avviamento
routine di avviamento realizzano linizializzazione del
calcolatore:
1
1
-7 -7
(nno accademico 2919:2911 (nno accademico 2919:2911
-7 -7
Il soft<are della .26
Il soft<are della .26
2
2
Il
caricatore di boot
caricatore di boot
strap
strap ha la funzione di le##ere un
pro#ramma di lancio dal disco! detto
bootstrap
bootstrap! e di
trasferire ad esso il controllo: il boostrap carica il nucleo
del sistema operativo e lo manda in esecuzione
Il
.26 1I2'
.26 1I2'
1inarF Input
1inarF Input
2utput 'Fstem
2utput 'Fstem
la
parte della .26 attiva *uando il computer al lavoro:
il suo ruolo *uello di fornire un insieme di servizi di
base richiesti per il funzionamento delle periferiche
-8 -8
(nno accademico 2919:2911 (nno accademico 2919:2911
-8 -8
0ntrambe
presuppon#ono lutilizzo di un indirizzo che
identifica univocamente la cella interessata
alloperazione
Loperazione di scrittura
distruttiva
distruttiva! cio cancella
linformazione precedentemente contenuta nella cella
1
1
71 71
(nno accademico 2919:2911 (nno accademico 2919:2911
71 71
2
2
72 72
(nno accademico 2919:2911 (nno accademico 2919:2911
72 72
$
$
7$ 7$
(nno accademico 2919:2911 (nno accademico 2919:2911
)
)
7) 7)
(nno accademico 2919:2911 (nno accademico 2919:2911
I
I
dati binari che lunit& scrive sul disco sono tradotti in
dati binari che lunit& scrive sul disco sono tradotti in
un formato costituito da una serie di aree ma#netizzate
un formato costituito da una serie di aree ma#netizzate
in un senso o nell@altro
in un senso o nell@altro
Lettura da disco
Lettura da disco: poichP le particelle ma#netizzate sono
circondate da un campo ma#netico! *uando il traferro
passa sul disco le variazioni del campo inducono sulla
testina una corrente che si manifesta con variazioni di
volta##io alle estremit& della bobinaE i circuiti di lettura
decodificano le variazioni nellandamento dellintensit& di
corrente riconducendole a 9Q1
I dischi ma#netici
I dischi ma#netici
-
-
7- 7-
(nno accademico 2919:2911 (nno accademico 2919:2911
7- 7-
'ui
dischi ottici
dischi ottici si utilizza la tecnolo#ia laser per
realizzare le operazioni di letturaQscrittura
Jtracce piM lontane dal centro del disco sono piM lun#he e
conten#ono un ma##ior numero di settori fino al )9W in
piM rispetto alle tracce vicine al centro di rotazione"
I dischi ottici
I dischi ottici
1
1
77 77
(nno accademico 2919:2911 (nno accademico 2919:2911
77 77
I dischi
C2.6
C2.6!
Crite 2nce
Crite 2nce
.ead 6anF
.ead 6anF! si possono
scrivere una sola volta
2
2
78 78
(nno accademico 2919:2911 (nno accademico 2919:2911
L'architettura di Von Neumann
CPU RAM
Memoria
secondaria
I/O
BUS
7? 7?
(nno accademico 2919:2911 (nno accademico 2919:2911
Kelocit& del flusso dei dati: Kelocit& del flusso dei dati: *uantit& di dati trasferiti nellunit& di
tempo da o verso la C%+ o la memoria centrale
Insieme di dispositivi che consentono lac*uisizione di dati input input"! la
loro archiviazione stora#e stora#e" e la loro presentazione verso il mondo
esterno output output"
'i possono classificare in base a tre diverse caratteristiche:
Iastiera Iastiera input input uomo uomo
6ouse 6ouse input input uomo uomo
.ete .ete inputQoutput inputQoutput macchina macchina
Hard 4isD Hard 4isD stora#e stora#e macchina macchina
v
e
l
o
c
i
t
&
v
e
l
o
c
i
t
&
& &
19 19
) )
;1Qs ;1Qs
19 19
2 2
;1Qs ;1Qs
I dispositivi di Input
I dispositivi di Input
2utput
2utput