Presentazione di PowerPoint - Università degli Studi di Parma

Dipartimento di Ingegneria dell’Informazione
Università degli Studi di Parma
Fondamenti di Informatica
Il Calcolatore
Monica Mordonini
Storia del calcolatore

I calcolatori: nati in risposta all’esigenza di
eseguire meccanicamente operazioni
ripetitive

Gli algoritmi: nati in risposta all’esigenza di
definire procedure meccaniche per la
soluzione di problemi
FI - Il Calcolatore
2
Storia del calcolatore


I primi tentativi di automatizzare di calcolo
risalgono al ‘500
Negli anni ’40 nasce l’idea di un calcolatore a
programma memorizzato e la nascita del
calcolatore moderno
FI - Il Calcolatore
3
Il Calcolatore



Un calcolatore è una macchina in grado di
elaborare e memorizzare automaticamente
informazioni.
Un calcolatore può elaborare informazioni
rappresentate in un formato detto digitale.
La caratteristica fondamentale di un
calcolatore è quella di essere una macchina
programmabile.
FI - Il Calcolatore
4
Il Calcolatore

Il comportamento di un calcolatore segue
queste tre fasi:



Legge un insieme di informazioni (dati di input).
Elabora queste informazioni attraverso un
insieme di istruzioni (programma).
Restituisce le informazioni risultato
dell’elaborazione (dati di uscita).
FI - Il Calcolatore
5
Schema hardware di un Personal
Computer
Tutti I
compne
nti sono
uniti da
un “bus”
che
trasporta
le
informaz
ioni
FLOPPY DISK
HARD DISK
CD ROM
ALIMENTATORE
MEMORIA
CPU
SCHEDA AUDIO
SCHEDA VIDEO
CABINET
SCHEDA MADRE
FI - Il Calcolatore
6
Software


Software: programmi che vengono eseguiti
dal sistema
Distinzione fra:


Software di base (i.e. sistema operativo)
Software applicativo
FI - Il Calcolatore
7
Macchina di Von Neumann
(anni ‘40)




La memoria contiene i dati e il programma
Unità di processo
Strutture di controllo per l’esecuzione
sequenziale delle istruzioni
Grande influenza sui linguaggi di
programmazione
FI - Il Calcolatore
8
Macchina di Von Neumann
(anni ‘40)
Unità di Controllo (CU)
Ingresso
(Input)
Memoria
Centrale
Uscita
(Output)
Unità aritmetica (ALU)
FI - Il Calcolatore
9
CPU

La CPU (Central Processing Unit) è il “cervello” del
calcolatore.



Esegue i programmi contenuti nel calcolatore.
Comanda le altre parti del calcolatore.
La CPU è composta da due parti (+ i registri):


La CU (Control Unit) esegue le istruzioni, comanda le altre
parti della CPU e controlla il flusso delle operazioni tra i
registri e la memoria.
L’ALU (Arithmetic Logical Unit) esegue le operazioni
aritmetiche, le operazioni logiche e i confronti tra dati.
FI - Il Calcolatore
10
CPU

Il funzionamento della CPU è dato dal seguente
ciclo macchina




Caricamento: la CU preleva l’istruzione dalla memoria.
Decodifica: la CU interpreta l’istruzione ed eventualmente
trasferisce dalla memoria i dati necessari alla sua
esecuzione.
Esecuzione: la CU comanda le parti
Memorizzazione: i risultati dell’operazione vengono
memorizzati nella memoria centrale o in registri della CPU.
Il clock da’ la base dei tempi necessaria per mantenere il
sincronismo fra le operazioni
FI - Il Calcolatore
11
I registri



Sono locazioni di memoria interne alla CPU e come tali molto
veloci
Poiché i registri compendiano tutto lo stato dell’elaborazione
di un certo processo
 salvando in memoria tutto il contenuto dei registri è
possibile accantonare un processo per passare a
svolgerne un altro
 ripristinando dalla memoria il contenuto di tutti i registri
è possibile ripristinare lo stato di un processo
accantonato riprendendone l’esecuzione come se nulla
fosse accaduto
questo consente al sistema operativo di eseguire più compiti
allo stesso tempo (multitasking)
FI - Il Calcolatore
12
CPU



Il set di istruzioni definisce il linguaggio
comprensibile dalla CPU.
Questo linguaggio viene chiamato linguaggio
macchina.
I programmi eseguibili dalla CPU sono sequenze di
istruzioni in linguaggio macchina.
FI - Il Calcolatore
13
CPU

Le istruzioni del linguaggio macchina sono molto
semplici:



Istruzioni di lettura e scrittura nella memoria centrale
Istruzioni aritmetiche
Istruzioni di salto ad una certa istruzione del programma
FI - Il Calcolatore
14
CPU


