1 Corso di Informatica (Programmazione) Lezione 4 (24 ottobre 2008) Architettura del calcolatore: la...

36
1 Corso di Informatica (Programmazione) Lezione 4 (24 ottobre 2008) Architettura del calcolatore: la macchina di Von Neumann

Transcript of 1 Corso di Informatica (Programmazione) Lezione 4 (24 ottobre 2008) Architettura del calcolatore: la...

Page 1: 1 Corso di Informatica (Programmazione) Lezione 4 (24 ottobre 2008) Architettura del calcolatore: la macchina di Von Neumann.

1

Corso di Informatica

(Programmazione)

Lezione 4 (24 ottobre 2008)

Architettura del calcolatore:la macchina di Von Neumann

Page 2: 1 Corso di Informatica (Programmazione) Lezione 4 (24 ottobre 2008) Architettura del calcolatore: la macchina di Von Neumann.

2

Il calcolatore

Calcolatore (sistema informatico):

macchina in grado di eseguire

programmi (dal portatile al

calcolatore multi-utente)

Page 3: 1 Corso di Informatica (Programmazione) Lezione 4 (24 ottobre 2008) Architettura del calcolatore: la macchina di Von Neumann.

3

Il calcolatore

Indipendentemente dalla complessità del sistema, un calcolatore è composto da:

HARDWARE (componenti fisiche)

SOFTWARE (programmi eseguiti dal sistema)

Page 4: 1 Corso di Informatica (Programmazione) Lezione 4 (24 ottobre 2008) Architettura del calcolatore: la macchina di Von Neumann.

4

Il calcolatore: HARDWARE

Un calcolatore è composto da:

Central Processing Unit (CPU)

Random Access Memory (RAM)

Memoria di massa

Periferiche

Bus di sistema

Page 5: 1 Corso di Informatica (Programmazione) Lezione 4 (24 ottobre 2008) Architettura del calcolatore: la macchina di Von Neumann.

5

HARDWARE: CPU

Central Processing Unit (CPU)

esegue le istruzioni di cui sono composti i programmi e:

compie elaborazioni

coordina il trasferimento delle informazioni all’interno del sistema

Page 6: 1 Corso di Informatica (Programmazione) Lezione 4 (24 ottobre 2008) Architettura del calcolatore: la macchina di Von Neumann.

6

HARDWARE: RAM

Random Access Memory (RAM)

è la memoria centrale del sistema e:

memorizza i dati

memorizza i programmi

è di capacità limitata

è volatile

è ad accesso rapido

Page 7: 1 Corso di Informatica (Programmazione) Lezione 4 (24 ottobre 2008) Architettura del calcolatore: la macchina di Von Neumann.

7

HARDWARE: Memoria di massaMemoria di massa

è la memoria secondaria del sistema e:

memorizza grandi quantità di dati

memorizza i programmi

è di grande capacità

è persistente

Page 8: 1 Corso di Informatica (Programmazione) Lezione 4 (24 ottobre 2008) Architettura del calcolatore: la macchina di Von Neumann.

8

HARDWARE: Periferiche

Periferiche per comunicare con

l’esterno: terminali

video

mouse

tastiera

stampante

etc.

Page 9: 1 Corso di Informatica (Programmazione) Lezione 4 (24 ottobre 2008) Architettura del calcolatore: la macchina di Von Neumann.

9

HARDWARE: Bus di sistema

Bus di sistema è il dispositivo che collega

le unità funzionali del calcolatore (CPU, RAM, memoria di massa e periferiche) permettendo lo scambio di informazioni tra di esse

Page 10: 1 Corso di Informatica (Programmazione) Lezione 4 (24 ottobre 2008) Architettura del calcolatore: la macchina di Von Neumann.

10

HARDWARE: tipi di calcolatore Personal Computer (PC):

l’utente è unico CPU, RAM e memoria di massa sono contenute in un box le periferiche sono esterne e sono collegate al box tramite cavi la memoria di massa è costituita da:

hard disk (disco fisso) di elevata capacità compact disk (CD) di ridotta capacità chiave USB di media capacità

Page 11: 1 Corso di Informatica (Programmazione) Lezione 4 (24 ottobre 2008) Architettura del calcolatore: la macchina di Von Neumann.

11

Personal Computer (PC): le informazioni sulla memoria di massa sono organizzate in files è possibile collegare altre periferiche tramite porta USB

Workstation: il processore (o CPU) è di elevate prestazioni serve decine di utenti

HARDWARE: tipi di calcolatore

Page 12: 1 Corso di Informatica (Programmazione) Lezione 4 (24 ottobre 2008) Architettura del calcolatore: la macchina di Von Neumann.

12

Mainframe: è multiprocessore la memoria di massa è molto grande serve centinaia di utenti

Server: offre servizi attraverso la rete l’interfaccia utente è molto limitata

HARDWARE: tipi di calcolatore

