Achitettura del Calcolatore

Architettura di un Sistema
Informatico
Informatica B AA 2013 / 2014
6 Ottobre 2014
Giacomo Boracchi
[email protected]
Informatica B, AA 14/15, Giacomo Boracchi
Cos’è l’Informatica?
Scienza della rappresentazione e dell’elaborazione
dell’informazione.
 Scienza: ovvero una conoscenza sistematica e
rigorosa di tecniche e metodi.
 Informazione: l’oggetto dell’investigazione scientifica
(informazione intesa come entità astratta e come
tecnologie per la sua gestione)
 Rappresentazione: il modo in cui l’informazione viene
strutturata e trasformata in dati fruibili da macchine
 Elaborazione: uso e trasformazione dell’informazione per
un dato scopo. L’elaborazione deve poter essere eseguita
da macchine che processano dati.
[da «Informatica Arte e Mestiere»]
Informatica B, AA 14/15, Giacomo Boracchi
Un Sistema Informatico
- Hardware
- Software
Informatica B, AA 14/15, Giacomo Boracchi
Sistema Informatico
 Sistemi informatico: L’esecutore dei programmi
 Microcalcolatore, laptop, telefoni, server con migliaia di
utenti etc… tutti sistemi informatici
 Sono oggetti complessi, costruiti da diverse parti che
interagiscono tra loro.
 I sistemi informatici sono composti da
• Hardware: i componenti fisici del sistema
• Software: i programmi eseguiti dal sistema (es. web
browser, mail, suite office, sistema operativo,
compilatori, IDE… i programmi che scriveremo)
 Consideriamo inizialmente l’hardware dei sistemi
informatici.
Informatica B, AA 14/15, Giacomo Boracchi
La Macchina di Von Neumann
Un modello dell’architettura dei calcolatori
Informatica B, AA 14/15, Giacomo Boracchi
La Macchina di Von Neumann
 Modello composto da quattro elementi funzionali
• Unità di elaborazione (CPU): interpretazione ed
esecuzione dei programmi, coordinamento macchina
• Memoria centrale: contiene dati ed istruzioni
• Interfacce delle Periferiche: scambio informazioni con
mondo esterno (e.g, stampante, tastiera, mouse, rete,
schermo, HDD ..)
• Bus di sistema: collega gli altri elementi funzionali
Informatica B, AA 14/15, Giacomo Boracchi
La Macchina di Von Neumann
 Modello composto da quattro elementi funzionali
• Unità di elaborazione (CPU): interpretazione ed
esecuzione dei programmi, coordinamento macchina
• Memoria centrale: contiene dati ed istruzioni
• Interfacce delle Periferiche: scambio informazioni con
mondo esterno (e.g, stampante, tastiera, mouse, rete,
schermo, HDD ..)
• Bus di sistema: collega gli altri elementi funzionali
Bus di sistema
Unità di
Elaborazione
(CPU)
Memoria
Centrale
(MM)
Informatica B, AA 14/15, Giacomo Boracchi
Interfaccia
Periferica P1
Interfaccia
Periferica P2
La Macchina di Von Neumann
Bus di sistema
Unità di
Elaborazione
(CPU)
Memoria
Centrale
(MM)
Informatica B, AA 14/15, Giacomo Boracchi
Interfaccia
Periferica P1
Interfaccia
Periferica P2
La Macchina di Von Neumann
Bus di sistema
Unità di
Elaborazione
(CPU)
Memoria
Centrale
(MM)
Informatica B, AA 14/15, Giacomo Boracchi
Interfaccia
Periferica P1
Interfaccia
Periferica P2
La Macchina di Von Neumann
Bus di sistema
Unità di
Elaborazione
(CPU)
Memoria
Centrale
(MM)
Informatica B, AA 14/15, Giacomo Boracchi
Interfaccia
Periferica P1
Interfaccia
Periferica P2
La Macchina di Von Neumann
Bus di sistema
Unità di
Elaborazione
(CPU)
Memoria
Centrale
(MM)
Informatica B, AA 14/15, Giacomo Boracchi
Interfaccia
Periferica P1
Interfaccia
Periferica P2
La Memoria Centrale (MM)
 Contiene i programmi
