Title: Architettura dei sistemi di elaborazione
1Architettura dei sistemi di elaborazione
- Prima parte HD e Software
2Esempi di applicazione di sistemi di elaborazione
- Regolazione del riscaldamento
- Sportello Bancomat
- Prenotazione dei voli
- Computer di bordo nellauto
- Previsioni meteorologiche
3Esempi 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
allutente finale
4Schema di un generico sistema di elaborazione
Informazione in uscita
Dati in ingresso
Unità di elaborazione
Dispositivo di OUTPUT
Dispositivo di INPUT
Memoria di massa (non volatile)
5Tipologie di computer
- Sistemi embedded
- Personal Computer
- Workstation
- Minicomputer
- Mainframe
- Supercomputer
Varia il livello di potenza e complessità
6Sistemi embedded
- Es. computer che controlla le funzioni del motore
e si adatta ai combiamenti delle condizioni di
guida - Agiscono allinterno di sistemi meccanici o
elettrici più grandi e complessi senza il diretto
controllo delloperatore - Ricevono gli input da sensori ed attivano
meccanismi per controllare le condizioni
operative, eseguendo un numero limitato di
istruzioni preprogramate - Si trovano allinterno di piccoli
elettrodomestici, aerei, stereo, etc.
7Personal Computer
- Desktop, laptop, notebook, palmari
- Tipicamente hanno un microprocessore
- General Purpose
- Velocità 30-120 MIPS
- RAM 32-128 MB
8Workstation
- 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
9Minicomputer
- Utilizzo in piccole aziende o divisioni di grandi
compagnie - Possono gestire centinaia di utenti
- Es.
- gestione delle transazioni
- Gestione del magazzino
- Fatturazione
10Mainframe
- 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.
11Schema di un generico sistema di elaborazione
Informazione in uscita
Dati in ingresso
Unità di elaborazione
Dispositivo di OUTPUT
Dispositivo di INPUT
Memoria di massa (non volatile)
12Architettura di una CPU
Memoria RAM
Registri interni
Unità Aritmetico/Logica ALU
Unità di Controllo
Clock
CPU
13Memoria Ram
- E costituita da locazioni singolarmente
indirizzabili - Ciascuna locazione contiene istruzioni o dati
Random Access Memory
Memoria RAM
Unità Aritmetico/Logica ALU
Unità di Controllo
Clock
CPU
14Caratteristiche della memoria
- Tempo di accesso
- Velocità di trasferimento dei dati
- Ciclo di memoria (n. accessi nellunità di tempo)
dimensioni Tempo accesso Velocità di trasferimento
Registri lt 1K lt0.5 ns 20.000 -100.000 MB/s
CAche lt1MB lt10 ns 5.000-10.000
Ram 64 256 MB 40 ns 1000 -5000 Mb/s
Dischi 10-20 GB 10 ms 20-40 Mb/s
15Tipi 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.
16ROM 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. -
17Memoria centrale e memoria di massa
- Differiscono per la
- volatilita dei dati e per
- le funzioni che svolgono
- Per la tecnologia di realizzazione
-
18Memoria 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 -
19Memoria 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
20Memoria 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.
21memoria di massa
- Varie tipologie
- Nastri
- DAT (digital audio tape) (fino a qualche giga)
- DISCHI
22memoria di massa Hard disk
- Varie tipologie
- Nastri
- DAT (digital audio tape) (fino a qualche giga)
- DISCHI
23Modalità di esecuzione della CPU
- Fase di fetch Acquisizione dalla RAM dell
istruzione da eseguire - Decodifica dellistruzione
- Esecuzione dellistruzione
Memoria RAM
Unità Aritmetico/Logica ALU
Unità di Controllo
Clock
CPU
Ciclo Macchina
24Come è fatta unistruzione
Memoria RAM
0 1 2 3 4 . 256
Codice operativo
Operando1
Operando2
Es. Somma
Indirizzo Op1
Indirizzo Op2
25Uno sguardo ai registri
- PC (Program Counter)
- Tiene traccia della prossima istruzione da
eseguire - IC (Instruction Register)
- Contiene una copia della istruzione corrente da
eseguire - MAR (Memory Address register)
- Contiene lindirizzo 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
Memoria RAM
Unità Aritmetico/Logica ALU
IC
PC
Unità di Controllo
MAR
Clock
MDR
PSW
CPU
26Uno sguardo ai registri
- Inoltre lALU contiene un proprio set di registri
usati per svolgere le elaborazioni intermedie sui
dati
Memoria RAM
Unità Aritmetico/Logica ALU
IC
PC
Unità di Controllo
MAR
Clock
MDR
PSW
CPU
27Steps del Ciclo macchina
Unità di Controllo
Memoria RAM
Decodifica Istruzione
Recupero istruzione dalla RAM
Parte posta nel registro istruzioni
Parte posta nel registro indirizzi
Risultati posti nell accumulatore
Dati spostati dalla RAM al registro MDR
ALU effettua loperazione
ALU riceve il comando di effettuare loperazione
ALU
28Tipologie di istruzioni
- Trasferimento dati tra CPU e RAM
- Trasferimento dati tra CPU e interfaccia di
Ingresso/Uscita - Elaborazione dati
- Controllo del flusso delle istruzioni
29Istruzioni 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
30Bus 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
laccesso ai Bus da parte dei vari componenti dei
sistema
31Ancora 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) - Lampiezza del bus è la quantità di dati che
possono essere trasferiti contemporaneamente (32
bit, 64 bit)
32Funzionamento del bus
Memoria RAM
CPU
PSW
0000
Unità di Controllo
0001
0002
0003
IR
MAR
Clock
0004
0005
PC
0006
MDR
INDIRIZZI
DATI
CONTROLLO
33Fase di fetch
Memoria RAM
CPU
PSW
0000
Unità di Controllo
0001
0002
3F
0003
IR
MAR
A8
Clock
0004
0005
PC
0003
0006
MDR
INDIRIZZI
0003
DATI
CONTROLLO
34Fase di fetch
Memoria RAM
CPU
PSW
0000
Unità di Controllo
0001
0002
3F
0003
IR
MAR
A8
Clock
0004
0005
PC
0003
0006
MDR
INDIRIZZI
0003
DATI
CONTROLLO
LEGGI
35Fase di fetch
Memoria RAM
CPU
PSW
0000
Unità di Controllo
0001
0002
3F
0003
IR
MAR
A8
Clock
0004
0005
PC
0003
0006
MDR
INDIRIZZI
0003
DATI
3FA8
CONTROLLO
LEGGI
36Fase di decodifica
Preleva il dato dalla prossima Locazione di
memoria e mettilo Nel registro R1
Memoria RAM
CPU
PSW
0000
Unità di Controllo
0001
0002
3F
0003
3FA8
IR
MAR
A8
Clock
0004
0005
PC
0003
0006
MDR
INDIRIZZI
DATI
3FA8
CONTROLLO
37Incremento del program counter
Memoria RAM
CPU
PSW
0000
Unità di Controllo
0001
0002
3F
0003
3FA8
IR
0005
A8
Clock
0004
0005
PC
0007
0006
MDR
INDIRIZZI
0005
DATI
LEGGI
CONTROLLO
38Prelievo del dato
Memoria RAM
CPU
PSW
0000
Unità di Controllo
0001
0002
3F
0003
3FA8
IR
0005
A8
Clock
0004
00
0005
PC
0007
0006
01
MDR
INDIRIZZI
0001
DATI
LEGGI
CONTROLLO
39Scrittura nel registro della ALU
Memoria RAM
CPU
PSW
0000
Unità di Controllo
0001
0002
3F
0003
3FA8
IR
0005
A8
Clock
0004
00
0005
PC
0007
0006
01
MDR
INDIRIZZI
0001
DATI
scrivi
CONTROLLO
40Porta seriale e parallela
Dispositivo di INPUT
PORTA
Memoria RAM
CPU
Dati
Indirizzi
Controllo
Memoria ROM
Controllers N
Clock
PORTA
Dispositivo di OUTPUT
41Interfaccia di Ingresso/uscita
Buffer dati
Controller
Porta
Registro Di stato
INDIRIZZI
DATI
controllo
42Gestione delle periferiche
- Le periferiche possono funzionare con tre
tecniche - Ciclo di polling
- Interrupt
- Accesso diretto alla memoria (DMA)
43Ciclo di polling
Interfaccia di ingresso/uscita
Buffer dati
Controller
- 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
Registro Di stato
P Processo chiamante la periferica
INDIRIZZI
DATI
controllo
44Gestione con interrupt
Interfaccia di ingresso/uscita
Controller
Buffer dati
Cavo di collegamento
Registro Di stato
- P lancia il comando alla periferica e invia I
primi dati - Si sospende
45Gestione con interrupt
Interfaccia di ingresso/uscita
Controller
Buffer dati
Cavo di collegamento
Registro Di stato
- La cpu passa ad un altro processo
- Il controller notifica con un interrupt la CPU
che è pronto a ricevere altri dati
46Gestione con interrupt
Interfaccia di ingresso/uscita
Controller
Buffer dati
Cavo di collegamento
Registro Di stato
- La CPU attiva il programma di risposta a
interruzione, che attiverà il driver fisico della
stampante per effettuare il successivo
trasferimento dati
Driver fisico
47Accesso diretto alla memoria
Interfaccia di ingresso/uscita
Controller
Buffer dati
Cavo di collegamento
Registro Di stato
INDIRIZZI
DATI
CONTROLLO
48Periferiche e caratteristiche
- Monitor (CRT e LCD)
- Risoluzione
- Memoria
- Schede acceleratrici
- Stampanti
- Inkjet
- Laser
- (DPI, PPM)
49Scheda 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
50Valutazione delle Prestazioni di un sistema
- Velocità
- Lavoro svolto nellunità 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
51Valutazione 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 nellunità di tempo (throughput)
- Elapsed time (tempo trascorso)
- CPU time (tempo di elaborazione impiegato dalla
CPU)
52Prestazioni della CPU
- Velocità del CLOCK si misura in megahertz (MHZ)
- Maggiore è la frequenza, piu cicli macchina
possono essere effettuati nellunità di tempo - MIPS (MILIONI DI ISTRUZIONI AL SECONDO) 100-1000
- MFLOPS (MILIONI DI OP. IN VIRGOLA MOBILE AL
SECONDO) 10-100 MFLOPS lt MIPS lt FREQ. DI
CLOCK
53Prestazioni della CPU
- Tcpu Nclock X Tclock
- Nclock n cicli necessari per il completamento
del processo - CPI n cicli richiesti per completare
unistruzione (valore medio) - N(i) numero istruzioni eseguite per completare un
processo - Tcpu CPI X N(i) / Fclock
54Prestazioni della CPU
- Le prestazioni dipendono comunque anche dal set
di istruzioni proprio della CPU
55Set di istruzioni e tipo di architettura
utilizzata
- CISC
- (Complex Instruction Set Computer)
- RISC
- (Reduced Instruction Set Computer)
Tipo di cpu cisc risc
Cpi Cicli clock per istruzione alto basso
N (i) basso alto
F clock media alta
56Prestazioni 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)
57Caratteristiche principali di un microprocessore
- Repertorio di istruzioni
- le istruzioni del linguaggio macchina del
processore - velocità (misurata come frequenza del clock)
- lesecuzione 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
co-processori specializzati (ad esempio, il
co-processore matematico) - Cache
- una memoria veloce locale al processore, che
consente unaccelerazione nellesecuzione dei
programmi
58Fattori collegati allampiezza 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)
59Estensioni 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.
60Estensioni 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.
61Evoluzione 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 (dellepoca)
- 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
62Riferimenti bibliografici
- Introduzione ai sistemi informatici
- Sciuto, Buonanno, Fornaciari, Mari
- Mc Graw Hill
- Capitoli N.3 e N.8 (I edizione)
- Capitolo 4 (II edizione)
63Introduzione alla programmazione
- Algoritmo
- Programma
- Linguaggio di programmazione
64Descrivere un programma con un diagramma di flusso
start
Leggi x e y
Calcolare il max fra due numeri
K ? x - y
si
no
K gt0
Scrivi Max x
Scrivi Max y
fine
65Descrivere un programma con un diagramma di flusso
start
Lettura/ scrittura
Leggi x e y
Calcolare il max fra due numeri
K ? x - y
elaborazione
no
K gt0
decisione
Scrivi Max x
Scrivi Max y
fine
66start
Calcolare il max in una lista numeri
Leggi la lista x1xn
Prendi I primi due numeri x1 e x2
m ? max (x1,x2)
no
Altri numeri da esaminare
si
Prendi il successivo xi
Scrivi Max m
m ? max (m,xi)
fine
67- Nellesempio precedente notiamo il concetto di
chiamata a sottoprogramma (ovvero un programma in
grado di calcolare il max fra due numeri)
68Tipologie di istruzioni
- Istruzioni di ingresso/uscita
- Istruzioni aritmetico logiche
- Istruzioni di controllo
69Linguaggio 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
70Linguaggio 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