Page 13: 1 Corso di Informatica (Programmazione) Lezione 4 (24 ottobre 2008) Architettura del calcolatore: la macchina di Von Neumann.

13

Il calcolatore: SOFTWARE

Insieme dei programmi che

risiedono sul calcolatore e che lo

fanno funzionare:

software di base dedicato alla gestione del calcolatore

software applicativo dedicato alle esigenze dell’utente

Page 14: 1 Corso di Informatica (Programmazione) Lezione 4 (24 ottobre 2008) Architettura del calcolatore: la macchina di Von Neumann.

14

Il calcolatore: SOFTWARE

Software di base: Sistema Operativo: software che

gestisce le risorse hardware

Windows

Linux

etc.

Page 15: 1 Corso di Informatica (Programmazione) Lezione 4 (24 ottobre 2008) Architettura del calcolatore: la macchina di Von Neumann.

15

Il calcolatore: SOFTWARE

Software applicativo: Word

Excel

PowerPoint

Outlook

etc.

Page 16: 1 Corso di Informatica (Programmazione) Lezione 4 (24 ottobre 2008) Architettura del calcolatore: la macchina di Von Neumann.

16

La macchina di Von Neumann

Un modello di calcolatore è fornito dalla macchina di Von Neumann

CPU RAM Memoriadi massa

Periferica Periferica

Bus di sistema

Page 17: 1 Corso di Informatica (Programmazione) Lezione 4 (24 ottobre 2008) Architettura del calcolatore: la macchina di Von Neumann.

17

La macchina di Von Neumann

L’idea di base è di collegare le componenti fisiche del calcolatore attraverso un insieme di 3 linee (bus di sistema) in quanto:

il progetto è semplice

i costi sono contenuti

l’aggiunta di un nuovo componente è semplice

Page 18: 1 Corso di Informatica (Programmazione) Lezione 4 (24 ottobre 2008) Architettura del calcolatore: la macchina di Von Neumann.

18

La macchina di Von Neumann

Fondamentalmente il funzionamento di un calcolatore avviene nel seguente modo:

La CPU estrae le istruzioni dalla RAM:

le decodifica

le esegue

Un clock di sistemascandisce le fasidi elaborazione

in modo sincrono

Page 19: 1 Corso di Informatica (Programmazione) Lezione 4 (24 ottobre 2008) Architettura del calcolatore: la macchina di Von Neumann.

19

La RAM in dettaglioLa RAM è un insieme di celle

ciascuna contenente una word, ossia una sequenza di n bit (8, 16, 32, etc.)

0 1 1 0 0 1 0 1 1Cella 0

Cella 1

Cella 2

Cella 3

Cella 4

Page 20: 1 Corso di Informatica (Programmazione) Lezione 4 (24 ottobre 2008) Architettura del calcolatore: la macchina di Von Neumann.

20

La RAM in dettaglio L’indirizzo di una cella di RAM

è la posizione rispetto alla prima cella (a indirizzo 0)

La RAM può essere indirizzata una cella può essere selezionata direttamente tramite il suo indirizzo

L’indirizzamento avviene tramite il registro indirizzi della CPU

Page 21: 1 Corso di Informatica (Programmazione) Lezione 4 (24 ottobre 2008) Architettura del calcolatore: la macchina di Von Neumann.

21

La CPU in dettaglio

PC

INTR

CIR

SR

A

B

Registridi lavoro CU

DR AR clock

ALU

Page 22: 1 Corso di Informatica (Programmazione) Lezione 4 (24 ottobre 2008) Architettura del calcolatore: la macchina di Von Neumann.

22

La CPU in dettaglio Control Unit (CU)

gestisce le attività della CPU

preleva e decodifica le istruzioni dalla RAM

invia i segnali di controllo (attravesro il bus controlli) per l’esecuzione delle istruzioni

Clock di sistema sincronizza le operazioni rispetto

ad una data frequenza

Page 23: 1 Corso di Informatica (Programmazione) Lezione 4 (24 ottobre 2008) Architettura del calcolatore: la macchina di Von Neumann.

23

La CPU in dettaglio Arithmetic Logic Unit (ALU)

esegue le operazioni aritmetiche e logiche

Data Register (DR) registro che memorizza il dato

letto da RAM o da scrivere su RAM Address Register (AR)

registro che memorizza l’indirizzo della cella di RAM da cui leggere o su cui scrivere

Page 24: 1 Corso di Informatica (Programmazione) Lezione 4 (24 ottobre 2008) Architettura del calcolatore: la macchina di Von Neumann.

24

La CPU in dettaglio Current Instruction

Register (CIR) registro che contiene istante per

istante la codifica binaria dell’istruzione che la CPU deve eseguire

Program Counter (PC) registro che memorizza l’indirizzo

della cella della RAM che contiene l’istruzione che la CPU deve eseguire

