Sei sulla pagina 1di 22

Università di Napoli Federico II - Dip.

di Ingegneria Elettrica e delle Tecnologie dell’Informazione


Corso di Laurea in Ingegneria Informatica

Fondamenti di Informatica

Un pò di…storia
Macchine per il calcolo automatico
• L’idea di realizzare macchine che fossero in grado di eseguire calcoli
matematici in maniera automatica è antica
• La calcolatrice di Leibniz (in Inglese Stepped Reckoner) è stata la
prima calcolatrice meccanica della storia in grado di eseguire tutte le
quattro operazioni aritmetiche (addizione, sottrazione, moltiplicazione
e divisione)
• Ideata nel 1672, fu realizzata solo nel 1694
• La macchina rappresentava i numeri in binario (due cifre, 0 e 1)
• La macchina realizzata presentava un difetto nella gestione dei riporti
• Agli inizi dell'800 le calcolatrici meccaniche conobbero una certa
diffusione, specialmente in ambito bancario e commerciale
Differenza tra calcolatrice e computer
• Una macchina “calcolatrice” può eseguire singole operazioni
aritmetiche oppure, quelle più sofisticate, sequenze fisse di
operazioni aritmetiche su dati variabili forniti in ingresso (input)
• Una macchina “calcolatore” o “computer” è in grado di eseguire
differenti sequenze di calcoli su dati variabili forniti in ingresso (input)
• La specifica sequenza di operazioni che la macchina esegue è
descritta in un programma che governa il funzionamento di una
unità di controllo della macchina
• Un calcolatore può essere programmato in modo tale da eseguire
operazioni diverse a seconda dei risultati intermedi ottenuti
• Il programma può essere:
• Cablato nella struttura fisica della macchina
• La programmazione richiede una riconfigurazione della macchina
• Memorizzato in un opportuno codice in un organo di memoria
La macchina analitica di Babbage
• Charles Babbage propose nel 1837 una macchina
meccanica per il calcolo automatico che potesse
essere riprogrammabile per eseguire calcoli diversi
• Nel 1842, l’ingegnere italiano Luigi Menabrea riportò in
un articolo una descrizione della macchina di Babbage
(macchina analitica)
• Babbage non riuscì a portare a termine la costruzione
della sua macchina
⚫ L’unità di controllo della macchina (motore
analitico) prevedeva anche un'istruzione di salto
condizionale, ovvero la possibilità di modifica
dell'ordine delle istruzioni in base ad una
condizione (vera o falsa)
⚫ La tecnologia meccanica rendeva molto difficile
realizzare macchine automatiche di calcolo la cui
sequenza di operazioni potesse essere modificata
agevolmente
La macchina di Turing
⚫ Fu solo grazie all’avvento della tecnologia elettronica che fu
possibile concepire e realizzare macchine “programmabili”
⚫ Il primo a concepire una macchina elettronica a programma
registrato per la elaborazione di informazioni fu il matematico
inglese Alan Turing
⚫ In "On Computable Numbers, with an Application to the
Entscheidungsproblem" (1936) Turing introdusse una macchina
astratta, nota come Macchina di Turing, in grado di eseguire
operazioni elementari secondo uno schema di calcolo che
consente di risolvere ogni tipo di problema di logica in un
numero finito di passi
⚫ se un problema è intuitivamente calcolabile, allora esisterà una
macchina di Turing (o un dispositivo equivalente) in grado di
risolverlo (cioè di calcolarlo)
⚫ Della Macchna di Turning non furono mai costruiti esemplari
reali, ma la sua idea influenzò in maniera significativa il progetto
dei primi calcolatori elettronici durante la Seconda Guerra
Mondiale (negli USA ed in Inghilterra)
La macchina di Hollerith
Nel 1889, Herman Hollerith brevettò e realizzò un
sistema per la registrazione dei dati
su bande di carta (schede perforate)
Il sistema, impiegato per calcoli statistici durante il
censimento USA del 1890, consisteva di

