Elementi di Informatica Facoltà di Economia · 2016. 10. 10. · Lezione: 07/10/16 Docente: Summa...

26
Elementi di Informatica Facoltà di Economia Introduzione al corso Lezione: 07/10/16 Docente: Summa Donato dove reperire le informazioni: http://economia.unibas.it/economia/ 1 [email protected]

Transcript of Elementi di Informatica Facoltà di Economia · 2016. 10. 10. · Lezione: 07/10/16 Docente: Summa...

Page 1: Elementi di Informatica Facoltà di Economia · 2016. 10. 10. · Lezione: 07/10/16 Docente: Summa Donato dove reperire le informazioni: ... 1985 80386 16-33 275.000 4 GB cpu a 32

Elementi di

Informatica

Facoltà di Economia Introduzione al corso

Lezione: 07/10/16

Docente: Summa Donato

dove reperire le informazioni:

http://economia.unibas.it/economia/

1

[email protected]

Page 2: Elementi di Informatica Facoltà di Economia · 2016. 10. 10. · Lezione: 07/10/16 Docente: Summa Donato dove reperire le informazioni: ... 1985 80386 16-33 275.000 4 GB cpu a 32

Un po’ di Bibliografia

• Informatica una panoramica Generale Brookshear – Pearson Addison Wesley • Applicazioni aziendali con EXCEL (Borazzo,Candiotto) APOGEO

2

Page 3: Elementi di Informatica Facoltà di Economia · 2016. 10. 10. · Lezione: 07/10/16 Docente: Summa Donato dove reperire le informazioni: ... 1985 80386 16-33 275.000 4 GB cpu a 32

Programma del corso

- Introduzione

- Memorizzazione dei dati

- Conversione dei dati

- Architettura dei calcolatori

- Sistemi operativi

- Algoritmi

- Reti

- Software applicativo: Excel

3

Page 4: Elementi di Informatica Facoltà di Economia · 2016. 10. 10. · Lezione: 07/10/16 Docente: Summa Donato dove reperire le informazioni: ... 1985 80386 16-33 275.000 4 GB cpu a 32

Sistema Operativo

CPU-Elaboratore-Hardware

Linguaggi di Programmazione-Software

Conoscenza dell’informatica: diversi livelli

Un Calcolatore è un insieme di interruttori

Sistema Operativo: è solo un organizzatore dei dispositivi di I/O

Linguaggio di Programmazione: Insieme delle istruzioni da dare in pasto ad

una macchina

Introduzione

4

Page 5: Elementi di Informatica Facoltà di Economia · 2016. 10. 10. · Lezione: 07/10/16 Docente: Summa Donato dove reperire le informazioni: ... 1985 80386 16-33 275.000 4 GB cpu a 32

L’ informatica è la disciplina che cerca di dare un

fondamento scientifico ad argomenti come la

progettazione di computer, programmazione,

elaborazione delle informazioni e soluzioni

algoritmiche di processi

Informazione Automatica

Introduzione

5

Page 6: Elementi di Informatica Facoltà di Economia · 2016. 10. 10. · Lezione: 07/10/16 Docente: Summa Donato dove reperire le informazioni: ... 1985 80386 16-33 275.000 4 GB cpu a 32

• Generazione Zero: Meccanici

• I Generazione: Valvole Elettroniche

• II Generazione: Transistor

• III Generazione: Circuiti Integrati

• IV Generazione: Circuiti Integrati VLSI

Origini delle macchine

calcolatrici

Introduzione

6

Page 7: Elementi di Informatica Facoltà di Economia · 2016. 10. 10. · Lezione: 07/10/16 Docente: Summa Donato dove reperire le informazioni: ... 1985 80386 16-33 275.000 4 GB cpu a 32

Abaco

Uno dei primi dispositivi di calcolo: Origine

Greco-Romana

Macchine ad Ingranaggi: Leibniz, Pascal

(1600)

Macchine create per eseguire operazioni di

addizione Macchine analitica (Babbage 1850)

Fu progettata per leggere istruzioni sotto forma di fori su schede di

cartone per lavorare tessuti su telai

• Prima macchina programmabile

• Primo programmatore: (Ada Byron)

I progettisti della macchina di Babbage anticiparono davvero la moderna

progettazione dei computer. Se il livello tecnologico di allora avesse

permesso di produrre le sue apparecchiature in modo economicamente

