Memoria - Dipartimento di Informaticacicalese/Fond-Inf/Cap6-Memoria.pdf · • I componenti di...

19
1 La memoria La memoria 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

Transcript of Memoria - Dipartimento di Informaticacicalese/Fond-Inf/Cap6-Memoria.pdf · • I componenti di...

Page 1: Memoria - Dipartimento di Informaticacicalese/Fond-Inf/Cap6-Memoria.pdf · • I componenti di memoria di un sistema di calcolo si possono organizzare una struttura gerarchica, tenendo

1

La memoriaLa memoria

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

Page 2: Memoria - Dipartimento di Informaticacicalese/Fond-Inf/Cap6-Memoria.pdf · • I componenti di memoria di un sistema di calcolo si possono organizzare una struttura gerarchica, tenendo

2

Struttura della memoria- Memoria centrale:

– memoria ad accesso diretto: RAM, detta anche principale o volatile.

- E’ realizzata con una tecnologia basata sui semiconduttori detta memoria dinamica ad accesso diretto (DRAM)

– ed è strutturata come un vettore di parole di memoria.

- In teoria si vorrebbe che nella RAM risiedessero sia tutti programmi che i dati.

- Impossibile:

– La capacità della memoria centrale non è di solito sufficiente

– La memoria centrale è volatile.

- Memoria secondaria:

– tramite cui si realizza una estensione non volatile della memoria

centrale,

• generalmente di grande capacità.

• dischi magnetici, dischi ottici e nastri magnetici.

Memoria centrale

- Per la memorizzazione dell'informazione (dati e programmi) è presente un'unità chiamata memoria centrale.

- La memoria centrale ospita sia i dati necessari per le elaborazioni svolte dalla CPU sia i dati trasferiti attraverso le unità di ingresso/uscita.

- La memoria può essere vista come un insieme di celle adiacenti, ognuna caratterizzata da un proprio identificatoreunivoco, chiamato indirizzo (memory address), e in cui possono essere scritti o letti dati in formato binario.

Page 3: Memoria - Dipartimento di Informaticacicalese/Fond-Inf/Cap6-Memoria.pdf · • I componenti di memoria di un sistema di calcolo si possono organizzare una struttura gerarchica, tenendo

3

Memoria centrale (II)• Gli unici dispositivi di memoria accessibili dalla CPU sono

la memoria centrale ed i registri interni alla stessa CPU.

• Esistono istruzioni macchina che accettano indirizzi di memoria come argomenti:

– nessuna istruzione accetta indirizzi di un disco.

• Tutte le istruzioni in esecuzione, unitamente ai dati da esse elaborati devono essere trasferiti in memoria prima che la CPU possa operare su di essi.

La memoria centrale (RAM)• Mantiene al proprio interno i dati e

le istruzioni dei programmi in esecuzione

• Memoria ad accesso “casuale”

• Tecnologia elettronica

– veloce ma volatile e costosa

Page 4: Memoria - Dipartimento di Informaticacicalese/Fond-Inf/Cap6-Memoria.pdf · • I componenti di memoria di un sistema di calcolo si possono organizzare una struttura gerarchica, tenendo

4

Indirizzi di memoria

- I bit nelle memorie sono raggruppati in celle:

– tutte le celle sono formate dallo stesso numero di bit;

– una cella composta da k bit, è in grado di contenere una

qualunque tra 2k combinazioni diverse di bit.

- Ogni cella ha un indirizzo:

– serve come accesso all’informazione;

– in una memoria con N celle gli indirizzi vanno da 0 a N–1.

- La cella è l’unità indirizzabile più piccola.

In quasi tutti i calcolatori è di 8 bit (un byte).

- I byte vengono raggruppati in parole (che oggi sono di 32/64 bit), su cui la CPU esegue le operazioni.

Organizzazione della memoria

- Anche gli indirizzi della memoria sono rappresentati come numeri binari:

– un indirizzo di M bit consente di indirizzare 2M celle;

– per 6 o 8 celle bastano 3 bit, per 12 celle ne servono 4;

