|
Altra differenza degna di nota sta nel calcolo della CAS
Latency. Questo parametro risulta univocamente determinato nel
caso di memorie DDR dal suo stesso valore mentre non è così per le memorie DDR2: in tal caso, infatti, la latenza totale è data
dal valore del CL sommato ad una latenza detta Additive Latency o AL
che può assumere valori compresi fra 0, 1, 2, 3, 4 o 5 cicli di
clock. Dunque una memoria DDR2 con CL3 ed AL2, ha una latenza
complessiva pari a 5.
La Additive Latency è una latenza introdotta ad arte al fine di
ottenere una banda dati la maggiore possibile. Un esempio servirà a
chiarire meglio la situazione. Supponiamo di avere una situazione di
lettura in cui le memorie DDR2 hanno un CAS Latency pari a 4 ed un
valore di AL pari a 0 (una situazione praticamente simile a quella
di una normale memoria DDR).

Figura 4. Figura Courtesy of Micron
Come è possibile vedere dalla figura 4, se alla memoria arriva un
comando di Activate con relativo indirizzo del dato da prelevare (ACT
- B0, Rx), questo verrà reso disponibile dopo un numero di cicli di
clock pari a tRCD + CAS Latency. Un secondo comando di Activate (ACT
- B1, Rx) ricevuto dopo un ciclo di clock dal primo farà in modo da
fornire i secondi 4 bit immediatamente dopo i primi 4 bit del
comando precedente. Ma cosa accade se fra i due comandi di lettura
impartiti dai due comandi di Activate la memoria riceve un terzo
comando di Activate? Ebbene, in tal caso si viene a creare un GAP
nel flusso dei dati in uscita dalla memoria il che implica una
riduzione della reale banda dati disponibile in uscita dalla
memoria.

Figura 5. Courtesy of Micron
In figura 5 sono state messe a confronto le due situazioni con AL
= 0 e AL = (tRCD - 1), valore questo impostato nella maggioranza
delle memorie DDR2. In tal caso, è possibile notare come il comando
Activate scateni nel ciclo di clock immediatamente seguente il
comando di Read. Dall'esecuzione del comando Activate fino a quando
il dato è disponibile la latenza rimane esattamente la stessa mentre
aumenta la latenza dall'esecuzione del comando di lettura fino a
quando il dato non risulta disponibile.

Figura 6. Courtesy of Micron
Il vantaggio di una situazione con il giusto AL è evidenziato
nella figura 6: il flusso di dati non presenta GAP e questo permette
di massimizzare la banda dati.
Oltre alla latenza aggiuntiva AL, i valori del CAS Latency per le
memorie DDR2 sono spesso più elevati di quelli delle memorie DDR.
Tali valori sono espressi, però, in termini di cicli di clock:
dunque il parametro da solo non indica il tempo (in secondi o
sottomultipli) che il dato impiega ad arrivare sul bus dal momento
della sua richiesta.
Come è stato detto in precedenza, le memorie DDR2 funzionano con
una frequenza del bus esterno generalmente più elevata di quello
delle memorie DDR. Dunque se una memoria DDR 266 presenta un CL pari
a 2 questo risulta in un tempo di 15ns (un ciclo di clock a 133 MHz
equivale a 7,5ns), lo stesso tempo impiegato da una memoria DDR2 533
con CL pari a 4 (un ciclo di clock a 266 MHz equivale a 3,75ns).

Figura 7. Courtesy of Micron
Oltre alla latenza delle memorie in fase di lettura, lo standard
DDR2 introduce alcune novità anche nelle latenze delle operazioni di
scrittura (Write). In generale le memorie DDR hanno una "write
latency" pari ad un solo ciclo di clock: dopo l'istruzione di Write
passa un ciclo di clock prima che le memorie DDR comincino ad
acquisire dati dal bus.

Figura 8. Courtesy of Micron
Nelle memorie DDR2, a causa di frequenze del bus più elevate, un
solo ciclo di clock potrebbe essere un tempo troppo breve per
preparare i suoi buffer di I/O per iniziare a ricevere i dati.
Perciò la latenza di scrittura per le memorie DDR2 è stata impostata
ad un valore pari a quello del CAS Latency - 1 (tWL = tCL - 1).
Questa scelta, anche se comporta tempi di latenza più elevati,
permette di raggiungere frequenze di funzionamento maggiori e
semplifica le operazioni di sincronizzazione fra lettura e
scrittura.
|