sistemi di elaborazione 2001 architettura dei sistemi di elaborazione prima parte: hd e software
Post on 02-May-2015
221 Views
Preview:
TRANSCRIPT
Sistemi di Sistemi di Elaborazione Elaborazione 20012001
Architettura dei sistemi di elaborazione
Prima parte: HD e Software
Sistemi di Sistemi di Elaborazione Elaborazione 20012001
Esempi di applicazione di sistemi di elaborazione• Regolazione del
riscaldamento• Sportello Bancomat• Prenotazione dei voli• Computer di bordo nell’auto• Previsioni meteorologiche
Sistemi di Sistemi di Elaborazione Elaborazione 20012001
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 Sistemi di Elaborazione Elaborazione 20012001
Schema di un generico sistema di elaborazione
Dispositivo diINPUT
Dispositivo diOUTPUT
Unità di elaborazione
Memoria di massa(non volatile)
Dati in ingressoInformazione
in uscita
Sistemi di Sistemi di Elaborazione Elaborazione 20012001
Tipologie di computer
• Sistemi “embedded”• Personal Computer• Workstation• Minicomputer• Mainframe• Supercomputer
Varia il livello di potenza e complessità
Sistemi di Sistemi di Elaborazione Elaborazione 20012001
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 Sistemi di Elaborazione Elaborazione 20012001
Personal Computer
• Desktop, laptop, notebook, palmari
• Tipicamente hanno un microprocessore
• “General Purpose”• Velocità: 30-120 MIPS• RAM: 32-128 MB
Sistemi di Sistemi di Elaborazione Elaborazione 20012001
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 Sistemi di Elaborazione Elaborazione 20012001
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 Sistemi di Elaborazione Elaborazione 20012001
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 Sistemi di Elaborazione Elaborazione 20012001
Schema di un generico sistema di elaborazione
Dispositivo diINPUT
Dispositivo diOUTPUT
Unità di elaborazione
Memoria di massa(non volatile)
Dati in ingressoInformazione
in uscita
Sistemi di Sistemi di Elaborazione Elaborazione 20012001
Architettura di una CPU
Memoria RAM
CPU
Unità Aritmetico/LogicaALU
Unità di Controllo
Registri interni
Clock
Sistemi di Sistemi di Elaborazione Elaborazione 20012001
Memoria Ram
• E’ costituita da locazioni singolarmente indirizzabili
• Ciascuna locazione contiene istruzioni o dati
Memoria RAM
CPU
Unità Aritmetico/LogicaALU
Unità di Controllo
Clock
Random Access Memory
Sistemi di Sistemi di Elaborazione Elaborazione 20012001
Caratteristiche della memoria
• Tempo di accesso• Velocità di trasferimento dei
dati• Ciclo di memoria (n. accessi
nell’unità di tempo)
dimensioni Tempo accesso
Velocità di 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
Dischi 10-20 GB 10 ms 20-40 Mb/s
Sistemi di Sistemi di Elaborazione Elaborazione 20012001
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 Sistemi di Elaborazione Elaborazione 20012001
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 Sistemi di Elaborazione Elaborazione 20012001
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 Sistemi di Elaborazione Elaborazione 20012001
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 Sistemi di Elaborazione Elaborazione 20012001
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 Sistemi di Elaborazione Elaborazione 20012001
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 Sistemi di Elaborazione Elaborazione 20012001
memoria di massa
Varie tipologie:• Nastri• DAT (digital audio tape) (fino
a qualche giga)• DISCHI
Sistemi di Sistemi di Elaborazione Elaborazione 20012001
memoria di massa: Hard disk
Varie tipologie:• Nastri• DAT (digital audio tape) (fino
a qualche giga)• DISCHI
Sistemi di Sistemi di Elaborazione Elaborazione 20012001
Modalità di esecuzione della CPU
• Fase di “fetch”: Acquisizione dalla RAM dell’ istruzione da eseguire
• Decodifica dell’istruzione
• Esecuzione dell’istruzione
Memoria RAM
CPU
Unità Aritmetico/LogicaALU
Unità di Controllo
Clock
Ciclo Macchina
Sistemi di Sistemi di Elaborazione Elaborazione 20012001
Come è fatta un’istruzione
Memoria RAM
0 1 2 3 4 ……. 256
Codice operativo Operando1 Operando2
Es. Somma Indirizzo Op1 Indirizzo Op2
Sistemi di Sistemi di Elaborazione Elaborazione 20012001
Uno 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 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
Memoria RAM
CPU
Unità Aritmetico/LogicaALU
Unità di Controllo
Clock
PC
IC
MAR
MDRPSW
Sistemi di Sistemi di Elaborazione Elaborazione 20012001
Uno sguardo ai registri
• Inoltre l’ALU contiene un proprio set di registri usati per svolgere le elaborazioni intermedie sui dati
Memoria RAM
CPU
Unità Aritmetico/LogicaALU
Unità di Controllo
Clock
PC
IC
MAR
MDRPSW
R1 R2 Rn….
Sistemi di Sistemi di Elaborazione Elaborazione 20012001
Steps del Ciclo macchina
Memoria RAM
ALU
Unità di Controllo
Recupero istruzione dalla
RAM
Decodifica Istruzione
Parte posta nel registro istruzioni
Parte posta nel registro indirizzi
Dati spostati dalla RAM al registro MDR
ALU riceve il comando di effettuare l’operazione
ALU effettua l’operazione
Risultati posti nell’accumulatore
Sistemi di Sistemi di Elaborazione Elaborazione 20012001
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 Sistemi di Elaborazione Elaborazione 20012001
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 Sistemi di Elaborazione Elaborazione 20012001
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 Sistemi di Elaborazione Elaborazione 20012001
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 Sistemi di Elaborazione Elaborazione 20012001
Funzionamento del bus
Memoria RAMCPU
Unità di Controllo
Clock
PC
IR
PSW ALUR1
R2
Rn
0000000100020003
00050004
0006MDR
MAR
INDIRIZZI
DATI
CONTROLLO
Sistemi di Sistemi di Elaborazione Elaborazione 20012001
Fase di fetch
Memoria RAMCPU
Unità di Controllo
Clock
PC
IR
PSW ALUR1
R2
Rn
0000000100020003
00050004
0006MDR
MAR
INDIRIZZI
DATI
CONTROLLO
0003
3FA8
0003
Sistemi di Sistemi di Elaborazione Elaborazione 20012001
Fase di fetch
Memoria RAMCPU
Unità di Controllo
Clock
PC
IR
PSW ALUR1
R2
Rn
0000000100020003
00050004
0006MDR
MAR
INDIRIZZI
DATI
CONTROLLO
0003
0003
LEGGI
3FA8
Sistemi di Sistemi di Elaborazione Elaborazione 20012001
Fase di fetch
Memoria RAMCPU
Unità di Controllo
Clock
PC
IR
PSW ALUR1
R2
Rn
0000000100020003
00050004
0006MDR
MAR
INDIRIZZI
DATI
CONTROLLO
0003
0003
LEGGI
3FA8
3FA8
Sistemi di Sistemi di Elaborazione Elaborazione 20012001
Fase di decodifica
Memoria RAMCPU
Unità di Controllo
Clock
PC
IR
PSW ALUR1
R2
Rn
0000000100020003
00050004
0006MDR
MAR
INDIRIZZI
DATI
CONTROLLO
3FA8
0003
3FA8
3FA8
Preleva il dato dalla prossimaLocazione di memoria e mettiloNel registro R1
Sistemi di Sistemi di Elaborazione Elaborazione 20012001
Incremento del program counter
Memoria RAMCPU
Unità di Controllo
Clock
PC
IR
PSW ALUR1
R2
Rn
0000000100020003
00050004
0006MDR
0005
INDIRIZZI
DATI
CONTROLLO
3FA8
0007
3FA8
0005
LEGGI
Sistemi di Sistemi di Elaborazione Elaborazione 20012001
Prelievo del dato
Memoria RAMCPU
Unità di Controllo
Clock
PC
IR
PSW ALUR1
R2
Rn
0000000100020003
00050004
0006MDR
0005
INDIRIZZI
DATI
CONTROLLO
3FA8
0007
3FA8
LEGGI
0001
0001
Sistemi di Sistemi di Elaborazione Elaborazione 20012001
Scrittura nel registro della ALU
Memoria RAMCPU
Unità di Controllo
Clock
PC
IR
PSW ALUR1
R2
Rn
00010000000100020003
00050004
0006MDR
0005
INDIRIZZI
DATI
CONTROLLO
3FA8
0007
3FA8
scrivi
0001
0001
Sistemi di Sistemi di Elaborazione Elaborazione 20012001
Porta seriale e parallela
Memoria RAM
Memoria RAM
ClockClockMemoria
ROM
Memoria ROM
CPU
Dispositivo diINPUT
Dispositivo diOUTPUT
PORTAPORTA
PORTAPORTA
Controllers N
Controllers N
Dati
Indirizzi
Controllo
Sistemi di Sistemi di Elaborazione Elaborazione 20012001
Interfaccia di Ingresso/uscita
PerifericaControllerBuffer
dati
RegistroDi stato
INDIRIZZI
DATI
controllo
Porta
Sistemi di Sistemi di Elaborazione Elaborazione 20012001
Gestione delle periferiche
Le periferiche possono funzionare con tre tecniche:– Ciclo di “polling” – Interrupt– Accesso diretto alla memoria
(DMA)
Sistemi di Sistemi di Elaborazione Elaborazione 20012001
Ciclo di polling
PerifericaControllerBuffer
dati
RegistroDi stato
Interfaccia di ingresso/uscita
CPU
PProcesso
chiamante la periferica
INDIRIZZI
DATI
- 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
controllo
Sistemi di Sistemi di Elaborazione Elaborazione 20012001
Gestione con interrupt
PerifericaControllerBuffer
dati
RegistroDi stato
Cavo di collegamento
Interfaccia di ingresso/uscita
CPU
PProcesso
chiamante la periferica
- P lancia il comando alla periferica e invia I primi dati-Si sospende
Sistemi di Sistemi di Elaborazione Elaborazione 20012001
Gestione con interrupt
PerifericaControllerBuffer
dati
RegistroDi stato
Cavo di collegamento
Interfaccia di ingresso/uscita
CPUP
Processo chiamante la
periferica
-La cpu passa ad un altro processo -Il controller notifica con un interrupt la CPU che è pronto a ricevere altri dati
Sistemi di Sistemi di Elaborazione Elaborazione 20012001
Gestione con interrupt
PerifericaControllerBuffer
dati
RegistroDi stato
Cavo di collegamento
Interfaccia di ingresso/uscita
CPU
-La CPU attiva il programma di risposta a interruzione, che attiverà il driver fisico della stampante per effettuare il successivo trasferimento dati
Driver fisicoP
Processo chiamante la
periferica
Sistemi di Sistemi di Elaborazione Elaborazione 20012001
Accesso diretto alla memoria
PerifericaControllerBuffer
dati
RegistroDi stato
Cavo di collegamento
Interfaccia di ingresso/uscita
CPU DMA
INDIRIZZI
DATI
CONTROLLO
RAM
Sistemi di Sistemi di Elaborazione Elaborazione 20012001
Periferiche e caratteristiche
• Monitor (CRT e LCD)– Risoluzione– Memoria– Schede acceleratrici
• Stampanti– Inkjet– Laser– (DPI, PPM)
Sistemi di Sistemi di Elaborazione Elaborazione 20012001
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 Sistemi di Elaborazione Elaborazione 20012001
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 Sistemi di Elaborazione Elaborazione 20012001
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 Sistemi di Elaborazione Elaborazione 20012001
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 Sistemi di Elaborazione Elaborazione 20012001
Prestazioni della CPU
• Tcpu = Nclock X TclockNclock= 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 Sistemi di Elaborazione Elaborazione 20012001
Prestazioni della CPU
• Le prestazioni dipendono comunque anche dal set di istruzioni proprio della CPU
Sistemi di Sistemi di Elaborazione Elaborazione 20012001
Set di istruzioni e tipo di architettura utilizzataCISC (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
Sistemi di Sistemi di Elaborazione Elaborazione 20012001
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 Sistemi di Elaborazione Elaborazione 20012001
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 co-processori
specializzati (ad esempio, il co-processore matematico)
• Cache– una memoria veloce locale al processore, che
consente un’accelerazione nell’esecuzione dei programmi
Sistemi di Sistemi di Elaborazione Elaborazione 20012001
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 Sistemi di Elaborazione Elaborazione 20012001
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 Sistemi di Elaborazione Elaborazione 20012001
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 Sistemi di Elaborazione Elaborazione 20012001
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 Sistemi di Elaborazione Elaborazione 20012001
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 Sistemi di Elaborazione Elaborazione 20012001
Introduzione alla programmazione
• Algoritmo• Programma• Linguaggio di
programmazione
Sistemi di Sistemi di Elaborazione Elaborazione 20012001
Descrivere un programma con un diagramma di flusso
Leggi x e y
K x - y
K >0
ScriviMax = x
ScriviMax = y
fine
start
Calcolare il max fra due numeri
si no
Sistemi di Sistemi di Elaborazione Elaborazione 20012001
Descrivere un programma con un diagramma di flusso
Leggi x e y
K x - y
K >0
ScriviMax = x
ScriviMax = y
fine
start
Calcolare il max fra due numeri
Lettura/scrittura
elaborazione
decisione no
Sistemi di Sistemi di Elaborazione Elaborazione 20012001
Leggi la lista x1…xn
Prendi I primi due numeri x1 e x2
Altri numeri da esaminare
ScriviMax = m
fine
startCalcolare il max in una lista numeri
m max (x1,x2)
nosi
Prendi il successivo xi
m max (m,xi)
Sistemi di Sistemi di Elaborazione Elaborazione 20012001
• Nell’esempio precedente notiamo il concetto di chiamata a sottoprogramma (ovvero un programma in grado di calcolare il max fra due numeri)
Sistemi di Sistemi di Elaborazione Elaborazione 20012001
Tipologie di istruzioni
• Istruzioni di ingresso/uscita• Istruzioni aritmetico logiche• Istruzioni di controllo
Sistemi di Sistemi di Elaborazione Elaborazione 20012001
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 Sistemi di Elaborazione Elaborazione 20012001
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
top related