Prof. V. Catania
Modello Architetturale di un SdE
Prof. V. Catania
Laboratorio di Calcolatori
A.A. 2003/2004
Sistema di elaborazione
Prof. V. Catania
Modello architetturale di un sistema di
elaborazione
Sistema di
Elaborazione
MACCHINA
PROGRAMMA
entità attiva
entità passiva
LINGUAGGIO
1
Esempio: leggere e sommare K numeri
Prof. V. Catania
Vedi animazione
Macchine e Linguaggi
Prof. V. Catania
• Una istruzione definisce una trasformazione atomica
• Concetto di stato
Modello FUNZIONALE:
Descrive la macchina come puro esecutore del
proprio linguaggio
TUTTE LE MACCHINE PASCAL SONO
FUNZIONALMENTE IDENTICHE
2
Macchine e Linguaggi
Prof. V. Catania
Modello REALIZZATIVO:
Descrive come la macchina è realizzata
Mf = Mf '
Mr = Mr '
DETERMINISMO
EVOLUZ.
degli
STATI
Programma in esecuzione
Stato iniziale
DATI in ingresso
Macchine e Linguaggi
Prof. V. Catania
DATI
P(L)
L
M
3
Macchine e Linguaggi
Prof. V. Catania
DATI
P(Pascal)
Pascal
Macchina Pascal
Modelli organizzativi e gerarchie di
macchine
Prof. V. Catania
DATI
P(L2)
L2
P12(L1)
L1
M1
M2
La realizzazione della
macchina M2 attraverso M1
(per estensione di M1)
avviene mediante P12(L1).
Il programma che realizza
M2 a partire da M1 è un
compilatore (traduttore) o
un interprete.
Problemi:
– Efficienza
– Virtualizzazione
4
Gerarchie di macchine
Prof. V. Catania
Un sistema di elaborazione è costituito da una
gerarchia di macchine realizzate a partire da una
macchina estremamente elementare
Gerarchie di macchine
Prof. V. Catania
perché realizzare una gerarchia?
Ln
P(n-1)n
L2
P(n-1)n
L1
M1
M2
Mn
5
Gerarchie di macchine
Prof. V. Catania
ASTRAZIONE
PRESTAZIONI
FACILITA’ DI
PROGRAMMAZ.
TRADE-OFF
Il numero e le caratteristiche generali dei livelli di
macchine che costituiscono un sistema di elaborazione
sono ormai consolidati nella maggior partedei sistemi di
elaborazione
La macchina processo
Prof. V. Catania
È la macchina che esegue il programma prodotto dai
compilatori
Linguaggio:
binario,
dipende dal sistema di elaborazione
6
Elementi comuni a tutti i processi
Prof. V. Catania
•
•
•
•
•
Memoria del processo
Programma in esecuzione in memoria
Presenza di un registro Program Counter
Meccanismo di esecuzione (ESECUTORE)
Stato del processo: contenuto di memoria +
contenuto dei registri
Istruzioni:
codice operativo + operandi
Memoria
Prof. V. Catania
Consente di immagazzinare informazioni in formato digitale
ORGANIZZAZIONE
bit
0 1 2
•
K-1
WORD 0
WORD 1
indirizzi
dati
porte dei
dati
porte degli
indirizzi
WORD N-1
7
Memoria
Prof. V. Catania
E’ costituita da un insieme di locazioni, ciascuna in grado di
memorizzare una parola (word) di K bit {K = 1, 8, 16, 32, 64}
La capacità di memoria esprime la quantità di informazioni
massima in essa memorizzabile.
Ad es. 1 Mbyte = 2 20 byte, ovvero 2 20 word di 1 byte
Memoria
Prof. V. Catania
COSA CONSENTE:
LA SCRITTURA: consente di memorizzare una parola in
una determinata posizione (indirizzo)
LA LETTURA:
consente
di
memorizzata
posizione
leggere
in
una
una
parola
determinata
La scrittura di una parola sovrascrive il contenuto precedente.
La lettura di una parola non altera il contenuto memorizzato.
8
Memoria - Scrittura
Prof. V. Catania
IN SCRITTURA:
• sulla porta degli indirizzi si deve fornire l’indirizzo (la
posizione) della locazione su cui memorizzare la parola
• sulla porta dei dati si deve fornire la parola
(configurazione di bit) da scrivere
10010011
dati
indirizzi
10010011
Memoria - Lettura
Prof. V. Catania
IN LETTURA:
• sulla porta degli indirizzi si deve fornire l’indirizzo (la
posizione) della locazione da leggere
• sulla porta dei dati si ottiene la parola (configurazione di
bit) memorizzata in quell’indirizzo
01011001
dati
indirizzi
01011001
9
Memoria - Numero di bit per indirizzo
Prof. V. Catania
Un indirizzo è costituito da un insieme di bit che codifica la
posizione di una parola
Ad es.: Se la memoria è di 1 Kbyte (210 byte) occorrono 10 bit
(lg2 210 = 10) per specificare un indirizzo.
Unità centrale di processo (CPU)
Prof. V. Catania
Sovrintende all’esecuzione di un programma immagazzinato
nella memoria di processo (mem. Centrale) e coordina il
funzionamento dei vari blocchi costituenti il computer.
Una data CPU è caratterizzata da un proprio set di istruzioni,
ovvero dall’insieme di istruzioni che essa è in grado di
eseguire
Ciascuna istruzione è codificata in binario, in modo che sia
riconoscibile dalla CPU.
Un programma è eseguibile dalla CPU se:
Ø È costituito da istruzioni appartenenti al set di istruzioni
della CPU
Ø Tutte le istruzioni sono codificate in binario e
memorizzate sequenzialmente nella memoria centrale
10
Unità centrale di processo (CPU)
Prof. V. Catania
istruzione 1
istruzione 2
istruzione 3
.
.
.
ultima istruzione
Formato delle istruzioni
Prof. V. Catania
Istruzione:
codice operativo + operandi
codice operativo
operandi
11
Unità Centrale di Processo (CPU)
Prof. V. Catania
Una CPU è costituita da due componenti:
UNITÀ DI CONTROLLO: esegue le istruzioni dei programmi,
coordina le attività dei vari blocchi
che costituiscono la macchina,
controlla il flusso delle istruzioni tra
CPU e Memoria.
UNITÀ LOGICO-ARITMETICA: esegue
le
operazioni
artimetiche (somma, sottrazione,
prodotto, divisione) e le operazioni
logiche (ad es. verifica se un valore
è maggiore, minore o uguale ad un
altro valore)
Meccanismo di Esecuzione
Prof. V. Catania
All’interno della CPU vi sono delle unità di memorizzazione, i
REGISTRI, su ciascuno dei quali è possibile memorizzare
una word.
La dimensione di tale word (in bit) determina il parallelismo
della CPU ovvero l’unità di informazione che la CPU può
processare in parallelo durante la propria attività
12
Meccanismo di Esecuzione
Prof. V. Catania
Fra i vari registri di una CPU, due hanno un ruolo particolare:
PC
(Program
Counter):
è
utilizzato
dalla
CPU
per
memorizzare l’indirizzo della memoria dove risiede la
prossima istruzione da eseguire. Ogni qualvolta la CPU
termina l’esecuzione di una istruzione usa il PC per
accedere alla prossima istruzione da eseguire.
IR
(Instruction Register): viene usato dalla CPU per
memorizzare l’istruzione appena letta dalla memoria
Meccanismo di Esecuzione
Prof. V. Catania
Unità centrale e ALU (Arithmetic Logic Unit) collaborano con
la memoria in un processo distinto in quattro fasi che porta al
completamento di un CICLO MACCHINA
13
Dentro il Computer
Prof. V. Catania
La scheda madre
Prof. V. Catania
14
Macchina ASSEMBLER
Prof. V. Catania
Si realizza per eliminare la difficoltà di lavorare con il
linguaggio binario
Linguaggio ASSEMBLER
Programma assemblatore
Linguaggio binario del proc.
PROCESSO
Macchina ASSEMBLER
Macchina ASSEMBLER
Prof. V. Catania
Alcune differenze tra L.B. e L.A.:
1. i codici operativi binari sono sostituiti da codici
simbolici
2. Presenza di direttive non rispondendi a istruzioni in
L.B.
3. Si possono usare simboli (labels) al posto di
indirizzi binari
Vedi esempio programma assembler
15
Compilazione ASSEMBLER
Prof. V. Catania
Il processo di traduzione ha come input il codice Assembler e
come output il codice in Linguaggio Binario.
Quest’ultimo deve fare riferimento alla memoria di processo
dove, in una fase successiva, dovrà essere caricato per potere
essere eseguito.
Il traduttore, oltre a generare il codice binario per ciascuna
istruzione Assembler, deve associare all’istruzione tradotta un
indirizzo della memoria di processo dove essa andrà caricata per
essere eseguita!
L’output del traduttore (Assemblatore), per ciascuna istruzione
È del tipo: <indirizzo> <codice binario istruzione>
ES.
0100001
1111000100001100
Esempio di compilazione
Prof. V. Catania
Vedi animazione
16
Macchina HW e SO
Prof. V. Catania
Macchina HW:
è la macchina su cui è realizzato il processo
SO:
è il programma (in L.M.) che realizza il
processo sulla macchina hw
Gli N processi realizzati dal S.O. sono N macchine
complete, ognuna con la propria memoria (dove è
caricato il programma) e il proprio program counter.
Macchina HW e SO
Prof. V. Catania
Più in generale:
PROG.1
PROG.2
PROG.N
PROC. 1
PROC. 2
PROC. N
SISTEMA OPERATIVO
Linguaggio Macchina
Macchina Hardware
17
Macchina HW e SO
Prof. V. Catania
PC
PC
PC
PROG.1
PROG.2
PROG.N
PROCESS 1
PROCESS 2
PROCESS 1
Motivazione: Migliore sfruttamento delle risorse della
macchina hw
Macchina HW e SO
Prof. V. Catania
Requisiti della macchina hw:
• La macchina hw interpreta alcune istruzioni del
processo (LEGGI, SCRIVI, ecc.) come dei salti a
degli indirizzi prefissati corrispondenti ai SERVIZI di
Sistema
• SERVIZI DI SISTEMA: svolgono azioni richieste da
un processo garantendo che l’esecuzione del servizio
sia per il processo equivalente all’esecuzione di una
normale istruzione (anche quando il processo viene
momentaneamente sospeso)
18
Macchina HW e SO
Prof. V. Catania
Modello funzionale della macchina HW
Non deterministico a causa della
presenza di interruzioni
Il meccanismo delle interruz. porta la macchina ad
eseguire un salto ad un indirizzo prefissato ogni qual
volta si verificano particolari eventi
La presenza delle interruz. consente alla macchina HW
di passare dall’esecuzione di un processo a quella di un
altro processo o servizio che si sia reso eseguibile.
Realizzazione della macchina HW
Prof. V. Catania
È costituita da sottosistemi funzionali collegati
dal sistema di comunicazione
SISTEMA DI COMUNICAZIONE
PROCESSORE
MEMORIA
PERIFERICA
MACCHINA HARDWARE
19
Realizzazione della macchina HW
Prof. V. Catania
Ciascun sottosistema è realizzato con dei
componenti elementari, le porte logiche, la cui
combinazione da luogo a circuiti più complessi,
quali reti combinatorie e sequenziali
Non si può comunque affermare che i livelli
inferiori alla macchina hw sono certamente hw
mentre i livelli superiori sono certamente sw.
Es: realizzazione di U.C. a microistruzioni
Modello architetturale di un computer
Prof. V.Catania
Prof. V. Catania
Sistema di comunicazione
CPU
MEMORIA
CENTRALE
ADATTATORI
(CONTROLLER)
PERIFERICA
ADATTATORI
… (CONTROLLER)
PERIFERICA
20