SlideShare une entreprise Scribd logo
1  sur  72
Télécharger pour lire hors ligne
L’architettura dei calcolatori
Il processore
La memoria centrale
La memoria di massa
Le periferiche di I/O
2
Caratteristiche dell’architettura
 Flessibilità
• adatta a svolgere diverse tipologie di compiti
 Modularità
• ogni componente ha una funzione specifica
 Scalabilità
• ogni componente può essere sostituito con uno equivalente
 Standardizzazione
• componenti facilmente sostituibili in caso di malfunzionamento
 Riduzione dei costi
• grazie alla produzione su larga scala
 Semplicità
• di installazione ed esercizio del sistema
3
1.
Elaborazione
Interconnessione
2.
Memorizzazione
3.
Comunicazione
(interfaccia)
Unità Centrale
di Elaborazione
Memoria
Elettronica
Memoria
Magnetica
Il calcolatore:
modello architetturale
Periferiche
Collegamenti
(BUS/Cavi)
4
Hardware: architettura
 L’architettura dell’hardware di un calcolatore
reale è molto complessa
 La macchina di Von Neumann è un
modello semplificato dei calcolatori moderni
• Von Neumann progettò, verso il 1945, il primo
calcolatore con programmi memorizzabili anziché
codificati mediante cavi e interruttori
5
Macchina di Von Neumann
E’ composta da 4 tipologie di componenti funzionali:
unità centrale di elaborazione (CPU)
• esegue istruzioni per l’elaborazione dei dati
• svolge anche funzioni di controllo
memoria centrale
• memorizza e fornisce l’accesso a dati e programmi
interfacce di ingresso e uscita
• componenti di collegamento con le periferiche del
calcolatore
bus
• svolge la funzionalità di trasferimento di dati e di
informazioni di controllo tra le varie componenti funzionali
6
Macchina di Von Neumann
7
Dispositivi di Input
Tastiera Mouse
Joystick
trackball Touch pad
Penna ottica Scanner
Webcam
Fotocam. Dig.
Microfono
Schermi touch screen
Tavoletta grafica
8
Dispositivi di Output
Monitor
Cuffie
Plotter
Stampante
Casse acustiche Videoproiettore
9
Caratteristiche del
collegamento a BUS
 Semplicità
• un’unica linea di connessione  costi ridotti di produzione
 Estendibilità
• aggiunta di nuovi dispositivi molto semplice
 Standardizzabilità
• regole per la comunicazione da parte di dispositivi diversi
 Lentezza
• utilizzo in mutua esclusione del bus
 Limitatà capacità
• al crescere del numero di dispositivi collegati
 Sovraccarico del processore (CPU)
• perchè funge da master sul controllo del bus
10
Bus di sistema
 Interconnette CPU, memorie ed interfacce verso dispositivi
periferici (I/O, memoria di massa, ...)
 Collega due unità funzionali alla volta
• una trasmette e l’altra riceve
 Il trasferimento dei dati avviene sotto il controllo della CPU
11
Bus di sistema
 Il bus trasporta dati, indirizzi e comandi
 Componenti del bus (sottogruppi di linee):
• Bus dati (data bus)
• Bus indirizzi (address bus)
• Bus comandi (command bus)
 Bus dati (data bus)
• Serve per trasferire dati
• tra la memoria centrale ed il registro dati (MDR) della
CPU
• tra periferiche e CPU (o memoria centrale)
• Bidirezionale
12
Bus di sistema
 Bus indirizzi (address bus)
• Serve per trasmettere il contenuto del registro indirizzi
(MAR) alla memoria (o ad una periferica)
• si seleziona una cella per successive operazioni di lettura
o scrittura
• Unidirezionale
 Bus comandi (command bus)
• Serve per inviare comandi
• verso la memoria (es: lettura o scrittura)
• o verso una periferica (es. stampa verso la stampante /
interfaccia)
• Unidirezionale
13
Interfacce di I/O e bus
Unità centrale di elaborazione
CPU
15
Organizzazione tipica di un
calcolatore “bus oriented”
CPU
Memoria
centrale
Bus
Unità di
controllo
Unità
aritmetico
logica (ALU)
Registri
CPU
Terminale
Unità
disco
Stampante
Dispositivi di I/O
16
Tre tipologie di istruzioni
 Istruzioni aritmetico-logiche (Elaborazione dati)
• Somma, Sottrazione, Divisione, …
• And, Or, Xor, …
• Maggiore, Minore, Uguale, Minore o uguale, …
 Controllo del flusso delle istruzioni
• Sequenza
• Selezione semplice, a due vie, a n vie, …
• Ciclo a condizione iniziale, ciclo a condizione finale, …
 Trasferimento di informazione
• Trasferimento dati e istruzioni tra CPU e memoria
• Trasferimento dati e istruzioni tra CPU e dispositivi di
ingresso/uscita (attraverso le relative interfacce)
17
Elementi di una CPU
 Unità di controllo
• Svolge funzioni di controllo, decide quali istruzioni eseguire.
 Unità aritmetico–logica
• esegue le operazioni aritmetico-logiche (+,-,ecc. , confronto).
 Registri
• memoria ad alta velocità usata per risultati temporanei e
informazioni di controllo;
• il valore massimo memorizzabile in un registro è
determinato dalle dimensioni del registro;
• esistono registri di uso generico e registri specifici:
• Program Counter (PC) – qual è l’istruzione successiva;
• Instruction Register (IR) – istruzione in corso d’esecuzione;
• …
18
A B
Registri
A
+
B
Come lavora la ALU
Registri di
ingresso
dell’ALU
Bus di
ingresso
all’ALU
Registro
di uscita
dell’ALU
A
L
U
A
+
B
A
B
19
La struttura della CPU
BUSCONTROLLO
Leggi
Scrivi
BUSDATI
Dati
BUSINDIRIZZI
Indirizzo
o
Memoria
centrale
o
Periferiche
...
Registro
Registro
Registro
M
A
R
M
D
R
PSWIR
PC
CCPPUU
Operazione
Esegui
Stato
ALU
Unità di controllo
20
Registri
Un microprocessore contiene un numero limitato di
celle di memoria (registri) con scopi specifici
• registro contatore delle istruzioni (PC, program counter)
indirizzo della prossima istruzione da eseguire
• registro delle istruzioni (IR, instruction register)
istruzione che deve essere eseguita (codificata)
• parola di stato del processore (PSW)
contiene informazioni, opportunamente codificate,
circa l’esito dell’ultima istruzione che è stata eseguita
21
Registri (2)
• registro indirizzi della memoria (MAR)
indirizzo della cella di memoria che deve essere
acceduta o memorizzata
• registro dati della memoria (MDR)
dato che è stato acceduto o che deve essere
memorizzato
• registri generali
per memorizzare gli operandi ed il risultato di
una operazione
22
Esecuzione delle istruzioni
 Ciclo Fetch–Decode–Execute
(leggi–decodifica–esegui)
1. Prendi l’istruzione corrente dalla memoria e mettila nel
registro istruzioni (IR).
2. Incrementa il program counter (PC) in modo che
contenga l’indirizzo dell’istruzione successiva.
3. Determina il tipo dell’istruzione corrente (decodifica).
4. Se l’istruzione usa una parola in memoria, determina dove
si trova.
5. Carica la parola, se necessario, in un registro della CPU.
6. Esegui l’istruzione.
7. Torna al punto 1 e inizia a eseguire l’istruzione successiva.
23
Ciclo Fetch–Decode–Execute
Fetch
Decode
Execute
24
CPU
 In grado di eseguire solo istruzioni
codificate in linguaggio macchina
 Ciclo Fetch – Decode - Execute