conveniente, e se le esigenze delle amministrazioni fossero state della

stessa portata di quelle di oggi, tale macchina avrebbe portato la

rivoluzione informatica già nell’800.

Introduzione

7

Page 8: Elementi di Informatica Facoltà di Economia · 2016. 10. 10. · Lezione: 07/10/16 Docente: Summa Donato dove reperire le informazioni: ... 1985 80386 16-33 275.000 4 GB cpu a 32

8

Il suo progetto era basato sul progetto di telaio

il quale, facendo uso di diverse schede perforate,

determinava le diverse trame di tessuto da

produrre. Babbage lo adattò in modo che

generasse operazioni matematiche.

La macchina analitica, considerata il primo

computer al mondo, era costituita da:

Dispositivi di Ingresso basati sulle schede

perforate analoghi a quelli di Jacquard;

Un Processore Automatico con il compito di

eseguire calcoli numerici;

Un’Unità di Controllo che verificava venissero

svolti i compiti in modo corretto;

Un Meccanismo di Uscita dei calcoli svolti;

Una Memoria che conservava i numeri in attesa

che questi venissero “processati”.

Page 9: Elementi di Informatica Facoltà di Economia · 2016. 10. 10. · Lezione: 07/10/16 Docente: Summa Donato dove reperire le informazioni: ... 1985 80386 16-33 275.000 4 GB cpu a 32

9

Il primo grande computer elettromeccanico e' quello di Howard Aiken (1900-1973) che nel 1937, ad Harward, insieme ad IBM, riprende in esame i lavori di Babbage e cerca di utilizzare i rele' per realizzare un computer del tipo di quello di Babbage. Nel 1944 e' operativo Mark I, con 3000 rele', parole di 23 cifre decimali, capace di 3 operazioni al secondo

Page 10: Elementi di Informatica Facoltà di Economia · 2016. 10. 10. · Lezione: 07/10/16 Docente: Summa Donato dove reperire le informazioni: ... 1985 80386 16-33 275.000 4 GB cpu a 32

10

ENIAC (Elecronic Numerical Integrator and Computer) costruita da Mauchly ed Eckert all'Universita' della Pensilvania. La macchina, sviluppata fra il 1943 ed il 1946, fu finanziata dai militari, ed era intesa a calcolare tabelle di puntamento per l'artiglieria, che fino ad allora erano calcolate a mano, con un lavoro lungo ed estenuante. ENIAC era costruita con 18000 valvole termoioniche, 1500 rele' , consumava attorno ai 150 KW, l'apparecchiatura pesava 30 tonnellate , ed occupava un salone di 30 metri, per un'altezza di 2.5 m. Si programmava predisponendo, a mano, connessioni su pannelli intercambiabili, che avevano qualcosa come 6000 interruttori, cavi e prese.

Page 11: Elementi di Informatica Facoltà di Economia · 2016. 10. 10. · Lezione: 07/10/16 Docente: Summa Donato dove reperire le informazioni: ... 1985 80386 16-33 275.000 4 GB cpu a 32

Nel 1948 venne inventato il

transistor (Brattain e shockley)

che sostituirà le valvole

Generazione II Transistor

Su una piastrina 4 × 3 mm Faggin, Hoff

e Mazer riuscirono, nel 1971, ad inserire

2.250 transistor, che formavano il cuore

di un intero calcolatore in grado di

elaborare in parallelo 4 bit

Generazione III I circuiti

Integrati

11

Page 12: Elementi di Informatica Facoltà di Economia · 2016. 10. 10. · Lezione: 07/10/16 Docente: Summa Donato dove reperire le informazioni: ... 1985 80386 16-33 275.000 4 GB cpu a 32

12

Nel 1971 l'Intel produce la prima CPU su un singolo CIP, il 4004, con 2300 transistor. Era una CPU a 4 bit, prodotta su commessa della Busicom, ditta giapponese , l'importanza di questa linea di sviluppo non fu compresa subito e l'Intel riusci' a ricomperare il progetto dalla Busicom qualche anno piu' tardi.

Nel 1972 l'Intel produce l'8008, una CPU ad 8 bit, con un limite di memoria di 16 K, questo limite viene superato nel 1974 con l'8080 (64 K di RAM). nel 1978 viene prodotto l'8086, che ha un bus a 16 bit, 8088, con un piu' economico bus ad 8 bit viene utilizzato dall'IBM per i primi personal computers.

