Introduzione all'architettura dei Calcolatori - fmag.unict.it · Fondamenti di Informatica –...

28
Introduzione all'architettura dei Calcolatori

Transcript of Introduzione all'architettura dei Calcolatori - fmag.unict.it · Fondamenti di Informatica –...

Page 1: Introduzione all'architettura dei Calcolatori - fmag.unict.it · Fondamenti di Informatica – Architettura Calcolatori 3 Architettura dei calcolatori Che cos’è un calcolatore?

Introduzione all'architettura dei Calcolatori

Page 2: Introduzione all'architettura dei Calcolatori - fmag.unict.it · Fondamenti di Informatica – Architettura Calcolatori 3 Architettura dei calcolatori Che cos’è un calcolatore?

3Fondamenti di Informatica – Architettura Calcolatori

Architettura dei calcolatori

Che cos’è un calcolatore? Come funziona un calcolatore?➔ un calcolatore è un sistema➔ un sistema è un oggetto costituito da molte parti (componenti)

che interagiscono, cooperando, al fine di ottenere un certo comportamento

Studiare l’architettura di un sistema vuol dire➔ individuare ciascun componente del sistema➔ comprendere i principi generali di funzionamento di ciascun

componente➔ comprendere come i vari componenti interagiscono tra di loro

Page 3: Introduzione all'architettura dei Calcolatori - fmag.unict.it · Fondamenti di Informatica – Architettura Calcolatori 3 Architettura dei calcolatori Che cos’è un calcolatore?

4Fondamenti di Informatica – Architettura Calcolatori

Hardware e software

La prima decomposizione di un calcolatore è relativa alle seguenti macro- componenti:

hardware➔ la struttura fisica del calcolatore, costituita da

componenti elettronici ed elettromeccanici

software➔ l’insieme dei programmi che consentono all’hardware

di svolgere dei compiti utili➔ il software comprende il software di base (tra cui il

sistema operativo) e il software applicativo

Page 4: Introduzione all'architettura dei Calcolatori - fmag.unict.it · Fondamenti di Informatica – Architettura Calcolatori 3 Architettura dei calcolatori Che cos’è un calcolatore?

5Fondamenti di Informatica – Architettura Calcolatori

Organizzazione a livelli

Hardware e software sono organizzati a livelli (o strati).

Ogni livello usa i servizi offerti dal livello sottostante.

Un utente agisce usando i servizi del

livello software applicativo (web,

videogames, programmi di grafica etc)

Le applicazioni a loro volta usano i

servizi del software di base (es. sistema

operativo)

Il livello software di base, utilizza il

livello hardware.

Software applicativo

Software di base

Hardware

Utente

Page 5: Introduzione all'architettura dei Calcolatori - fmag.unict.it · Fondamenti di Informatica – Architettura Calcolatori 3 Architettura dei calcolatori Che cos’è un calcolatore?

Macchina di Von NeumannE’ composta da 4 tipologie di componenti funzionali: unità centrale di elaborazione (CPU) esegue istruzioni per l’elaborazione dei dati svolge anche funzioni di controllo

memoria centrale memorizza e fornisce l’accesso a dati e programmi

interfacce di ingresso e uscita componenti di collegamento con le periferiche del

calcolatore bus svolge la funzionalità di trasferimento di dati e di

informazioni di controllo tra le varie componenti funzionali

PDF created with pdfFactory trial version www.pdffactory.com

Page 6: Introduzione all'architettura dei Calcolatori - fmag.unict.it · Fondamenti di Informatica – Architettura Calcolatori 3 Architettura dei calcolatori Che cos’è un calcolatore?

6Fondamenti di Informatica – Architettura Calcolatori

Vista funzionale di un Calcolatore

AmbienteTrasferimento

Elaborazione

Controllo

Memorizzazione

Page 7: Introduzione all'architettura dei Calcolatori - fmag.unict.it · Fondamenti di Informatica – Architettura Calcolatori 3 Architettura dei calcolatori Che cos’è un calcolatore?