1. Prendi l’istruzione corrente dalla memoria e
mettila nel registro istruzioni (IR) (fetch)
2. Incrementa il Program Counter (PC) in modo che contenga l’indirizzo
dell’istruzione successiva
3. Determina il tipo di istruzione da eseguire (decode)
4. Se l’istruzione necessita di un dato in memoria determina dove si
trova e caricalo in un registro della CPU
5. Esegui l’istruzione (execute)
6. Torna al punto 1 e opera sull’istruzione successiva
25
Evoluzione delle CPU
CPU Anno
Frequenza
(MHz)
Dimensione
registri / bus dati
Numero di
transistor
8086 1978 4.77 — 12 8 / 16 29 000
80286 1982 8 — 16 16 / 16 134 000
80386 1986 16 — 33 32 / 32 275 000
80386 SX 1988 16 — 33 32 / 16 275 000
80486 1989 33 — 50 32 / 32 1 200 000
Pentium 1993 60 — 200 32 / 64 3 100 000
Pentium II 1997 233 — 400 32 / 64 7 500 000
Pentium III 1999 450 — 1133 32 / 64 24 000 000
Pentium 4 2000 1600 — 2000 32 / 64 42 000 000
26
Legge di Moore
Osservazione fatta da Gordon Moore nel 1965:
il numero dei transistor per cm2
raddoppia ogni X mesi
In origine X era 12. Correzioni successive hanno
portato a fissare X=18. Questo vuol dire che c’è un
incremento di circa il 60% all’anno.
27
# Transistor [CPU Intel]
100 000
1 000 000
10 000 000
100 000 000
1989 1991 1993 1995 1997 1999
28
Legge di Moore e progresso
 Il progresso della tecnologia provoca un aumento del
numero di transistor per cm2 e quindi per chip.
 Un maggior numero di transistor per chip permette di produrre
prodotti migliori (sia in termini di prestazioni che di
funzionalità) a prezzi ridotti.
 I prezzi bassi stimolano la nascita di nuove applicazioni (e.g.
non si fanno video game per computer da milioni di $).
 Nuove applicazioni aprono nuovi mercati e fanno nascere
nuove aziende.
 L’esistenza di tante aziende fa crescere la competitività che,
a sua volta, stimola il progresso della tecnologia e lo
sviluppo di nuove tecnologie.
La memoria
30
La memoria
 Supporto alla CPU: deve fornire alla CPU dati e
istruzioni il più rapidamente possibile
 Archivio: deve consentire di archiviare dati e
programmi garantendone la conservazione e la
reperibilità anche dopo elevati periodi di tempo
 Diverse esigenze:
• velocità per il supporto alla CPU
• non volatilità ed elevate dimensioni per l’archivio
 Diverse tecnologie
• elettronica: veloce, ma costosa e volatile
• magnetica e ottica: non volatile ed economica, ma molto
lenta
31
Criteri di caratterizzazione di una memoria
 Velocità
• tempo di accesso (quanto passa tra una richiesta e la relativa risposta)
• velocità di trasferimento (quanti byte al secondo si possono trasferire)
 Volatilità
• cosa succede quando la memoria non è alimentata?
• per quanto tempo i dati vi rimangono immagazzinati?
 Capacità
• quanti byte può contenere? qual è la dimensione massima?
 Costo (per bit)
 Modalità di accesso
• diretta (o casuale): il tempo di accesso è indipendente dalla posizione
• sequenziale: il tempo di accesso dipende dalla posizione
• mista: combinazione dei due casi precedenti
• associativa: indicato il dato, la memoria risponde indicando l’eventuale
posizione che il dato occupa in memoria.
La memoria centrale
33
Memoria centrale
 La memoria è la componente del calcolatore
in cui vengono immagazzinati e da cui
vengono acceduti i dati e i programmi
 La memoria centrale (o principale) è la
memoria che può essere acceduta
direttamente dal processore
• è costituita da celle (o locazioni)
• ogni cella può contenere una quantità fissata di
memoria (numero di bit), detta parola di
memoria
34
Memoria centrale
 Ogni cella è caratterizzata da
• un indirizzo, che è un numero che
identifica la cella e ne consente l’accesso
• un valore, che è la sequenza di bit
memorizzata dalla cella
 La memoria fornisce le operazioni di:
• lettura: consultazione del valore di una cella
con un dato indirizzo
• scrittura: modifica del valore di una cella con
un dato indirizzo
35
Memoria centrale
 Le operazioni avvengono sotto il controllo della CPU
• La CPU seleziona una particolare cella di memoria
ponendone l’indirizzo nel Registro Indirizzi (MAR)
 Se il Registro Indirizzi (MAR) è costituito da N bit, si possono
indirizzare 2N celle di memoria, da 0 a 2N –1
• Nei PC attuali il MAR è almeno di 32 bit
 Operazione di lettura:
• copia nel Registro Dati (MDR) il contenuto della cella di
memoria indirizzata dal Registro Indirizzi (MAR)
 Operazione di scrittura (store)
• copia il contenuto del Registro Dati (MDR) nella cella di
memoria indirizzata dal Registro Indirizzi (MAR)
36
Struttura di una memoria
centrale
37
Caratteristiche delle memorie
centrali
capacità
• il numero di bit che possono essere memorizzati,
misurati in byte (e multipli del byte)
velocità di accesso
• misura la velocità di esecuzione delle operazioni
di lettura/scrittura
volatilità
• indica la capacità di conservare i valori
memorizzati in modo permanente o meno
38
Memorie RAM e memorie ROM
 Le memorie RAM (random access memory)
• possono essere accedute sia in lettura che in scrittura
• sono volatili (i dati memorizzati vengono persi allo
spegnimento del calcolatore)
• sono usate per memorizzare dati e programmi
 La memorie ROM (read only memory)
• permettono solo la lettura dei dati
• sono persistenti (mantengono il suo contenuto anche
quando non c’è alimentazione)
• sono usate per memorizzare alcuni programmi di
sistema (firmware)
39
Memorie secondarie
 Memoria secondaria o Memoria di massa
• memorizza grandi masse di dati
• i dati memorizzati sopravvivono all’esecuzione dei
programmi.
• non può essere acceduta direttamente dalla CPU
• i dati di una memoria secondaria per essere elaborati dal
processore devono passare nella memoria centrale
 Memoria principale Vs. Memoria secondaria
• la memoria secondaria memorizza in modo permanente
tutti i programmi e i dati del calcolatore
• la memoria centrale memorizza i programmi in esecuzione
e i dati necessari per la loro esecuzione
40
Caratteristiche delle memorie
secondarie non volatilità
• i dati memorizzati non si perdono allo spegnimento del
calcolatore (perché memorizzati in forma magnetica o ottica
anziché elettronica)
 grande capacità
• capacità maggiore (anche di diversi ordini di grandezza)
rispetto alla memoria centrale
 bassi costi
• il costo per bit di una memoria secondaria è minore (di
diversi ordini di grandezza) rispetto alla memoria centrale
 bassa velocità di accesso
• tempi di accesso maggiori (di qualche ordine di grandezza)
rispetto a quelli della memoria principale
41
Memoria cache
 E’ una memoria particolarmente veloce usata per
memorizzare i dati usati più frequentemente
• La RAM ha tempi di accesso molto alti rispetto alla velocità
dei microprocessori e ne ritarda l’elaborazione
 Strategia di utilizzo:
• la prima volta che il microprocessore carica dei dati dalla
memoria centrale, tali dati vengono caricati anche sulla
cache
• le volte successive, i dati possono essere letti dalla cache
invece che dalla memoria centrale (più lenta)
 La RAM non è realizzata con tale tipo di memoria perché si
tratta di dispositivi molto costosi!
 Tipi di memoria cache:
