Informatica Generale
Marzia Buscemi
[email protected]
Ricevimento: Giovedì ore 16.00-18.00,
Dipartimento di Informatica, stanza 306-PS
o per posta elettronica
Pagina web del corso:
http://www.di.unipi.it/~buscemi/IG07.htm
(sommario delle lezioni in fondo alla pagina)
1
Le memorie
 Cosa vorremmo :
 una memoria veloce
 abbastanza grande da contenere tutti i
dati e i programmi che servono
 persistente (o non volatile) cioè capace
di mantenere il suo contenuto anche in
assenza di alimentazione elettrica
 di basso costo
2
Le memorie
2
 Cosa può fare la tecnologia ?
 Memorie relativamente piccole e veloci,
volatili, a costo medio alto


RAM : lettura e scrittura nell’ordine delle
decine di nanosecondi per parola
Memorie grandi, molto capienti (decine
di GB), persistenti e lente


Dischi rigidi : lettura e scrittura nell’ordine
di alcuni millisecondi per blocco (qualche
KB)
Nastri magnetici, CD ROM
3
Le memorie
3
 I computer quindi hanno supporti di
memorizzazione di più tipi :

una memoria centrale, tipo RAM (random
access memory): contiene i programmi
durante la loro esecuzione ed i dati relativi


altrimenti il processore sarebbe per la
maggior parte del tempo fermo in attesa di
dati da/per la memoria
una o più memorie di massa (dischi etc.) :
che mantengono in modo persistente tutti i
dati ed i programmi in attesa di essere
eseguiti
4
Le memorie
4
 I computer quindi hanno supporti di
memorizzazione di più tipi :


dei buffer : memorie “temporanee”
utilizzate nei trasferimenti tra dispositivi
con velocità diverse (es. si trovano nelle
stampanti)
una memoria cache : contiene istruzioni
e dati prima che siano utilizzati dal
processore
5
Le memorie 5
 Gerarchia di memorie
V
O
L
A
T
I
L
I
Per
sistenti
+
registri
cache
Velocità di accesso
e costo per bit
memoria
centrale
Dischi rigidi
Nastri magnetici, CD ROM
-
6
La memoria centrale
7
Struttura di un calcolatore
(ancora!)
RAM
(memoria centrale)
Processore
bus
Linee dati, indirizzi e controllo
Interfaccia
di I/O
Interfaccia
di I/O
Interfaccia
di I/O
Interfaccia
di I/O
schermo
dischi
mouse
modem
8
Struttura di una RAM elettronica
Bus
indirizzi
p
r
o
c
e
s
s
o
r
e
00003
0
1
2
1 0 1 1 0 0 3
4
...
Parola (word):
gruppo minimo
di bit
indirizzabili
Indirizzo
Dato letto o
da scrivere
Bus
controllo
1 0 1 1 0 0
Bus dati
memoria
9
Struttura di una RAM
elettronica 2
 Caratteristiche:
accesso ai dati in modo diretto e in
tempi veloci
 volatilità (perdita di informazione in
assenza di alimentazione elettrica)
 Componenti basilari:
 celle o locazioni di memoria, ciascuna
delle quali ha un indirizzo.
 Il numero di byte indirizzabili è detto
spazio di indirizzamento.

10
Struttura di una RAM elettronica 3
 Una parola (word) costitutita da 2,4,8
byte è la più piccola informazione che
può essere reperita
 Il tempo di accesso è il tempo
necessario per leggere un dato
 La capacità di una RAM con m parole di
n bit è n*m.
11
Struttura di una RAM elettronica 4
 La dimensione massima della RAM è
data dalla dimensione della parte
indirizzi del bus

al solito con N bit posso indirizzare da
0 a 2N-1 locazioni
 Velocità, ordine decine di nanosecondi

ancora troppo lenta per i processori
attuali (1 op elementare al nanosecondo
o più)
12
Struttura di una RAM elettronica 5
E allora ?
 Si usano memorie velocissime e molto
piccole realizzate con tecnologia speciale
 Si usa il principio dello scaffale e della
scrivania ovvero


tengo impilati sulla scrivania i testi che sto
consultando per la mia attività corrente
se prendo un nuovo testo dallo scaffale
generalmente poi lo poso per un po’ sulla
scrivania in attesa che mi serva di nuovo
13
Memoria cache
Memoria piccola
e molto veloce
Processore
Cache
RAM
14
Memoria cache 2
Memoria piccola
e molto veloce
Processore
Cache
Copia dei dati usati
di recente
RAM
Tutti i dati
15
Memoria cache
2
Algoritmo seguito:
 Il dato viene cercato prima nella cache
 Se è presente abbiamo finito (cache hit)
 Se non è presente (cache miss) si legge
in RAM e si mette una copia nella cache
 Alcune locazioni successive vengono