– il numero di bit nell’indirizzo determina il numero massimo di celle indirizzabili nella memoria ed è indipendente dal numero di bit per cella (una memoria con 212 celle richiede sempre 12 bit di indirizzo, quale che sia la dimensione di una cella).

- Una memoria può essere organizzata in diversi modi

– con 96 bit possiamo avere 6 celle di 16 bit (6*16=96), o 8 celle di 12 bit (8*12=96) o 12 celle di 8 bit (12*8=96).

Page 5: Memoria - Dipartimento di Informaticacicalese/Fond-Inf/Cap6-Memoria.pdf · • I componenti di memoria di un sistema di calcolo si possono organizzare una struttura gerarchica, tenendo

5

Memoria e collegamenti con bus

16 celle di memoria

di 8 bit ciascuna

0 1 1 0 1 1 0 0 parola

selezion ata

linee di

selezione parola

0

0

0

0

0

0

1

0

0

0

linea 0

linea 1

linea 2

linea 3

lin ea 4

linea 5

linea 6

linea 7

linea 8

linea 9

DECODIFICATORE

Bus indirizzi

0110

• Viene selezionata la parola di indirizzo 0110due

• il contenuto è 01101100;

• l’operazione è di lettura (load) o di scrittura (store) a seconda dei comandi presenti sul bus di controllo

Gerarchia delle memorie

• I componenti di memoria di un sistema di calcolo si possono organizzare una struttura gerarchica, tenendo conto di:

– velocità

– costo

– volatilità

• La memoria cache è una unità di memoria più veloce della memoria centrale.

• Il caching è il copiare informazioni in sistemi di memoria più veloci.

• La memoria centrale può essere vista come una cache per la memoria secondaria.

Page 6: Memoria - Dipartimento di Informaticacicalese/Fond-Inf/Cap6-Memoria.pdf · • I componenti di memoria di un sistema di calcolo si possono organizzare una struttura gerarchica, tenendo

6

Gerarchia dei dispositivi di memoria

Caching• Utilizzo di memoria ad alta velocità per memorizzare dati

che sono stati recentemente utilizzati.

• Quando si deve accedere ad una informazione si controlla se è presente all’interno della cache

– altrimenti la si preleva dalla memoria centrale e la si copia nella

cache.

• Richiede una politica di gestione della cache (cache

management policy).

• Il livello di caching nella gerarchia dei dispositivi di memoria implica che alcuni dati sono memorizzati simultaneamente in più di un livello.

• Nascono quindi, soprattutto in sistemi time sharing o con più unità di elaborazione, problemi di consistenza dei dati

e coerenza della cache.

Page 7: Memoria - Dipartimento di Informaticacicalese/Fond-Inf/Cap6-Memoria.pdf · • I componenti di memoria di un sistema di calcolo si possono organizzare una struttura gerarchica, tenendo

7

Il principio di località-Località spaziale:

- quando si accede all’indirizzo A, è molto probabile che gli accessi

successivi richiedano celle vicine ad A.

- le istruzioni del codice vengono in genere lette da locazioni

consecutive della memoria;

- gli accessi ad array o a strutture dati sono “vicini”.

-Località temporale:

- quando si accede all’indirizzo A, è molto probabile negli accessi

successivi si richieda di nuovo la cella A.

- cicli di istruzioni accedono ripetutamente alle stesse locazioni di

memoria;

- istruzioni vicine tendono ad utilizzare le stesse variabili.

Packaging

- Fino all’inizio degli anni ‘90 la memoria veniva prodotta, acquistata e installata su chip singoli

- densità variabili da 1 Kbit a 1 Mbit;

- i PC avevano zoccoli vuoti dove inserire altri chip.

- Oggi si monta un gruppo di chip, tipicamente 8 o 16, su un piccola scheda stampata che si vende come unitàminima installabile nei PC

Page 8: Memoria - Dipartimento di Informaticacicalese/Fond-Inf/Cap6-Memoria.pdf · • I componenti di memoria di un sistema di calcolo si possono organizzare una struttura gerarchica, tenendo

8