• cache di I° livello: contenuta nel microprocessore
• cache di II° livello: aggiungibile successivamente
42
Gerarchia delle memorie
43
Caratteristiche delle memorie
La memoria di massa
(magnetica)
45
Una gerarchia di memoria
Ottenuta per “generalizzazione” dell’applicazione del
principio di località e tipicamente costituita da
1. registri contenuti nella CPU (qualche KB)
2. cache (da circa 32KB a circa 1024KB)
3. memoria principale (da circa 64MB a qualche GB)
4. dischi fissi (da qualche GB a qualche TB)
5. nastri magnetici e dischi ottici (da qualche GB a qualche
TB per ogni supporto)
Man mano che ci si sposta verso il basso nella gerarchia
aumenta il valore dei parametri fondamentali:
• aumenta il tempo di accesso;
• aumenta la capacità di memorizzazione;
• ma diminuisce il costo per bit.
46
Caratteristiche dei diversi livelli
Capacità Velocità (TA) €/MByte
registri ~1KB ~1ns NA
cache 64 ÷ 1024 KB ~10ns 300
RAM 64 ÷ 2048 MB ~100ns 2
HD 8 ÷ 100 GB ~10ms 0.005
nastri/CD ~GB per unità ~100ms 0.005
47
Dischi magnetici
 Sono piatti d’alluminio (o di altro materiale) ricoperti
di materiale ferromagnetico.
 Fattore di forma (diametro)
• sempre più piccolo (consente velocità di rotazione maggiori);
• 3.5 pollici per i sistemi desktop e fino a 1 pollice per i mobili.
 Testina di un disco (strumento di lettura/scrittura)
• è sospesa appena sopra la superficie magnetica
• scrittura: il passaggio di corrente positiva o negativa
attraverso la testina magnetizza la superficie
• lettura: il passaggio sopra un’area magnetizzata induce una
corrente positiva o negativa nella testina.
48
Tracce e settori
 Traccia (track): sequenza circolare di bit scritta mentre il
disco compie una rotazione completa
• la larghezza di una traccia dipende dalla dimensione della testina e
dall’accuratezza con cui la si può posizionare; la densità radiale va da
800 a 2000 tracce per centimetro (5-10 µm per traccia);
• tra una traccia e l’altra c’è un piccolo spazio di separazione (gap).
 Settore (sector): parte di una traccia corrispondente a un
settore circolare del disco
• un settore contiene 512 byte di dati, preceduti da un preambolo, e
seguiti da un codice di correzione degli errori;
• la densità lineare è di circa 50-100kbit per cm (0.1-0.2 µm per bit);
• tra settori consecutivi si trova un piccolo spazio (intersector gap).
 Formattazione: operazione che predispone tracce e settori
per la lettura/scrittura
• un 15% circa dello spazio disco si perde in gap, preamboli e codici di
correzione degli errori.
49
Tracce
e
settori
50
Schema di un Hard Disk
Le tracce in grigio formano un “cilindro”
51
Prestazioni dei dischi
 Tempo di acceso (ms o 10-3s)
• Seek time
• la testina deve arrivare alla traccia giusta;
• dipende dalla meccanica (5-15 ms, 1 per tracce adiacenti).
• Latency
• il disco deve ruotare fino a portare il dato nella posizione giusta;
• dipende dalla velocità di rotazione (5400-10800 RPM  2.7-5.4ms).
 Transfer Rate (MBps)
• Velocità di trasferimento del disco
• dipende dalla densità di registrazione e dalla velocità di rotazione;
• un settore di 512 byte richiede fra 25 e 100 µsec (5-20 MB/sec).
52
Floppy disk
 Funzioni:
• distribuzione software su grande scala (avvento PC);
• archiviazione dati.
 Struttura analoga a quella di un disco magnetico,
• il disco si ferma quando non è operativo;
• l’avvio della rotazione comporta un ritardo di ½ sec.
 Caratteristiche tipiche di un floppy da 3.5”
• Capacità di 1.44 MB
• Tracce x settori: 80 x 18
• RPM = 300
• velocità di trasferimento di 500Kbps
La memoria di massa
(ottica)
54
Dischi ottici
 Lettura ottica basata sulla riflessione (o sulla mancata
riflessione) di un raggio laser.
 Densità di registrazione più alte dei dischi magnetici.
 Creati in origine per registrare i programmi televisivi,
poi usati come dispositivi di memoria nei calcolatori.
 Diversi tipi/caratteristiche
• CD-ROM
• CD-R
• CD-RW
• DVD
• DVD-RAM
• …
55
Compact Disk - CD
 Proposto nel 1980 [da Philips e Sony] per sostituire i
dischi in vinile per la musica.
 Standard internazionale IS-10149 [libro rosso].
• diametro di 12 cm, spessore di 1.2 mm con un foro
di 15 mm in mezzo;
• produzione:
1. laser ad alta potenza che brucia fori di 0,8 µm in un disco master
(le depressioni si chiamano pit e le aree fra pit si chiamano land);
2. dal master si ricava uno stampo;
3. nello stampo viene iniettata una resina liquida di policarbonato
che forma un CD con la stessa sequenza di fori del master,
4. sul policarbonato viene depositato uno strato molto sottile di
alluminio riflettente,
5. copertura con uno strato protettivo e infine con un’etichetta.
56
Lettura di un CD
 Un laser a bassa potenza manda una luce infrarossa
(lunghezza d’onda di 0,78 µm) sul disco.
 I pit appaiono come cunette su una superficie piatta:
• un pit è alto circa un quarto della lunghezza d’onda del laser,
• la luce riflessa da un pit è sfasata di mezza lunghezza d’onda rispetto
alla luce riflessa dalla superficie circostante,
• l’interferenza negativa riduce l’intensità della luce riflessa.
 I passaggi pit/land o land/pit indicano un 1, la loro assenza
indica uno 0.
 Pit e land sono scritti in una spirale unica che compie 22.188
giri attorno al disco (circa 600 per ogni mm).
 Velocità lineare costante (120 cm/sec):
• all’interno è di 530 rpm, all’esterno deve scendere a 200 rpm;
• l’unità è diversa da quella a velocità angolare costante usata per gli HD;
• 530 rpm sono molti meni dei 3600/10440 rpm degli HD.
57
Pit e land su un CD
58
CD-ROM
 1984: Philips e Sony pubblicano il libro giallo, in cui
viene definito lo standard dei CD-ROM (Compact
Disc-Read Only Memory).
• viene definita la struttura e il formato da utilizzare per
memorizzare dati digitali invece che “semplice” musica.
 Rispetto ai CD audio i CD-ROM hanno
• stesse dimensioni;
• compatibilità dell’ottica e della meccanica;
• stesso processo produttivo;
• miglior capacità di correggere errori.
 Il libro verde [1986] aggiunge grafica e possibilità di
mischiare audio, video e dati nello stesso settore.
59
Velocità/capacità dei CD-ROM
 Velocità base (1x)
• 75 settori/sec,
• 153.6 KByte/sec (175.2 in modalità 2).
• Velocità superiori crescono in proporzione
• 32x corrisponde a 2400 settori/sec cioè quasi 5MB/sec
 Capacità
• 74 minuti di musica = 681.984.000 byte = circa 650 MB;
• 80 minuti di musica = circa 700 MB.
 Tempo di accesso
• alcune centinaia di millisecondi.
60
CD Recordable (CD-R)
 CD che vengono scritti una sola volta (WORM):
• utilizzati per backup, per produzioni in piccole serie, per la
generazione di master, …
• standard definito nel libro arancione, dove si introduce
anche il CD-ROM XA (CD-R scritti in modo incrementale);
• stesse dimensioni dei CD-ROM
• dischi di policarbonato di 120 mm;
• contengono un solco largo 0,6 mm (guida per il laser di scrittura).
 La riflettività di pit e land è simulata
• c’è uno strato di colore fra il policarbonato e lo strato
riflettente: nello stato iniziale questo strato è trasparente;
• per scrivere, un laser ad alta potenza colpisce un punto nello
strato della superficie colorata, rompe un legame chimico e
crea una macchia scura.
61
CD ReWriteable (CD-RW)
 Dischi ottici riscrivibili.
 Lo strato di registrazione utilizza una lega di argento,
indio, antimonio e tellurio che ha due stati stabili:
• lo stato cristallino con elevata capacità di riflessione (land);
• lo stato amorfo con ridotta capacità di riflessione (pit).
 Si usa un laser con tre potenze diverse:
