Architettura dei sistemi di
elaborazione
Prima parte: HD e Software
Sistemi di
Elaborazione
2001
Esempi di applicazione di
sistemi di elaborazione
•
•
•
•
•
Regolazione del riscaldamento
Sportello Bancomat
Prenotazione dei voli
Computer di bordo nell’auto
Previsioni meteorologiche
Sistemi di
Elaborazione
2001
Esempi di applicazione di
sistemi di elaborazione
• Negli esempi precedenti abbiamo:
– Un sistema di acquisizione dati dal
mondo esterno
– Un sistema capace di elaborarli e di
memorizzarli
– Un sistema capace di fornire, sulla
base delle elaborazioni svolte,
informazioni utili all’utente finale
Sistemi di
Elaborazione
2001
Schema di un generico sistema di
elaborazione
Informazione
in uscita
Dati in ingresso
Dispositivo di
INPUT
Unità di
elaborazione
Dispositivo di
OUTPUT
Memoria di massa
(non volatile)
Sistemi di
Elaborazione
2001
Tipologie di computer
•
•
•
•
•
•
Sistemi “embedded”
Personal Computer
Workstation
Minicomputer
Mainframe
Supercomputer
Varia il livello di potenza e complessità
Sistemi di
Elaborazione
2001
Sistemi “embedded”
• Es. computer che controlla le funzioni del
motore e si adatta ai combiamenti delle
condizioni di guida
• Agiscono all’interno di sistemi meccanici o
elettrici più grandi e complessi senza il
diretto controllo dell’operatore
• Ricevono gli input da sensori ed attivano
meccanismi per controllare le condizioni
operative, eseguendo un numero limitato di
istruzioni preprogramate
• Si trovano all’interno di piccoli
elettrodomestici, aerei, stereo, etc.
Sistemi di
Elaborazione
2001
Personal Computer
• Desktop, laptop, notebook, palmari
• Tipicamente hanno un
microprocessore
• “General Purpose”
• Velocità: 30-120 MIPS
• RAM: 32-128 MB
Sistemi di
Elaborazione
2001
Workstation
• Stazioni di lavoro molto potenti con
notevoli capacità grafiche
• Utilizzo “stand-alone”
• Supportano il lavoro di progettazione
tecnica (CAD – Computer Aided
Design)
• Velocità: 200-300 MIPS
• RAM: 128-256 MB
Sistemi di
Elaborazione
2001
Minicomputer
• Utilizzo in piccole aziende o divisioni
di grandi compagnie
• Possono gestire centinaia di utenti
• Es.
– gestione delle transazioni
– Gestione del magazzino
– Fatturazione
Sistemi di
Elaborazione
2001
Mainframe
• Utilizzo in grandi compagnie,
università, etc.
• Possono gestire migliaia di utenti
• Es.
– Banche , catena di alberghi
– Compagnie aeree, di assicurazioni..
• Gestiscono numerose periferiche,
tipicamente dischi.
Sistemi di
Elaborazione
2001
Schema di un generico sistema di
elaborazione
Informazione
in uscita
Dati in ingresso
Dispositivo di
INPUT
Unità di
elaborazione
Dispositivo di
OUTPUT
Memoria di massa
(non volatile)
Sistemi di
Elaborazione
2001
Architettura di una CPU
Memoria RAM
Unità Aritmetico/Logica
ALU
Unità di
Controllo
Registri
interni
Clock
CPU
Sistemi di
Elaborazione
2001
Memoria Ram
Random Access Memory
Memoria RAM
Unità Aritmetico/Logica
ALU
Unità di
Controllo
• E’ costituita da
locazioni
singolarmente
indirizzabili
• Ciascuna locazione
contiene istruzioni o
dati
Clock
CPU
Sistemi di
Elaborazione
2001
Caratteristiche della memoria
• Tempo di accesso
• Velocità di trasferimento dei dati
• Ciclo di memoria (n. accessi
nell’unità di tempo)
dimensioni
Tempo Velocità di
accesso trasferimento
Registri
< 1K
<0.5 ns
20.000 -100.000 MB/s
CAche
<1MB
<10 ns
5.000-10.000
Ram
64 –256 MB
40 ns
1000 -5000 Mb/s
10-20 GB
10 ms
20-40 Mb/s
Dischi
Sistemi di
Elaborazione
2001
Tipi di memoria
• ROM (Read Only Memory) memoria dal
contenuto fisso, non riscrivibile.
• PROM (Programmable ROM) si possono
scrivere una sola volta.
• EPROM (Erasable PROM) si possono
scrivere e ricancellare esponendole ai
raggi UV.
• Memorie FLASH
• ROM, PROM, EPROM non perdono il
contenuto quando il calcolatore viene
spento.
Sistemi di
Elaborazione
2001
ROM e BIOS
• Quando il calcolatore viene acceso, la RAM è
vuota. Tuttavia la CPU deve poter trovare da
qualche parte una sequenza di istruzioni
(programma) da eseguire.
• In ogni computer c’è una ROM che contiene il
BIOS (Basic Input/Output System).
• Il BIOS contiene un piccolo programma che
consente di trasferire dalla memoria di massa
a quella centrale il sistema operativo e altri
dati essenziali (fase di caricamento o di boot)
che mettono il computer in grado di
funzionare.
Sistemi di
Elaborazione
2001
Memoria centrale e memoria di
massa
• Differiscono per la
– volatilita dei dati e per
– le funzioni che svolgono
– Per la tecnologia di
realizzazione
Sistemi di
Elaborazione
2001
Memoria centrale e memoria di
massa
• Volatilita’
• La memoria centrale tiene i dati
fino a quando e alimentata
• Nella memoria di massa i dati sono
immagazzinati permanentemente
Sistemi di
Elaborazione
2001
Memoria centrale e memoria di
massa
Funzione:
• LA memoria centrale contiene i
programmi in esecuzione e i
relativi dati
• LA velocita’ di accesso influenza
notevolmente le prestazioni del
sistema
• La memoria di massa contiene
elevate quantita’ di dati che non
devono essere utilizzate
frequentemente
Sistemi di
Elaborazione
2001
Memoria centrale e memoria di
massa
Tecnologia:
• LA memoria centrale e’ realizzata
con tecnologie elettroniche (VLSI)
• Le memoria di massa vengono
realizzate con tecnologie
magnetiche oppure ottiche.
Sistemi di
Elaborazione
2001
memoria di massa
Varie tipologie:
• Nastri
• DAT (digital audio tape) (fino
a qualche giga)
• DISCHI
Sistemi di
Elaborazione
2001
memoria di massa: Hard disk
Varie tipologie:
• Nastri
• DAT (digital audio tape) (fino
a qualche giga)
• DISCHI
Sistemi di
Elaborazione
2001
Modalità di esecuzione della CPU
Memoria RAM
Unità Aritmetico/Logica
ALU
Unità di
Controllo
Clock
• Fase di “fetch”:
Acquisizione dalla RAM
dell’ istruzione da
eseguire
• Decodifica
dell’istruzione
• Esecuzione
dell’istruzione
CPU
Ciclo Macchina
Sistemi di
Elaborazione
2001
Come è fatta un’istruzione
Memoria RAM
0 1
2
3
4
…….
256
Codice operativo
Operando1
Es. Somma
Operando2
Indirizzo Op1 Indirizzo Op2
Sistemi di
Elaborazione
2001
Uno sguardo ai registri
• PC (Program Counter)
Tiene traccia della prossima
istruzione da eseguire
Memoria RAM
Unità Aritmetico/Logica
ALU
Unità di
Controllo
PSW
CPU
IC
PC
MAR
Clock
MDR
• IC (Instruction Register)
– Contiene una copia della
istruzione corrente da eseguire
• MAR (Memory Address
register)
– Contiene l’indirizzo dal quale
estrarre o dove trascrivere un
dato
• MDR (memory Data register)
– Contiene una copia del dato da
trattare
• PSW (Processor Status Word)
– Informazioni sullo stato del
processore
Sistemi di
Elaborazione
2001
Uno sguardo ai registri
• Inoltre l’ALU contiene un
proprio set di registri usati
per svolgere le elaborazioni
intermedie sui dati
Memoria RAM
Unità Aritmetico/Logica
ALU
Unità di
Controllo
PSW
CPU
IC
PC
MAR
Clock
MDR
R1
R2
….
Rn
Sistemi di
Elaborazione
2001
Steps del Ciclo macchina
Unità di
Controllo
Memoria RAM
Recupero
istruzione dalla
RAM
Risultati
posti nell’
accumulatore
ALU
ALU
effettua
l’operazione
Decodifica Istruzione
Parte posta
nel registro
istruzioni
Parte posta
nel registro
indirizzi
ALU riceve il
comando di effettuare
l’operazione
Dati spostati
dalla RAM al
registro MDR
Sistemi di
Elaborazione
2001
Tipologie di istruzioni
• Trasferimento dati tra CPU e RAM
• Trasferimento dati tra CPU e
interfaccia di Ingresso/Uscita
• Elaborazione dati
• Controllo del flusso delle
istruzioni
Sistemi di
Elaborazione
2001
Istruzioni di elaborazione dati
• Operazioni aritmetiche
– somma, prodotto, ...
• Operazioni relazionali
– confronto tra dati
• Operazioni su caratteri e valori di
verità (booleani)
• Altre operazioni numeriche
– calcolo di logaritmi e funzioni
trigonometriche
Sistemi di
Elaborazione
2001
Bus di collegamento
• Collegamento fisico tra i componenti:
occorrono tre tipologie di BUS
– BUS Dati
– BUS Indirizzi
– BUS Controllo
• La CPU ha il compito fondamentale di
coordinare l’accesso ai Bus da parte
dei vari componenti dei sistema
Sistemi di
Elaborazione
2001
Ancora sui BUS
• Il bus di controllo fa transitare i
segnali che identificano sorgente
e destinatario dei dati e direzione
del flusso (es. lettura o scrittura)
• L’ampiezza del bus è la quantità
di dati che possono essere
trasferiti contemporaneamente
(32 bit, 64 bit)
Sistemi di
Elaborazione
2001
Funzionamento del bus
PSW
CPU
Unità di
Controllo
R1
IR
MAR
Clock
PC
ALU
MDR
R2
Rn
Memoria RAM
0000
0001
0002
0003
0004
0005
0006
INDIRIZZI
DATI
CONTROLLO
Sistemi di
Elaborazione
2001
Fase di fetch
PSW
CPU
Unità di
Controllo
ALU
0000
0001
0002
0003
0004
0005
0006
R1
IR
MAR
Clock
PC 0003
Memoria RAM
MDR
R2
Rn
0003
3F
A8
INDIRIZZI
DATI
CONTROLLO
Sistemi di
Elaborazione
2001
Fase di fetch
PSW
CPU
Unità di
Controllo
ALU
0000
0001
0002
0003
0004
0005
0006
R1
IR
MAR
Clock
PC 0003
Memoria RAM
MDR
R2
Rn
0003
3F
A8
INDIRIZZI
DATI
LEGGI
CONTROLLO
Sistemi di
Elaborazione
2001
Fase di fetch
PSW
CPU
Unità di
Controllo
ALU
0000
0001
0002
0003
0004
0005
0006
R1
IR
MAR
Clock
PC 0003
Memoria RAM
MDR
R2
Rn
0003
3FA8
LEGGI
3F
A8
INDIRIZZI
DATI
CONTROLLO
Sistemi di
Elaborazione
2001
Fase di decodifica
Preleva
il dato dalla prossima
CPU
PSWLocazione di memoriaALU
e mettilo
Unità di Nel registro R1
R1
Controllo
IR 3FA8
MAR
Clock
PC 0003
MDR
R2
Rn
Memoria RAM
0000
0001
0002
0003
0004
0005
0006
3F
A8
INDIRIZZI
3FA8
DATI
CONTROLLO
Sistemi di
Elaborazione
2001
Incremento del program counter
PSW
CPU
Unità di
Controllo
ALU
0000
0001
0002
0003
0004
0005
0006
R1
IR 3FA8
0005
Clock
PC 0007
Memoria RAM
MDR
R2
Rn
0005
3F
A8
INDIRIZZI
DATI
LEGGI
CONTROLLO
Sistemi di
Elaborazione
2001
Prelievo del dato
PSW
CPU
Unità di
Controllo
ALU
0000
0001
0002
0003
0004
0005
0006
R1
IR 3FA8
0005
Clock
PC 0007
Memoria RAM
MDR
R2
Rn
3F
A8
00
01
INDIRIZZI
0001
LEGGI
DATI
CONTROLLO
Sistemi di
Elaborazione
2001
Scrittura nel registro della ALU
PSW
CPU
Unità di
Controllo
0005
Clock
PC 0007
ALU
R1
IR 3FA8
MDR
Memoria RAM
0000
0001
0002
0003
0004
0005
0006
0001
R2
Rn
3F
A8
00
01
INDIRIZZI
0001
scrivi
DATI
CONTROLLO
Sistemi di
Elaborazione
2001
Porta seriale e parallela
Dispositivo di
INPUT
PORTA
CPU
Memoria
RAM
Dati
Indirizzi
Controllo
Dispositivo di
OUTPUT
PORTA
Clock
Controllers
N
Memoria
ROM
Sistemi di
Elaborazione
2001
Interfaccia di Ingresso/uscita
Buffer
dati
Controller
Porta
Periferica
Registro
Di stato
INDIRIZZI
DATI
controlloSistemi di
Elaborazione
2001
Gestione delle periferiche
Le periferiche possono funzionare
con tre tecniche:
– Ciclo di “polling”
– Interrupt
– Accesso diretto alla memoria (DMA)
Sistemi di
Elaborazione
2001
Ciclo di polling
Interfaccia di ingresso/uscita
Buffer
dati
Controller
Registro
Di stato
CPU
P
Processo
chiamante la
periferica
Periferica
- P interroga ciclicamente
il registro di stato
- Quando il registro di
stato segnala che i dati
sono stati trasferiti P
trasmette nuovi dati al
buffer dei dati
INDIRIZZI
DATI
controlloSistemi di
Elaborazione
2001
Gestione con interrupt
Interfaccia di ingresso/uscita
Controller
Buffer
dati
Periferica
Cavo di collegamento
Registro
Di stato
P
Processo
chiamante la
periferica
- P lancia il comando alla
periferica e invia I primi
dati
-Si sospende
CPU
Sistemi di
Elaborazione
2001
Gestione con interrupt
Interfaccia di ingresso/uscita
Controller
Buffer
dati
Periferica
Cavo di collegamento
Registro
Di stato
P
Processo
chiamante la
periferica
CPU
-La cpu passa ad un altro
processo
-Il controller notifica con
un interrupt la CPU che è
pronto a ricevere altri dati
Sistemi di
Elaborazione
2001
Gestione con interrupt
Interfaccia di ingresso/uscita
Controller
Buffer
dati
Periferica
Cavo di collegamento
Registro
Di stato
Driver fisico
P
Processo
chiamante la
periferica
CPU
-La CPU attiva il
programma di risposta a
interruzione, che attiverà
il driver fisico della
stampante per effettuare il
successivo trasferimento
dati
Sistemi di
Elaborazione
2001
Accesso diretto alla memoria
Interfaccia di ingresso/uscita
Buffer
dati
Controller
Periferica
Cavo di collegamento
Registro
Di stato
CPU
DMA
RAM
INDIRIZZI
DATI
CONTROLLO
Sistemi di
Elaborazione
2001
Periferiche e caratteristiche
• Monitor (CRT e LCD)
– Risoluzione
– Memoria
– Schede acceleratrici
• Stampanti
– Inkjet
– Laser
– (DPI, PPM)
Sistemi di
Elaborazione
2001
Scheda madre
•
•
•
•
Alloggia il processore
La Ram
La cache memory
Ha slots di espansione
– (upgrades, schede grafiche, etc.)
• Un dispositivo di raffreddamento
• Un sistema di alimentazione
Sistemi di
Elaborazione
2001
Valutazione delle Prestazioni di un
sistema
• Velocità
• Lavoro svolto nell’unità di tempo
(throughput)
• Affidabilità
– MTTF (Mean Time to Failure)
– MTTR (mean time to recovery)
• Un sistema è tanto affidabile quanto il
meno affidabile dei suoi componenti
Sistemi di
Elaborazione
2001
Valutazione delle Prestazioni di un
sistema
• La valutazione delle prestazioni può
essere svolta o in termini di
distribuzioni di probabilità o in termini
di valori medi (+ semplice)
• Lavoro svolto nell’unità di tempo
(throughput)
• Elapsed time (tempo trascorso)
• CPU time (tempo di elaborazione
impiegato dalla CPU)
Sistemi di
Elaborazione
2001
Prestazioni della CPU
• Velocità del CLOCK: si misura in
megahertz (MHZ)
– Maggiore è la frequenza, piu’ cicli macchina
possono essere effettuati nell’unità di
tempo
• MIPS (MILIONI DI ISTRUZIONI AL
SECONDO) 100-1000
• MFLOPS (MILIONI DI OP. IN VIRGOLA
MOBILE AL SECONDO) 10-100
MFLOPS <= MIPS <= FREQ. DI CLOCK
Sistemi di
Elaborazione
2001
Prestazioni della CPU
• Tcpu = Nclock X Tclock
Nclock= n cicli necessari per il
completamento del processo
CPI = n cicli richiesti per completare
un’istruzione (valore medio)
N(i) numero istruzioni eseguite per
completare un processo
• Tcpu = CPI X N(i) / Fclock
Sistemi di
Elaborazione
2001
Prestazioni della CPU
• Le prestazioni dipendono
comunque anche dal set di
istruzioni proprio della CPU
Sistemi di
Elaborazione
2001
Set di istruzioni e tipo di
architettura utilizzata
CISC
(Complex Instruction Set Computer)
RISC
(Reduced Instruction Set Computer)
Tipo di cpu
cisc
risc
Cpi
alto
basso
N (i)
basso
alto
F clock
media
alta
Cicli clock per istruzione
Sistemi di
Elaborazione
2001
Prestazioni della CPU
• I MIPS non sono un parametro
affidabile
– In realtà occorre considerare il tipo di
lavoro che la CPU deve svolgere
abitualmente
• Si utilizzano i benchmark
– Programmi campione scritti in linguaggi di
programmazione ad alto livello
– Definiti dalla SPEC (Standard Performance
Evaluation Corporation)
Sistemi di
Elaborazione
2001
Caratteristiche principali di un
microprocessore
• Repertorio di istruzioni
– le istruzioni del linguaggio macchina del
processore
•
velocità (misurata come frequenza del clock)
– l’esecuzione di ciascuna istruzione richiede
solitamente più cicli macchina
•
Ampiezza del bus
– numero di bit nel bus interno del processore
•
Co-processore
– i moderni processori sono integrati a coprocessori specializzati (ad esempio, il coprocessore matematico)
•
Cache
– una memoria veloce locale al processore, che
consente un’accelerazione nell’esecuzione dei
programmi
Sistemi di
Elaborazione
2001
Fattori collegati all’ampiezza del
bus e dei registri
• Lunghezza delle parole binarie che la
CPU e' in grado di elaborare, espressa
in numero di bit (8, 16, 32, 64)
– Lunghezza delle parole binarie che e' in
grado di scambiare con l'esterno con
un'unica operazione (8, 16, 32, 64)
– Capacita' di indirizzamento (MB, GB)
(spesso riferita come memoria RIM Registro Istruzioni Memoria)
Sistemi di
Elaborazione
2001
Estensioni all'architettura di Von
Neumann
• processori dedicati o co-processori
per eseguire in modo particolarmente efficiente e in
parallelo alla CPU particolari operazioni, come quelle
aritmetiche (processore aritmetico) o per la
presentazione della grafica sul video (processore
grafico, vulgo scheda grafica).
• possibilità di eseguire alcune istruzioni
parzialmente in parallelo
• uso di gerarchie di memorie con
prestazioni e costi decrescenti, come
una memoria cache in cui tenere
copia di parte dei dati della memoria
centrale con accesso più rapido.
Sistemi di
Elaborazione
2001
Estensioni all'architettura di Von
Neumann
• macchine aventi diverse CPU che
agiscono contemporaneamente
(macchine parallele o
multiprocessore), come i
supercomputer per eseguire calcoli
complicatissimi molto velocemente.
Sistemi di
Elaborazione
2001
Evoluzione del PC
Legge di Moore: La potenza dei
calcolatori raddoppia ogni 18
mesi.
– Inizi anni 80 (Personal Computer IBM AT)
– Architettura 16 bit interna, 8 bit esterna (Intel
8088)
– Clock 4.77 MHz, RAM 512 kB, Hard Disk 10 Mb
– Prezzo: oltre 10 milioni (dell’epoca)
– Ieri (configurazione tipica di un PC di fascia
media)
– Architettura 32 bit (Intel P III/AMD Athlon)
– Clock 1.2 GHz, RAM 128 MB, Hard Disk 20 Gb
– Prezzo: meno di 2 milioni
Sistemi di
Elaborazione
2001
Riferimenti bibliografici
Introduzione ai sistemi
informatici
Sciuto, Buonanno, Fornaciari, Mari
Mc Graw Hill
• Capitoli N.3 e N.8 (I edizione)
• Capitolo 4 (II edizione)
Sistemi di
Elaborazione
2001
Introduzione alla programmazione
• Algoritmo
• Programma
• Linguaggio di programmazione
Sistemi di
Elaborazione
2001
Descrivere un programma con un
diagramma di flusso
start
Leggi x e y
Calcolare il max fra
due numeri
Kx-y
si
K >0
Scrivi
Max = x
no
Scrivi
Max = y
fine
Sistemi di
Elaborazione
2001
Descrivere un programma con un
diagramma di flusso
start
Lettura/
scrittura
elaborazione
decisione
Leggi x e y
Calcolare il max fra
due numeri
Kx-y
no
K >0
Scrivi
Max = x
Scrivi
Max = y
fine
Sistemi di
Elaborazione
2001
start
Calcolare il max in
una lista numeri
Leggi la lista x1…xn
Prendi I primi due numeri x1 e x2
m  max (x1,x2)
si
Altri numeri
da esaminare
Prendi il successivo xi
no
Scrivi
Max = m
m  max (m,xi)
fine
Sistemi di
Elaborazione
2001
• Nell’esempio precedente notiamo
il concetto di chiamata a
sottoprogramma (ovvero un
programma in grado di calcolare
il max fra due numeri)
Sistemi di
Elaborazione
2001
Tipologie di istruzioni
• Istruzioni di ingresso/uscita
• Istruzioni aritmetico logiche
• Istruzioni di controllo
Sistemi di
Elaborazione
2001
Linguaggio di programmazione
• E’ caratterizzato da:
• Sintassi
• Lessico
La scrittura degli enunciati di un
programma e’ regolata dalla
sintassi
Un enunciato racchiude una serie di
istruzioni
Sistemi di
Elaborazione
2001
Linguaggio di programmazione
In un linguaggio di
programmazione sono importanti:
• I tipi di dati disponibili
• Gli operatori
• Le variabili e le operazioni di
assegnazione di valori alle
variabili
• I costrutti di programmazione
Sistemi di
Elaborazione
2001