Page 25: 1 Corso di Informatica (Programmazione) Lezione 4 (24 ottobre 2008) Architettura del calcolatore: la macchina di Von Neumann.

25

La CPU in dettaglio

Interrupt Register (INTR) fornisce informazioni sullo stato

delle periferiche

Registri A e B registri per memorizzare operandi

e risultato di una operazione svolta dalla ALU

Page 26: 1 Corso di Informatica (Programmazione) Lezione 4 (24 ottobre 2008) Architettura del calcolatore: la macchina di Von Neumann.

26

La CPU in dettaglio

Registri di lavoro registri per memorizzare i risultati

intermedi delle elaborazioni

Status Register (SR) fornisce informazioni sulle

operazioni svolte da ALU (ad esempio per il riporto, il segno del risultato, per overflow, etc.)

Page 27: 1 Corso di Informatica (Programmazione) Lezione 4 (24 ottobre 2008) Architettura del calcolatore: la macchina di Von Neumann.

27

Il Bus di sistema in dettaglio

Il bus di sistema è un insieme di linee di trasferimento dell’informazione

In ogni istante il bus collega due unità funzionali del calcolatore (una master che trasmette e una slave che riceve)

Page 28: 1 Corso di Informatica (Programmazione) Lezione 4 (24 ottobre 2008) Architettura del calcolatore: la macchina di Von Neumann.

28

Il Bus di sistema in dettaglio

Le 3 categorie di linee sono:

Bus dati trasferimento bidirezionale di dati dalla CPU alla memoria (e viceversa)

Bus indirizzi trasferimento monodirezionale del contenuto del registro indirizzi dalla CPU alla memoria (ad esempio in un operazione di lettura dalla RAM)

Page 29: 1 Corso di Informatica (Programmazione) Lezione 4 (24 ottobre 2008) Architettura del calcolatore: la macchina di Von Neumann.

29

Il Bus di sistema in dettaglio

Le 3 categorie di linee sono:

Bus controlli coordinamento delle attività di sistema per evitare conflitti e collisioni

Page 30: 1 Corso di Informatica (Programmazione) Lezione 4 (24 ottobre 2008) Architettura del calcolatore: la macchina di Von Neumann.

30

Operazione di lettura dalla RAM

Lettura dalla RAM: copia del contenuto di una cella della RAM nel registro dati (DR) della CPU

8Cella 2

RAM

2

8

AR

DR

CPU

Page 31: 1 Corso di Informatica (Programmazione) Lezione 4 (24 ottobre 2008) Architettura del calcolatore: la macchina di Von Neumann.

31

Operazione di lettura dalla RAM

Fasi della lettura dalla RAM:

1. La CPU carica in AR l’indirizzo della cella da cui leggere

2. La CPU trasmette il contenuto di AR alla RAM tramite il bus indirizzi

3. La CPU richiede un’operazione di lettura tramite il bus controlli

Page 32: 1 Corso di Informatica (Programmazione) Lezione 4 (24 ottobre 2008) Architettura del calcolatore: la macchina di Von Neumann.

32

Operazione di lettura dalla RAM

Fasi della lettura dalla RAM:

4. Viene eseguita un’operazione di lettura e il dato letto viene spostato in DR della CPU attraverso il bus dati

5. Viene inviato alla CPU un segnale di completamento dell’operazione attraverso il bus controlli

Page 33: 1 Corso di Informatica (Programmazione) Lezione 4 (24 ottobre 2008) Architettura del calcolatore: la macchina di Von Neumann.

33

Operazione di scrittura dalla RAM

Scrittura sulla RAM: copia del contenuto del registro dati (DR) della CPU in una cella di memoria della RAM

8Cella 2

RAM

2

8

AR

DR

CPU

Page 34: 1 Corso di Informatica (Programmazione) Lezione 4 (24 ottobre 2008) Architettura del calcolatore: la macchina di Von Neumann.

34

Operazione di scrittura sulla RAM

Fasi della scrittura sulla RAM:

1. La CPU carica in AR l’indirizzo della cella in cui scrivere

2. La CPU trasmette il contenuto di AR alla RAM tramite il bus indirizzi

3. La CPU carica in DR il dato da scrivere

Page 35: 1 Corso di Informatica (Programmazione) Lezione 4 (24 ottobre 2008) Architettura del calcolatore: la macchina di Von Neumann.

35

Operazione di lettura dalla RAM

Fasi della scrittura sulla RAM:

4. La CPU richiede un’operazione di scrittura tramite il bus controlli.

5. Viene eseguita un’operazione di scrittura e il dato in DR viene spostato nella cella della RAM attraverso il bus dati

Page 36: 1 Corso di Informatica (Programmazione) Lezione 4 (24 ottobre 2008) Architettura del calcolatore: la macchina di Von Neumann.

36

Operazione di lettura dalla RAM

Fasi della scrittura sulla RAM:

6. Viene inviato alla CPU un segnale di completamento dell’operazione attraverso il bus controlli