Breve storia del calcolatore

Transcript

Breve storia del calcolatore
Breve storia del calcolatore
Dott. Pierluigi Paolucci - Fondamenti
d'informatica - 2000/2001
1
Storia degli elaboratori
• L’età meccanica
• L’età elettrica
– 1a generazione (le prime macchine)
– 2a generazione (il transistor - 1947)
– 3a generazione (i circuiti integrati - 1965)
– 4a generazione (i VLSI)
• L’età del microprocessore
– 5a generazione (Intel 4004 - 1971)
• L’evoluzione tecnologica
Dott. Pierluigi Paolucci - Fondamenti
d'informatica - 2000/2001
2
I primordi
Il primo computer usato dall'uomo è stato senza dubbio la
mano. Grazie alle mani gli egiziani riuscirono a
rappresentare tutti i numeri sino a 9999 ed erano in grado
di eseguire addizioni, sottrazioni, moltiplicazioni e anche
calcoli più complessi. Il termine inglese "digit" ("cifra"),
oggi tanto usato, deriva proprio dalla parola latina digitus
("dito").
Dott. Pierluigi Paolucci - Fondamenti
d'informatica - 2000/2001
3
L’età “meccanica”
• L’idea di un sistema di calcolo non è nuova; essa esisteva
molto tempo prima che gli apparecchi elettrici ed
elettronici fossero inventati:
–
–
–
–
Abaco
Macchina per addizioni (Pascal 1642)
Il telaio automatico di Jacquard
la macchina analitica di Babbage
Dott. Pierluigi Paolucci - Fondamenti
d'informatica - 2000/2001
4
Abaco
•
•
•
L’idea di calcolare con macchine
risale a prima del 500 a.c. quando i
Babilonesi inventarono l’abaco (di
fatto
il
primo
elaboratore
meccanico).
L'abaco è il progenitore del più
moderno pallottoliere.
gli esemplari a nostra disposizione
appartennero ai Maya, Egiziani,
Cinesi, Romani ed hanno più di
2000 anni ma probabilmente l'abaco
ha più di 5000 anni.
Dott. Pierluigi Paolucci - Fondamenti
d'informatica - 2000/2001
5
Origine della parola “calcolo”
• La parola abaco viene dal semitico “abq” e significa
polvere o sabbia
• In latino i "calculi" (calculu(m) ‘sassolino’, e in
particolare ‘sassolino per fare i conti, pietruzza’) stavano
a significare i "sassolini" che si ponevano in una tavoletta
con apposite scanalature.
• In Occidente è stato importato verso il Mille ed è rimasto
in uso fino al XVI sec, benché già nel 1215, in una gara di
calcolo voluta dall'imperatore Federico II di Svevia, si era
appurato che il calcolo coi numeri indo-arabi era più
veloce di quello coll'abaco.
• Lo "zero" non ebbe mai una rappresentazione grafica o
simbolica.
Dott. Pierluigi Paolucci - Fondamenti
d'informatica - 2000/2001
6
Macchina per addizioni (Pascal 1642)
• La prima macchina per addizioni, lontano precursore del
computer digitale, fu inventata nel 1642 dal filosofo e
scienziato francese Blaise Pascal.
• Era costituita da una serie di ruote a dieci denti, ciascuno
associato a una cifra compresa tra 0 e 9. Le ruote erano
collegate in modo che i numeri potessero essere sommati
facendo avanzare le ruote del giusto numero di denti.
• Intorno al 1670, il filosofo e matematico tedesco Gottfried
Wilhelm Leibniz perfezionò la macchina di Pascal,
realizzandone una capace di eseguire anche le
moltiplicazioni.
Dott. Pierluigi Paolucci - Fondamenti
d'informatica - 2000/2001
7
Telaio automatico di Jacquard
• Anche l'inventore francese Joseph-Marie Jacquard
contribuì inconsapevolmente alla nascita dell'elaboratore:
progettando un telaio automatico usò sottili tavolette di
legno perforate per controllare la tessitura di motivi
complicati.
• Negli anni Ottanta dell'Ottocento, l'ingegnere statunitense
Herman Hollerith sviluppò l'idea di elaborare dati usando
schede perforate simili alle tavolette di Jacquard. Con un
sistema che faceva passare schede perforate sopra
opportuni contatti elettrici, egli riuscì a compilare
elaborazioni statistiche per il censimento degli Stati Uniti
del 1890.
Dott. Pierluigi Paolucci - Fondamenti
d'informatica - 2000/2001
8
La scheda perforata
Dott. Pierluigi Paolucci - Fondamenti
d'informatica - 2000/2001
9
Macchina analitica
•
•
•
Sempre nel XIX secolo, il matematico e inventore britannico Charles
Babbage progettò una serie di macchine, tra cui la macchina delle
differenze e la macchina analitica, capaci di trattare problemi
matematici complessi secondo un principio di funzionamento assai
vicino a quello dei moderni computer digitali.
Molti considerano Babbage e la sua collega, la matematica Augusta
Ada Byron (1815-1852), gli inventori del moderno computer digitale.
La macchina analitica possedeva infatti molte delle prestazioni di un
moderno calcolatore: aveva
–
–
–
–
•
un “flusso di dati” in ingresso costituito da una pila di schede perforate,
un "magazzino" (store) per conservare i dati,
una "fabbrica" (mill) per svolgere le operazioni aritmetiche, e
una stampante che produceva una registrazione permanente.
La tecnologia del tempo non fu in grado, tuttavia, di tradurre i progetti
di Babbage in dispositivi d'uso pratico.
Dott. Pierluigi Paolucci - Fondamenti
d'informatica - 2000/2001
10
La macchina di Babbage
Dott. Pierluigi Paolucci - Fondamenti
d'informatica - 2000/2001
11
L’età “elettrica”
• Il 1800 vide l’avvento del motore elettrico (Michael
Faraday) e con esso videro la luce una moltitudine di
machine con funzionamento motorizzato per le addizioni.
• Nel 1889, Herman Hollerith sviluppò la “scheda
perforata” come supporto di memorizzazione per i dati
(prendendo a prestito l’idea di Jacquard).
• 1943 - COLOSSUS
• Nel 1946, presso l’University of Pennsylvania, fu costruito
il primo computer elettronico programmabile (generalpurpose) moderno chiamato ENIAC (Electronics
Numerical Integrator and Calculator).
• Nel 1950 vennero realizzati UNIVAC I e II
Dott. Pierluigi Paolucci - Fondamenti
d'informatica - 2000/2001
12
Colossus (1943)
• Durante la seconda guerra mondiale, una squadra di
scienziati e matematici che operava a Bletchley Park, a
nord di Londra, creò una macchina chiamata Colossus,
contenente 1,500 tubi a vuoto, considerata il primo
computer digitale interamente elettronico.
• Nel mese di dicembre del 1943 Colossus era operativo;
esso fu usato dal gruppo guidato dal matematico britannico
Alan Turing per interpretare i messaggi radio cifrati dei
tedeschi.
• Indipendentemente da Colossus, un prototipo di macchina
elettronica era stato realizzato negli Stati Uniti fin dal
1939, da John Atanasoff e Clifford Berry presso l'Iowa
State College.
Dott. Pierluigi Paolucci - Fondamenti
d'informatica - 2000/2001
13
ENIAC (1945)
•
Le successive ricerche portarono nel 1945 allo sviluppo del computer
ENIAC (Electronic Numerical Integrator and Computer). Esso
conteneva 18,000 tubi a vuoto e vantava una velocità operativa di
molte centinaia di moltiplicazioni al minuto, ma il suo programma era
cablato negli stessi circuiti del processore, il che imponeva che la
programmazione venisse effettuata mediante aggiustamenti manuali
della circuiteria.
Dott. Pierluigi Paolucci - Fondamenti
d'informatica - 2000/2001
14
ENIAC (cont.)
• Grande trionfo della tecnologia basata su tubi a vuoto
• ENIAC poteva sommare 5000 numeri in 1 secondo
• poteva calcolare la traiettoria di un proiettile d’artiglieria in
30 secondi, mentre un esperto umano con una calcolatrice
meccanica l’avrebbe fatto in circa 40 ore.
• La macchina era molto grande
–
–
–
–
17,468 tubi a vuoto
30 tonns
16,200 cubic feet
consumava 180 kW
Dott. Pierluigi Paolucci - Fondamenti
d'informatica - 2000/2001
15
EDSAC (1949)
E’ il primo computer con programma immagazzinato
Dott. Pierluigi Paolucci - Fondamenti
d'informatica - 2000/2001
16
1a generazione
Limiti delle macchine di 1a generazione
•
Dal punto di vista dell'hardware,
– scarsa capacità di memorizzazione
– bassa velocità erano un forte limite alla complessità dei problemi
risolvibili
•
Dal punto di vista software,
– mancanza di linguaggi di "alto livello” (codice binario), quindi
• assenza di variabili
• assenza del concetto di "ciclo”
– assenza di qualsiasi tipo di supporto alla programmazione ed alla
strutturazione dei programmi (sistemi operativi, librerie,..)
Dott. Pierluigi Paolucci - Fondamenti
d'informatica - 2000/2001
17
2a generazione (1947“)
Macchine di 2a generazione
•
Dal punto di vista dell'hardware,
– Avvento del transistor, nel 1947-48.
– Le memorie a linee di ritardo vengono sostituite con anelli di
ferrite.
•
Dal punto di vista software,
– introduzione di variabili e cicli
– primi linguaggi (COBOL, FORTRAN, ALGOL)
– primi supporti alla programmazione (librerie,
compilatori, monitors)
Dott. Pierluigi Paolucci - Fondamenti
d'informatica - 2000/2001
subroutines,
18
Il transistor (1947)
•
L'uso dei transistor al silicio nei computer, negli ultimi anni
Cinquanta, segnò l'avvento di elementi logici più piccoli, veloci e
versatili di quelli realizzabili con i tubi a vuoto. I transistor, più
durevoli e meno costosi in termini di potenza, permisero la messa a
punto di elaboratori più evoluti, compatti, veloci ed economici: i
"computer di seconda generazione".
•
I laboratori Bell sviluppano il transistor (transfer resistor); John
Bardeen, Walter Brattain e William Shockley, che l'hanno inventato,
otterranno nel 1956 il Nobel per la fisica.
Dott. Pierluigi Paolucci - Fondamenti
d'informatica - 2000/2001
19
Anelli di ferrite
Dott. Pierluigi Paolucci - Fondamenti
d'informatica - 2000/2001
20
3a generazione (1965 “)
Nasce con la realizzazione dei circuiti integrati, nel 1965
(le memorie vengono realizzate con tecnologia a semiconduttore)
•
Dal punto di vista architetturale,
– introduzione del concetto di parallelismo (aumenta la velocità di
esecuzione delle istruzioni).
– Introduzione della microprogrammazione per semplificare il progetto
dell'Unità di controllo.
•
Dal punto di vista software
– Introduzione dei primi Sistemi Operativi (singolo utente e multi-utenti)
Dott. Pierluigi Paolucci - Fondamenti
d'informatica - 2000/2001
21
Il circuito integrato
• L’invenzione del transistor ha aperto l’età dell’elettronica
moderna impiegando gli “elettroni” nei “solidi” e lasciando
definitivamente alle spalle la tecnologia dei “tubi a vuoto”.
• Nel 1958 Jack St. Clair Kilby (NOBEL per la Fisica
2000) ideò un processo di integrazione del transistor con
resistori e capacitori su un singolo chip di Silicio.
• Nasce coì il circuito integrato monolitico (IC)
• Tutta l’elettronica e la microelettronica moderne è basata
su questa realizzazione che, quindi, è alla base anche della
rivoluzione informatica e delle telecomunicazioni.
Dott. Pierluigi Paolucci - Fondamenti
d'informatica - 2000/2001
22
4a generazione (VLSI)
Realizzazione della VLSI (Very Large Scale Integration)
Primi microprocessori
Vantaggi dal punto di vista architetturale:
–
–
–
–
potenziamento del parallelismo,
aumento delle funzionalità di elaborazione e controllo,
aumento della capacità di memorizzazione.
vengono realizzati elaboratori paralleli o supercomputers,
• Dal punto di vista software,
– vengono introdotti linguaggi orientati al parallelismo ed al
problem-solving.
– vengono introdotte interfacce amichevoli per facilitare l'uso del
computer da parte di non esperti di informatica.
Dott. Pierluigi Paolucci - Fondamenti
d'informatica - 2000/2001
23
L’età del “microprocessore”
• Il primo microprocessore del mondo, l’Intel 4004 (1971)
Name
8080
8088
80286
80386
80486
Pentium
Pentium II
Pentium III
Date
1974
1979
1982
1985
1989
1993
1997
1999
Clock
Transistors Microns speed
Data width
6000
6
2 MHz
8
29000
3
5 MHz
16 bits, 8 bit bus
134000
1,5
6 MHz
16 bits
275000
1,5
16 MHz
32 bits
1200000
1
25 MHz
32 bits
3100000
0,8
60 MHz 32 bits, 64 bit bus
7500000
0,35
233 MHz 32 bits, 64 bit bus
9500000
0,25
450 MHz 32 bits, 64 bit bus
Dott. Pierluigi Paolucci - Fondamenti
d'informatica - 2000/2001
MIPS
0.64 MIPS
0.33 MIPS
1 MIPS
5 MIPS
20 MIPS
100 MIPS
400 MIPS
1000
24
5a generazione
• Le macchine di 5a generazione cercano di superare i limiti
la macchina di Von Neumann, e si propongono di
affrontare problemi tipici dell'intelligenza umana, come la
comprensione di immagini e del linguaggio naturale.
• In generale, le architetture della 5a generazione puntano
sulla molteplicità e versatilità delle comunicazioni fra
elementi di elaborazione.
Dott. Pierluigi Paolucci - Fondamenti
d'informatica - 2000/2001
25
Legge di Moore
Transistors
Per Die
108
16M
M e m o ry
M ic ro pr o c e s s o r
107
4M
1M
256K
106
64K
105
103
Intel386™Processor
80286 Processor
4K 16K
104 1K
Pentium™
Intel486™Processor
8086
8080
4004
102
101
1
1970
1975
1980
1985
1990
1995
2000
Moore’s Law: No. Tx per chip increases 4X every 3 years
CAGR = 60%
Dott. Pierluigi Paolucci - Fondamenti
d'informatica - 2000/2001
26
Crescita delle performances
1200
DEC Alpha 21264/600
1100
1000
900
Performance
800
700
600
500
DEC Alpha 5/500
400
300
DEC Alpha 5/300
200
100
SUN-4/ MIPS
260
M/120
0
1987
Figure 1.20 from P&H
1988
IBM
MIPS
M2000 RS6000
1989
1990
DEC Alpha 4/266
IBM POWER 100
DEC AXP/500
HP 9000/750
1991
1992
Year
1993
1994
1995
1996
1997
Workstation Performance Improving 54% per year
That’s almost 1% per week!
Dott. Pierluigi Paolucci - Fondamenti
d'informatica - 2000/2001
27
Prezzo/Performance dei sistemi
1977
1998
IBM System 360/50
0.15 MIPS
64 KB
$1M
DEC VAX11/780
1 MIPS
1 MB
$200K
Dell Dimension XPS-300
725 MIPS
64 MB
$2412 (1/4/98)
$6.6M per MIPS
$200K per MIPS
$3.33 per MIPS
1965
Photographs from Virtual Computing History Group
Dott. Pierluigi Paolucci - Fondamenti
d'informatica - 2000/2001
28
Nota importante
• Le trasparenze, frutto di un’attiva collaborazione con i
prof. F.Cevenini e G.Spadaccini dell’Università di Napoli,
non sono da intendersi assolutamente come un libro di
testo.
• Per quanti sforzi si siano compiuti al fine di rendere il filo
logico quanto più trasparente ed omogeneo, esse sono e
restano un complemento indispensabile solo durante le
lezioni frontali.
• Libri di testo
– D. Bovet "Introduzione all'Architettura dei calcolatori" Zanichelli
(1996)
– V. Hamacher, Z. Vranesic e S. Zaky "Introduzione dell'architettura
dei calcolatori” McGraw Hill (1997)
Dott. Pierluigi Paolucci - Fondamenti
d'informatica - 2000/2001
29