La prestazioni di una CPU sono misurate dal
numero di istruzioni eseguite al secondo.
L’unità di misura adottata è il MIPS.
FI - Il Calcolatore
15
CPU

Le CPU si distinguono in base al tipo di set di
istruzioni

CISC (Complex Instruction Set Computer)


L’istruction set di un calcolatore deve contenere quante piu’
istruzioni possibili, anche se ognuna di queste richiede piu’
cicli per l’esecuzione poiche’ cio’ permette di creare macchine
piu’ potenti (ie pentium)
RISC (Reduced Instruction Set Computer)

Ogni istruzione dell’istruction set di un calcolatore deve essere
eseguita in un solo ciclo: sebbene saranno neccessarie piu’
istruzioni per svolgere una singola istruzioen CISC il sistema
risultera’ comunque piu’ veloce (ie powerPC)
FI - Il Calcolatore
16
CPU

La CPU è costituita da un microprocessore le cui
capacità possono essere stimate da:


Numero di transistor
Frequenza di clock
FI - Il Calcolatore
17
CPU


Più grande è il numero di transistor del processore
più complesse sono le operazioni eseguibili a parità
di tempo.
Il clock è il segnale che cadenza l’esecuzione delle
singole istruzioni. Quindi più alta è la frequenza di
clock più operazioni sono eseguite a parità di
tempo.
FI - Il Calcolatore
18
Memoria Centrale

L’ informazione è memorizzata per
mezzo di singoli dispositivi elettronici che
possono trovarsi ognuno in due possibili
stati:


Un interruttore che può essere aperto oppure
chiuso.
Un condensatore che può essere carico
oppure scarico.
FI - Il Calcolatore
19
Memoria Centrale

La memoria è organizzata in una sequenza
logica di locazioni individuate da un indirizzo
e contenente un byte di informazione.
FI - Il Calcolatore
20
Memoria Centrale


La capacità di una memoria si misura in byte:
K (kilo)
210  1000
M (mega)
220  1.000.000
G (giga)
230  1.000.000.000
T (tera)
240  1.000.000.000.000
Il tempo di accesso di una locazione di
memoria e dell’ordine delle decine di
nanosecondi.
FI - Il Calcolatore
21
Memoria centrale

Indirizzamento

E’ l’attività con cui l’elaboratore seleziona una
particolare cella di memoria
per farlo l’elaboratore pone l’indirizzo della
cella desiderata nel registro indirizzi

FI - Il Calcolatore
22
Memoria Centrale

La memoria centrale di un calcolatore contiene tre
tipi di memoria elettronica

RAM (Random Access Memory)




ROM (Read Only Memory)




Riscrivibile (operazioni di lettura e scrittura)
Accesso Casuale
Volatile
Non riscrivibile
Accesso Casuale
Non volatile
Cache
FI - Il Calcolatore
23
Memoria cache



Sebbena la RAM sia veloce non lo è
abbastanza per i processori moderni
il processore perde tempo perciò per
aspettare i dati dalla RAM
Soluzione: inserire tra processore e RAM una
memoria particolarmente veloce dove tenere
i dati usati più spesso : memoria cache
FI - Il Calcolatore
24
Memorie cache


Se abbiamo memorie così veloci perché non
le usiamo per costruire tutta la RAM?
Costano troppo
FI - Il Calcolatore
25
Gerarchia delle Memorie
Velocità
Registri
cache
Memoria locale
Memoria
centrale
RAM
Memoria
di massa
Capacità
FI - Il Calcolatore
26
Capacità delle memorie
Tipo di meoria
Capacita’
Memoria centrale
Dischi magnetici
Dischi floppy
Nastri (bobina)
Nastri (cassetta)
Dischi Ottici
32-1024Mbyte
4-20 Gbyte
1.4 Mbyte
20-400 Mbyte
200-5000 Mbyte
650 Mbyte 17 Gbyte
FI - Il Calcolatore
27
Le Unità Periferiche

Le unità periferiche permettono al
calcolatore:


La comunicazione con il mondo esterno.
Il mantenimento di grandi quantità di informazioni
non gestibili dalla memoria centrale.
FI - Il Calcolatore
28
Le Unità Periferiche


La comunicazione fra l’elaboratore ed una
periferica avviene tramite un dispositivo
chiamato interfaccia
le interfacce sono molto diverse fra loro e
dipendono dal tipo di unità periferica da
connettere
FI - Il Calcolatore
29
Le Unità Periferiche

Le unità periferiche si dividono in tre classi:



Input
Output
Input/Output
FI - Il Calcolatore
30
Le Unità di Input

Le Unità di input permettono al calcolatore
di ricevere informazioni dal mondo esterno.

Sono basate su:
 Trasduttori (posizione, temperatura, pressione,
luminosità,…).