Una gerarchia di memoria

•Ottenuta per “generalizzazione” dell’applicazione del principio di località e tipicamente costituita da

– registri contenuti nella CPU (qualche KB)

– cache (da circa 32KB a circa 1024KB)

– memoria principale (da circa 64MB a qualche GB)

– dischi fissi (da qualche GB a qualche TB)

– 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.

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.

Page 9: Memoria - Dipartimento di Informaticacicalese/Fond-Inf/Cap6-Memoria.pdf · • I componenti di memoria di un sistema di calcolo si possono organizzare una struttura gerarchica, tenendo

9

Dischi magnetici (II)– I piatti hanno una forma piana e rotonda,

• le due superfici dei piatti sono ricoperte di materiale magnetico

su cui vengono memorizzate le informazioni.

– La superfice viene divisa logicamente in tracce che sono a loro volta divise in settori.

– L’insieme delle tracce equidistanti dal centro dei piatti costituisce un cilindro.

– Un’unità a disco è connessa ad un calcolatore attraverso un insieme di fili detto bus di I/O.

– Il trasferimento dei dati nel bus è realizzato da controllori:

• Adattatori o controllori di macchina (host controller) posti

all’estremità relativa al calcolatore del bus.

• Controllori dei dischi (disk controller ) incorporati in ciascuna

unità disco.

Tracce e settori

• Traccia (track): sequenza circolare di bit scritta mentre il disco compie una rotazione completa

• Settore (sector): parte di una traccia corrispondente a un settore circolare del disco

• Formattazione: operazione che predispone tracce e settori per la lettura/scrittura

Page 10: Memoria - Dipartimento di Informaticacicalese/Fond-Inf/Cap6-Memoria.pdf · • I componenti di memoria di un sistema di calcolo si possono organizzare una struttura gerarchica, tenendo

10

Tracce e settori (II)

Tracce

Spazi tratracce

Spazi trarecord

Settore

Schema funzionale di un disco

Page 11: Memoria - Dipartimento di Informaticacicalese/Fond-Inf/Cap6-Memoria.pdf · • I componenti di memoria di un sistema di calcolo si possono organizzare una struttura gerarchica, tenendo

11

Prestazioni dei dischi

••Tempo di accesoTempo di acceso ((msms o 10o 10--33s)s)

– 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 RateTransfer Rate ((MBpsMBps))

– 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).

Velocità burst vs. sustained• Velocità burst

– velocità di trasferimento dei dati una volta che la testina ha raggiunto

il primo bit di dati;

– velocità massima mantenuta per un tempo limitato.

• Velocità sustained

– velocità media sostenibile per un certo numero di secondi;

– velocità mantenibile per un tempo illimitato.

• La differenza è provocata dagli spazi di “servizio”:

– preamboli, ECC, spazi di intersezione, tempi di ricerca, …

– la rotazione dei dischi (60-120 giri/sec) ne provoca il riscaldamento e

l’espansione: questi dischi debbono essere ricalibratiperiodicamente.

Page 12: Memoria - Dipartimento di Informaticacicalese/Fond-Inf/Cap6-Memoria.pdf · • I componenti di memoria di un sistema di calcolo si possono organizzare una struttura gerarchica, tenendo

12

Velocità lineare vs. angolare

• Velocità angolare costante

– le tracce esterne sono più lunghe di quelle interne;

– la velocità lineare è maggiore quando si leggono le tracce più

esterne.

• Diverse soluzioni:

– densità lineare massima sulla traccia più interna e densità dei bit

decrescente sulle tracce più esterne: in un disco con 18 settori per

ogni traccia, ogni settore occupa 20 gradi di arco,

indipendentemente dal cilindro.

– cilindri divisi in zone (tipicamente da 10 a 30 per ogni unità) e

numero di settori per traccia aumentato in ogni zona man mano

che si procede verso l’esterno. In questo modo aumenta la

capacità dell’unità.

Floppy disk

••Funzioni:Funzioni:– distribuzione software su grande scala (avvento PC);

– archiviazione dati.