copiate in memoria cache (schema
look-ahead)
 Per le scritture generalmente si scrive la
RAM e si aggiorna la copia se c’è
16
Memoria cache
3
 Località temporale
se un programma accede ad una parola al
tempo t è molto probabile che alla
stessa parola sia acceda di nuovo a
breve
 Località spaziale
se il programma accede all’indirizzo K è
molto probabile che anche agli indirizzi
vicini sia debba accedere a breve
17
Memoria cache
4
E se devo inserire un nuovo dato e non c’è
più posto nella memoria cache?
 Questo accade perché le memorie cache
sono molto più piccole delle RAM
 La soluzione è sovrascrivere una
posizione già in uso
 Ci sono diverse strategie : di solito si
sovrascrive la posizione con dati
utilizzati meno di recente (strategia LRU
Least Recently Used) applicando il
principio di località.
18
Memoria cache
5
 La cache permette migliori prestazioni
 es.: in caso di istruzioni sequenziali o
cicli che si ripetono molte volte, queste
istruzioni sono caricate in memoria
cache e si risparmia l’uso dei bus.
 La (dynamic) branch prediction eseguita
dal processore consiste nel prememorizzare (pre-fetch) le istruzioni del
prossimo ciclo
19
Memoria cache 6
 Due tipi di cache:
 di primo livello (o interne): all’interno
del processore, garantiscono un flusso
continuo verso il processore
 di secondo livello (o esterne):
all’esterno del processore, usate per
superare la lentezza della memoria
centrale
 Nei sistemi multiprocessore, l’uso della
cache può creare problemi di coerenza
tra i dati in memoria centrale e in cache
20
Le memorie di massa
(o secondarie)
21
Memorie di massa
 Le memorie centrali:
 permettono l’accesso diretto ai dati
 sono costose
 richiedono alimentazione elettrica costante
 ... invece le memorie di massa:
 sono meno costose
 possono mantenere informazioni anche in
assenza di alimentazione
 danno un accesso più lento ai dati e il
tempo di accesso è variabile in base alla
posizione fisica del dato (natura meccanica
delle memorie di massa)
22
Memoria di massa
2
 Esistono tre tipi di tecnologie possibili
per la memorizzazione dei dati:

Magnetica



Ottica


dischi magnetici (hard disk e floppy disk)
nastri magnetici
CD-ROM, DVD
Flash

in macchine fotografiche digitali e chiavi
USB
23
Memoria magnetica
 Sfrutta il fenomeno della
polarizzazione:



sul supporto ci sono delle particelle
magnetiche
i due diversi tipi di magnetizzazione
corrispondono alle unità elementari di
informazione (0 e 1)
la testina di lettura/scrittura cambia la
polarizzazione
24
Dischi magnetici
Testine (una per superfice)
Cilindro
Braccio (direzioni movimento)
1
Traccia
Superfici
0
Struttura di un disco rigido
25
Dischi magnetici
2
settore
ciascuna superficie
è suddivisa in “fette”,
dette settori, separate
tra loro da zone non
usate
traccia
Ogni superficie è divisa
in tracce
concentriche (una per
ogni possibile
posizione della testina)
La formattazione è l’operazione che suddivide il disco in tracce
e settori.
26
Dischi magnetici 3
 L’informazione registrata sul disco è
identificabile attraverso:



il numero di cilindro
il numero di traccia in tale cilindro
il numero di settore di tale traccia
 Le operazioni di lettura/scrittura
vengono effettuate per interi settori,
cioè lungo tutto l’arco di una traccia
compresa in uno o più settori
27
Struttura di un settore di una
traccia
preambolo
dati
dati
ECC
Codici correttori di errore :
dati in più per accorgersi se
la lettura è andata bene
Permette alla testina di capire che
sta iniziando un nuovo settore, fornisce
il numero del settore etc
28
Prestazioni dei dischi magnetici
 Parametri per valutare le prestazioni:
 tempo di posizionamento (della testina su
una certa traccia)
 tempo di latenza (tempo necessario affinché
il settore giunga in corrispondenza della testina)
 tempo di trasmissione (del blocco)
 tempo di accesso: tempo di posizionamento +
tempo di latenza
 data transfer rate: velocità del flusso dei dati
in lettura/scrittura (misurato in kbit/s o Mbit/s)
tra disco e processore
29
Tipi di dischi magnetici
 Hard Disk
 E’ un disco magnetico sempre presente in un
calcolatore
 I piatti dell’HD sono racchiusi in contenitori
sigillati
 Le testine di lettura/scrittura “volano” molto
vicino alla superficie del disco
 Floppy Disk
 Un unico disco circondato da un involucro di
plastica (diametro: 3,5 pollici, 80 tracce, 18
settori)
 È stato rimpiazzato da altre tecnologie perché
ha poca capacità (in genere 1,44MB)
30
Scarica

Lucidi - Dipartimento di Informatica