Corso di INFORMATICA - Ingegneria Aerospaziale
Concetti base sui calcolatori elettronici
Ing. Luca De Santis
DIS - Dipartimento di informatica e sistemistica
Anno accademico 2007/2008
Calcolatori: concetti base
DIS - Dipartimento di informatica e sistemistica
1 / 21
Corso di INFORMATICA - Ingegneria Aerospaziale
Cosa vedremo in questa lezione
1
Introduzione storica ai calcolatori
2
Architettura e componenti principali
3
Rappresentazione delle informazioni nei calcolatori
Calcolatori: concetti base
DIS - Dipartimento di informatica e sistemistica
2 / 21
Corso di INFORMATICA - Ingegneria Aerospaziale
Introduzione storica ai calcolatori
I calcolatori e l’opinione pubblica
“I think there is a world market for maybe five computer” –
Thomas Watson, IBM, 1943
“Mentre [...] l’ENIAC è dotato di 18000 tubi a vuoto e pesa trenta
tonnellate, i calcolatori del futuro potranno avere 1000 tubi a vuoto
e forse pesare solo una tonnellata e mezzo” – Popular Mechanics,
1949
“There is no reason anyone would want a computer in their home.”
– Ken Olson, fondatore della DEC, 1977
Calcolatori: concetti base
DIS - Dipartimento di informatica e sistemistica
3 / 21
Corso di INFORMATICA - Ingegneria Aerospaziale
Introduzione storica ai calcolatori
Che cos’è un computer?
Definizione: “A computer is a machine that manipulates data
according to a list of instructions” [da Wikipedia
(http://en.wikipedia.org)]
Tale definizione non è stata e non è immutabile!
Nell’antichità anche strumenti meccanici semplici, come ad esempio
un abaco
Dal 1600 si iniziarono a costruire le prime calcolatrici meccaniche
Prima macchina programmabile: telaio a schede perforate (1801)
Primo uso massivo di uno strumento automatico: macchina a schede
perforate per elaborazioni statistiche (USA 1890). Nota: macchine
costruite da una società che successivamente cambierà nome in IBM.
C’è tuttavia un elemento comune: tutte queste macchine senza istruzioni
non servono a nulla!
Calcolatori: concetti base
DIS - Dipartimento di informatica e sistemistica
4 / 21
Corso di INFORMATICA - Ingegneria Aerospaziale
Introduzione storica ai calcolatori
Immagini di calcolatori
Macchina di Anticitera (circa 150 a.c.)
Calcolatori: concetti base
DIS - Dipartimento di informatica e sistemistica
5 / 21
Corso di INFORMATICA - Ingegneria Aerospaziale
Introduzione storica ai calcolatori
Immagini di calcolatori
Macchina di Anticitera (circa 150 a.c.)
Calcolatori meccanici (circa 1600 d.c.)
Telaio programmabile Jacquard (circa 1801 d.c.)
Calcolatori: concetti base
DIS - Dipartimento di informatica e sistemistica
5 / 21
Corso di INFORMATICA - Ingegneria Aerospaziale
Introduzione storica ai calcolatori
Immagini di calcolatori
Macchina di Anticitera (circa 150 a.c.)
Calcolatori meccanici (circa 1600 d.c.)
Telaio programmabile Jacquard (circa 1801 d.c.)
Calcolatori: concetti base
DIS - Dipartimento di informatica e sistemistica
5 / 21
Corso di INFORMATICA - Ingegneria Aerospaziale
Introduzione storica ai calcolatori
Rivoluzione tecnologica
La prima grande rivoluzione si è avuta con il passaggio dalle
tecnologie meccaniche a quelle elettroniche (prima analogiche e poi
digitali)
Una leva molto forte per lo sviluppo dei calcolatori è stata la guerra
Decifrare messaggi segreti
Effettuare calcoli balistici
I primi computer elettromeccanici/elettronici erano sostanzialmente
grosse calcolatrici
Molto meno potenti della attuali calcolatrici tascabili
Inizialmente meno veloci anche dei migliori “Computer umani”
Calcolatori: concetti base
DIS - Dipartimento di informatica e sistemistica
6 / 21
Introduzione storica ai calcolatori
Corso di INFORMATICA - Ingegneria Aerospaziale
Primi calcolatori elettronici
Nome
Zuse Z3
Nazione
Ger
Anno
1941
Binario
si
Elettronico
no
Atanasoff-Berry
Colossus
USA
UK
1941
1943
si
si
si
si
Harvard Mark I
USA
1944
no
no
ENIAC
USA
1944
no
si
1948
no
si
Calcolatori: concetti base
Program.
si, film perforato
no
parzialmente,
circuiti
si, schede perforate
parzialmente,
circuiti
attraverso ROM
DIS - Dipartimento di informatica e sistemistica
Turing
si
no
no
no
si
si
7 / 21
Corso di INFORMATICA - Ingegneria Aerospaziale
Introduzione storica ai calcolatori
Seconda rivoluzione tecnologica
Una nuova rivoluzione si è avuta con l’introduzione dei transistor e
della miniaturizzazione dei componenti
Meno spazio occupato e meno energia elettrica assorbita
Maggiore affidabilità e velocità
A partire dai primi anni 60 i calcolatori iniziarono ad essere costruiti
in serie e venduti anche per usi commerciali ed industriali
Ad esempio IBM System/360
IBM 360 è stata la prima famiglia di calcolatori a larga diffusione
Tuttavia sistemi ancora molto costosi e prodotti in poche unità
Alcune importanti eccezioni
Digital Equipment Corporation (DEC) PDP-8 (1965): 50.000
esemplari venduti
Supercalcolatore CDC 6600 (progettato da Cray)
Calcolatori: concetti base
DIS - Dipartimento di informatica e sistemistica
8 / 21
Corso di INFORMATICA - Ingegneria Aerospaziale
Introduzione storica ai calcolatori
Terza rivoluzione tecnologica
Integrazione di componenti su larga scala (LSI, VLSI)
Componenti molto piccoli e caratterizzati da alte prestazioni
Microprocessori (da migliaia a milioni di transistor per cm2 )
Memorie (da pochi Kbyte a Gbyte)
Controller (BUS I/O, video, audio, ecc.)
Primo microprocessore: Intel 4004
Un Italiano (Federico Faggin) capo del team di progettazione!
Larghissima diffusione: i microprocessori sono presenti un po’
ovunque (Smart card, lavatrici, telefoni portatili, automobili, ecc.)
Diffusione su larga scala di calcolatori piccoli e molto economici
Primo personal computer: IBM PC (1980)
Il calcolatore smette di essere uno strumento di lavoro e diviene
anche (in moltissimi casi soprattutto) un dispositivo per lo svago
Calcolatori: concetti base
DIS - Dipartimento di informatica e sistemistica
9 / 21
Corso di INFORMATICA - Ingegneria Aerospaziale
Architettura e componenti principali
Architettura di un calcolatore
Nonostante la grande varietà (per costi, dimensioni, prestazioni,
ecc.) di calcolatori esistenti e la loro evoluzione nel tempo, è
possibile definire due architetture di base che li comprendono tutti
Architettura di Harvard (1944)
Architettura di “von Neumann” (1945)
Molto spesso i due modelli di architettura si sovrappongono
Tuttavia l’architettura attualmente più diffusa è quella di von
Neumann
Calcolatori: concetti base
DIS - Dipartimento di informatica e sistemistica
10 / 21
Corso di INFORMATICA - Ingegneria Aerospaziale
Architettura e componenti principali
Componenti di un personal computer
Premessa
Le architetture descritte precedentemente si mappano sui
calcolatori in modo diverso a seconda della tipologia di quest’ultimi
Ad esempio, nel caso di grandi calcolatori per applicazioni
commerciali (mainframe) il dispositivo di input è la console di
amministrazione, la CPU è formata da un insieme di circuiti integrati
mentre i dispositivi di output sono i nastri e i terminali degli
operatori.
In questo corso vedremo unicamente i componenti principali dei
personal computer
Anatomia di un Personal computer
Calcolatori: concetti base
DIS - Dipartimento di informatica e sistemistica
11 / 21
Corso di INFORMATICA - Ingegneria Aerospaziale
Architettura e componenti principali
Componenti di un personal computer
Premessa
Anatomia di un Personal computer
Calcolatori: concetti base
DIS - Dipartimento di informatica e sistemistica
11 / 21
Corso di INFORMATICA - Ingegneria Aerospaziale
Architettura e componenti principali
Breve descrizione dei principali componenti (1)
Microprocessore
Il microprocessore (o processore) è il dispositivo che interpreta ed
esegue le istruzioni che compongono un programma
Formato da unità logico aritmetica (ALU) e unità di controllo
Solitamente le istruzioni sono quelle aritmetiche, i caricamenti /
salvataggi sulla memoria, salti, ecc.
Nei computer attuali, oltre al processore dedicato alle istruzioni dei
programmi, sono spesso presenti altri processori (processore grafico,
processore audio, ecc.)
Due principali famiglie di architetture definibili sulla base delle
istruzioni eseguibili:
CISC (Complex Instruction Set Computer)
RISC (Reduced Instruction Set Computer)
Attualmente è preferita l’architettura RISC
Esempi di processori: Intel 8080, Motorola 68000, MIPS 10000,
Intel Pentium, AMD Athlon 64
Calcolatori: concetti base
DIS - Dipartimento di informatica e sistemistica
12 / 21
Corso di INFORMATICA - Ingegneria Aerospaziale
Architettura e componenti principali
Breve descrizione dei principali componenti (2)
Dispositivi di memorizzazione (gerarchia)
Calcolatori: concetti base
DIS - Dipartimento di informatica e sistemistica
13 / 21
Corso di INFORMATICA - Ingegneria Aerospaziale
Architettura e componenti principali
Periferiche di input/output
Input
Tastiera
Mouse
Lettore di schede perforate
Touch screen
Sensore infrarosso
...
Output
Monitor
Stampante
Altoparlante
Braccio robotizzato della libreria a nastri
...
Calcolatori: concetti base
DIS - Dipartimento di informatica e sistemistica
14 / 21
Corso di INFORMATICA - Ingegneria Aerospaziale
Rappresentazione delle informazioni nei calcolatori
Con che dati lavorano i calcolatori?
I componenti base della CPU e delle memorie (transistor) sono in
grado di rappresentare due stati: OFF e ON (ovvero chiuso/aperto
ovvero 0/1)
L’unità base di informazione viene chiamata bit (da Binary Digit)
Al loro interno i calcolatori utilizzano sequenze di 0 e 1 per
rappresentare ogni tipo di informazione
Questo vale anche per le istruzioni che debbono essere eseguite; un
componente apposito della CPU decodifica le sequenze per attivare le
operazioni
Tutte le informazioni sono trattate in un calcolatore in gruppi di bit
di dimensione finita (solitamente 32 o 64)
Per convenzione le sequenze di bit sono raggruppate per otto. Un
gruppo di 8 bit è detto byte
Calcolatori: concetti base
DIS - Dipartimento di informatica e sistemistica
15 / 21
Corso di INFORMATICA - Ingegneria Aerospaziale
Rappresentazione delle informazioni nei calcolatori
Rappresentare i numeri naturali
Esistono principalmente due modi di rappresentare i numeri naturali N:
sistema additivo e sistema posizionale
Sistema additivo
I numeri sono scritti secondo un principio puramente additivo e per
ottenere il suo valore basta sommare i valori dei vari simboli
(sistema romano)
Esempio: MDCCLXIV è pari a
1000 + 500 + 100 + 100 + 50 + 10 − 1 + 5 = 1764
Se un valore non è in ordine crescente si sottrae
Diversi problemi
Necessari molti simboli
Difficile gestire numeri con molte cifre significative
Fare dei calcoli è molto complesso!
Sistema posizionale
Calcolatori: concetti base
DIS - Dipartimento di informatica e sistemistica
16 / 21
Corso di INFORMATICA - Ingegneria Aerospaziale
Rappresentazione delle informazioni nei calcolatori
Rappresentare i numeri naturali
Esistono principalmente due modi di rappresentare i numeri naturali N:
sistema additivo e sistema posizionale
Sistema additivo
Sistema posizionale
I simboli assumono valore a seconda della loro posizione rispetto ad
un numero b detto base; per rappresentare qualsiasi numero
naturale sono sufficienti b simboli
La base 10 è quella più utilizzata
La sequenza finita di cifre (cn cn−1 . . . c0 )10 (con ck ∈ [0, 1, . . . , 9]) è
equivalente al polinomio cn x10n + cn−1 x10n−1 + . . . + c0 x100
Esempio: 176410 = 1x103 + 7x102 + 6x101 + 4x100
Necessario introdurre un nuovo concetto: lo zero
Calcoli molto semplici!
Calcolatori: concetti base
DIS - Dipartimento di informatica e sistemistica
16 / 21
Corso di INFORMATICA - Ingegneria Aerospaziale
Rappresentazione delle informazioni nei calcolatori
Rappresentare i numeri naturali con il computer
Attraverso i valori 0 e 1 è possibile rappresentare i numeri naturali
mediante il sistema di numerazione in base due (o binario)
Un numero binario è una sequenza di 0 e 1 (ad esempio 1010)
Ricordando quanto visto precedentemente, è possibile determinare il
polinomio 1x23 + 0x22 + 1x21 + 0x20 e quindi calcolare il valore del
numero (in questo caso 10)
Il calcolatore gestisce sempre gruppi di dimensione costante (ad
esempio 32 bit): numeri molto piccoli occupano la stessa quantità
di memoria di numeri molto grandi!
Calcolatori: concetti base
DIS - Dipartimento di informatica e sistemistica
17 / 21
Corso di INFORMATICA - Ingegneria Aerospaziale
Rappresentazione delle informazioni nei calcolatori
Aritmetica binaria
Regole di base
Un numero binario formato da n bit consente di rappresentare tutti
i numeri interi positivi x ∈ [0, 2n − 1]
Ad esempio, con 32 bit (4 byte) si possono rappresentare i numeri
interi tra 0 e 4.294.967.295
La somma di due numeri binari è molto semplice. Ad es.:
01100010 + 9810
00110101 = 5310
10010111
15110
Per consentire la gestione dei numeri negativi si utilizza la
rappresentazione in complemento a due
Complemento a due
Calcolatori: concetti base
DIS - Dipartimento di informatica e sistemistica
18 / 21
Corso di INFORMATICA - Ingegneria Aerospaziale
Rappresentazione delle informazioni nei calcolatori
Aritmetica binaria
Regole di base
Complemento a due
Rappresentazione vantaggiosa dal punto di vista dei calcoli
Il bit più a sinistra identifica il segno: se è pari a 1 il numero è
negativo, altrimenti positivo
Per passare da un numero positivo (negativo) al suo equivalente
negativo (positivo) è sufficiente (1) invertire i bit e (2) sommare
uno. Ad esempio:
01010 (+10) ⇒ 10101+1 ⇒ 10110 (-10)
Cosa succede se si provano a sommare due numeri con lo stesso
segno molto grandi?
Calcolatori: concetti base
DIS - Dipartimento di informatica e sistemistica
18 / 21
Corso di INFORMATICA - Ingegneria Aerospaziale
Rappresentazione delle informazioni nei calcolatori
Rappresentazione dei reali
I calcolatori gestiscono i numeri reali attraverso codifiche particolari
delle sequenze di bit (es. IEEE 754)
A causa della dimensione limitata delle sequenze di bit gestibili dal
calcolatore non è possibile rappresentare tutti i possibili valori
Problemi di precisione nei calcoli!
Notazione scientifica IEEE 754
Notazione compatta del tipo (s) × m × b k
Segno s: il segno del numero
Mantissa m: un numero tra 1 e 2 (m = 1, frazione)
Esponente k: l’esponente della base
Nel nostro caso (32 bit in base 2) 1 bit per il segno, 23 per la mantissa e
8 per l’esponente
Con 23 bit si possono rappresentare ≈ 7 cifre decimali, mentre con 8 bit
si possono rappresentare numeri dell’ordine ≈ 10± 38
Calcolatori: concetti base
DIS - Dipartimento di informatica e sistemistica
19 / 21
Corso di INFORMATICA - Ingegneria Aerospaziale
Rappresentazione delle informazioni nei calcolatori
Caratteri
La rappresentazione interna si basa sulla codifica mediante un
intero
Sufficiente 1 byte per la rappresentazione dei caratteri necessari per
le lingue anglosassoni
Per altre lingue (Cinese, Giapponese, ecc.) sono adottate altre
codifiche (con almeno 2 byte per carattere)
Una codifica molto diffusa (sui PC) è quella ASCII (American
Standard Code for Information Interchange – 7 o 8 bit)
Calcolatori: concetti base
DIS - Dipartimento di informatica e sistemistica
20 / 21
Rappresentazione delle informazioni nei calcolatori
Corso di INFORMATICA - Ingegneria Aerospaziale
Codifica ASCII a 7 bit
Tabella dei codici ASCII significativi
32
33
!
40 41 42 43
(
)
*
+
50 51 52 53
2
3
4
5
60 61 62 63
<
=
>
?
70 71 72 73
F
G
H
I
80 81 82 83
P
Q
R
S
90 91 92 93
Z
[
\
]
100 101 102 103
d
e
f
g
110 111 112 113
n
o
p
q
120 121 122 123
x
y
z
{
Calcolatori: concetti base
34
"
44
,
54
6
64
@
74
J
84
T
94
^
104
h
114
r
124
|
35
#
45
55
7
65
A
75
K
85
U
95
_
105
i
115
s
125
}
36
$
46
.
56
8
66
B
76
L
86
V
96
‘
106
j
116
t
126
~
37
%
47
/
57
9
67
C
77
M
87
W
97
a
107
k
117
u
38
&
48
0
58
:
68
D
78
N
88
X
98
b
108
l
118
v
39
’
49
1
59
;
69
E
79
O
89
Y
99
c
109
m
119
w
DIS - Dipartimento di informatica e sistemistica
21 / 21