• ad alta potenza il laser scioglie la lega e un raffreddamento
rapido la porta dallo stato cristallino allo stato amorfo;
• a potenza media la lega si scioglie e si raffredda tornando
nel suo stato cristallino;
• a bassa potenza si rileva solo lo stato del materiale.
62
Digital Versatile Disk (DVD)
 Evoluzione tecnologica Æ maggior
densità dei dati:
• pit più piccoli (0.4 vs. 0.8 µm);
• spirale più serrata (0.74 vs. 1.6 µm);
• laser rosso (0.65 vs. 0.78 µm).
 Caratteristiche dei DVD
• capacità di 4.7 GB
• 133 minuti di video fullscreen MPEG-2 ad
alta risoluzione (720 x 480) con colonna
sonora in 8 lingue e sottotitoli in altre 32;
• 1x indica 1.4 MB/sec (vs. 150 KB/sec).
63
Diversi formati di DVD
 Esistono situazioni in cui servono più di 4.7 GB.
Pertanto sono stati definiti quattro formati:
1. Lato unico, strato unico (4,7 GB).
2. Lato unico, strato doppio (8,5 GB).
3. Due lati, strato unico (9,4 GB).
4. Due lati, strato doppio (17 GB).
 Tecnologia dello strato doppio:
• uno strato riflettente sul fondo coperto da uno stato
semiriflettente; a seconda di dove viene indirizzato il laser,
il raggio viene riflesso da uno strato o dall'altro;
• lo strato inferiore ha pit e land leggermente più grandi, per
cui la sua capacità è leggermente inferiore.
64
Tipi di calcolatori
SUPER COMPUTER
MAINFRAME
PERSONAL COMPUTER
WORKSTATION
MINICOMPUTER
NOTEBOOK, PENBOOK,
LAPTOPCOMPUTER (Portatili)
Potenzadi
calcolo
CLUSTER O RETI
DI WORKSTATION
Il sistema operativo
66
• Software = insieme (complesso) di programmi.
• Organizzazione a strati, ciascuno con funzionalità di livello più alto
rispetto a quelli sottostanti:
• Firmware:
− strato di (micro-)programmi che agiscono direttamente sullo strato
hardware
− memorizzato dal costruttore su una memoria permanente (ROM)
Architettura del Software
“Macchine Virtuali”
67
Sistema operativo (S.O.)
 Strato di programmi che opera al di sopra di hardware e
firmware e gestisce l’elaboratore
 Le funzioni offerte dal S.O. dipendono dalla complessità
del sistema di elaborazione:
• gestione delle varie risorse hardware
• gestione della memoria centrale
• organizzazione e gestione della memoria di massa
• interpretazione ed esecuzione di comandi elementari
• gestione della multi-utenza e del multi-tasking
68
Classificazione dei S.O.
In base al numero di utenti:
 Mono-utente (mono-user)
• un solo utente alla volta può utilizzare il sistema
 Multi-utente (multi-user)
• più utenti in contemporanea possono interagire con la
macchina
• il S.O. deve fornire a ciascuno l'astrazione di un
sistema “dedicato”
69
Classificazione dei S.O.
In base al numero di programmi in esecuzione:
Mono-programmato (mono-task)
• si può eseguire un solo programma per volta
Multi-programmato (multi-task)
• il S.O. permette di eseguire più programmi in
contemporanea (su una sola CPU)
• il S.O. deve gestire la suddivisione del tempo della CPU fra i
vari programmi (time-sharing)
70
Interazione dell’utente con il
S.O.
Un utente "vede" l’elaboratore solo tramite il S.O., che simula
una “macchina virtuale”
• diversi S.O. possono realizzare diverse macchine virtuali sullo
stesso hardware
• aumenta l’astrazione nell’interazione utente/elaboratore
• senza S.O.: sequenze di bit
• con S.O.: comandi, programmi, dati.
Il S.O. traduce le richieste dell’utente in opportune
sequenze di comandi da sottoporre alla macchina fisica
• Il S.O. esplicita qualsiasi operazione di accesso a
risorse hardware, implicitamente implicata dal comando
dell’utente
71
Interazione dell’utente con il
S.O.
Utente S.O.
 “esegui progr1” input da tastiera
ricerca codice di “progr1” su disco
carica in RAM codice e dati
<elaborazione>
 “risultato = 10” output su video
72
Interazione dell’utente con il
S.O.
Interfaccia testuale
• Il S.O. interagisce con l’utente mediante
l’interpretazione di linee di comando
• esempi: DOS, Linux
Interfaccia grafica o GUI (Graphical User
Interface)
• tutti i programmi e le funzioni sono mostrati sullo
schermo mediante simboli immediatamente
comprensibili (icone)
• esempi: Windows, MacOS (Macintosh)

Contenu connexe

Tendances

110416254 metamateriaux-application-aux-antennes-rfid
110416254 metamateriaux-application-aux-antennes-rfid110416254 metamateriaux-application-aux-antennes-rfid
110416254 metamateriaux-application-aux-antennes-rfid
rachid Dakir
 

Tendances (12)

Broadcast Lens Technology Part 1
Broadcast Lens Technology Part 1Broadcast Lens Technology Part 1
Broadcast Lens Technology Part 1
 
An Introduction to HDTV Principles-Part 4
An Introduction to HDTV Principles-Part 4An Introduction to HDTV Principles-Part 4
An Introduction to HDTV Principles-Part 4
 
Digitalizzazione audio-dal segnale analogico allo streaming
Digitalizzazione audio-dal segnale analogico allo streamingDigitalizzazione audio-dal segnale analogico allo streaming
Digitalizzazione audio-dal segnale analogico allo streaming
 
MIPI DevCon 2016: Multiple MIPI CSI-2 Cameras Leveraging FPGAs
MIPI DevCon 2016: Multiple MIPI CSI-2 Cameras Leveraging FPGAsMIPI DevCon 2016: Multiple MIPI CSI-2 Cameras Leveraging FPGAs
MIPI DevCon 2016: Multiple MIPI CSI-2 Cameras Leveraging FPGAs
 
ملزمتي - ملزمة تاريخ أولى إعدادي الترم الثاني
ملزمتي - ملزمة تاريخ أولى إعدادي الترم الثانيملزمتي - ملزمة تاريخ أولى إعدادي الترم الثاني
ملزمتي - ملزمة تاريخ أولى إعدادي الترم الثاني
 
110416254 metamateriaux-application-aux-antennes-rfid
110416254 metamateriaux-application-aux-antennes-rfid110416254 metamateriaux-application-aux-antennes-rfid
110416254 metamateriaux-application-aux-antennes-rfid
 
Raspberry Pi PDF
Raspberry Pi PDFRaspberry Pi PDF
Raspberry Pi PDF
 
chap2 genéralites-chaine_de_transmission_15-16
chap2 genéralites-chaine_de_transmission_15-16chap2 genéralites-chaine_de_transmission_15-16
chap2 genéralites-chaine_de_transmission_15-16
 
DSP FPGA.pdf
DSP FPGA.pdfDSP FPGA.pdf
DSP FPGA.pdf
 
MIPI DevCon 2016: MIPI I3C High Data Rate Modes
MIPI DevCon 2016: MIPI I3C High Data Rate ModesMIPI DevCon 2016: MIPI I3C High Data Rate Modes
MIPI DevCon 2016: MIPI I3C High Data Rate Modes
 
Materijal opticke tk mreze
Materijal opticke tk mrezeMaterijal opticke tk mreze
Materijal opticke tk mreze
 
Base des systèmes à microprocesseur
Base des systèmes à microprocesseurBase des systèmes à microprocesseur
Base des systèmes à microprocesseur
 

Similaire à Architettura dei calcolatori

Modulo1 lezione1
Modulo1 lezione1Modulo1 lezione1
Modulo1 lezione1
scipag
 
Concetti di base
Concetti di baseConcetti di base
Concetti di base
serex86
 
Sistemi Operativi: Meccanismi - Lezione 03
Sistemi Operativi: Meccanismi - Lezione 03Sistemi Operativi: Meccanismi - Lezione 03
Sistemi Operativi: Meccanismi - Lezione 03
Majong DevJfu
 