7Fondamenti di Informatica – Architettura Calcolatori

Componenti di un Calcolatore

Page 8: Introduzione all'architettura dei Calcolatori - fmag.unict.it · Fondamenti di Informatica – Architettura Calcolatori 3 Architettura dei calcolatori Che cos’è un calcolatore?

8Fondamenti di Informatica – Architettura Calcolatori

Tipi di Bus

Bus dati: utilizzato per trasferire dati (es. fra memoria e CPU, fra CPU e interfacce di I/O)

Bus indirizzi: che identifica la posizione delle celle di memoria un cui la CPU va a scrivere o leggere

Bus di controllo: in cui transitano i segnali di controllo che consentono di selezionare le unità coinvolte in un trasferimento dati (sorgente e destinazione), di definire la direzione dello scambio (scrittura o lettura)

Page 9: Introduzione all'architettura dei Calcolatori - fmag.unict.it · Fondamenti di Informatica – Architettura Calcolatori 3 Architettura dei calcolatori Che cos’è un calcolatore?

9Fondamenti di Informatica – Architettura Calcolatori

Architettura di Von Neumann Burks, Goldstein e Von Neumann sono stati i primi a proporre che il codice

del programma potesse essere memorizzato nella stessa memoria dei dati

CPU Memoria

Indirizzi

Dati

Controllo

Memoria indifferenziata per dati o istruzioni

Solo l'interpretazione da parte di CPU stabilisce se una data configurazione di bit è da riguardarsi come un dato o come un'istruzione

Page 10: Introduzione all'architettura dei Calcolatori - fmag.unict.it · Fondamenti di Informatica – Architettura Calcolatori 3 Architettura dei calcolatori Che cos’è un calcolatore?

10Fondamenti di Informatica – Architettura Calcolatori

L’Unità Centrale di Elaborazione (CPU)

Page 11: Introduzione all'architettura dei Calcolatori - fmag.unict.it · Fondamenti di Informatica – Architettura Calcolatori 3 Architettura dei calcolatori Che cos’è un calcolatore?

11Fondamenti di Informatica – Architettura Calcolatori

Elementi di una CPU

Unità di controlloLegge le istruzioni dalla memoria e ne determina il tipo

Unità aritmetico-logicaEsegue le operazioni necessarie per eseguire le istruzioni

RegistriMemoria ad alta velocità usata per risultati temporanei

Determina il parallelismo della CPU

Esistono registri generici e registri specificiProgram Counter (PC)

Instruction Register (IR)

Page 12: Introduzione all'architettura dei Calcolatori - fmag.unict.it · Fondamenti di Informatica – Architettura Calcolatori 3 Architettura dei calcolatori Che cos’è un calcolatore?

12Fondamenti di Informatica – Architettura Calcolatori

Tre Tipologie di Istruzioni

Istruzioni Aritmetico Logiche (Elaborazione dati)Somma, sottrazione, divisione, …

And, Or, Xor, …

Maggiore, minore, uguale, maggiore uguale, …

Controllo del flusso delle istruzioniSequenza

Selezione

Ciclo a condizione iniziale, a condizione finale, …

Trasferimento di informazioneTrasferimento dati e istruzioni tra CPU e memoria

Trasferimento dati e istruzioni tra CPU e dispositivi di I/O

Page 13: Introduzione all'architettura dei Calcolatori - fmag.unict.it · Fondamenti di Informatica – Architettura Calcolatori 3 Architettura dei calcolatori Che cos’è un calcolatore?

13Fondamenti di Informatica – Architettura Calcolatori

Struttura del “data path”

A+B

A B

B

A

A+B

ALU

RegistriRegistri di ingressoall’ALU

Registro di uscitadell’ALU

Bus di ingressoall’ALU

Page 14: Introduzione all'architettura dei Calcolatori - fmag.unict.it · Fondamenti di Informatica – Architettura Calcolatori 3 Architettura dei calcolatori Che cos’è un calcolatore?

14Fondamenti di Informatica – Architettura Calcolatori