(sequenza di istruzioni) in
esecuzione ed i relativi dati
Informatica B, AA 14/15, Giacomo Boracchi
La Memoria Centrale (MM)
 Contiene i programmi
(sequenza di istruzioni) in
esecuzione ed i relativi dati
 È schematizzata come una
sequenza di celle.
Informatica B, AA 14/15, Giacomo Boracchi
La Memoria Centrale (MM)
 Contiene i programmi
(sequenza di istruzioni) in
esecuzione ed i relativi dati
 È schematizzata come una
sequenza di celle.
 Ogni cella contiene h bit, i.e.,
una Parola (word)
Informatica B, AA 14/15, Giacomo Boracchi
Parola ℎ bit
h = 16 bit
0/1
1111001100100011
La Memoria Centrale (MM)
 È schematizzata come una
sequenza di celle.
 Ogni cella contiene h bit, i.e.,
una Parola (word)
0
Indirizzo 𝑘 bit
 Contiene i programmi
(sequenza di istruzioni) in
esecuzione ed i relativi dati
h = 16 bit
Parola ℎ bit
1
 Ogni cella ha un indirizzo. Lo
spazio di indirizzamento è 2k.
 L’indirizzo di ogni parola
richiede k bit per essere scritto
(210 = 1024)
Informatica B, AA 14/15, Giacomo Boracchi
1023
La Memoria Centrale (MM)
 La MM contiene i programmi in esecuzione: ogni dato e
ogni istruzione, prima di essere elaborato, viene copiato
in memoria centrale.
 Diversi tipi di Memorie
• RAM (Random Access Memory) memoria volatile.
• ROM (Read Only Memory) memoria permanente.
• EPROM (Erasable Programmable ROM)
riprogrammabile
 L’HDD è memoria permanente ma non è memoria
centrale ed in riferimento alla macchina di Von Neumann
è una periferica.
Informatica B, AA 14/15, Giacomo Boracchi
L’Unità di Elaborazione (CPU)
 La Central Processing Unit (CPU) coordina il
funzionamento del calcolatore ed esegue i programmi:
estrae, decodifica ed esegue le istruzioni in memoria.
 Le istruzioni possono comportare elaborazione o
trasferimento dell’informazione
 La CPU contiene a sua volta:
• l’Unità di Controllo che preleva e decodifica istruzioni
dalla MM, invia segnali per eseguire le istruzioni
• Il Clock di sistema,
• L’Unità Aritmetico Logica
Informatica B, AA 14/15, Giacomo Boracchi
L’Unità di Elaborazione (CPU)
Operazioni
aritmetiche
e logiche
Unità
aritmetico
logica
(ALU)
Unità di controllo
(CU)
Clock
Sincronizzazione
Informatica B, AA 14/15, Giacomo Boracchi
Controllo:
-Prelievo
-Decodifica
-Esecuzione
L’Unità di Elaborazione (CPU)
 La Central Processing Unit (CPU) coordina il
funzionamento del calcolatore ed esegue i programmi:
estrae, decodifica ed esegue le istruzioni in memoria
 Le istruzioni possono comportare elaborazione o
trasferimento dell’informazione
 La CPU contiene a sua volta:
• l’Unità di Controllo che preleva e decodifica istruzioni
dalla MM, invia segnali per eseguire le istruzioni .
• Il Clock di sistema,
• l’Unità Aritmetico Logica
 La CPU contiene inoltre molti registri: memorie «rapide»