⚫ una perforatrice manuale


⚫ una macchina tabulatrice

Nel 1896, Hollerith fondò la


Tabulating Machine Company
che nel 1924 divenne IBM

In realtà, anche la macchina di Babbage


prevedeva l’impiego di schede perforate.
Nella macchina di Babbage le schede erano
usate per memorizzare le istruzioni del
programma da eseguire, mentre nella
macchina di Hollerith le schede erano usate
solo per memorizzare i dati di input e di output
del calcolo.
Calcolatori Analogici
Furono realizzati (per un certo periodo) per simulare le
caratteristiche di aerei supersonici, missili, veicoli spaziali

I valori numerici da elaborare erano associati


ai valori di una grandezza fisica, come una tensione elettrica,
che può assumere valori sia positivi che negativi

A differenza dei calcolatori digitali,


eseguivano calcoli su variabili continue e non discrete

Costituiti da una serie di blocchi costruttivi elettronici


in grado di eseguire operazioni matematiche su tensioni continue
Calcolatori Digitali
Nei calcolatori digitali le informazioni sono rappresentate
in forma discreta, mediante codici binari

Il valore di una informazione è rappresentato mediante un numero finito di


cifre binarie (0 ed 1)
associate ad una grandezza fisica che può assumere solo due valori
(circuito aperto / circuito chiuso, tensione 0 Volt oppure 5 Volt, ecc…)

Inizialmente realizzati con dispositivi elettromeccanici, i calcolatori digitali


ebbero un enorme sviluppo con l’avvento dell’Elettronica

Dispositivi elettronici quali valvole, transistor e circuiti integrati


hanno permesso, a partire dagli anni ’30 del XX secolo, la realizzazione
di calcolatori in grado di eseguire operazioni
a velocità sempre maggiori in spazi sempre minori
ENIAC
Electrical Numerical Integrator and Calculator
⚫Progettato e realizzato negli anni 1944-1946
da J.Presper Eckert e John Mauchly alla
Moore School della Pennsylvania University
⚫Utilizzato per calcoli balistici, ricerca sui
raggi cosmici e sull’energia nucleare
⚫La programmazione dell’ENIAC era fatta a
mano, inserendo cavi elettrici e azionando
interruttori, ed i dati erano introdotti tramite
schede perforate
⚫La programmazione di un singolo calcolo
richiedeva da mezz’ora ad un giorno intero
⚫Nel 1944 John Von Neumann entrò a far
parte del progetto ENIAC
John VON NEUMANN
⚫ Nel giugno 1945, John von Neumann, in un
documento dal titolo First Draft of a Report on
the EDVAC (dattiloscritto dal collega Herman
H. Goldstin) descrisse la realizzazione di un
nuovo calcolatore elettronico, l’EDVAC
(Electronic Discrete Variable Automatic
Computer), fornito di una memoria per
mantenere i dati e le istruzioni
⚫ L’EDVAC era un successore dell’ENIAC
⚫ Il modello di calcolatore descritto in questo
documento ha improntato il progetto dei
calcolatori elettronici negli anni successivi ed è
noto come modello di Von Neumann
⚫ Dopo la pubblicazione del Report, Von
Neumann e Goldstine lasciarono la
Pennsylvania University e continuarono il loro
lavoro presso lo Institute for Advanced Study
alla Princeton University
John von Neumann (a destra) con Herman H. Goldstin e Robert Oppenheimer
L’informatica arriva all’uomo comune

Nel 1950 l’industria dei


1950
computer compiva 4 anni

L’Informatica iniziava ad
avere influenza sulla vita
dell’uomo comune

“Può l’uomo costruire


il superuomo?”
UNIVAC
Anno in cui i computer iniziano ad 1951
essere utilizzati anche da utenti
paganti

il debutto commerciale si ebbe con


UNIVAC
Universal Automatic Computer

primo computer programmabile