Esecuzione delle Istruzioni Ciclo Fetch-Decode-Execute

Prendi l’istruzione corrente dalla memoria e mettila nel registro istruzioni (IR) [Fetch]

Incrementa il program counter (PC) in modo che contenga l’indirizzo dell’istruzione successiva

Determina il tipo dell’istruzione corrente [Decodifica] Se l’istruzione usa una parola in memoria determina

dove si trova Carica la parola, se necessario, in un registro della

CPU Esegui l’istruzione [Execute] Torna al punto 1.

Page 15: Introduzione all'architettura dei Calcolatori - fmag.unict.it · Fondamenti di Informatica – Architettura Calcolatori 3 Architettura dei calcolatori Che cos’è un calcolatore?

15Fondamenti di Informatica – Architettura Calcolatori

Struttura Semplificata di una CPU

Memoriacentrale

operiferiche

PC

IR PSW

Unità di controllo

Registro

Registro

...

Registro

MDR

MAR

ALU

stat

o

Ese

gui

Oper

azio

ne

Unità centrale

Leggi

Scrivi

Bus Controllo

Indirizzo

Dato

Bus Indirizzi

Bus Dati

Page 16: Introduzione all'architettura dei Calcolatori - fmag.unict.it · Fondamenti di Informatica – Architettura Calcolatori 3 Architettura dei calcolatori Che cos’è un calcolatore?

16Fondamenti di Informatica – Architettura Calcolatori

Esempio: Somma di due registri

Memoriacentrale

operiferiche

PC

IR PSW

Unità di controllo

Registro

Registro

...

Registro

MDR

MAR

ALU

stat

o

Ese

gui

Op

eraz

ione

Unità centrale

Leggi

Scrivi

Bus Controllo

Indirizzo

Dato

Bus Indirizzi

Bus Dati

Fase di Fetch (1 di 2)

Page 17: Introduzione all'architettura dei Calcolatori - fmag.unict.it · Fondamenti di Informatica – Architettura Calcolatori 3 Architettura dei calcolatori Che cos’è un calcolatore?

17Fondamenti di Informatica – Architettura Calcolatori

Esempio: Somma di due registri

Memoriacentrale

operiferiche

PC

IR PSW

Unità di controllo

Registro

Registro

...

Registro

MDR

MAR

ALU

stat

o

Ese

gui

Op

eraz

ione

Unità centrale

Leggi

Scrivi

Bus Controllo

Indirizzo

Dato

Bus Indirizzi

Bus Dati

Fase di Fetch (2 di 2)

Page 18: Introduzione all'architettura dei Calcolatori - fmag.unict.it · Fondamenti di Informatica – Architettura Calcolatori 3 Architettura dei calcolatori Che cos’è un calcolatore?

18Fondamenti di Informatica – Architettura Calcolatori

Esempio: Somma tra due registri

Memoriacentrale

operiferiche

PC

IR PSW

Unità di controllo

Registro

Registro

...

Registro

MDR

MAR

ALU

stat

o

Ese

gui

Op

eraz

ione

Unità centrale

Leggi

Scrivi

Bus Controllo

Indirizzo

Dato

Bus Indirizzi

Bus Dati

Decodifica

Page 19: Introduzione all'architettura dei Calcolatori - fmag.unict.it · Fondamenti di Informatica – Architettura Calcolatori 3 Architettura dei calcolatori Che cos’è un calcolatore?

19Fondamenti di Informatica – Architettura Calcolatori

Esempio: Somma tra due registri

Memoriacentrale

operiferiche

PC

IR PSW

Unità di controllo

Registro

Registro

...

Registro

MDR

MAR

ALU

stat

o

Ese

gui

Op

eraz

ione

Unità centrale

Leggi

Scrivi

Bus Controllo

Indirizzo

Dato

Bus Indirizzi

Bus Dati

Esecuzione

Page 20: Introduzione all'architettura dei Calcolatori - fmag.unict.it · Fondamenti di Informatica – Architettura Calcolatori 3 Architettura dei calcolatori Che cos’è un calcolatore?

