I.T.I.S. Santhià – Dipartimento di Informatica
La memoria del P.C.
Modulo didattico
“Hardware del P.C.”
Ultima revisione 10 gennaio 2005
Autore M. Lanino
La gerarchia della memoria
La memoria di un PC è organizzata secondo diversi livelli gerarchici, ognuno
dei quali assolve ad uno scopo specifico:
•
La memoria di sistema serve come cache per il file di paginazione e swap
virtuale situato sul disco rigido.
•
La cache di secondo livello (L2) funge da intermediario tra l'unità di
calcolo e la memoria di sistema. E’ integrata nella CPU.
•
Inoltre tutti i processori possiedono una più veloce cache di primo livello
(L1) anch’essa integrata al loro interno.
•
Taluni processori, di solito su cartuccia, (Intel Itanium e Itanium2) posseggono
anche una cache di terzo livello denominata L3 ubicata sulla scheda che ospita
la CPU
I principi fondamentali alla base
delle architetture delle cache sono:
•
•
il Principio della Localizzazione Temporale
Il Principio della Localizzazione Spaziale.
Il primo afferma che nel momento in cui un programma si appoggia ad una
determinata locazione di memoria è molto probabile che farà riferimento ad essa
anche in un momento successivo.
Il secondo principio afferma invece che un'applicazione tende ad utilizzare e
fare riferimento a locazioni di memoria contigue o vicine le une alle altre.
Quando la memoria cache riceve una richiesta per dati che non sono
disponibili al suo interno si parla di cache miss
la memoria di sistema è pensata e realizzata con lo scopo di
minimizzare l'effetto collo di bottiglia che la memoria virtuale ha sulle
prestazioni generali del sistema.
Nozioni base sulla latenza e sulla
capacità della banda dati
•Con il termine latenza si indica il tempo necessario a completare
un'operazione sulla memoria, dall'inizio alla fine del processo.
•La capacità della banda dati è, invece, la misura della quantità di
informazioni che possono fluire al secondo attraverso il canale da e
verso la memoria.
La banda di trasferimento dati è difficile da determinare:
la capacità massima teorica può essere calcolata moltiplicando il
numero di bit trasferiti ad ogni ciclo di clock per la frequenza di
funzionamento della memoria.
Cenni sul funzionamento della
RAM dinamica
La Dram è costruita con celle di
transistor e condensatori ordinati
all'interno dei chip, in colonne e righe,
organizzate a loro volta in banchi.
poiché i condensatori perdono nel
tempo il loro stato di carica è necessario
effettuare un'operazione di ricarica
periodica: da qui il concetto di refresh
della memoria. Oltre a questo ogni qual
volta viene letto un dato il condensatore
perde la sua carica; per questo motivo i
chip di memoria sono dotati di un
circuito chiamato amplificatore di stato
che identifica il dato in lettura e lo
riporta allo stato originale dopo la fase
di accesso.
Righe e colonne …
La memoria Dram standard, quando riceve
una richiesta dati dal controller principale
della memoria, identifica in primo luogo
la riga in cui si trova l'informazione. Dopo
questa
fase
deve
essere
attivato
l'amplificatore di stato relativo a questa riga
se differente da quella dell'ultimo accesso e
questa operazione richiede un po' di tempo.
Questo intervallo di tempo è indicato con
tRP (Time Row Precharge, tempo di
attivazione della riga). Quindi intercorre un
piccolo lasso di tempo durante il quale il
segnale di riga si stabilizza prima di poter
impostare la colonna. Questo intervallo di
tempo è conosciuto come tRCD (Time Ras
to Cas Delay; Ras: Row Access Strobe;
Cas: Column Access Strobe). A questo
punto può essere effettuato l'accesso alla
colonna e dopo un intervallo di tempo tCAC
(Column Access Time) il dato richiesto viene
inviato ai pin di uscita della Dram.
Le fasi di un’operazione sulla RAM
Riassumendo
1.
Richiesta di accesso e lettura
del registro
2.
Individuazione della RIGA
contenente la locazione
3.
Individuazione della COLONNA
4.
Identificazione della locazione
e trasferimento del dato in
uscita.
La D-Ram è Sincrona
La memoria Fpm (Fast Page Mode Ram) e la Edo (Extended Data Output Ram), che le è
succeduta per poco tempo, operavano in modalità asincrona, utilizzando cioè un proprio segnale di
clock indipendente da quello del processore che, insieme al controller della memoria, doveva
supervisionare a tutte le operazioni di trasferimento dati.
Sdram è lo standard Dram definito dal Jedec e aiuta a risolvere questo
problema impiegando il Fsb del processore come segnale di clock per le
operazioni di input e output della memoria.
La Sdram utilizza uno speciale registro che, come una chiave, memorizza gli indirizzi di riga e
colonna del dato richiesto, così che la Cpu possa proseguire l'esecuzione delle istruzioni nella
pipeline mentre attende l'arrivo dell'informazione. Poiché questa arriva sincronizzata sul fronte del
Fsb, il processore può programmare il rendez-vous dei dati con le istruzioni all'interno degli stadi di
esecuzione della pipeline.
Memoria SD-RAM
Memoria Sdram
Il tipo di memoria più diffuso sui vecchi (età > 3 anni) PC è il Single Data Rate (Sdr)
Sdram che trasferisce i dati sul fronte di salita del segnale di clock. La Sdr Sdram, oggi ormai fuori
mercato, era disponibile in tre tipologie definite dalle specifiche Jedec: Pc66, Pc100, Pc133.
Queste vennero sviluppate perché nel momento in cui la Sdram arrivò sul mercato sorsero molti
problemi inerenti ai timing di funzionamento: moduli certificati per essere Pc100 in realtà
difficilmente funzionavano in modo corretto. In seguito Intel sviluppò un proprio documento sulle
specifiche Pc100, che ancora oggi risulta essere la guida più completa sull’argomento. Pc133 è
un'evoluzione dello standard Pc100 che implica il solo innalzamento della frequenza di
funzionamento a 133MHz;
Con Pc66 ci si riferisce ai moduli di memoria Sdram che aderiscono alle specifiche originali
Jedec.
Moduli di memoria PC133
Sdram
Considerazioni tecniche
Le Sdram possono disporre di diverse caratteristiche: la Sdram con controllo di parità indica
moduli in grado di identificare eventuali errori nei dati se la scheda madre e il chipset supportano
l'impiego del bit di parità; la memoria Sdram Ecc possiede dei pin extra ed è in grado di effettuare
anche correzioni sui dati errati. Queste proprietà addizionali comportano un costo aggiuntivo, ma
sono generalmente impiegate solo per sistemi server e per hardware destinati ad applicazioni
mission critical ; per la maggior parte delle applicazioni sono invece sufficienti normali moduli
Sdram.
Altri termini che descrivono i moduli di memoria Sdram sono Cas2 e Cas3. Il termine Cas
(Column Address Strobe) indica il numero di cicli (basati sul tempo tCAC) necessari perché il
segnale di Cas attivi la colonna desiderata all'interno della griglia di celle di memoria. Un modulo
Cas2 è più veloce di uno Cas3 ed è preferibile per operazioni di overclock; inoltre determina un
incremento significativo della banda i di trasferimento dati effettiva, anche se le prestazioni i
generali del sistema ne traggono poco beneficio.
Un'osservazione importante per chi intende utilizzare moduli Cas2 è di
installare un singolo modulo in quanto l'impiego di più moduli distinti causa
generalmente l'abbassamento, effettuato in automatico dalla scheda madre, a
Cas3 dei timing di accesso.
Identificazione della capacità
Nota sulla capacità
L’identificazione della capacità di memoria di un modulo DIMM (#) avviene
attraverso le informazioni del chip SPD (Serial Presence Detect), una piccola
eprom (*) che contiene tutti i parametri operativi necessari. Il formato delle
informazioni presenti nel chip SPD è stato fissato dal JEDEC, organizzazione che
raggruppa i principali costruttori di memorie RAM. La non conformità dei dati
presenti su tale chip è spesso causa di mancati riconoscimenti del corretto
formato del modulo o della presenza dell’intero modulo.
# DIMM è l’acronimo di Dual In Line Memory Module ed è il formato di memoria per i PC,
mentre SODIMM è l'acronimo di Small Outline Dual In-line Memory Module ed è il formato
dei moduli di memoria utilizzati sui notebook.
* Eprom = Electrically programmable Rom , cioè memoria a sola lettura scritta elettricamente
dal produttore del chip e non modificabile.
La memoria DDR
Memoria Ddr – Sdram
La memoria Ddr (Double Data Rate) Sdram è molto simile a quella Sdr Sdram,
ma con la caratteristica di trasferire le informazioni sia sul fronte ascendente che su
quello discendente del segnale di clock. Gli standard per i moduli Ddr I Sdram sono
Pc1600 (200MHz), Pc2100 (266 MHz), Pc2700 (333 MHz) e Pc3200 (400 MHz).
Modulo di memoria
DDR
La DDR vista da vicino
Questo è un modulo di memoria DDR400 (PC3200) di
S3+ (www.s3plus.com) da 512 MB che supporta frequenze di
lavoro fino a 533MHz
L’identificazione del modulo
La foto mostra la targhetta di riconoscimento del modulo, con le indicazioni
principali e il bar code. Si noti anche l’integrato SPD sulla destra.
Il doppio canale verso la
memoria
I chipset delle schede madri più recenti ed i nuovi microprocessori a 64 bit supportano
un doppio canale verso la memoria di sistema. Questa tecnologia migliora l’ampiezza
della banda dati ed i tempi di latenza ma induce ad alcune considerazioni.
• Il numero di slot di memoria delle schede
madri che supportano il Dual Channel è pari
(di solito 4) in quanto i moduli devono essere
installati a coppie.
• se sono presenti solo 3 slot, per lavorare in
modalità dual channel si potrà installare una
sola coppia di moduli
• I moduli devono essere rigorosamente
identici, cioè omologhi per dimensione e
caratteristiche tecniche per evitare
malfunzionamenti (es. 2x256 MB DDR400 o meglio
2x512 MB DDR400)
Il futuro: DDR2
Attese per la prima metà del 2005 e per ora utilizzate per lo più sulle schede video
di fascia medio-alta, le memorie Ddr II si preparano a sfondare, sia nel segmento
Pc desktop sia nei dispositivi portatili, anche se le specifiche sono in continua
evoluzione.
Il nuovo standard per le memorie di sistema ha debuttato nel 2004 sugli adattatori
grafici Nvidia della serie GeForce FX e si appresta ora a entrare anche nel mercato
di massa.
Oltre alle schede video, anche le schede madri presto sfrutteranno in modo
massiccio memoria DDR2. I chipset 915 e 925 di Intel supportano lo standard
DDR2 400-533 e 667.
Alcune info aggiuntive …
Dai sistemi domestici dedicati al gioco fino ai server, le memorie Ddr2
consentiranno di raggiungere prestazioni nettamente superiori a quelle fornite dalle
attuali memorie. Le Ddr2 sono infatti in grado di fornire, a parità di frequenza, una
banda passante doppia rispetto alle odierne Ddr. I nuovi moduli, con tensione di
alimentazione di 1,8 V, garantiscono un transfer rate di 533 Mbps, estendibile a
667 Mbps per i sistemi server o per particolari soluzioni che richiedano un ulteriore
incremento di prestazioni.
Per capire I vantaggi e I miglioramenti delle DDR2 rispetto alle DDR SDRAM
occorre far propri alcuni aspetti fondamentali di questa architettura.
In primo luogo occorre dire che le DDR2 sono fondamentalmente simili alle DDR,
ma, mentre le DDR possono trasferire i dati attraverso il bus due volte per ciascun
ciclo del clock, le DDR2 sono in grado di operare quattro trasferimenti per ciclo. Le
DDR2 utilizzano le stesse celle di memoria, ma raddoppiano la banda passante
utilizzando la tecnica del multiplexaggio.
Spieghiamo meglio
Le DDR2 presentano clock alla
stessa frequenza delle DDR e delle
SDRAM, ma la frequenza di lavoro
dei buffer di I/O è più elevata nelle
DDR2. Il bus che collega le celle di
memoria con i buffer è due volte più
ampio rispetto alle DDR. Così, i
buffer di I/O possono eseguire il
multiplexaggio: i dati provengono
dalle celle percorrendo un bus ampio
e escono dal buffer I/O attraverso
un bus largo la metà (della stessa
ampiezza di quello delle DDR
tradizionali), ma con frequenza due
volte maggiore. Questo permette di
raddoppiare la larghezza di banda
senza incrementare la frequenza
operativa delle celle di memoria.
Ci sono degli aspetti negativi
Questo metodo di incremento della banda passante, nella sua semplicità, presenta
anche aspetti negativi.
Il principale svantaggio è l’aumento della Latenza.
La latenza della memoria DDR2 non dipende dalla frequenza di lavoro dei buffer di
I/O o dall’ampiezza del bus che i dati percorrono in uscita dalle celle, bensì
essenzialmente dalla latenza intrinseca delle celle stesse.
La latenza di una DDR2-533 è comparabile con quello di una DDR-266 o di
una PC133 e peggiore rispetto a quello di una DDR-400 o superiore. Così le
DDR2 hanno una banda passante più ampia delle DDR, ma una latenza
peggiore ed è per questo che i sistemi basati su DDR2 potrebbero perdere il
confronto con i sistemi DDR in determinate applicazioni reali (ci sono molti
programmi che sono sensibili non solo alla velocità con cui i dati vengono
loro trasferiti, ma anche al tempo che occorre per accedervi).
JEDEC
JEDEC = Joint Electronic Device Engineering Council
Il logo
Organismo internazionale preposto al controllo degli
standard relativi a dispositivi elettronici. Vi
appartengono delegati di tutti i più importanti
produttori di circuiti integrati a livello mondiale, quindi
anche i costruttori di memorie.
Scarica

TPC05-MEM Pres La Memoria