Title: INFORMATICA UMANISTICA B
1INFORMATICA UMANISTICA B
- STORIA DELLINFORMATICAmassimo.poesio_at_unitn.it
2RIASSUNTO
- Modelli teorici della computazione
- Macchine calcolatrici
- Modelli matematici della computazione la
macchina di Turing - Computer elettronici
3I MODELLI TEORICI DELLA COMPUTAZIONE
- Un PROGRAMMA e un ALGORITMO posto in forma
comprensibile al computer - Il nome ALGORITMO non e stato inventato dagli
informatici ma dai matematici - Deriva dal nome del matematico persiano Muhammad
ibn Musa 'l-Khwarizmi che attorno all825 scrisse
un trattato chiamato Kitab al-djabr wa
'l-muqabala (Libro sulla ricomposizione e sulla
riduzione) - AL-KHWARIZMI ? ALGORISMO ? ALGORITMO
- (ALGEBRA deriva da AL-DJABR)
4ALGORITMO
- Definizione informale di ALGORITMO una sequenza
FINITA di passi DISCRETI e NON AMBIGUI che porta
alla soluzione di un problema
5UN PROBLEMA, DUE ALGORITMI IL MASSIMO COMUN
DIVISORE
6MCD UN ALGORITMO ELEMENTARE
- A scuola si impara un algoritmo molto semplice
per calcolare MCD la SCOMPOSIZIONE IN FATTORI
PRIMI - 42 2 x 3 x 7
- 56 2 x 2 x 2 x 7
- Algoritmo MCD(M, N)
- Scomponi M ed N in fattori primi
- Estrai i componenti comuni
- Questo metodo si puo solo applicare per numeri
piccoli (la scomposizione in fattori primi e
molto costosa)
7MCD ALGORITMO DI EUCLIDE
- Come vedremo piu avanti, i moderni calcolatori
non usano lalgoritmo elementare per calcolare il
MCD, ma un algoritmo molto piu efficiente la cui
prima menzione e negli Elementi di Euclide, e
che divenne noto agli occidentali tramite
Al-Khwarizm
8II PRIME MACCHINE CALCOLATRICI
- Labaco
- Calcolatrici meccaniche
9LABACO
10MACCHINE CALCOLATRICI MECCANICHE
- Cenni storici
- IX XIII sec. macchine complesse per automazione
industriale, in particolare industria tessile.
Telaio di Jacquard, controllato da schede
perforate di cartone, che rendevano automatica la
lavorazione della stoffa e i disegni realizzati
nello stabilimento di tessitura - Macchina per il calcolo inventata dal filosofo
Pascal - Macchina analitica di Charles Babbage, modello
teorico, venne costruita di recente al museo
della scienza e della tecnica di Milano.
11IL TELAIO A SCHEDE DI JACQUARD
12LE MACCHINE DI BABBAGE
13III LA NOZIONE DI CODICE
14IL CODICE MORSE
15III MODELLI MATEMATICI DELLA COMPUTAZIONE
16LA MACCHINA DI TURING
- Una descrizione estremamente astratta delle
attivita del computer che pero cattura il suo
funzionamento fondamentale - Basata su unanalisi di cosa fa un calcolatore
(umano o macchina)
17Le funzioni di un computer
- elaborare linformazione
- usando il processore (Central Processing Unit -
CPU) - memorizzare linformazione
- usando la memoria principale (RAM)
- usando la memoria secondaria
- fare linput/output dellinformazione
- usando i dispositivi di input/output
18COMPUTAZIONE E MEMORIA IN UN COMPUTER
19COMPUTAZIONE E MEMORIA NELLA MACCHINA DI TURING
- In una macchina di Turing abbiamo
- Una CPU
- Un PROGRAMMA un insieme di regole che
determinano il comportamento della testina a
partire dal suo stato e dal simbolo letto (
sistema operativo) - una testina che si trova in ogni momento in uno
fra un insieme limitato di stati interni e che si
muove sul nastro, leggendo e se del caso
modificando il contenuto delle cellette - Una MEMORIA
- un nastro di lunghezza indefinita, suddiviso in
cellette che contengono simboli (ad es. 0e 1)
20LA MACCHINA DI TURING
21FUNZIONAMENTO DI UNA MACCHINA DI TURING
22UNA DIMOSTRAZIONE DEL FUNZIONAMENTO DELLA
MACCHINA DI TURING
- http//www.warthman.com/ex-turing.htm
23PROGRAMMI E DATI
- Programmi
- Prossima lezione i programmi dal punto di visto
dellhardware - I programmi sequenze di istruzioni per
lelaborazione delle informazione - Definiscono quale debba essere il comportamento
del processore - Dati
- Distinzione tra dato e informazione
- Dato sequenza di bit, può essere interpretato in
più modi diversi - Informazione dato significato del dato
24MACCHINA DI TURING UNIVERSALE
- Nelle macchine di Turing piu semplici, si trova
una distinzione molto chiara tra PROGRAMMA ( gli
stati) e DATI ( contenuto del nastro) - Turing pero dimostro che era possibile mettere
anche il programma sul nastro, ed ottenere una
macchina di Turing universale che LEGGEVA sul
nastro la prossima istruzione da eseguire prima
di leggere i DATI su cui occorreva eseguirla - I computer moderni sono macchine di Turing
universali.
25ALCUNI RISULTATI DIMOSTRATI USANDO IL MODELLO DI
TURING
- Non tutte le funzioni sono CALCOLABILI
- Ovvero non e possibile scrivere un algoritmo
per risolvere qualunque problema in modo ESATTO
ed in tempo FINITO - Il PROBLEMA DELLARRESTO (HALTING PROBLEM) non
e possibile dimostrare che una macchina di
Turing universale si fermera o no su un
programma specifico - Questi risultati valgono per qualunque
calcolatore, ammesso che valga la TESI DI
CHURCH-TURING
26DALLA MACCHINA DI TURING AI COMPUTER MODERNI
- La macchina di Turing aiuta a capire come sia
possibile manipolare informazione in base a un
programma, leggendo e scrivendo due soli simboli
0e 1 - Da questo punto di vista, pur essendo un
dispositivo ideale, la macchina di Turing è
strettamente imparentata col computer
27Dalla macchina di Turing alla macchina di von
Neumann
- Un passo ulteriore, volendoci avvicinare al
funzionamento di un vero computer, è costituito
dalla - MACCHINA DI VON NEUMANN
28Il calcolatore elettronico
- II guerra mondiale, progetto Manhattan per la
costruzione di un ordigno atomico - Sviluppo di svariate competenze, fisica,
matematica, ecc. supportati dagli ingegneri
calcolatori coordinati dai coordinatori di
calcolo che passavano informazioni servendosi
della posta pneumatica
29IV ELETTRONICA E CALCOLATORI
- Cio che ha permesso il passaggio a calcolatori
basati sullelettronica e lo sviluppo di
INTERRUTTORI ELETTRONICI - Prima il TUBO A VALVOLE
- Poi il TRANSISTOR
- Un interruttore permette di rappresentare i due
stati 1 ( passa la corrente), 0 ( non passa)
30TUBI A VALVOLE
31TRANSISTOR E CIRCUITI INTEGRATI
32 STORIA DEI COMPUTER ELETTRONICI
- Ispirati alla macchina di Turing
- 1936 Konrad Zuse costruì in casa lo Z1 usando i
relè - 1941 c/o politecnico di Berlino Z3
- 1942 macchina per il computo elettronico
(Satanasso-Berry-Computer). La memoria erano
condensatori fissati ad un grande tamburo
cilindrico di 1500 bit - 1943 COLOSSUS, costruito e rimasto segreto fino
al 1970. Memorizzazione di dati in aritmetica
binaria basati sulla ionizzazione termica di un
gas
33SVILUPPO DEI CALCOLATORI ELETTRONICI
- 1943-46 ENIAC (Electronic Numerical Integrator
and Computer) sviluppato da Eckert Mauchly - Logica DECIMALE
- 30 armadi x 3m, 30t per una superficie di 180mq,
300 moltiplicazioni al secondo - fino al 1973 ritenuto il primo calcolatore
elettronico programmabile (riconnettendo i
circuiti!!) - 1945-49 EDVAC (Electronic Discrete Variable
Automatic Computer ) - Primo computer basato sull Architettura di von
Neumann (dovuta a Eckert, Mauchly von
Neumann) programmi immagazzinati in memoria - Logica BINARIA
34ARCHITETTURA DI VON NEUMANN
-
- Eckert e Mauchly, dopo aver sviluppato ENIAC,
proposero un modello in cui i programmi erano
immagazzinati direttamente in memoria. (Mentre in
ENIAC il programma doveva essere codificato
direttamente in hardware). Il modello teorico che
ne risulto lArchitettura di Von Neumann
influenzò direttamente la realizzazione di EDVAC
(Electronic Discrete Variable Automatic Computer)
35DA ZUSE A EDVAC
36DOPO EDVAC
- 1948 primo computer commerciale (UNIVAC)
- 1954 primo computer a transistors (Bell Labs)
- 1960 valvole sostituite da transistors
- 1971 primo microprocessore (Intel 4004)
- 1975 primo microcomputer (Altair)
- 1975 fondazione di Microsoft
- 1976 Apple I e Apple II
- 1979 primo Spreadsheet (VisiCalc)
37PROSSIME LEZIONI
- Architettura di Von Neumann
- Rappresentazione dei dati
38LETTURE
- Storia dellInformatica
- http//www.dimi.uniud.it/cicloinf/mostra/index.ht
ml - Wikipedia http//it.wikipedia.org/wiki/Storia_del
l27informatica - Wikipedia http//it.wikipedia.org/wiki/Storia_del
_computer - Paul Ceruzzi, Storia dellInformatica, Apogeo
- Macchina di Turing applets
- http//www.warthman.com/ex-turing.htm
- http//wap03.informatik.fh-wiesbaden.de/weber1/tur
ing/tm.html