Page 13: Elementi di Informatica Facoltà di Economia · 2016. 10. 10. · Lezione: 07/10/16 Docente: Summa Donato dove reperire le informazioni: ... 1985 80386 16-33 275.000 4 GB cpu a 32

13

La tendenza a costruire circuiti sempre piu' piccoli e l'integrazione di molte componenti sulla stessa piastrina di silicio porta ad un crollo dei costi, ad una aumento delle prestazioni, e ad un'enorme espansione del mercato. Vengono prodotti cip di silicio che integrano migliaia, poi decine, centinaia di migliaia o milioni di componenti (VLSI , very large scale integration ).

Generazione IV

Page 14: Elementi di Informatica Facoltà di Economia · 2016. 10. 10. · Lezione: 07/10/16 Docente: Summa Donato dove reperire le informazioni: ... 1985 80386 16-33 275.000 4 GB cpu a 32

14

Il mercato delle CPU vede protagonista l'Intel, tallonata da

AMD e, per un certo periodo , da Cyrix,

Importante e' l'aumento delle prestazioni che si ha negli anni

90, col 486 e soprattutto col Pentium, che ha una architettura

più complessa delle CPU precedenti, e maggiori performance.

Le performance delle cpu Intel migliorano fino a divenire

paragonabili a quelle dei grandi calcolatori, ma ad una

frazione del costo.

Negli anni successivi si assiste ad un ulteriore

miniaturizzazione delle componenti, e ad un aumento del

clock dei processori, aumento che si arresta nel 2005, poco

sotto i 4 Ghz, per problemi termici ed elettrici. Per aumentare

le prestazioni si procede quindi a progettare macchine con più

CPU, ed integrati che contengono più di una CPU. Si assiste

anche ad un grande aumento di prestazioni delle memorie e

divengono comuni dischi di grande capacità (centinaia di

Gbyte).

Page 15: Elementi di Informatica Facoltà di Economia · 2016. 10. 10. · Lezione: 07/10/16 Docente: Summa Donato dove reperire le informazioni: ... 1985 80386 16-33 275.000 4 GB cpu a 32

15

anno modello Clock numero di RAM Note

MHz transistors indirizzabile

1971 4004 0.108 2.300 640 KB cpu a 4 bits

1972 8008 0.108 3.500 16 KB cpu ad 8 bits

1974 8080 2 6.000 64 KB cpu general purpose

1978 8086 5-10 29.000 1 MB cpu a 16 bits

1979 8088 5-8 29.000 1 MB usato su PC IBM

1982 80286 8-12 134.000 16 MB con protezione memoria

1985 80386 16-33 275.000 4 GB cpu a 32 bits

1989 80486 25-100 1.2 M 4 GB 8 KB cache on cip

1993 Pentium 60-233 3.1 M 4 GB 2 pipeline (superscalare), MMX

1995 Pentium pro (P6) 150-200 5.5 M 4 GB 2 livelli cache, no MMX,

1997 Pentium II 233-400 7.5 M 4 GB 2 livelli cache, MMX, slot 1

1999 Pentium III 500-1.13 Ghz 9.5-28 M 4 GB bus >66 Mhz

2000 Pentium IV 1-2.2 Ghz (2002) 3.8 Ghz nel 2004

42 M 4 GB

Page 16: Elementi di Informatica Facoltà di Economia · 2016. 10. 10. · Lezione: 07/10/16 Docente: Summa Donato dove reperire le informazioni: ... 1985 80386 16-33 275.000 4 GB cpu a 32

16

La legge di Moore (1965)

Il numero di transistor per chip

raddoppia ogni 18 mesi

• Circa un aumento del 60%

all’anno

• Conseguenze:

– Aumento della capacità dei

chip di memoria

– Aumento della capacità delle

CPU La legge di Moore è tratta da un'osservazione empirica di

Gordon Moore cofondatore di Intel: nel 1965 scrisse infatti

un articolo su una rivista specializzata nel quale illustrava

come nel periodo 1959 -1965 il numero di componenti

elettronici transistor che formano un chip fosse raddoppiato

ogni anno.

Moore, grazie alle sue supposizioni poi diventate leggi è

stato dunque tra coloro che hanno dato il via alla corsa

all'evoluzione dei processori.

Page 17: Elementi di Informatica Facoltà di Economia · 2016. 10. 10. · Lezione: 07/10/16 Docente: Summa Donato dove reperire le informazioni: ... 1985 80386 16-33 275.000 4 GB cpu a 32