per informazioni richieste dalla CU (es due numeri da
sommare, il loro risultato)
Informatica B, AA 14/15, Giacomo Boracchi
L’Unità di Elaborazione (CPU)
Registro contatore
di programma (PC)
Registro di stato
(SR)
A
Registro
interruzioni (INTR)
B
Unità
aritmetico
logica
(ALU)
Registro istruzione
corrente (CIR)
Unità di controllo
(CU)
Clock
Registro dati (DR)
Informatica B, AA 14/15, Giacomo Boracchi
Registro indirizzi
(AR)
L’Unità di Elaborazione (CPU)
Indirizzo prox istruzione da
eseguire (k bit)
Registro di stato
Registro contatore
di programma (PC)
(SR)
A
Registro
interruzioni (INTR)
B
Informazioni sui
risultati ALU
Registri operandi ALU
Unità
aritmetico
logica
(ALU)
Registri generali
Informazioni
su stato periferiche
Registro istruzione
corrente (CIR)
Unità di controllo
(CU)
Istruzione in elaborazione (h bit)
Clock
Registro dati (DR)
Parola letta/da scrivere in MM (h bit)
Informatica B, AA 14/15, Giacomo Boracchi
Registro indirizzi
(AR)
Indirizzo cella MM (k bit)
Bus di Sistema
 È un insieme di connessioni che permettono di trasferire
l’informazione tra due entità funzionali (una trasmette
l’altra riceve)
 Due soli tipi di connessioni logiche, stabilite dalla CPU:
• CPU (master) - memoria (slave)
• CPU (master) - interfaccia periferica (slave)
le connessioni fisiche sono sempre presenti.
 Ci sono tre tipi di linee, con tre funzionalità diverse
• Bus dati
• Bus indirizzi
• Bus controlli (il master lo usa per trasmettere allo slave
i codici relativi alle istruzioni da eseguire, lo slave per
dare feedback sull’esecuzione)
Informatica B, AA 14/15, Giacomo Boracchi
Lettura e Scrittura dalla Memoria Centrale
h = 16 bit
Dati e
istruzioni
Parola (word)
0
1
Registro indir. (AR)
store
k = 10 bit
load
Spazio di
indirizzamento
210=1024
h = 16 bit
Dato da
leggere/scrivere
Indirizzo cella
CPU
Registro dati (DR)
Bus
Indirizzi
Bus
dati
1023
Informatica B, AA 14/15, Giacomo Boracchi
Memoria
Centrale
CPU
Sequenza di Lettura
Passo 3
CPU
SR
PC
ALU
B
123
123
CIR
CU
Ck
42
DR
123
AR
1023
READ
OK
Bus Indirizzi
Bus Dati
Bus Controlli
Informatica B, AA 14/15, Giacomo Boracchi
MM
Passo 4
2
A
INTR
0
Passo 1
42
Sequenza di Scrittura
Passo 2
CPU
SR
PC
ALU
B
123
123
CIR
CU
Passo 4
Ck
70
DR
123
AR
1023
WRITE
OK
Bus Indirizzi
Bus Dati
Bus Controlli
Informatica B, AA 14/15, Giacomo Boracchi
MM
Passo 5
3
A
INTR
0
Passo 1
70
42
Interfacce alle Periferiche
 Le interfacce collegano il calcolatore a periferiche esterne
 Ogni interfaccia contiene dei registri per lo scambio dei
dati con la periferica
• Registro dati
• Registro comando della periferica
• Registro di stato
Informatica B, AA 14/15, Giacomo Boracchi
Interfacce alle Periferiche
Interfaccia periferica 1
Interfaccia periferica 2
Peripheral Data
Register (PDR)
Peripheral Data
Register (PDR)
Peripheral Command
Register (PCR)
Peripheral Command
Register (PCR)
Peripheral State
Register (PSR)
Peripheral State
Register (PSR)
Bus di sistema
Informatica B, AA 14/15, Giacomo Boracchi
Interfacce alle Periferiche
Interfaccia periferica 1
Peripheral Data
Register (PDR)
Interfaccia periferica 2
Peripheral Data
Dato da leggere/scrivere
Register (PDR)
Peripheral Command
Register (PCR)
Peripheral
Comando da
eseguireCommand
Peripheral State
Register (PSR)
Stato dellaRegister
periferica
(PSR)
Register (PCR)
Peripheral State
Bus di sistema
Informatica B, AA 14/15, Giacomo Boracchi