adatto alle aziende
la prima fu la General Electric

dal 1951 al 1957


ne furono venduti 46
al prezzo di 1.000.000 $
ciascuno
I primi passi

⚫ 1946: V. Neumann tiene il


primo corso presso
l’Università di Pennsylvania
⚫ Nel giugno del '48
all'Università di Manchester
entrò in funzione il primo
calcolatore moderno della
storia, chiamato
Manchester Mark I.
⚫ Il primo calcolatore in
Italia: 1954 Politecnico di
Milano
Il linguaggio FORTRAN
1954
FORMULAS
TRANSLATOR
ovvero tradurre comandi e istruzioni in
linguaggio macchina

Grace HOPPER
realizza A-O
il primo compilatore

John BACKUS,
matematico, ebbe il via libera dall’IBM per
realizzare un formulas traslator specifico
per formule matematiche indirizzato alla
clientela tecnico-
scientifica

nascerà il FORTRAN
Il linguaggio COBOL
COmmon Business Oriented 1959
Language

La CODASYL
COnference of DAta SYstem
Language
viene incaricata di
sviluppare le specifiche di un
nuovo linguaggio
indipendente dalle strutture
hardware, semplice e
Il codice ASCII
American Standard Code for
Information Interchange
1963
Robert BEMER
scrive un codice “universale”
per rappresentare i caratteri
L’obiettivo era di mettere fine alla babele
dei 60 codici esistenti all’epoca
Ci vorranno 18 anni perché lo standard
prenda piede sostituendo l’ EBCDIC
in uso sulle macchine IBM
Nascita di Internet
Paul BARAN 1965-1969
lavorando al progetto commissionato dall’ARPA
per una rete a prova di attacco nucleare capisce
che la suddivisione dei dati in “pacchetti” era la
soluzione

Nel 1969, l’ARPA presenta ARPAnet, una rete a


commutazione di pacchetto con 4 nodi
Si tratta della rete da cui nascerà, negli anni
successivi, l’odierna Internet

La realizzazione del primo “router” (IMP) fu merito


del gruppo guidato da Leonard Kleinrock ad
UCLA
Nascita di Unix e del linguaggio C
1969
⚫ Ken THOMPSON, Dennis RITCHIE e Doug McILLOY,
continuando in proprio presso i Bell Labs lo sviluppo di
un sistema operativo time-sharing originariamente
denominato Multics, creano il sistema operativo UNIX
⚫ Il sistema operativo è sviluppato inizialmente in
linguaggio assembly su un minicomputer PDP-7
⚫ Il sistema operativo fu successivamente riscritto nel
linguaggio di programmazione C, ideato dallo stesso
Dennis RITCHIE e da Brian KERNIGHAN
⚫ L’uso di C consentì di “portare” più facilmente il
sistema operativo Unix su calcolatori diversi
dall’originario PDP-7
1971 - L’avvento dei
microprocessori

INTEL 8080 (1974) –


INTEL 4004 (1971) – 4500 transistor
2300 transistor

INTEL 8086 (1978) –


29000 transistor
INTEL 80386 (1985) – 275000
transistor
Il Personal Computer IBM
⚫ IBM progetta un computer per uso di massa:
il Personal Computer (PC)

1981

⚫ Serve il “sistema operativo”:


Paul ALLEN e Bill GATES
fondatori di MICROSOFT
vendono ad IBM il SO PC DOS 1.0
Il linguaggio C++
Inventato nel 1979 da
1979-1985
Bjarne STROUSTRUP,
dei Bell Labs secondo il paradigma
della programmazione object-
oriented

Nell’85 la AT&T lo rende disponibile


alle università senza garanzie

Dal ’90 per molti anni è stato il


linguaggio di programmazione a più
elevato ritmo di diffusione
Riferimenti
⚫ Libro di teoria («Alle radici dell’informatica»)
Capitolo 1, paragrafo 1.3

Potrebbero piacerti anche