Parte elettronica (per mantenere l'informazione, per
codificarla, per segnalare lo stato dell'unità,…).

Le principali periferiche di input sono:

Tastiera, mouse, scanner, microfono, telecamera, CDROM, DVD
FI - Il Calcolatore
31
Le Unità di Output


Le Unità di output permettono al calcolatore
di inviare informazioni al mondo esterno.
Sono basate su:

Parte elettronica (per mantenere l'informazione, per
codificarla, per segnalare lo stato dell'unità,…).

Attuatori (trasformano il segnale elettrico digitale in:
posizione, temperatura, pressione, luminosità,…).

Le principali periferiche di output sono:

Monitor, stampante, casse acustiche
FI - Il Calcolatore
32
Le Unità di Input/Output


Le unità di input/output possono essere
utilizzate indipendentemente come ingresso
e uscita.
Le principali periferiche di input/output sono:


Hard-disk, floppy disk, CD-RW, tape
Le unità di input/output e le due unità di input
CD-ROM e DVD vengono anche indicate
come memorie di massa.
FI - Il Calcolatore
33
Dischi Magnetici

I dischi magnetici usano la polarizzazione
di un materiale ferromagnetico (ossido di
ferro) depositato su un supporto inerte.


Riscrivibili
Non volatili
FACCIA
TESTINA
CILINDRO
TRACCIA
SETTORE
FI - Il Calcolatore
34
Dischi Magnetici

Il tempo per accedere ai dati di un settore
non è costante, ma è relativamente basso
(ordine della decina di millisecondi).




Tempo di seek (posizionamento sul cilindro)
Tempo di assestamento (posizione stabile)
Tempo di latenza (posizionamento sul settore)
Tempo di trasferimento (scrittura o lettura dei
dati)
FI - Il Calcolatore
35
Dischi Magnetici

Gli hard disk sono più veloci delle unità a
floppy disk:


Si mantengono sempre in rotazione.
Possono ruotare a velocità più elevate in quanto
le testine non sono a contatto con la superficie dei
dischi.
FI - Il Calcolatore
36
Dischi Magnetici



La superficie originaria di un disco magnetico è una
superficie completamente smagnetizzata.
L’operazione di formattazione inizializza un disco
magnetico rendendolo capace di memorizzare dei
dati.
L’operazione di formattazione è un’operazione
distruttiva.
FI - Il Calcolatore
37
Dischi Magnetici


Formattazione fisica inserisce sul disco tutte le
informazione necessarie per individuare le
tracce ed i settori.
Formattazione logica organizza lo spazio fisico
( i settori) del disco in archivi (il cosiddetto file
system); crea tabelle contenenti informazioni
relative agli archivi.

La formattazione logica è legata al sistema operativo
con cui si lavora (ogni sistema operativo ha un
proprio file system)
FI - Il Calcolatore
38
Interfacce

Le periferiche di diversi costruttori devono
essere intercambiabili, senza richiedere
parti hardware differenti sul calcolatore.
Interfaccia
Calcolatore Standard
Connessione
FI - Il Calcolatore
Interfaccia
Standard
Periferica
39
Interfacce

IDE (Intelligent Drive Electronics )



Usato per gli hard disk.
Fino a due hard-disk.
SCSI (Small Computer System Interface)



Si possono collegare più unità periferiche di
vario tipo.
Le unità SCSI possono scambiarsi i dati
direttamente, senza passare attraverso il
microprocessore del calcolatore.
Fino a 16 unità periferiche.
FI - Il Calcolatore
40
Interfacce

Interfaccia parallela



Usato in genere per le stampanti.
Permette la trasmissione di una sequenza di
byte in parallelo su otto linee.
Interfaccia seriale


Usato in genere per dispositivi lenti come il
mouse.
Permette la trasmissione di una sequenza di
bit su di un’unica linea.
FI - Il Calcolatore
41
Interfacce USB




Definito da un consorzio (Intel compaq,
Microsoft) con l’intento di sostituire sia le porti
seriali che parallele
Velocita’ 12MBit/sec
Collega fino a 127 periferiche in cascata
Completamente “Plug and Play”
FI - Il Calcolatore
42
Oltre la macchina di Von Neumann


Problema: nella macchina di Von Neumann le
operazioni sono strettamente sequenziali
Altre soluzioni introducono forme di parallelismo



processori dedicati (coprocessori) al calcolo numerico,
alla gestione della grafica, all’I/O
esecuzione in parallelo delle varie fasi di una istruzione:
mentre se ne esegue una, si acquisiscono e decodificano
le istruzioni successive (pipeline)
architetture completamente diverse: sistemi multiprocessore, macchine dataflow, reti neurali
FI - Il Calcolatore
43