Similaire à Architettura dei calcolatori (20)

Tecnologie Di Base
Tecnologie Di BaseTecnologie Di Base
Tecnologie Di Base
 
Modulo 1 - Lezione 2
Modulo 1 - Lezione 2Modulo 1 - Lezione 2
Modulo 1 - Lezione 2
 
Personal computer
Personal computerPersonal computer
Personal computer
 
Modulo1 lezione1
Modulo1 lezione1Modulo1 lezione1
Modulo1 lezione1
 
Concetti di base della Tecnologia dell'informazione
Concetti di base della Tecnologia dell'informazioneConcetti di base della Tecnologia dell'informazione
Concetti di base della Tecnologia dell'informazione
 
Presentazione microprocessore
Presentazione microprocessorePresentazione microprocessore
Presentazione microprocessore
 
Lezione 1
Lezione 1Lezione 1
Lezione 1
 
Cpu
CpuCpu
Cpu
 
Cpu Abacus
Cpu AbacusCpu Abacus
Cpu Abacus
 
Cpu abacus
Cpu abacusCpu abacus
Cpu abacus
 
20090213 Cattaneo Architettura Degli Elaboratori P1
20090213 Cattaneo Architettura Degli Elaboratori P120090213 Cattaneo Architettura Degli Elaboratori P1
20090213 Cattaneo Architettura Degli Elaboratori P1
 
Concetti di base
Concetti di baseConcetti di base
Concetti di base
 
Modulo 1 ECDL
Modulo 1 ECDLModulo 1 ECDL
Modulo 1 ECDL
 
Hardware e software
Hardware e softwareHardware e software
Hardware e software
 
Microcontrollori
MicrocontrolloriMicrocontrollori
Microcontrollori
 
02_-_Il_Personal_Computer_Dentro_e_Fuori_1.pptx
02_-_Il_Personal_Computer_Dentro_e_Fuori_1.pptx02_-_Il_Personal_Computer_Dentro_e_Fuori_1.pptx
02_-_Il_Personal_Computer_Dentro_e_Fuori_1.pptx
 
Sistemi Operativi: Meccanismi - Lezione 03
Sistemi Operativi: Meccanismi - Lezione 03Sistemi Operativi: Meccanismi - Lezione 03
Sistemi Operativi: Meccanismi - Lezione 03
 
Lezione1 introduzione micro
Lezione1 introduzione microLezione1 introduzione micro
Lezione1 introduzione micro
 
Assemblare un pc
Assemblare un pcAssemblare un pc
Assemblare un pc
 
DHow2 - L4
DHow2 - L4DHow2 - L4
DHow2 - L4
 

Plus de kaliaragorn

Plus de kaliaragorn (8)

angryhex_slides2014.pdf
angryhex_slides2014.pdfangryhex_slides2014.pdf
angryhex_slides2014.pdf
 
2016 attestati partecipazione m01
2016   attestati partecipazione m012016   attestati partecipazione m01
2016 attestati partecipazione m01
 
2016 04 - Attestati Partecipazione Seminario "L'informatica oggi: applicazion...
2016 04 - Attestati Partecipazione Seminario "L'informatica oggi: applicazion...2016 04 - Attestati Partecipazione Seminario "L'informatica oggi: applicazion...
2016 04 - Attestati Partecipazione Seminario "L'informatica oggi: applicazion...
 
Nuvola rosa 2016
Nuvola rosa 2016Nuvola rosa 2016
Nuvola rosa 2016
 
Introduzione alla logica
Introduzione alla logicaIntroduzione alla logica
Introduzione alla logica
 
Flier cuda - Dipartimento di matematica e informatica - Università della Cala...
Flier cuda - Dipartimento di matematica e informatica - Università della Cala...Flier cuda - Dipartimento di matematica e informatica - Università della Cala...
Flier cuda - Dipartimento di matematica e informatica - Università della Cala...
 
2015 01 22 - Rende - Unical - Angelo Fanelli: An Overview of Congestion Games
2015 01 22 - Rende - Unical - Angelo Fanelli: An Overview of Congestion Games2015 01 22 - Rende - Unical - Angelo Fanelli: An Overview of Congestion Games
2015 01 22 - Rende - Unical - Angelo Fanelli: An Overview of Congestion Games
 
2015 01 09 - Rende - Unical - Martin Gebser: Clingo = Answer Set Programming ...
2015 01 09 - Rende - Unical - Martin Gebser: Clingo = Answer Set Programming ...2015 01 09 - Rende - Unical - Martin Gebser: Clingo = Answer Set Programming ...
2015 01 09 - Rende - Unical - Martin Gebser: Clingo = Answer Set Programming ...
 

