Laboratorio di Informatica I - Dipartimento di Informatica

Laboratorio di Informatica I
Struttura della lezione
• Classificazione degli elaboratori
• Alcuni concetti base:
Lezione 2:
Introduzione al corso
– la struttura di base del calcolatore
– algoritmi
– la programmazione
Vittorio Scarano
Laboratorio di Informatica I
• linguaggi di programmazione
• il processo di realizzazione
Corso di Laurea in Informatica
– una gerarchia di macchine logiche
Laboratorio di Informatica 1
Classificazione di Elaboratori
2
Personal Digital Assistant (PDA)
ƒ schermo da 3 a 6 pollici; peso ~200g
ƒ senza tastiera (palmari) o con tastiera mini
Dimensione
Capacità
Costo Personal
Digital Assistant (PDA)
Network Computer
Notebook
Personal Computer
Workstation
Mini-computer
Mainframe
Supercomputer
ƒ
ƒ
ƒ
ƒ
ƒ
Facilità d’uso
Genericità
Laboratorio di Informatica 1
Vittorio Scarano
Vittorio Scarano
(hand-held)
alimentazione a batteria
Sistema Operativo ridotto
input tramite penna e riconoscimento scrittura
interfaccia a raggi infrarossi per collegamento
Esempi:
ƒ Apple Newton, PalmPilot, Psion, Sharp 5800,
Philips Velo1, etc.
3
Network Computers
Laboratorio di Informatica 1
Vittorio Scarano
4
Computer Notebook
ƒ Dimensioni di un agenda formato A4
• Recente introduzione
• Capacità di calcolo simili ad un Personal
Computer
• scarica il proprio Sistema Operativo da rete
ƒ Peso da 1 Kg fino a 4-5 Kg.
ƒ Alimentazione a rete ed a batteria
(ricaricabile)
ƒ Prestazioni simili ad un Personal Computer
– a seconda del S.O. caricato assumono
funzionalità diverse
ma ad un costo più elevato.
ƒ Dotati di dispositivi interscambiabili
ƒ Esempi:
• utile per piattaforma di calcolo eterogeneo
ƒ Apple Powerbook, Toshiba Notebook, etc.
Laboratorio di Informatica 1
Vittorio Scarano
5
Laboratorio di Informatica 1
Vittorio Scarano
6
Laboratorio di Informatica I
Personal Computer
Workstation
ƒ Detto anche microcomputer
ƒ Stazioni di lavoro individuali dall’elevata
capacità di calcolo;
ƒ “nato” nel 1981 dalla IBM
ƒ Potenti processori dedicati per la grafica
ƒ anche se 77 la Commodore presentava il PET...
ƒ Utilizzati nella:
ƒ architettura a processore unico
ƒ progettazione CAD (Computer Aided
ƒ oggetto della evoluzione più rapida
Design)
ƒ Due piattaforme:
ƒ grafica computerizzata (video)
ƒ Wintel (WINdows + InTEL)
ƒ simulazione di processi complessi
ƒ Apple PowerPC
Laboratorio di Informatica 1
Vittorio Scarano
7
Laboratorio di Informatica 1
Mini e Supermini Computer
8
Vittorio Scarano
I “grossi calibri”...
ƒ Mainframe
ƒ Supportano centinaia di utenti
ƒ Elevata capacità di gestione dati
ƒ Costo e gestione elevata e complessa.
ƒ Calcolatori dipartimentali
ƒ Supportano decine di utenti ed utenze con
interessi specifici
ƒ Supercomputer
ƒ Estremamente veloci (multiprocessore)
ƒ Alto grado di parallelismo interno
ƒ Usati in campo scientifico o tecnico per:
ƒ Potenze di calcolo elevate
ƒ Ambiente multi-utente
ƒ Software Applicativo particolare
ƒ Dotati (spesso) di multiprocessore
ƒ elaborazione di dati atmosferici inviati da satellite
ƒ simulazione di voli spaziali, etc…
Laboratorio di Informatica 1
Vittorio Scarano
9
Le Componenti di un Calcolatore
Laboratorio di Informatica 1
Architettura Generale di un Elaboratore
• Hardware (HW):
Processore
– il calcolatore (circuiti elettronici)
• Software (SW):
Memoria Centrale
Bus di Interconnessione
Memorie di Massa
– programmi (istruzioni per l’hardware)
• Firmware
– Componenti HW pre-programmate per
realizzare specifiche funzionalità.
Controller dispositivi I/O
e comunicazione
Cabinet
Video
Laboratorio di Informatica 1
Vittorio Scarano
10
Vittorio Scarano
11
Stampante
Memorie di massa esterne
Laboratorio di Informatica 1
Vittorio Scarano
Dispositivi di
comunicazione
12
Laboratorio di Informatica I
Il Processore
Processore
Il Processore
• Central Processing Unit (CPU)
• Effettua la computazione:
Memoria Centrale
– controllata dalle istruzioni prelevate dalla
memoria
Memorie di Massa
Bus di Interconnessione
• Circuiti integrati
Controller dispositivi I/O
e comunicazione
– integra (milioni di) transistor
Cabinet
Video
Dispositivi di
comunicazione
Stampante
Memorie di massa esterne
Laboratorio di Informatica 1
13
Vittorio Scarano
Laboratorio di Informatica 1
14
Vittorio Scarano
La Memoria Centrale
Confronto: numero di transistors
19 98
8 .0 0 0 .0 0 0
Processore
7 .0 0 0 .0 0 0
Memoria Centrale
6 .0 0 0 .0 0 0
19 97
5 .0 0 0 .0 0 0
Bus di Interconnessione
Memorie di Massa
19 93
4 .0 0 0 .0 0 0
3 .0 0 0 .0 0 0
19 89
2 .0 0 0 .0 0 0
19 85
P. M
MX
6
8048
um
6
8038
P e n ti
6
8028
8086
Laboratorio di Informatica 1
Vittorio Scarano
Cabinet
um I
I
19 81 19 82
0
P e n ti
1 .0 0 0 .0 0 0
Controller dispositivi I/O
e comunicazione
Video
15
Stampante
Dispositivi di
comunicazione
Memorie di massa esterne
Laboratorio di Informatica 1
La Memoria Centrale
16
Vittorio Scarano
Confronto di memorie
Dimensione (#transistors)
• Contiene:
30 000 0
– dati
– programmi
25 6M b
25 000 0
20 000 0
• Random Access Memory (RAM)
• Memoria volatile
15 000 0
10 000 0
– necessita di alimentazione elettrica
64 M b
50 000
64 K b 25 6K b
1M b
4M b
16 M b
0
19 84
Laboratorio di Informatica 1
Vittorio Scarano
17
Laboratorio di Informatica 1
19 85
19 86
19 88
Vittorio Scarano
19 89
19 92
19 94
18
Laboratorio di Informatica I
Confronto di memorie
La Memoria di Massa
Velocità (in ns)
1 60
Processore
1 50
Memoria Centrale
1 40
1 20
1 20
Bus di Interconnessione
80
70
Memorie di Massa
1 00
60
60
50
50
40
40
Controller dispositivi I/O
e comunicazione
Cabinet
20
0
1 98 4
1 98 5
Laboratorio di Informatica 1
1 98 6
1 98 8
1 98 9
1 99 2
Video
1 99 4
Vittorio Scarano
19
Laboratorio di Informatica 1
Processore
– dati
– programmi
Memoria Centrale
Bus di Interconnessione
Memorie di Massa
• Memoria secondaria (Secondary Storage)
• Dischi magnetici:
– interni/esterni
– rigidi (hard disk)
– floppy disk (removibili)
Controller dispositivi I/O
e comunicazione
Cabinet
Video
21
Stampante
Laboratorio di Informatica 1
22
Vittorio Scarano
Altri elementi...
• Permettono la comunicazione con utenti:
Processore
– per inserire di dati/programmi
– per fornire risultati
– (in generale) per il controllo
Memoria Centrale
Memorie di Massa
Bus di Interconnessione
• La postazione di lavoro:
– monitor, tastiera, mouse
• Stampanti
Controller dispositivi I/O
e comunicazione
Cabinet
Video
Vittorio Scarano
Dispositivi di
comunicazione
Memorie di massa esterne
I dispositivi di Input/Output
Laboratorio di Informatica 1
20
Vittorio Scarano
I dispositivi di Input/Output
• Contengono in maniera permanente:
Vittorio Scarano
Dispositivi di
comunicazione
Memorie di massa esterne
La Memoria di Massa
Laboratorio di Informatica 1
Stampante
23
Stampante
Memorie di massa esterne
Laboratorio di Informatica 1
Vittorio Scarano
Dispositivi di
comunicazione
24
Laboratorio di Informatica I
Altri elementi...
La creazione di un programma
• Bus di comunicazione
• Un processo composto di fasi diverse
• Necessario:
– permette la comunicazione tra i componenti
– facilita la connessione (standard)
– Identificare il problema
– Conoscere la soluzione
– Implementare ed eseguire la soluzione
• Dispositivi di comunicazione:
– verso rete geografica (modem)
– verso rete locale (scheda di rete)
• Ciclo di vita del software
– debugging
– maintenance
Laboratorio di Informatica 1
25
Vittorio Scarano
Laboratorio di Informatica 1
Il processo: una vista informale
Il processo in dettaglio
Problema
Problema
Analisi
Analisi
Algoritmo
Soluzione
informale
Soluzione
Soluzione
formale
Formalizzazione
Stesura di una
descrizione
Descrizione
Programmazione
Interpretazione
Descrizione
interpretata
Esecuzione
26
Vittorio Scarano
Programma in linguaggio
ad alto livello
Compilazione
Soluzione
Programma in
Linguaggio
Macchina
Esecuzione
Laboratorio di Informatica 1
Vittorio Scarano
27
Laboratorio di Informatica 1
Gli Algoritmi
28
Vittorio Scarano
Il processo in dettaglio
• Algoritmo:
Problema
Sequenza finita di istruzioni che, se eseguite,
svolgono un particolare compito.
Analisi
• Caratteristiche di un algoritmo:
Soluzione
informale
Formalizzazione
– non ambiguità
– effettivo (esecuzioni eseguibili)
– finito (terminazione)
Codifica
Soluzione
formale
Programmazione
Programma in linguaggio
ad alto livello
Compilazione
• Studio della complessità di un algoritmo
Programma in
Linguaggio
Macchina
Esecuzione
Laboratorio di Informatica 1
Vittorio Scarano
29
Laboratorio di Informatica 1
Vittorio Scarano
30
Laboratorio di Informatica I
Codifica di un algoritmo
Il processo in dettaglio
• Trasformazione della sequenza di passi
(astratti) in un linguaggio di
programmazione ad alto livello
• Linguaggi ad alto livello:
Problema
Analisi
Soluzione
informale
Formalizzazione
– indipendenti dalla piattaforma (quasi…)
– Esempi:
Soluzione
formale
Programmazione
• Fortran, Pascal, Basic, Cobol, C, C++, Java etc.
Programma in linguaggio
ad alto livello
Compilazione
Programma in
Linguaggio
Macchina
Esecuzione
Laboratorio di Informatica 1
31
Vittorio Scarano
La compilazione
compilatore
Vittorio Scarano
32
Una gerarchia di “Macchine” logiche
• Traduce il linguaggio ad alto livello in linguaggio
macchina (compreso dal processore)
• Effettuata dal compilatore e dal linker
file
sorgente
Laboratorio di Informatica 1
Utilizzatori:
Software Applicativo
file
oggetto
Linguaggi ad Alto livello
linker
file
eseguibile
Software di Base
Sistema Operativo, Utilità, Software Comunicazione
Hardware/Firmware
librerie
Componenti Elettronici, Collegamenti fisici
Laboratorio di Informatica 1
Vittorio Scarano
33
Laboratorio di Informatica 1
Vittorio Scarano
34