Frequenza di clockLa frequenza con cui si eseguono i cicli di esecuzione è scandita dal clock (orologio interno) ad ogni impulso di clock l’unità di controllo

esegue un ciclo di esecuzione la velocità di elaborazione di un

microprocessore dipende dalla frequenza del suo clock (300, 400,... MHz) (es.: 300 milioni di cicli al secondo). Attualmente si parla di GHz.

PDF created with pdfFactory trial version www.pdffactory.com

Page 21: Introduzione all'architettura dei Calcolatori - fmag.unict.it · Fondamenti di Informatica – Architettura Calcolatori 3 Architettura dei calcolatori Che cos’è un calcolatore?

Memoria centrale

PDF created with pdfFactory trial version www.pdffactory.com

Page 22: Introduzione all'architettura dei Calcolatori - fmag.unict.it · Fondamenti di Informatica – Architettura Calcolatori 3 Architettura dei calcolatori Che cos’è un calcolatore?

Funzionamento

RAMHARD DISK

programma

programma

copia il programma in RAM

esegui le istruzioni del programma

CPU

PDF created with pdfFactory trial version www.pdffactory.com

Page 23: Introduzione all'architettura dei Calcolatori - fmag.unict.it · Fondamenti di Informatica – Architettura Calcolatori 3 Architettura dei calcolatori Che cos’è un calcolatore?

Memorie RAM e memorie ROM

Le memorie RAM (random access memory) possono essere accedute sia in lettura

che in scrittura sono volatili (i dati memorizzati

vengono persi allo spegnimento del calcolatore)

sono usate per memorizzare dati e programmi

PDF created with pdfFactory trial version www.pdffactory.com

Page 24: Introduzione all'architettura dei Calcolatori - fmag.unict.it · Fondamenti di Informatica – Architettura Calcolatori 3 Architettura dei calcolatori Che cos’è un calcolatore?

Struttura della RAM

PDF created with pdfFactory trial version www.pdffactory.com

Page 25: Introduzione all'architettura dei Calcolatori - fmag.unict.it · Fondamenti di Informatica – Architettura Calcolatori 3 Architettura dei calcolatori Che cos’è un calcolatore?

La RAM Le celle sono numerate in sequenza: il numero

di ogni cella costituisce il suo indirizzo

Specificando l’indirizzo di una cella, la CPU e’in grado di leggere e/o modificare il valore del byte memorizzato in quella cella

Random Access Memory (RAM), perche’ ogni cella e’ indirizzabile direttamente

PDF created with pdfFactory trial version www.pdffactory.com

Page 26: Introduzione all'architettura dei Calcolatori - fmag.unict.it · Fondamenti di Informatica – Architettura Calcolatori 3 Architettura dei calcolatori Che cos’è un calcolatore?

Dispositivi di input/output (I/O, PERIFERICHE)

Terminali. Tastiera + Video: risoluzione, dimensione in pollici,…

Stampanti: ad aghi, a getto, d’inchiostro, laser,…

Modem: per collegarsi in rete Scanner: per digitalizzare le immagini

PDF created with pdfFactory trial version www.pdffactory.com

Page 27: Introduzione all'architettura dei Calcolatori - fmag.unict.it · Fondamenti di Informatica – Architettura Calcolatori 3 Architettura dei calcolatori Che cos’è un calcolatore?

Dispositivi di Input

TastieraMouse

Joystick

trackball Touch pad

Penna otticaScanner

Webcam

Fotocam. Dig.

Microfono

Schermi touch screen

Tavoletta grafica

PDF created with pdfFactory trial version www.pdffactory.com

Page 28: Introduzione all'architettura dei Calcolatori - fmag.unict.it · Fondamenti di Informatica – Architettura Calcolatori 3 Architettura dei calcolatori Che cos’è un calcolatore?

Dispositivi di Output

Monitor

Cuffie

Plotter

Stampante

Casse acustiche Videoproiettore

PDF created with pdfFactory trial version www.pdffactory.com