17

Legge di Moore per le CPU

• Più transistor in una CPU significano:

– Eseguire direttamente istruzioni più complesse

– Maggiore memoria sul chip (cache)

– Maggiore parallelismo interno

• Altro fattore decisivo è la frequenza di funzionamento

Legge di Nathan

• Le dimensioni del software sono

sempre cresciute col calare dei costi e con

l’aumentare della memoria Disponibile

• Il Circolo Virtuoso

– Costi più bassi e prodotti migliori

– Aumento dei volumi di mercato

– Fattori di scala nella produzione

– Costi più bassi …...

Page 18: Elementi di Informatica Facoltà di Economia · 2016. 10. 10. · Lezione: 07/10/16 Docente: Summa Donato dove reperire le informazioni: ... 1985 80386 16-33 275.000 4 GB cpu a 32

18

Questa legge è diventata il metro di misura e l'obiettivo di tutte le aziende

che operano nel settore, non solo la Intel. Un esempio di come i

microprocessori in commercio seguano la legge di Moore è il seguente: nel

maggio del 1997 Intel lancia il processore Pentium II con le seguenti

caratteristiche: Frequenza: 300 MHz Numero di transistor: 7,5 milioni

Dopo tre anni e mezzo, ovvero nel novembre del 2000, mette in vendita il

Pentium 4 con le seguenti caratteristiche: Frequenza’ 1,5 GHz Numero di

transistor': 42 milioni

Come si può vedere, in 42 mesi le prestazioni dei processori sono circa

quintuplicate, proprio come prevedeva la legge. Infatti, a ben vedere, la

frequenza del processore è passata da 300 MHz a 1,5 GHz, esattamente

cinque volte quella del Pentium II. Ad ulteriore conferma c'è anche il

numero di transistor utilizzati per costruire il processore, un processore

Pentium II è formato da 7,5 milioni di transistor, se moltiplichiamo per

cinque quel valore otteniamo che il processore dovrebbe essere formato da

circa 37,5 milioni di transistor, il Pentium IV è formato da 42 milioni, il che

vuol dire che non solo Intel ha rispettato la legge, ma addirittura è riuscita a

fare meglio.

Questa tecnologia ha una fine??

Page 19: Elementi di Informatica Facoltà di Economia · 2016. 10. 10. · Lezione: 07/10/16 Docente: Summa Donato dove reperire le informazioni: ... 1985 80386 16-33 275.000 4 GB cpu a 32

19

Personal Computer

• Sappiamo chi è

• Microprocessore a 32/64 bit

• Memoria di 1-2 Gbyte

• Capacità dei dischi dell’ordine dei Tbyte

• Per il 95% basato sulla piattaforma

Intel

Server

• Su rete locale o Web server

• Memorie fino di diversi Gbyte

• Capacità dei dischi dell’ordine dei Tbyte

• Gestione di rete efficiente

Mainframe

• Diretti discendenti della serie IBM/360

• Gestione efficiente dell’I/O

• Periferie a dischi di molti Tbyte

• Centinaia di terminali connessi

• Costi di parecchi miliardi

Page 20: Elementi di Informatica Facoltà di Economia · 2016. 10. 10. · Lezione: 07/10/16 Docente: Summa Donato dove reperire le informazioni: ... 1985 80386 16-33 275.000 4 GB cpu a 32

• Rapidità

• Precisione

• Capacità di esecuzione di lavori ripetitivi

• Capacità di gestione di grandi quantità di dati

• Capacità di integrare dati provenienti da fonti diverse

• Possibilità di memorizzare dati per lunghi periodi di tempo

Introduzione

Vantaggi del computer

20

Page 21: Elementi di Informatica Facoltà di Economia · 2016. 10. 10. · Lezione: 07/10/16 Docente: Summa Donato dove reperire le informazioni: ... 1985 80386 16-33 275.000 4 GB cpu a 32

Limiti (svantaggi) del computer

• Mancanza di intelligenza autonoma

• Mancanza di creatività

• Difficoltà ad affrontare problemi nuovi

• Difficoltà nei lavori non ripetitivi

• Difficoltà a gestire informazioni non strutturate

• Difficoltà nell'interpretare un discorso

• Possibilità di guasti

Introduzione

21