Architettura dei calcolatori

  • 1. L’architettura dei calcolatori Il processore La memoria centrale La memoria di massa Le periferiche di I/O
  • 2. 2 Caratteristiche dell’architettura  Flessibilità • adatta a svolgere diverse tipologie di compiti  Modularità • ogni componente ha una funzione specifica  Scalabilità • ogni componente può essere sostituito con uno equivalente  Standardizzazione • componenti facilmente sostituibili in caso di malfunzionamento  Riduzione dei costi • grazie alla produzione su larga scala  Semplicità • di installazione ed esercizio del sistema
  • 4. 4 Hardware: architettura  L’architettura dell’hardware di un calcolatore reale è molto complessa  La macchina di Von Neumann è un modello semplificato dei calcolatori moderni • Von Neumann progettò, verso il 1945, il primo calcolatore con programmi memorizzabili anziché codificati mediante cavi e interruttori
  • 5. 5 Macchina di Von Neumann E’ composta da 4 tipologie di componenti funzionali: unità centrale di elaborazione (CPU) • esegue istruzioni per l’elaborazione dei dati • svolge anche funzioni di controllo memoria centrale • memorizza e fornisce l’accesso a dati e programmi interfacce di ingresso e uscita • componenti di collegamento con le periferiche del calcolatore bus • svolge la funzionalità di trasferimento di dati e di informazioni di controllo tra le varie componenti funzionali
  • 7. 7 Dispositivi di Input Tastiera Mouse Joystick trackball Touch pad Penna ottica Scanner Webcam Fotocam. Dig. Microfono Schermi touch screen Tavoletta grafica
  • 9. 9 Caratteristiche del collegamento a BUS  Semplicità • un’unica linea di connessione  costi ridotti di produzione  Estendibilità • aggiunta di nuovi dispositivi molto semplice  Standardizzabilità • regole per la comunicazione da parte di dispositivi diversi  Lentezza • utilizzo in mutua esclusione del bus  Limitatà capacità • al crescere del numero di dispositivi collegati  Sovraccarico del processore (CPU) • perchè funge da master sul controllo del bus
  • 10. 10 Bus di sistema  Interconnette CPU, memorie ed interfacce verso dispositivi periferici (I/O, memoria di massa, ...)  Collega due unità funzionali alla volta • una trasmette e l’altra riceve  Il trasferimento dei dati avviene sotto il controllo della CPU
  • 11. 11 Bus di sistema  Il bus trasporta dati, indirizzi e comandi  Componenti del bus (sottogruppi di linee): • Bus dati (data bus) • Bus indirizzi (address bus) • Bus comandi (command bus)  Bus dati (data bus) • Serve per trasferire dati • tra la memoria centrale ed il registro dati (MDR) della CPU • tra periferiche e CPU (o memoria centrale) • Bidirezionale
  • 12. 12 Bus di sistema  Bus indirizzi (address bus) • Serve per trasmettere il contenuto del registro indirizzi (MAR) alla memoria (o ad una periferica) • si seleziona una cella per successive operazioni di lettura o scrittura • Unidirezionale  Bus comandi (command bus) • Serve per inviare comandi • verso la memoria (es: lettura o scrittura) • o verso una periferica (es. stampa verso la stampante / interfaccia) • Unidirezionale
  • 14. Unità centrale di elaborazione CPU
  • 15. 15 Organizzazione tipica di un calcolatore “bus oriented” CPU Memoria centrale Bus Unità di controllo Unità aritmetico logica (ALU) Registri CPU Terminale Unità disco Stampante Dispositivi di I/O
  • 16. 16 Tre tipologie di istruzioni  Istruzioni aritmetico-logiche (Elaborazione dati) • Somma, Sottrazione, Divisione, … • And, Or, Xor, … • Maggiore, Minore, Uguale, Minore o uguale, …  Controllo del flusso delle istruzioni • Sequenza • Selezione semplice, a due vie, a n vie, … • Ciclo a condizione iniziale, ciclo a condizione finale, …  Trasferimento di informazione • Trasferimento dati e istruzioni tra CPU e memoria • Trasferimento dati e istruzioni tra CPU e dispositivi di ingresso/uscita (attraverso le relative interfacce)
  • 17. 17 Elementi di una CPU  Unità di controllo • Svolge funzioni di controllo, decide quali istruzioni eseguire.  Unità aritmetico–logica • esegue le operazioni aritmetico-logiche (+,-,ecc. , confronto).  Registri • memoria ad alta velocità usata per risultati temporanei e informazioni di controllo; • il valore massimo memorizzabile in un registro è determinato dalle dimensioni del registro; • esistono registri di uso generico e registri specifici: • Program Counter (PC) – qual è l’istruzione successiva; • Instruction Register (IR) – istruzione in corso d’esecuzione; • …
  • 18. 18 A B Registri A + B Come lavora la ALU Registri di ingresso dell’ALU Bus di ingresso all’ALU Registro di uscita dell’ALU A L U A + B A B
  • 19. 19 La struttura della CPU BUSCONTROLLO Leggi Scrivi BUSDATI Dati BUSINDIRIZZI Indirizzo o Memoria centrale o Periferiche ... Registro Registro Registro M A R M D R PSWIR PC CCPPUU Operazione Esegui Stato ALU Unità di controllo
  • 20. 20 Registri Un microprocessore contiene un numero limitato di celle di memoria (registri) con scopi specifici • registro contatore delle istruzioni (PC, program counter) indirizzo della prossima istruzione da eseguire • registro delle istruzioni (IR, instruction register) istruzione che deve essere eseguita (codificata) • parola di stato del processore (PSW) contiene informazioni, opportunamente codificate, circa l’esito dell’ultima istruzione che è stata eseguita
  • 21. 21 Registri (2) • registro indirizzi della memoria (MAR) indirizzo della cella di memoria che deve essere acceduta o memorizzata • registro dati della memoria (MDR) dato che è stato acceduto o che deve essere memorizzato • registri generali per memorizzare gli operandi ed il risultato di una operazione
  • 22. 22 Esecuzione delle istruzioni  Ciclo Fetch–Decode–Execute (leggi–decodifica–esegui) 1. Prendi l’istruzione corrente dalla memoria e mettila nel registro istruzioni (IR). 2. Incrementa il program counter (PC) in modo che contenga l’indirizzo dell’istruzione successiva. 3. Determina il tipo dell’istruzione corrente (decodifica). 4. Se l’istruzione usa una parola in memoria, determina dove si trova. 5. Carica la parola, se necessario, in un registro della CPU. 6. Esegui l’istruzione. 7. Torna al punto 1 e inizia a eseguire l’istruzione successiva.
  • 24. 24 CPU  In grado di eseguire solo istruzioni codificate in linguaggio macchina  Ciclo Fetch – Decode - Execute 1. Prendi l’istruzione corrente dalla memoria e mettila nel registro istruzioni (IR) (fetch) 2. Incrementa il Program Counter (PC) in modo che contenga l’indirizzo dell’istruzione successiva 3. Determina il tipo di istruzione da eseguire (decode) 4. Se l’istruzione necessita di un dato in memoria determina dove si trova e caricalo in un registro della CPU 5. Esegui l’istruzione (execute) 6. Torna al punto 1 e opera sull’istruzione successiva
  • 25. 25 Evoluzione delle CPU CPU Anno Frequenza (MHz) Dimensione registri / bus dati Numero di transistor 8086 1978 4.77 — 12 8 / 16 29 000 80286 1982 8 — 16 16 / 16 134 000 80386 1986 16 — 33 32 / 32 275 000 80386 SX 1988 16 — 33 32 / 16 275 000 80486 1989 33 — 50 32 / 32 1 200 000 Pentium 1993 60 — 200 32 / 64 3 100 000 Pentium II 1997 233 — 400 32 / 64 7 500 000 Pentium III 1999 450 — 1133 32 / 64 24 000 000 Pentium 4 2000 1600 — 2000 32 / 64 42 000 000
  • 26. 26 Legge di Moore Osservazione fatta da Gordon Moore nel 1965: il numero dei transistor per cm2 raddoppia ogni X mesi In origine X era 12. Correzioni successive hanno portato a fissare X=18. Questo vuol dire che c’è un incremento di circa il 60% all’anno.
  • 27. 27 # Transistor [CPU Intel] 100 000 1 000 000 10 000 000 100 000 000 1989 1991 1993 1995 1997 1999
  • 28. 28 Legge di Moore e progresso  Il progresso della tecnologia provoca un aumento del numero di transistor per cm2 e quindi per chip.  Un maggior numero di transistor per chip permette di produrre prodotti migliori (sia in termini di prestazioni che di funzionalità) a prezzi ridotti.  I prezzi bassi stimolano la nascita di nuove applicazioni (e.g. non si fanno video game per computer da milioni di $).  Nuove applicazioni aprono nuovi mercati e fanno nascere nuove aziende.  L’esistenza di tante aziende fa crescere la competitività che, a sua volta, stimola il progresso della tecnologia e lo sviluppo di nuove tecnologie.
  • 30. 30 La memoria  Supporto alla CPU: deve fornire alla CPU dati e istruzioni il più rapidamente possibile  Archivio: deve consentire di archiviare dati e programmi garantendone la conservazione e la reperibilità anche dopo elevati periodi di tempo  Diverse esigenze: • velocità per il supporto alla CPU • non volatilità ed elevate dimensioni per l’archivio  Diverse tecnologie • elettronica: veloce, ma costosa e volatile • magnetica e ottica: non volatile ed economica, ma molto lenta
  • 31. 31 Criteri di caratterizzazione di una memoria  Velocità • tempo di accesso (quanto passa tra una richiesta e la relativa risposta) • velocità di trasferimento (quanti byte al secondo si possono trasferire)  Volatilità • cosa succede quando la memoria non è alimentata? • per quanto tempo i dati vi rimangono immagazzinati?  Capacità • quanti byte può contenere? qual è la dimensione massima?  Costo (per bit)  Modalità di accesso • diretta (o casuale): il tempo di accesso è indipendente dalla posizione • sequenziale: il tempo di accesso dipende dalla posizione • mista: combinazione dei due casi precedenti • associativa: indicato il dato, la memoria risponde indicando l’eventuale posizione che il dato occupa in memoria.
  • 33. 33 Memoria centrale  La memoria è la componente del calcolatore in cui vengono immagazzinati e da cui vengono acceduti i dati e i programmi  La memoria centrale (o principale) è la memoria che può essere acceduta direttamente dal processore • è costituita da celle (o locazioni) • ogni cella può contenere una quantità fissata di memoria (numero di bit), detta parola di memoria
  • 34. 34 Memoria centrale  Ogni cella è caratterizzata da • un indirizzo, che è un numero che identifica la cella e ne consente l’accesso • un valore, che è la sequenza di bit memorizzata dalla cella  La memoria fornisce le operazioni di: • lettura: consultazione del valore di una cella con un dato indirizzo • scrittura: modifica del valore di una cella con un dato indirizzo
  • 35. 35 Memoria centrale  Le operazioni avvengono sotto il controllo della CPU • La CPU seleziona una particolare cella di memoria ponendone l’indirizzo nel Registro Indirizzi (MAR)  Se il Registro Indirizzi (MAR) è costituito da N bit, si possono indirizzare 2N celle di memoria, da 0 a 2N –1 • Nei PC attuali il MAR è almeno di 32 bit  Operazione di lettura: • copia nel Registro Dati (MDR) il contenuto della cella di memoria indirizzata dal Registro Indirizzi (MAR)  Operazione di scrittura (store) • copia il contenuto del Registro Dati (MDR) nella cella di memoria indirizzata dal Registro Indirizzi (MAR)
  • 36. 36 Struttura di una memoria centrale
  • 37. 37 Caratteristiche delle memorie centrali capacità • il numero di bit che possono essere memorizzati, misurati in byte (e multipli del byte) velocità di accesso • misura la velocità di esecuzione delle operazioni di lettura/scrittura volatilità • indica la capacità di conservare i valori memorizzati in modo permanente o meno
  • 38. 38 Memorie RAM e memorie ROM  Le memorie RAM (random access memory) • possono essere accedute sia in lettura che in scrittura • sono volatili (i dati memorizzati vengono persi allo spegnimento del calcolatore) • sono usate per memorizzare dati e programmi  La memorie ROM (read only memory) • permettono solo la lettura dei dati • sono persistenti (mantengono il suo contenuto anche quando non c’è alimentazione) • sono usate per memorizzare alcuni programmi di sistema (firmware)
  • 39. 39 Memorie secondarie  Memoria secondaria o Memoria di massa • memorizza grandi masse di dati • i dati memorizzati sopravvivono all’esecuzione dei programmi. • non può essere acceduta direttamente dalla CPU • i dati di una memoria secondaria per essere elaborati dal processore devono passare nella memoria centrale  Memoria principale Vs. Memoria secondaria • la memoria secondaria memorizza in modo permanente tutti i programmi e i dati del calcolatore • la memoria centrale memorizza i programmi in esecuzione e i dati necessari per la loro esecuzione
  • 40. 40 Caratteristiche delle memorie secondarie non volatilità • i dati memorizzati non si perdono allo spegnimento del calcolatore (perché memorizzati in forma magnetica o ottica anziché elettronica)  grande capacità • capacità maggiore (anche di diversi ordini di grandezza) rispetto alla memoria centrale  bassi costi • il costo per bit di una memoria secondaria è minore (di diversi ordini di grandezza) rispetto alla memoria centrale  bassa velocità di accesso • tempi di accesso maggiori (di qualche ordine di grandezza) rispetto a quelli della memoria principale
  • 41. 41 Memoria cache  E’ una memoria particolarmente veloce usata per memorizzare i dati usati più frequentemente • La RAM ha tempi di accesso molto alti rispetto alla velocità dei microprocessori e ne ritarda l’elaborazione  Strategia di utilizzo: • la prima volta che il microprocessore carica dei dati dalla memoria centrale, tali dati vengono caricati anche sulla cache • le volte successive, i dati possono essere letti dalla cache invece che dalla memoria centrale (più lenta)  La RAM non è realizzata con tale tipo di memoria perché si tratta di dispositivi molto costosi!  Tipi di memoria cache: • cache di I° livello: contenuta nel microprocessore • cache di II° livello: aggiungibile successivamente
  • 44. La memoria di massa (magnetica)
  • 45. 45 Una gerarchia di memoria Ottenuta per “generalizzazione” dell’applicazione del principio di località e tipicamente costituita da 1. registri contenuti nella CPU (qualche KB) 2. cache (da circa 32KB a circa 1024KB) 3. memoria principale (da circa 64MB a qualche GB) 4. dischi fissi (da qualche GB a qualche TB) 5. nastri magnetici e dischi ottici (da qualche GB a qualche TB per ogni supporto) Man mano che ci si sposta verso il basso nella gerarchia aumenta il valore dei parametri fondamentali: • aumenta il tempo di accesso; • aumenta la capacità di memorizzazione; • ma diminuisce il costo per bit.
  • 46. 46 Caratteristiche dei diversi livelli Capacità Velocità (TA) €/MByte registri ~1KB ~1ns NA cache 64 ÷ 1024 KB ~10ns 300 RAM 64 ÷ 2048 MB ~100ns 2 HD 8 ÷ 100 GB ~10ms 0.005 nastri/CD ~GB per unità ~100ms 0.005
  • 47. 47 Dischi magnetici  Sono piatti d’alluminio (o di altro materiale) ricoperti di materiale ferromagnetico.  Fattore di forma (diametro) • sempre più piccolo (consente velocità di rotazione maggiori); • 3.5 pollici per i sistemi desktop e fino a 1 pollice per i mobili.  Testina di un disco (strumento di lettura/scrittura) • è sospesa appena sopra la superficie magnetica • scrittura: il passaggio di corrente positiva o negativa attraverso la testina magnetizza la superficie • lettura: il passaggio sopra un’area magnetizzata induce una corrente positiva o negativa nella testina.
  • 48. 48 Tracce e settori  Traccia (track): sequenza circolare di bit scritta mentre il disco compie una rotazione completa • la larghezza di una traccia dipende dalla dimensione della testina e dall’accuratezza con cui la si può posizionare; la densità radiale va da 800 a 2000 tracce per centimetro (5-10 µm per traccia); • tra una traccia e l’altra c’è un piccolo spazio di separazione (gap).  Settore (sector): parte di una traccia corrispondente a un settore circolare del disco • un settore contiene 512 byte di dati, preceduti da un preambolo, e seguiti da un codice di correzione degli errori; • la densità lineare è di circa 50-100kbit per cm (0.1-0.2 µm per bit); • tra settori consecutivi si trova un piccolo spazio (intersector gap).  Formattazione: operazione che predispone tracce e settori per la lettura/scrittura • un 15% circa dello spazio disco si perde in gap, preamboli e codici di correzione degli errori.
  • 50. 50 Schema di un Hard Disk Le tracce in grigio formano un “cilindro”
  • 51. 51 Prestazioni dei dischi  Tempo di acceso (ms o 10-3s) • Seek time • la testina deve arrivare alla traccia giusta; • dipende dalla meccanica (5-15 ms, 1 per tracce adiacenti). • Latency • il disco deve ruotare fino a portare il dato nella posizione giusta; • dipende dalla velocità di rotazione (5400-10800 RPM  2.7-5.4ms).  Transfer Rate (MBps) • Velocità di trasferimento del disco • dipende dalla densità di registrazione e dalla velocità di rotazione; • un settore di 512 byte richiede fra 25 e 100 µsec (5-20 MB/sec).
  • 52. 52 Floppy disk  Funzioni: • distribuzione software su grande scala (avvento PC); • archiviazione dati.  Struttura analoga a quella di un disco magnetico, • il disco si ferma quando non è operativo; • l’avvio della rotazione comporta un ritardo di ½ sec.  Caratteristiche tipiche di un floppy da 3.5” • Capacità di 1.44 MB • Tracce x settori: 80 x 18 • RPM = 300 • velocità di trasferimento di 500Kbps
  • 53. La memoria di massa (ottica)
  • 54. 54 Dischi ottici  Lettura ottica basata sulla riflessione (o sulla mancata riflessione) di un raggio laser.  Densità di registrazione più alte dei dischi magnetici.  Creati in origine per registrare i programmi televisivi, poi usati come dispositivi di memoria nei calcolatori.  Diversi tipi/caratteristiche • CD-ROM • CD-R • CD-RW • DVD • DVD-RAM • …
  • 55. 55 Compact Disk - CD  Proposto nel 1980 [da Philips e Sony] per sostituire i dischi in vinile per la musica.  Standard internazionale IS-10149 [libro rosso]. • diametro di 12 cm, spessore di 1.2 mm con un foro di 15 mm in mezzo; • produzione: 1. laser ad alta potenza che brucia fori di 0,8 µm in un disco master (le depressioni si chiamano pit e le aree fra pit si chiamano land); 2. dal master si ricava uno stampo; 3. nello stampo viene iniettata una resina liquida di policarbonato che forma un CD con la stessa sequenza di fori del master, 4. sul policarbonato viene depositato uno strato molto sottile di alluminio riflettente, 5. copertura con uno strato protettivo e infine con un’etichetta.
  • 56. 56 Lettura di un CD  Un laser a bassa potenza manda una luce infrarossa (lunghezza d’onda di 0,78 µm) sul disco.  I pit appaiono come cunette su una superficie piatta: • un pit è alto circa un quarto della lunghezza d’onda del laser, • la luce riflessa da un pit è sfasata di mezza lunghezza d’onda rispetto alla luce riflessa dalla superficie circostante, • l’interferenza negativa riduce l’intensità della luce riflessa.  I passaggi pit/land o land/pit indicano un 1, la loro assenza indica uno 0.  Pit e land sono scritti in una spirale unica che compie 22.188 giri attorno al disco (circa 600 per ogni mm).  Velocità lineare costante (120 cm/sec): • all’interno è di 530 rpm, all’esterno deve scendere a 200 rpm; • l’unità è diversa da quella a velocità angolare costante usata per gli HD; • 530 rpm sono molti meni dei 3600/10440 rpm degli HD.
  • 57. 57 Pit e land su un CD
  • 58. 58 CD-ROM  1984: Philips e Sony pubblicano il libro giallo, in cui viene definito lo standard dei CD-ROM (Compact Disc-Read Only Memory). • viene definita la struttura e il formato da utilizzare per memorizzare dati digitali invece che “semplice” musica.  Rispetto ai CD audio i CD-ROM hanno • stesse dimensioni; • compatibilità dell’ottica e della meccanica; • stesso processo produttivo; • miglior capacità di correggere errori.  Il libro verde [1986] aggiunge grafica e possibilità di mischiare audio, video e dati nello stesso settore.
  • 59. 59 Velocità/capacità dei CD-ROM  Velocità base (1x) • 75 settori/sec, • 153.6 KByte/sec (175.2 in modalità 2). • Velocità superiori crescono in proporzione • 32x corrisponde a 2400 settori/sec cioè quasi 5MB/sec  Capacità • 74 minuti di musica = 681.984.000 byte = circa 650 MB; • 80 minuti di musica = circa 700 MB.  Tempo di accesso • alcune centinaia di millisecondi.
  • 60. 60 CD Recordable (CD-R)  CD che vengono scritti una sola volta (WORM): • utilizzati per backup, per produzioni in piccole serie, per la generazione di master, … • standard definito nel libro arancione, dove si introduce anche il CD-ROM XA (CD-R scritti in modo incrementale); • stesse dimensioni dei CD-ROM • dischi di policarbonato di 120 mm; • contengono un solco largo 0,6 mm (guida per il laser di scrittura).  La riflettività di pit e land è simulata • c’è uno strato di colore fra il policarbonato e lo strato riflettente: nello stato iniziale questo strato è trasparente; • per scrivere, un laser ad alta potenza colpisce un punto nello strato della superficie colorata, rompe un legame chimico e crea una macchia scura.
  • 61. 61 CD ReWriteable (CD-RW)  Dischi ottici riscrivibili.  Lo strato di registrazione utilizza una lega di argento, indio, antimonio e tellurio che ha due stati stabili: • lo stato cristallino con elevata capacità di riflessione (land); • lo stato amorfo con ridotta capacità di riflessione (pit).  Si usa un laser con tre potenze diverse: • ad alta potenza il laser scioglie la lega e un raffreddamento rapido la porta dallo stato cristallino allo stato amorfo; • a potenza media la lega si scioglie e si raffredda tornando nel suo stato cristallino; • a bassa potenza si rileva solo lo stato del materiale.
  • 62. 62 Digital Versatile Disk (DVD)  Evoluzione tecnologica Æ maggior densità dei dati: • pit più piccoli (0.4 vs. 0.8 µm); • spirale più serrata (0.74 vs. 1.6 µm); • laser rosso (0.65 vs. 0.78 µm).  Caratteristiche dei DVD • capacità di 4.7 GB • 133 minuti di video fullscreen MPEG-2 ad alta risoluzione (720 x 480) con colonna sonora in 8 lingue e sottotitoli in altre 32; • 1x indica 1.4 MB/sec (vs. 150 KB/sec).
  • 63. 63 Diversi formati di DVD  Esistono situazioni in cui servono più di 4.7 GB. Pertanto sono stati definiti quattro formati: 1. Lato unico, strato unico (4,7 GB). 2. Lato unico, strato doppio (8,5 GB). 3. Due lati, strato unico (9,4 GB). 4. Due lati, strato doppio (17 GB).  Tecnologia dello strato doppio: • uno strato riflettente sul fondo coperto da uno stato semiriflettente; a seconda di dove viene indirizzato il laser, il raggio viene riflesso da uno strato o dall'altro; • lo strato inferiore ha pit e land leggermente più grandi, per cui la sua capacità è leggermente inferiore.
  • 64. 64 Tipi di calcolatori SUPER COMPUTER MAINFRAME PERSONAL COMPUTER WORKSTATION MINICOMPUTER NOTEBOOK, PENBOOK, LAPTOPCOMPUTER (Portatili) Potenzadi calcolo CLUSTER O RETI DI WORKSTATION
  • 66. 66 • Software = insieme (complesso) di programmi. • Organizzazione a strati, ciascuno con funzionalità di livello più alto rispetto a quelli sottostanti: • Firmware: − strato di (micro-)programmi che agiscono direttamente sullo strato hardware − memorizzato dal costruttore su una memoria permanente (ROM) Architettura del Software “Macchine Virtuali”
  • 67. 67 Sistema operativo (S.O.)  Strato di programmi che opera al di sopra di hardware e firmware e gestisce l’elaboratore  Le funzioni offerte dal S.O. dipendono dalla complessità del sistema di elaborazione: • gestione delle varie risorse hardware • gestione della memoria centrale • organizzazione e gestione della memoria di massa • interpretazione ed esecuzione di comandi elementari • gestione della multi-utenza e del multi-tasking
  • 68. 68 Classificazione dei S.O. In base al numero di utenti:  Mono-utente (mono-user) • un solo utente alla volta può utilizzare il sistema  Multi-utente (multi-user) • più utenti in contemporanea possono interagire con la macchina • il S.O. deve fornire a ciascuno l'astrazione di un sistema “dedicato”
  • 69. 69 Classificazione dei S.O. In base al numero di programmi in esecuzione: Mono-programmato (mono-task) • si può eseguire un solo programma per volta Multi-programmato (multi-task) • il S.O. permette di eseguire più programmi in contemporanea (su una sola CPU) • il S.O. deve gestire la suddivisione del tempo della CPU fra i vari programmi (time-sharing)
  • 70. 70 Interazione dell’utente con il S.O. Un utente "vede" l’elaboratore solo tramite il S.O., che simula una “macchina virtuale” • diversi S.O. possono realizzare diverse macchine virtuali sullo stesso hardware • aumenta l’astrazione nell’interazione utente/elaboratore • senza S.O.: sequenze di bit • con S.O.: comandi, programmi, dati. Il S.O. traduce le richieste dell’utente in opportune sequenze di comandi da sottoporre alla macchina fisica • Il S.O. esplicita qualsiasi operazione di accesso a risorse hardware, implicitamente implicata dal comando dell’utente
  • 71. 71 Interazione dell’utente con il S.O. Utente S.O.  “esegui progr1” input da tastiera ricerca codice di “progr1” su disco carica in RAM codice e dati <elaborazione>  “risultato = 10” output su video
  • 72. 72 Interazione dell’utente con il S.O. Interfaccia testuale • Il S.O. interagisce con l’utente mediante l’interpretazione di linee di comando • esempi: DOS, Linux Interfaccia grafica o GUI (Graphical User Interface) • tutti i programmi e le funzioni sono mostrati sullo schermo mediante simboli immediatamente comprensibili (icone) • esempi: Windows, MacOS (Macintosh)