••Struttura analoga a quella di un disco magnetico, 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.5Caratteristiche tipiche di un floppy da 3.5””– Capacità di 1.4 MB

– Tracce x settori: 80 x 18

– velocità di trasferimento di 500Kbps

Page 13: Memoria - Dipartimento di Informaticacicalese/Fond-Inf/Cap6-Memoria.pdf · • I componenti di memoria di un sistema di calcolo si possono organizzare una struttura gerarchica, tenendo

13

Memorie Flash• Funzioni:

– trasferimento dati (la capacitàdei floppy è limitata);

– archiviazione dati “sensibili”.

• Tecnologia elettronica non volatile– bassi consumi

– piccole dimensioni

– capacità dai 256MB ai 8GB

• File system come per i dischi– Il sistema operativo gestisce

l’accesso come se fossero dischi;

Small Computer System Interface – SCSI (1986)

• Richiede un’interfaccia con il bus di sistema (hostadaptor)

• Può controllare 8/16 dispositivi (compreso l’host adaptor), HD, CD-ROM, scanner, ...

– Ogni dispositivo è identificato da un ID

– I connettori possono essere esterni o interni

– Di solito l’ID num. 0 è riservato al disco di bootstrap

Page 14: Memoria - Dipartimento di Informaticacicalese/Fond-Inf/Cap6-Memoria.pdf · • I componenti di memoria di un sistema di calcolo si possono organizzare una struttura gerarchica, tenendo

14

Trend

•• DensitDensitàà

– Continua a crescere

•• CapacitCapacitàà

– Crescita accelerata

•• Form FactorForm Factor

– Sempre più piccoli

•• PrestazioniPrestazioni

– La velocità di trasferimento cresce più velocemente di quella di

posizionamento (seek & latency).

•• AffidabilitAffidabilitàà

– A livello di singolo dispositivo non sta crescendo come gli altri indici,

anche perché la tecnologia viene sempre spinta al massimo.

– A livello di sistema è cresciuta grazie a sistemi RAID

(Redundant Arrays of Inexpensive Disks)

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

– …

Page 15: Memoria - Dipartimento di Informaticacicalese/Fond-Inf/Cap6-Memoria.pdf · • I componenti di memoria di un sistema di calcolo si possono organizzare una struttura gerarchica, tenendo

15

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 discomaster (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 policarbonatoche 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.

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)

Page 16: Memoria - Dipartimento di Informaticacicalese/Fond-Inf/Cap6-Memoria.pdf · • I componenti di memoria di un sistema di calcolo si possono organizzare una struttura gerarchica, tenendo

16

CD-ROM

• 1984: Philips e Sony pubblicano il libro giallo, in cui viene definito lo standard dei CD-ROM (Compact Disc-Read OnlyMemory).

– 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.

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.

Page 17: Memoria - Dipartimento di Informaticacicalese/Fond-Inf/Cap6-Memoria.pdf · • I componenti di memoria di un sistema di calcolo si possono organizzare una struttura gerarchica, tenendo

17

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.

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.

Page 18: Memoria - Dipartimento di Informaticacicalese/Fond-Inf/Cap6-Memoria.pdf · • I componenti di memoria di un sistema di calcolo si possono organizzare una struttura gerarchica, tenendo

18

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).

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.

Page 19: Memoria - Dipartimento di Informaticacicalese/Fond-Inf/Cap6-Memoria.pdf · • I componenti di memoria di un sistema di calcolo si possono organizzare una struttura gerarchica, tenendo

19

Evoluzione dei DVD• Applicazioni che richiedono maggiori capacità

– HDTV (fino a 1920×1080 pixel) richiede più di 200 MB per ogni minuto di registrazione, cioè più di 20 GB per un film di un paio d’ore

• Due standard in evoluzione che possono superare i 20 GB per ognistrato del disco

– blu-ray (supportato tra l’altro da Dell, Hewlett-Packard, Hitachi, LG Electronics, Matsushita, Philips, Pioneer e Sony)

– HD-DVD (tra i cui sostenitori si possono annoverare Toshiba, Nec e Microsoft)