Page 22: Elementi di Informatica Facoltà di Economia · 2016. 10. 10. · Lezione: 07/10/16 Docente: Summa Donato dove reperire le informazioni: ... 1985 80386 16-33 275.000 4 GB cpu a 32

Un algoritmo può essere informalmente definito come una sequenza

finita di “mosse” che risolve in un tempo finito un determinato

problema. L'esecuzione delle azioni nell'ordine specificato

dall'algoritmo consente di ottenere, a partire dai dati di ingresso, i

risultati che rappresentano la

risoluzione del problema.

Introduzione

22

Page 23: Elementi di Informatica Facoltà di Economia · 2016. 10. 10. · Lezione: 07/10/16 Docente: Summa Donato dove reperire le informazioni: ... 1985 80386 16-33 275.000 4 GB cpu a 32

I linguaggi di programmazione possono essere suddivisi in linguaggi a basso e ad

alto livello. Un esempio di linguaggio a basso livello è il linguaggio macchina, che

fornisce appunto le istruzioni a Basso livello (cioè direttamente eseguibili

dall’elaboratore) per la risoluzione di un problema. In linguaggio macchine è per

esempio possibile specificare il caricamento di dati (variabili) in locazioni di

memoria ben precise (ad esempio i registri della CPU). I linguaggi ad alto livello,

come il C/C++, Java, Pascal, Basic e altri, sono molto più simili al linguaggio

naturale. Le Istruzioni sono quindi molto più intuitive per il programmatore. In

ogni caso, l’esecuzione di un programma scritto in un linguaggio ad alto livello è

subordinata a una fase in cui le istruzioni del linguaggio sono tradotte in

istruzioni a basso livello (compilazione), direttamente eseguibili dal calcolatore.

23

Page 24: Elementi di Informatica Facoltà di Economia · 2016. 10. 10. · Lezione: 07/10/16 Docente: Summa Donato dove reperire le informazioni: ... 1985 80386 16-33 275.000 4 GB cpu a 32

La rappresentazione di un algoritmo può essere espressa graficamente

tramite diagrammi di flusso (flow chart). È uno metodi più comuni usati

per la rappresentazione di algoritmi, specialmente nel caso di algoritmi

brevi. Un diagramma di flusso, detto anche diagramma a blocchi, si

presenta come

un insieme di figure geometriche collegate da frecce.

Tutti i diagrammi a blocchi cominciano con un’ellisse che contiene la

parola inizio: I dati in ingresso sono i dati noti del problema, quelli che

devono essere elaborati per arrivare alla soluzione: Le operazioni da

svolgere sui dati sono racchiuse in rettangoli:

if

Operazioni

I/O

Start

End

yes no

24

Page 25: Elementi di Informatica Facoltà di Economia · 2016. 10. 10. · Lezione: 07/10/16 Docente: Summa Donato dove reperire le informazioni: ... 1985 80386 16-33 275.000 4 GB cpu a 32

La realizzazione di programmi, spesso complessi, consente una varietà di possibili

applicazioni, tra cui: Word Processing (Memorizzare, elaborare testi), Basi di Dati

(Memorizzare grossi archivi di dati, recupero veloce, produrre informazioni

globali), Accesso Remoto (Trasmissione e recupero di informazioni), Calcolo

(Risolvere problemi matematici), Simulazioni (Rappresentare e elaborare

informazioni che simulano l’ambiente reale), Progettazione ingegneristica,

Rappresentazione

scientifica dei dati.

Tuttavia, esistono problemi che non possono essere risolti tramite un calcolatore

elettronico per diversi motivi, tra cui: la risoluzione del problema non esiste, la

risoluzione del problema impiegherebbe un tempo di calcolo eccessivo (anche

infinito), la soluzione del problema è “soggettiva”.

25

Page 26: Elementi di Informatica Facoltà di Economia · 2016. 10. 10. · Lezione: 07/10/16 Docente: Summa Donato dove reperire le informazioni: ... 1985 80386 16-33 275.000 4 GB cpu a 32

•Per generare programmi è necessario avere o

generare algoritmi efficienti.

•Non bisogna confondere il programma (PC) con l’algoritmo

(sequenza di passi).

•Pertanto un programma è nient’altro che un algoritmo dove

l’esecutore è il computer stesso.

Sviluppare software significa generare programmi che siano

corretti ed efficienti.

Corretto: validazione del risultato.

Efficiente: tempo, memoria (in termini di costo)

26