Franco ScarseliFondamenti di Informatica 2006-071
Pe rch Pe rch é é un co rso di In for m atic a ? un co rso di In for m atic a ?
Franco ScarseliFondamenti di Informatica 2006-072
In fo rm at ic a e alt ro
Io non frequento il corso di ingegneria informatica, a me programmare non piace, l’informatica non mi interessa …perchèquesto maledetto corso ???Si consideri che …
L’informatica èdiffusa capillarmente, quale èprobabilitàche lavorando si possa evitare l’informatica ?
Il software ènei PC, cellulari, stampanti, lavatrici, frigoriferi, strumentidi telecomunicazione, ……
Il software serve a tenere la contabilità, gestire le banche dati eanalizzarne il contenuto, controllare gli strumenti di telecomunicazione, lecatene di produzione, …..
Spesso agli inizi ai neo-ingegneri viene offerto un posto di programmatore
Spesso i manager devonogestire gruppi di lavoro che progettano (anche)software
Franco ScarseliFondamenti di Informatica 2006-073
D ec is io n ie in fo rm at ic a …
Un cliente richiede la realizzazione di un progetto per il qualeoccorreimplementare anche un software(la gestione di una catena di montaggio, un nuovo cellulare,..)
Non esiste nessun software che può essere riusato per questo scopo: occorre scriverne uno nuovo
Viene incaricato di svolgere il lavoro un gruppo di programmatori
Cosa ci si aspetta che faccia il gruppo all’inizio ? Quali sono le fasi del progetto e quanto tempo richiedono ?1.Analisi dei requisiti: si studia il problema e si discute con il cliente per capire cosa si deve fare 2.Progetto: si definisce nei dettagli il software da realizzare (1+2 il 30% del tempo)3.Realizzazione: si scrive il software (circa il 30% del tempo)4.Test: si verifica che il software funzioni (circa il 40% del tempo)
Franco ScarseliFondamenti di Informatica 2006-074
D ec is io n ie in fo rm at ic a …
Un dirigente ha avuto un’idea
progettare un software che verifichi automaticamente altri programmi
il software prende in ingresso il programma e controlla che questo non si blocchi mai, svolga il suo compito in un tempo ragionevole..
E un’idea brillante ??
No, vedremo che questo software non esiste
Franco ScarseliFondamenti di Informatica 2006-075
D ec is io n ie in fo rm at ic a …
Il gestore di una carta di credito ha un archivio con 2 miliardi di transazioni (acquisti, prelievi bancomat, …)
L’archivio occupa circa 100 GByte
Occorre realizzare un’applicazione che dato il numero di una cartae una data trovi tutte le transazioni fatte in quella data
Un programmatore dice al proprio manager che quest’applicazione èdifficile da realizzare e che ogni accesso all’archivio richiederàminuti: èvero ?
No, con una corretta organizzazione dell’archivio, un normale PC può svolgere questa operazione in poche decine di millisecondi
Franco ScarseliFondamenti di Informatica 2006-076
In tro du zio ne In tro du zio ne
ENIAC (1946 ca.)ENIAC (1946 ca.)
Franco ScarseliFondamenti di Informatica 2006-077
De fin iam o il vo ca bo lar io De fin iam o il vo ca bo lar io ……
Franco ScarseliFondamenti di Informatica 2006-078
LL’’
informaticainformatica
fusione delle paroleinformazioneinformazionee automaticaautomatica
èla scienzadellarappresentazione e delldellarappresentazione e dell
’’elaborazione elaborazione delldell
’’informazioneinformazione
non è, quindi, la scienza e la tecnologia dei calcolatori elettronici:il calcolatore èlo strumento che la rende “operativa”
L’elaboratoreelaboratore
(co mp ute r, calc olat ore ) è un’a ppa recc hia tura
digitaledigitale,
elettronicaelettronicaed
automaticaautomaticacap ace di e ffett uare tra sfor ma zion i su i da ti “La dis um anit àd el c om pute r sta ne l fa tto che , un a v olta pro gra mm ato e m ess o in fu nzio ne, si c om port a in m anie ra perf etta me nte on esta ” (Isa ac A sim ov) Co s Co s ’è ’è
ll ’ info rm atic a ’ info rm atic a
Franco ScarseliFondamenti di Informatica 2006-079
C os C os ’è ’è l l ’ ’ in for m at ic a in for m at ic a - - 2 2 LL ’’ info rm atic a info rm atic a èè lo stu dio sis tem atic o deg li alg oritm i c he lo stu dio sis tem atic o deg li alg oritm i c he des criv ono e tr asfo rm ano l des criv ono e tr asfo rm ano l ’’ info rm azio ne: la loro te oria , info rm azio ne: la loro te oria , ana lisi, pro gett o, e fficie nza , re aliz zaz ion e ana lisi, pro gett o, e fficie nza , re aliz zaz ion e (AC M (AC M
Ass ocia tion Ass ocia tion
forfor Com puti ng Com puti ng Ma chin ery Ma chin ery ))
Not a Not a :È pos sibil e sv olg ere un ’atti vità con cett ualm ente di tipo info rm atic o s enz a l’a usili o d el c alco lato re, per ese mp io nel pro gett are ed app lica re reg ole pre cise per svo lge re ope razio ni aritm etic he con cart a e pen na; l’ela bor ato re, tutt avia , è uno str um ento di calc olo po ten te, che perm ette la ges tion e di qua ntità di info rm azio ni altri me nti i ntra ttab ili
Franco ScarseliFondamenti di Informatica 2006-0710 ProgrammaProgramma
sequenza di operazioni atte a predisporrel’elaboratorealla soluzione di una determinata classe di problemi
AlgoritmoAlgoritmo
sequenza finita di istruzioni attraverso le quali un operatore umanoècapace di risolvere ogni problema di una data classe
OsservazioniOsservazioni
Un programma èla realizzazione di un algoritmoin una forma comprensibile all’elaboratore
Un algoritmo non può essere eseguito su un calcolatore
L’elaboratore tradizionale èunamacchina universale: cambiando il programma residente in memoria, èin grado di risolvere problemi di natura diversa
Alg orit m i e pr og ram m i Alg orit m i e pr og ram m i
Franco ScarseliFondamenti di Informatica 2006-0711
))tturhanno tutti lo stesso modello di architea (mllo dodello di VonVonNeumannNeumanni odehano ma (mno tutti lo stessodello di architettur nali lcolatori tradizioI caI calcolatori tradizionali
Il modello di Il modello di VonVonNeumannNeumann
contiene una contiene una memoriamemoria
e e unun
’’unitunit heericperfheericperf elledi cààe dus ontrollon b (CPU), uelleus e dn b), uPU (Contrdi collo
Nella memoria sono registrati i
datidati
e la descrizione delle operazioni daeseguire il programmaprogramma
Il programma viene interpretatodall’
unitunit ààdi controllodi controllo
Il bus serve a trasferire i dati fra le altre componenti
L L ’ ’ arc hit ett ura di arc hit ett ura di Vo n Vo n Ne um an n Ne um an n
BUS di sistemaBUS di sistema CPUCPU
tastieratastieramousemousememoriamemoriadi massadi massa monitormonitor MemoriaMemoriacentralecentrale
Periferiche
Franco ScarseliFondamenti di Informatica 2006-0712
La sto ria La sto ria
UNIVAC (1951)UNIVAC (1951)
Palmare (2004)Palmare (2004)
Franco ScarseliFondamenti di Informatica 2006-0713 Molto tempo fa Molto tempo fa …………
30.000 anni faTracce dei primi strumenti per contare
1800−1600 a.C.I primi esempi di algoritmi (procedure di calcolo “automatico”) inMesopotamiasu tavolette babilonesi
nel ‘600Pascale Leibnizaffrontarono il problema di automatizzare il ragionamentologico−matematico e si cimentarono nellarealizzazione di semplici macchine per calcolare
Ce nn i S tor ici Ce nn i S tor ici
Franco ScarseliFondamenti di Informatica 2006-0714 Primi calcolatoriPrimi calcolatori1833Babbagedefinisce macchina alle differenze macchina alle differenze per calcolare e stampare tabellematematiche.Èil primo esempio di macchina programmabile di utilitàgenerale. Il programma veniva scritto su delle schede perforate,come avvenivaper i telai.
Introdusse anche l’idea che tutta la macchina fosse controllata da un programma. Tali idea rimase un progetto: troppo complessa e critica la suacostruzione per le tecnologie dell’epoca.
La prima programmatrice fu Ada Augusta Byron, figlia di GeorgeByron, che harealizzato i programmi della macchina di Babbage.
Ce nn i S tor ici Ce nn i S tor ici - - 2 2
Franco ScarseliFondamenti di Informatica 2006-0715 1890 HermanHollerithsviluppa la macchina a schede perforatemacchina a schede perforate, per compiere le statistiche del censimento decennale degli Stati Uniti
I dati venivano immessi su schede di cartone opportunamente perforate
Le schede venivano successivamente “contate”e si ottenevano diversi tipi di elaborazioni (totali, medie, statistiche, etc.)
Si impiegarono due anni e mezzo ad analizzare i dati contro i sette anni del censimento del 1880 !!
Primi anni del ‘900La macchina a schede perforate venne utilizzata con successo peri censimentiin Austria, Norvegia e Russia.
1923La societàComputingComputingTabulatingTabulating
RecordingRecording
CompanyCompanyfondata da Hollerithdiviene l’InternationalInternationalBusiness Business MachineMachine(IBM))
Ce nn i S tor ici Ce nn i S tor ici - - 3 3
Franco ScarseliFondamenti di Informatica 2006-0716 durante la seconda guerra mondialeI tedeschi usano Enigma, una macchina meccanica per codificare imessaggi. Altre macchine vennero usate dai giapponesi.Gli inglesi con il contributo di AlanTuringcostruirono Colossuscon cui riuscirono a decriptare i messaggi tedeschi.
Ce nn i S tor ici Ce nn i S tor ici - - 4 4
Franco ScarseliFondamenti di Informatica 2006-0717 anni ‘40Nascono i primi calcolatori programmabili: i primi esemplari venivanoprogrammati medianteconnessioni elettriche e commutatori (ENIAC,MarkI)
Ce nn i S tor ici Ce nn i S tor ici - - 5 5
ENIAC (1946)ENIAC (1946)
MarkMark I (1948)I (1948)
Franco ScarseliFondamenti di Informatica 2006-0718 Fine anni ‘40VonNeumannpartecipa alla realizzazione dei primi calcolatori a programma memorizzato(EDSACEDSAC, WhirlwindWhirlwind, IASIAS, UNIVACUNIVAC)
Lo schema dell’architetturautilizzatadai calcolatori attuali èancoraquella di VonNeumann!!
Ce nn i S tor ici Ce nn i S tor ici - - 6 6
EDSAC (1949)
UNIVAC (1952)Whirlwind(1949)IAS (1952)
Franco ScarseliFondamenti di Informatica 2006-0719 Esplosione delldell
’’informaticainformatica
anni ’60-’70Diffusione dei calcolatori a livello mondiale
1981l’IBM introduce un nuovo tipo particolare di elaboratore: il Personal Personal ComputerComputer(PC)La particolaritàdei PC consisteva nell’essere “assemblato”concomponenti facilmente reperibili sul mercato (basso costo)
Ce nn i S tor ici Ce nn i S tor ici - - 7 7
PC IBM (1981)PC IBM (1981)
Franco ScarseliFondamenti di Informatica 2006-0720 attualmentei PC e versioni specializzate di calcolatori sonoutilizzati in tutti i settoriapplicativi:
Telefoni cellulari
Ricevitori satellitari digitali
Bancomat e carte di credito
Lavatrici e forni a microonde
….
Ce nn i S tor ici Ce nn i S tor ici - - 7 7
Portatile e Palmare (2004)Portatile e Palmare (2004)
Franco ScarseliFondamenti di Informatica 2006-0721 La chiave dello sviluppo dell’informatica èstata principalmente legata allaminiaturizzazione dei componenti elettronici
1904, invenzione del tubo a vuototubo a vuoto
1947, il primi transistortransistor
1969, i primi circuiti integraticircuiti integrati
Alc un e t ap pe de llo svi lup po Alc un e t ap pe de llo svi lup po tec no log ico tec no log ico
Portatile e Palmare (2004)Portatile e Palmare (2004)
Franco ScarseliFondamenti di Informatica 2006-0722
In cr em en to d ella v eloc it In cr em en to d ella v eloc it
1.7G1.6GItanium22006 400M800MhzItanium2001 IV20012.5 GPentium42M 9.5 M500 MhzPentiumIII1999 PentiumII1997Mhz300 7.5M 1993Pentium66Mhz3.1M 900 K25Mhz804861991 275K16Mhz803861985 1982802866Mhz134.000 29.0005Mhz80861978 2.300400 kHz40041971 enzamodelloannoFrequstorN. transi
àà
Franco ScarseliFondamenti di Informatica 2006-0723
Le gg e d i Le gg e d i M oo re M oo re
IL numero di transistor per chip fornisce una misura della complessita’deicomponenti
La legge di GordonMooreprevedeva che“Il numero dei transistor per circuito duplichera’ogni 18 mesi”
Attualmente
Il numero dei transistor aumenta 100 volte ogni 10 anni
La velocita’aumenta 100 volte ogni 10 anni
La dimensione degli hard disk aumenta ancora piu`velocemente
In futuro
nel 2020 un transistor sara’costituto da pochi atomi, èpossibile ?
Franco ScarseliFondamenti di Informatica 2006-0724
Le gg e d i Le gg e d i M oo re M oo re : : Tra ns isto r p er pro ce sso re Tra ns isto r p er pro ce sso re
Franco ScarseliFondamenti di Informatica 2006-0725
Le gg e d i Le gg e d i M oo re M oo re : : Ca pa cit Ca pa cit àà
de gli Ha rd dis k de gli Ha rd dis k
Franco ScarseliFondamenti di Informatica 2006-0726 Confronto mente umana e calcolatori tradizionali
La mente umanaècostituita da tante piccole unità(10 11neuroni) interconnesse fra di loro (alto parallelismo)
Un calcolatore tradizionaleècostituito da una (o poche) unitàdi elaborazione (modello di VonNeumann)
McCulloche Pitts(1943) hanno introdotto le reti neurali artificialireti neurali artificialicostituite da molte piccole unità: tale modello èrimasto a lungo in competizione con il modello di VonNeumann
Attualmente
Esistono pochi calcolatori ad alto parallelismo
Le reti neurali artificiali sono prevalentemente simulate con i calcolatori tradizionali
Permettono la realizzazione applicazioni d’intelligenza artificiale basate su apprendimentoda esempi: riconoscimentodel parlato, caratteri manoscritti, ….
M en te um an a e ca lco lato ri p ara lle li M en te um an a e ca lco lato ri p ara lle li
Franco ScarseliFondamenti di Informatica 2006-0727
Ca lco lato ri P ara lle li Ca lco lato ri P ara lle li
CDC 6600 (1963)Illiac(1955)
Cray1 (1976)CrayX1 (2002)
Franco ScarseliFondamenti di Informatica 2006-0728